diff --git a/projects/rocdecode/CMakeLists.txt b/projects/rocdecode/CMakeLists.txt index 586166a0ec..d289485caa 100644 --- a/projects/rocdecode/CMakeLists.txt +++ b/projects/rocdecode/CMakeLists.txt @@ -40,7 +40,7 @@ if (NOT DEFINED CMAKE_CXX_COMPILER) endif() # rocdecode Version -set(VERSION "1.6.0") +set(VERSION "1.7.0") # Set Project Version and Language project(rocdecode VERSION ${VERSION} LANGUAGES CXX) @@ -106,6 +106,7 @@ option(ROCDECODE_ENABLE_ROCPROFILER_REGISTER "Enable rocprofiler-register suppor # Add an option for enabling FFMPEG avcodec host-based decoder option(ROCDECODE_ENABLE_HOST_DECODER "Enable rocdecode-host-based decoder support" ON) +set (HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(Libva QUIET) find_package(Libdrm_amdgpu QUIET) @@ -188,6 +189,10 @@ if(HIP_FOUND AND Libva_FOUND AND Libdrm_amdgpu_FOUND) set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX) set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}) + if(USING_THE_ROCK) + set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH "$ORIGIN;$ORIGIN/rocm_sysdeps/lib" BUILD_WITH_INSTALL_RPATH TRUE) + endif() + # rocprofiler if (rocprofiler-register_FOUND) string(REPLACE "." ";" VERSION_LIST ${VERSION}) diff --git a/projects/rocdecode/samples/rocdecDecode/CMakeLists.txt b/projects/rocdecode/samples/rocdecDecode/CMakeLists.txt index 46a193a5fd..10401c563b 100644 --- a/projects/rocdecode/samples/rocdecDecode/CMakeLists.txt +++ b/projects/rocdecode/samples/rocdecDecode/CMakeLists.txt @@ -61,6 +61,7 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG -fPIC -Wall") endif() +set (HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(FFmpeg QUIET) find_package(rocdecode QUIET) diff --git a/projects/rocdecode/samples/videoDecode/CMakeLists.txt b/projects/rocdecode/samples/videoDecode/CMakeLists.txt index a4f16880fd..45558172e0 100644 --- a/projects/rocdecode/samples/videoDecode/CMakeLists.txt +++ b/projects/rocdecode/samples/videoDecode/CMakeLists.txt @@ -61,6 +61,7 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG -fPIC") endif() +set (HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(rocdecode QUIET) find_package(rocdecode-host 1.0.0 QUIET) diff --git a/projects/rocdecode/samples/videoDecodeBatch/CMakeLists.txt b/projects/rocdecode/samples/videoDecodeBatch/CMakeLists.txt index 4a90a30354..ad0fb9729c 100644 --- a/projects/rocdecode/samples/videoDecodeBatch/CMakeLists.txt +++ b/projects/rocdecode/samples/videoDecodeBatch/CMakeLists.txt @@ -61,6 +61,7 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG -fPIC") endif() +set (HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(rocdecode QUIET) find_package(rocprofiler-register QUIET) diff --git a/projects/rocdecode/samples/videoDecodeMem/CMakeLists.txt b/projects/rocdecode/samples/videoDecodeMem/CMakeLists.txt index 46c6a2a4a8..f02dce9c67 100644 --- a/projects/rocdecode/samples/videoDecodeMem/CMakeLists.txt +++ b/projects/rocdecode/samples/videoDecodeMem/CMakeLists.txt @@ -62,6 +62,7 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG -fPIC") endif() +set (HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(rocdecode QUIET) find_package(rocprofiler-register QUIET) diff --git a/projects/rocdecode/samples/videoDecodeMultiFiles/CMakeLists.txt b/projects/rocdecode/samples/videoDecodeMultiFiles/CMakeLists.txt index 38df623306..8ad8da16b0 100644 --- a/projects/rocdecode/samples/videoDecodeMultiFiles/CMakeLists.txt +++ b/projects/rocdecode/samples/videoDecodeMultiFiles/CMakeLists.txt @@ -61,6 +61,7 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG -fPIC") endif() +set (HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(rocdecode QUIET) find_package(rocprofiler-register QUIET) diff --git a/projects/rocdecode/samples/videoDecodePerf/CMakeLists.txt b/projects/rocdecode/samples/videoDecodePerf/CMakeLists.txt index a97b8e441f..57c799a75b 100644 --- a/projects/rocdecode/samples/videoDecodePerf/CMakeLists.txt +++ b/projects/rocdecode/samples/videoDecodePerf/CMakeLists.txt @@ -61,6 +61,7 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG -fPIC") endif() +set (HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(rocdecode QUIET) find_package(rocdecode-host 1.0.0 QUIET) diff --git a/projects/rocdecode/samples/videoDecodePicFiles/CMakeLists.txt b/projects/rocdecode/samples/videoDecodePicFiles/CMakeLists.txt index 5527d12c0e..6d551ea19e 100644 --- a/projects/rocdecode/samples/videoDecodePicFiles/CMakeLists.txt +++ b/projects/rocdecode/samples/videoDecodePicFiles/CMakeLists.txt @@ -61,6 +61,7 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG -fPIC") endif() +set (HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(rocdecode QUIET) find_package(rocdecode-host 1.0.0 QUIET) diff --git a/projects/rocdecode/samples/videoDecodeRGB/CMakeLists.txt b/projects/rocdecode/samples/videoDecodeRGB/CMakeLists.txt index 5fadd04256..0e5785fe54 100644 --- a/projects/rocdecode/samples/videoDecodeRGB/CMakeLists.txt +++ b/projects/rocdecode/samples/videoDecodeRGB/CMakeLists.txt @@ -97,6 +97,7 @@ else() endif() message("-- ${White}${PROJECT_NAME} -- AMD GPU_TARGETS: ${GPU_TARGETS}${ColourReset}") +set(HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(rocdecode QUIET) find_package(rocprofiler-register QUIET) diff --git a/projects/rocdecode/samples/videoDecodeRaw/CMakeLists.txt b/projects/rocdecode/samples/videoDecodeRaw/CMakeLists.txt index e90d71d7de..ae7b3e0b59 100644 --- a/projects/rocdecode/samples/videoDecodeRaw/CMakeLists.txt +++ b/projects/rocdecode/samples/videoDecodeRaw/CMakeLists.txt @@ -61,6 +61,7 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG -fPIC") endif() +set (HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(rocdecode QUIET) find_package(rocprofiler-register QUIET) diff --git a/projects/rocdecode/samples/videoToSequence/CMakeLists.txt b/projects/rocdecode/samples/videoToSequence/CMakeLists.txt index 202d1ea21d..3e1ac43e3a 100644 --- a/projects/rocdecode/samples/videoToSequence/CMakeLists.txt +++ b/projects/rocdecode/samples/videoToSequence/CMakeLists.txt @@ -61,6 +61,7 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG -fPIC") endif() +set (HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(rocdecode QUIET) find_package(rocprofiler-register QUIET) diff --git a/projects/rocdecode/src/rocdecode-host/CMakeLists.txt b/projects/rocdecode/src/rocdecode-host/CMakeLists.txt index 26b8505182..1dc74cf155 100644 --- a/projects/rocdecode/src/rocdecode-host/CMakeLists.txt +++ b/projects/rocdecode/src/rocdecode-host/CMakeLists.txt @@ -49,6 +49,7 @@ project(rocdecode-host VERSION ${VERSION} LANGUAGES CXX) list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/lib/cmake) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) +set (HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(Threads QUIET) find_package(rocprofiler-register QUIET) diff --git a/projects/rocdecode/test/CMakeLists.txt b/projects/rocdecode/test/CMakeLists.txt index 61cbe65e7a..efa11aa5a3 100644 --- a/projects/rocdecode/test/CMakeLists.txt +++ b/projects/rocdecode/test/CMakeLists.txt @@ -93,6 +93,12 @@ else() endif(BUILD_FROM_SOURCE) find_package(FFmpeg QUIET) +# Check if lib/rocm_sysdeps/lib exists in the ROCm path which indicates ROCm installation via TheRock +set(USING_THE_ROCK OFF) +if(EXISTS "${ROCM_PATH}/lib/rocm_sysdeps/lib") + set(USING_THE_ROCK ON) +endif() + # 1 - videoDecodeRaw HEVC add_test( NAME @@ -105,6 +111,9 @@ add_test( --test-command "videodecoderaw" -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.265 ) +if(USING_THE_ROCK) + set_property(TEST video_decodeRaw-HEVC PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") +endif() # 2 - videoDecodeRaw AVC add_test( @@ -118,6 +127,9 @@ add_test( --test-command "videodecoderaw" -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H264.264 ) +if(USING_THE_ROCK) + set_property(TEST video_decodeRaw-AVC PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") +endif() # 3 - videoDecodeRaw AV1 add_test( @@ -131,6 +143,9 @@ add_test( --test-command "videodecoderaw" -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-AV1.ivf ) +if(USING_THE_ROCK) + set_property(TEST video_decodeRaw-AV1 PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") +endif() # 4 - videoDecodeRaw VP9 add_test( @@ -144,6 +159,9 @@ add_test( --test-command "videodecoderaw" -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-VP9.ivf ) +if(USING_THE_ROCK) + set_property(TEST video_decodeRaw-VP9 PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") +endif() # 5 - rocDecodeNegativeApiTests add_test( @@ -156,6 +174,9 @@ add_test( --build-generator "${CMAKE_GENERATOR}" --test-command "rocdecodenegativetest" ) +if(USING_THE_ROCK) + set_property(TEST rocDecode_Negative_API_Tests PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") +endif() if(FFMPEG_FOUND) message("-- ${Green}${PROJECT_NAME} FFmpeg found - rocdecode tests requiring FFmpeg added") @@ -171,6 +192,9 @@ if(FFMPEG_FOUND) --test-command "videodecode" -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 ) + if(USING_THE_ROCK) + set_property(TEST video_decode-HEVC PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") + endif() # 7 - videoDecode AVC add_test( @@ -184,6 +208,9 @@ if(FFMPEG_FOUND) --test-command "videodecode" -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H264.mp4 ) + if(USING_THE_ROCK) + set_property(TEST video_decode-AVC PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") + endif() # 8 - videoDecode AV1 add_test( @@ -197,6 +224,9 @@ if(FFMPEG_FOUND) --test-command "videodecode" -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-AV1.mp4 ) + if(USING_THE_ROCK) + set_property(TEST video_decode-AV1 PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") + endif() # 9 - videoDecode VP9 add_test( @@ -210,6 +240,9 @@ if(FFMPEG_FOUND) --test-command "videodecode" -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-VP9.ivf ) + if(USING_THE_ROCK) + set_property(TEST video_decode-VP9 PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") + endif() # 10 - videoDecodePerf add_test( @@ -223,6 +256,9 @@ if(FFMPEG_FOUND) --test-command "videodecodeperf" -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 ) + if(USING_THE_ROCK) + set_property(TEST video_decodePerf-HEVC PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") + endif() # 11 - videoDecodeBatch add_test( @@ -236,6 +272,9 @@ if(FFMPEG_FOUND) --test-command "videodecodebatch" -i ${ROCM_PATH}/share/rocdecode/video/ -t 2 ) + if(USING_THE_ROCK) + set_property(TEST video_decodeBatch PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") + endif() # 12 - videoDecodeRGB add_test( @@ -249,6 +288,9 @@ if(FFMPEG_FOUND) --test-command "videodecodergb" -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 -of rgb ) + if(USING_THE_ROCK) + set_property(TEST video_decodeRGB-HEVC PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") + endif() # 13 - videoDecodeMem add_test( @@ -262,6 +304,9 @@ if(FFMPEG_FOUND) --test-command "videodecodemem" -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 ) + if(USING_THE_ROCK) + set_property(TEST video_decodeMem-HEVC PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") + endif() # 14 - videoDecodeRGBResize add_test( @@ -275,6 +320,9 @@ if(FFMPEG_FOUND) --test-command "videodecodergb" -i "${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4" -resize 640x360 -of rgb ) + if(USING_THE_ROCK) + set_property(TEST video_decodeRGB-Resize PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") + endif() if(rocdecode-host_FOUND) # 15 - videoDecode Host backend @@ -290,6 +338,9 @@ if(FFMPEG_FOUND) -i ${ROCM_PATH}/share/rocdecode/video/AMD_driving_virtual_20-H265.mp4 -backend 1 ) + if(USING_THE_ROCK) + set_property(TEST video_decode-Host-Backend PROPERTY ENVIRONMENT "LIBVA_DRIVERS_PATH=${ROCM_PATH}/lib/rocm_sysdeps/lib") + endif() else() message("-- ${Yellow}${PROJECT_NAME} rocdecode-host NOT found. rocdecode tests requiring rocdecode-host excluded") endif(rocdecode-host_FOUND) diff --git a/projects/rocdecode/test/rocDecodeNegativeApiTests/CMakeLists.txt b/projects/rocdecode/test/rocDecodeNegativeApiTests/CMakeLists.txt index ac634e86f0..e4e9af2149 100644 --- a/projects/rocdecode/test/rocDecodeNegativeApiTests/CMakeLists.txt +++ b/projects/rocdecode/test/rocDecodeNegativeApiTests/CMakeLists.txt @@ -61,6 +61,7 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG -fPIC") endif() +set (HIP_PLATFORM amd CACHE STRING "HIP platform") find_package(HIP QUIET) find_package(rocdecode QUIET) find_package(rocprofiler-register QUIET)