diff --git a/projects/rocdecode/.jenkins/common.groovy b/projects/rocdecode/.jenkins/common.groovy index 935f270097..ab07e9a3cf 100644 --- a/projects/rocdecode/.jenkins/common.groovy +++ b/projects/rocdecode/.jenkins/common.groovy @@ -65,7 +65,7 @@ def runTestCommand (platform, project) { mkdir -p rocdecode-sample && cd rocdecode-sample cmake /opt/rocm/share/rocdecode/samples/videoDecode/ make -j8 - LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} ./videodecode -i /opt/rocm/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 + LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} ./videodecode -i /opt/rocm/share/rocdecode/video/container/AMD_driving_virtual_20-H265.mp4 echo rocdecode-test package verification cd ../ && mkdir -p rocdecode-test && cd rocdecode-test cmake /opt/rocm/share/rocdecode/test/ diff --git a/projects/rocdecode/CHANGELOG.md b/projects/rocdecode/CHANGELOG.md index 56a392e5d6..a69e837056 100644 --- a/projects/rocdecode/CHANGELOG.md +++ b/projects/rocdecode/CHANGELOG.md @@ -7,7 +7,7 @@ Full documentation for rocDecode is available at [https://rocm.docs.amd.com/proj ### Added * VP9 IVF container file parsing support in bitstream reader. -* CTest for VP9 decode on bitstream reader. +* CTest for VP9 IVF decode and AV1 elementary decode on bitstream reader. * HEVC/AVC stream syntax error handling. * HEVC stream bit depth change handling and DPB buffer size change handling through decoder reconfiguration. * AVC stream DPB buffer size change handling through decoder reconfiguration. diff --git a/projects/rocdecode/CMakeLists.txt b/projects/rocdecode/CMakeLists.txt index e64e83ed15..aeda7888dc 100644 --- a/projects/rocdecode/CMakeLists.txt +++ b/projects/rocdecode/CMakeLists.txt @@ -186,7 +186,8 @@ if(HIP_FOUND AND Libva_FOUND) install(FILES utils/resize_kernels.cpp DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/utils COMPONENT dev) install(FILES utils/resize_kernels.h DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/utils COMPONENT dev) install(FILES utils/video_post_process.h DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/utils COMPONENT dev) - install(FILES data/videos/AMD_driving_virtual_20-H265.mp4 data/videos/AMD_driving_virtual_20-H265.265 data/videos/AMD_driving_virtual_20-H264.mp4 data/videos/AMD_driving_virtual_20-H264.264 data/videos/AMD_driving_virtual_20-AV1.mp4 data/videos/AMD_driving_virtual_20-AV1.ivf data/videos/AMD_driving_virtual_20-VP9.ivf DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/video COMPONENT dev) + install(FILES data/videos/AMD_driving_virtual_20-H265.mp4 data/videos/AMD_driving_virtual_20-H264.mp4 data/videos/AMD_driving_virtual_20-AV1.mp4 data/videos/AMD_driving_virtual_20-AV1.ivf data/videos/AMD_driving_virtual_20-VP9.ivf DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/video/container COMPONENT dev) + install(FILES data/videos/AMD_driving_virtual_20-H265.265 data/videos/AMD_driving_virtual_20-H264.264 data/videos/AMD_driving_virtual_20-AV1.obu DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/video/elementary COMPONENT dev) # install license information - {ROCM_PATH}/share/doc/rocdecode set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") install(FILES ${CPACK_RESOURCE_FILE_LICENSE} DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT runtime) diff --git a/projects/rocdecode/README.md b/projects/rocdecode/README.md index 1eaa29bfd1..2a572d6040 100644 --- a/projects/rocdecode/README.md +++ b/projects/rocdecode/README.md @@ -187,7 +187,7 @@ To verify your installation using a sample application, run: mkdir rocdecode-sample && cd rocdecode-sample cmake /opt/rocm/share/rocdecode/samples/videoDecode/ make -j8 - ./videodecode -i /opt/rocm/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 + ./videodecode -i /opt/rocm/share/rocdecode/video/container/AMD_driving_virtual_20-H265.mp4 ``` ### Using test package diff --git a/projects/rocdecode/data/videos/AMD_driving_virtual_20-AV1.obu b/projects/rocdecode/data/videos/AMD_driving_virtual_20-AV1.obu new file mode 100644 index 0000000000..5c8ed880f2 Binary files /dev/null and b/projects/rocdecode/data/videos/AMD_driving_virtual_20-AV1.obu differ diff --git a/projects/rocdecode/test/CMakeLists.txt b/projects/rocdecode/test/CMakeLists.txt index 79d61a275b..83593722ef 100644 --- a/projects/rocdecode/test/CMakeLists.txt +++ b/projects/rocdecode/test/CMakeLists.txt @@ -84,7 +84,7 @@ add_test( "${CMAKE_CURRENT_BINARY_DIR}/videoDecode" --build-generator "${CMAKE_GENERATOR}" --test-command "videodecode" - -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 + -i ${ROCM_PATH}/share/rocdecode/video/container/AMD_driving_virtual_20-H265.mp4 ) # 2 - videoDecode AVC @@ -97,7 +97,7 @@ add_test( "${CMAKE_CURRENT_BINARY_DIR}/videoDecode" --build-generator "${CMAKE_GENERATOR}" --test-command "videodecode" - -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H264.mp4 + -i ${ROCM_PATH}/share/rocdecode/video/container/AMD_driving_virtual_20-H264.mp4 ) # 3 - videoDecode AV1 @@ -110,7 +110,7 @@ add_test( "${CMAKE_CURRENT_BINARY_DIR}/videoDecode" --build-generator "${CMAKE_GENERATOR}" --test-command "videodecode" - -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-AV1.mp4 + -i ${ROCM_PATH}/share/rocdecode/video/container/AMD_driving_virtual_20-AV1.mp4 ) # 4 - videoDecode VP9 @@ -123,7 +123,7 @@ add_test( "${CMAKE_CURRENT_BINARY_DIR}/videoDecode" --build-generator "${CMAKE_GENERATOR}" --test-command "videodecode" - -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-VP9.ivf + -i ${ROCM_PATH}/share/rocdecode/video/container/AMD_driving_virtual_20-VP9.ivf ) # 5 - videoDecodePerf @@ -136,7 +136,7 @@ add_test( "${CMAKE_CURRENT_BINARY_DIR}/videoDecodePerf" --build-generator "${CMAKE_GENERATOR}" --test-command "videodecodeperf" - -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 + -i ${ROCM_PATH}/share/rocdecode/video/container/AMD_driving_virtual_20-H265.mp4 ) # 6 - videoDecodeBatch @@ -149,7 +149,7 @@ add_test( "${CMAKE_CURRENT_BINARY_DIR}/videoDecodeBatch" --build-generator "${CMAKE_GENERATOR}" --test-command "videodecodebatch" - -i ${ROCM_PATH}/share/rocdecode/video/ -t 2 + -i ${ROCM_PATH}/share/rocdecode/video/container/ -t 2 ) # 7 - videoDecodeRGB @@ -162,7 +162,7 @@ add_test( "${CMAKE_CURRENT_BINARY_DIR}/videoDecodeRGB" --build-generator "${CMAKE_GENERATOR}" --test-command "videodecodergb" - -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 -of rgb + -i ${ROCM_PATH}/share/rocdecode/video/container/AMD_driving_virtual_20-H265.mp4 -of rgb ) @@ -176,7 +176,7 @@ add_test( "${CMAKE_CURRENT_BINARY_DIR}/videoDecodeMem" --build-generator "${CMAKE_GENERATOR}" --test-command "videodecodemem" - -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 + -i ${ROCM_PATH}/share/rocdecode/video/container/AMD_driving_virtual_20-H265.mp4 ) # 9 - videoDecodeRaw HEVC @@ -189,7 +189,7 @@ add_test( "${CMAKE_CURRENT_BINARY_DIR}/videoDecodeRaw" --build-generator "${CMAKE_GENERATOR}" --test-command "videodecoderaw" - -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.265 + -i ${ROCM_PATH}/share/rocdecode/video/elementary/AMD_driving_virtual_20-H265.265 ) # 10 - videoDecodeRaw AVC @@ -202,23 +202,36 @@ add_test( "${CMAKE_CURRENT_BINARY_DIR}/videoDecodeRaw" --build-generator "${CMAKE_GENERATOR}" --test-command "videodecoderaw" - -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H264.264 + -i ${ROCM_PATH}/share/rocdecode/video/elementary/AMD_driving_virtual_20-H264.264 ) -# 11 - videoDecodeRaw AV1 +# 11 - videoDecodeRaw AV1 IVF add_test( NAME - video_decodeRaw-AV1 + video_decodeRaw-AV1-IVF COMMAND "${CMAKE_CTEST_COMMAND}" --build-and-test "${ROCM_PATH}/share/rocdecode/samples/videoDecodeRaw" "${CMAKE_CURRENT_BINARY_DIR}/videoDecodeRaw" --build-generator "${CMAKE_GENERATOR}" --test-command "videodecoderaw" - -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-AV1.ivf + -i ${ROCM_PATH}/share/rocdecode/video/container/AMD_driving_virtual_20-AV1.ivf ) -# 12 - videoDecodeRaw VP9 +# 12 - videoDecodeRaw AV1 OBU +add_test( + NAME + video_decodeRaw-AV1-OBU + COMMAND + "${CMAKE_CTEST_COMMAND}" + --build-and-test "${ROCM_PATH}/share/rocdecode/samples/videoDecodeRaw" + "${CMAKE_CURRENT_BINARY_DIR}/videoDecodeRaw" + --build-generator "${CMAKE_GENERATOR}" + --test-command "videodecoderaw" + -i ${ROCM_PATH}/share/rocdecode/video/elementary/AMD_driving_virtual_20-AV1.obu +) + +# 13 - videoDecodeRaw VP9 add_test( NAME video_decodeRaw-VP9 @@ -228,10 +241,10 @@ add_test( "${CMAKE_CURRENT_BINARY_DIR}/videoDecodeRaw" --build-generator "${CMAKE_GENERATOR}" --test-command "videodecoderaw" - -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-VP9.ivf + -i ${ROCM_PATH}/share/rocdecode/video/container/AMD_driving_virtual_20-VP9.ivf ) -# 13 - rocDecodeNegativeApiTests +# 14 - rocDecodeNegativeApiTests add_test( NAME rocDecode_Negative_API_Tests