diff --git a/.jenkins/common.groovy b/.jenkins/common.groovy index 6dca11fa4e..119ae66141 100644 --- a/.jenkins/common.groovy +++ b/.jenkins/common.groovy @@ -43,6 +43,9 @@ def runTestCommand (platform, project) { 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 + cd ../ && mkdir -p rocdecode-test && cd rocdecode-test + cmake /opt/rocm/share/rocdecode/test/ + LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm/lib${libLocation} ctest -VV --rerun-failed --output-on-failure """ platform.runCommand(this, command) diff --git a/CMakeLists.txt b/CMakeLists.txt index 53b8ac07d4..1ebbc28d6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -138,7 +138,13 @@ if(HIP_FOUND AND Libva_FOUND AND Libdrm_FOUND) install(DIRECTORY cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME} COMPONENT dev) install(DIRECTORY utils/rocvideodecode DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/utils COMPONENT dev) install(DIRECTORY samples/videoDecode DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/samples COMPONENT dev) + install(DIRECTORY samples/videoDecodeFork DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/samples COMPONENT dev) + install(DIRECTORY samples/videoDecodeMem DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/samples COMPONENT dev) + install(DIRECTORY samples/videoDecodePerf DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/samples COMPONENT dev) + install(DIRECTORY samples/videoDecodeRGB DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/samples COMPONENT dev) install(FILES samples/common.h DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/samples COMPONENT dev) + install(FILES utils/colorspace_kernels.cpp DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/utils COMPONENT dev) + install(FILES utils/colorspace_kernels.h DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/utils COMPONENT dev) install(FILES data/videos/AMD_driving_virtual_20-H265.mp4 DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/video COMPONENT dev) # install license information - {ROCM_PATH}/share/doc/rocdecode set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 9aed89f669..57948e219a 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -30,11 +30,24 @@ include(CTest) # ROCM Path if(DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Default ROCm installation path") + set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") elseif(ROCM_PATH) - message("-- INFO:ROCM_PATH Set -- ${ROCM_PATH}") + message("-- ${White}${PROJECT_NAME} :ROCM_PATH Set -- ${ROCM_PATH}${ColourReset}") else() - set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") + set(ROCM_PATH /opt/rocm CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") +endif() + +# find rocDecode +find_library(ROCDECODE_LIBRARY NAMES rocdecode HINTS ${ROCM_PATH}/lib) +find_path(ROCDECODE_INCLUDE_DIR NAMES rocdecode.h PATHS /opt/rocm/include/rocdecode ${ROCM_PATH}/include/rocdecode) + +if(ROCDECODE_LIBRARY AND ROCDECODE_INCLUDE_DIR) + set(ROCDECODE_FOUND TRUE) + message("-- ${White}Using rocDecode -- \n\tLibraries:${ROCDECODE_LIBRARY} \n\tIncludes:${ROCDECODE_INCLUDE_DIR}${ColourReset}") +endif() + +if(NOT ROCDECODE_FOUND) + message("-- ${Yellow}${PROJECT_NAME} requires rocDecode. Install rocDecode before running CTests") endif() # videoDecode @@ -48,4 +61,56 @@ add_test( --build-generator "${CMAKE_GENERATOR}" --test-command "videodecode" -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 +) + +# videoDecodeFork - TBD - https://github.com/ROCm/rocDecode/issues/221 - Needs Fixed to enable +#add_test( + #NAME + #video_decodeFork-H265 + #COMMAND + #"${CMAKE_CTEST_COMMAND}" + #--build-and-test "${ROCM_PATH}/share/rocdecode/samples/videoDecodeFork" + #"${CMAKE_CURRENT_BINARY_DIR}/videoDecodeFork" + #--build-generator "${CMAKE_GENERATOR}" + #--test-command "videodecodefork" + #-i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 +#) + +# videoDecodeMem +add_test( + NAME + video_decodeMem-H265 + COMMAND + "${CMAKE_CTEST_COMMAND}" + --build-and-test "${ROCM_PATH}/share/rocdecode/samples/videoDecodeMem" + "${CMAKE_CURRENT_BINARY_DIR}/videoDecodeMem" + --build-generator "${CMAKE_GENERATOR}" + --test-command "videodecodemem" + -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 +) + +# videoDecodeMem +add_test( + NAME + video_decodePerf-H265 + COMMAND + "${CMAKE_CTEST_COMMAND}" + --build-and-test "${ROCM_PATH}/share/rocdecode/samples/videoDecodePerf" + "${CMAKE_CURRENT_BINARY_DIR}/videoDecodePerf" + --build-generator "${CMAKE_GENERATOR}" + --test-command "videodecodeperf" + -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 +) + +# videoDecodeRGB +add_test( + NAME + video_decodeRGB-H265 + COMMAND + "${CMAKE_CTEST_COMMAND}" + --build-and-test "${ROCM_PATH}/share/rocdecode/samples/videoDecodeRGB" + "${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 ) \ No newline at end of file