From 913b6728f0821589f7ca6ec645b8d4094cfcd5a8 Mon Sep 17 00:00:00 2001 From: Kiriti Gowda Date: Thu, 2 Jan 2025 06:42:31 -0800 Subject: [PATCH] CMakeLists - Updates and cleanup (#483) * CMakeLists - Updates and cleanup * CTest - CXX Compiler Updates * Package - Remove FFMPEG exe deps * CMakeLists - Updates and cleanup * CTest - CXX Compiler Updates * Package - Remove FFMPEG exe deps * FFMPEG - Updates --- CHANGELOG.md | 4 ++-- CMakeLists.txt | 20 ++++++++------------ README.md | 15 +++++++++++---- rocDecode-setup.py | 3 +-- samples/videoDecode/CMakeLists.txt | 14 +++++++------- samples/videoDecode/README.md | 2 +- samples/videoDecodeBatch/CMakeLists.txt | 20 +++++++++----------- samples/videoDecodeBatch/README.md | 2 +- samples/videoDecodeMem/CMakeLists.txt | 13 +++++++------ samples/videoDecodeMem/README.md | 2 +- samples/videoDecodeMultiFiles/CMakeLists.txt | 14 +++++++------- samples/videoDecodeMultiFiles/README.md | 2 +- samples/videoDecodePerf/CMakeLists.txt | 14 +++++++------- samples/videoDecodePerf/README.md | 2 +- samples/videoDecodeRGB/CMakeLists.txt | 14 +++++++------- samples/videoDecodeRGB/README.md | 2 +- samples/videoDecodeRaw/CMakeLists.txt | 15 +++++++-------- samples/videoToSequence/CMakeLists.txt | 14 +++++++------- samples/videoToSequence/README.md | 2 +- test/CMakeLists.txt | 13 ++++++++++--- test/testScripts/README.md | 2 +- 21 files changed, 98 insertions(+), 91 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a71f2f9985..6f39735c11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,7 @@ Full documentation for rocDecode is available at [https://rocm.docs.amd.com/proj ### Removed -* +* FFMPEG executable requirement for the package ### Resolved issues @@ -32,7 +32,7 @@ Full documentation for rocDecode is available at [https://rocm.docs.amd.com/proj * libva-amdgpu-dev - `2.16.0` * mesa-amdgpu-va-drivers - `1:24.3.0` * FFmpeg - `4.4.2` / `6.1.1` -* rocDecode Setup Script - `V2.4.0` +* rocDecode Setup Script - `V2.5.0` ## (Unreleased) rocDecode 0.9.0 diff --git a/CMakeLists.txt b/CMakeLists.txt index 367a8ef229..adda7fdea4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,7 +22,6 @@ # ############################################################################## cmake_minimum_required(VERSION 3.10) - # ROCM Path if(DEFINED ENV{ROCM_PATH}) set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Default ROCm installation path") @@ -31,15 +30,16 @@ elseif(ROCM_PATH) else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() - # Set AMD Clang as default compiler if (NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) # NOTE: Match version with api/rocdecode_version.h set(VERSION "0.10.0") -set(CMAKE_CXX_STANDARD 17) # Set Project Version and Language project(rocdecode VERSION ${VERSION} LANGUAGES CXX) @@ -90,8 +90,7 @@ endif() if(CMAKE_BUILD_TYPE MATCHES Debug) # -O0 -- Don't Optimize output file # -g -- generate debugging information, generate debugging information, dwarf-4 for making valgrind work - # -Og -- Optimize for debugging experience rather than speed or size - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4 -Og") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4") else() # -O3 -- Optimize output file # -DNDEBUG -- turn off asserts @@ -120,11 +119,8 @@ if(HIP_FOUND AND Libva_FOUND) include_directories(${LIBVA_INCLUDE_DIR}) set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} ${LIBVA_LIBRARY}) set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} ${LIBVA_DRM_LIBRARY}) - - #filesystem: c++ compilers less than equal to 8.5 need explicit link with stdc++fs - if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL "8.5") - set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} stdc++fs) - endif() + # STD Filesystem + set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} stdc++fs) # rocprofiler if (rocprofiler-register_FOUND) @@ -245,11 +241,11 @@ if(HIP_FOUND AND Libva_FOUND) endif() # Set the dev dependent packages - set(ROCDECODE_DEBIAN_DEV_PACKAGE_LIST "rocm-hip-runtime-dev, libva-amdgpu-dev, pkg-config, ffmpeg, libavcodec-dev, libavformat-dev, libavutil-dev") + set(ROCDECODE_DEBIAN_DEV_PACKAGE_LIST "rocm-hip-runtime-dev, libva-amdgpu-dev, pkg-config, libavcodec-dev, libavformat-dev, libavutil-dev") if(UBUNTU_22_FOUND) set(ROCDECODE_DEBIAN_DEV_PACKAGE_LIST "${ROCDECODE_DEBIAN_DEV_PACKAGE_LIST}, libstdc++-12-dev") endif() - # TBD - RPM packages need Fusion Packages - "ffmpeg, libavcodec-devel, libavformat-devel, libavutil-devel" + # TBD - RPM packages need Fusion Packages - "libavcodec-devel, libavformat-devel, libavutil-devel" set(ROCDECODE_RPM_DEV_PACKAGE_LIST "rocm-hip-runtime-devel, libva-amdgpu-devel, pkg-config") # '%{?dist}' breaks manual builds on debian systems due to empty Provides diff --git a/README.md b/README.md index 1e8762419b..f2265f1bc5 100644 --- a/README.md +++ b/README.md @@ -59,12 +59,19 @@ access the video decoding features available on your GPU. sudo apt install pkg-config ``` -* [FFmpeg](https://ffmpeg.org/about.html) runtime and headers - for tests and samples +* [FFmpeg](https://github.com/FFmpeg/FFmpeg) libraries and headers: + * `libavcodec` - provides implementation of a wider range of codecs. + * `libavformat` - implements streaming protocols, container formats and basic I/O access. + * `libavutil` - includes hashers, decompressors and miscellaneous utility functions. + +> [!NOTE] +> FFmpeg libraries are used in samples and tests ```shell - sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev + sudo apt install libavcodec-dev libavformat-dev libavutil-dev ``` + > [!IMPORTANT] > * On `Ubuntu 22.04` - Additional package required: `libstdc++-12-dev` > @@ -202,7 +209,7 @@ FFmpeg, refer to the instructions listed for your operating system: * Ubuntu: ```shell - sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev + sudo apt install libavcodec-dev libavformat-dev libavutil-dev ``` * RHEL/SLES: @@ -224,4 +231,4 @@ You can find rocDecode Docker containers in our * libva-amdgpu-dev - `2.16.0` * mesa-amdgpu-va-drivers - `1:24.3.0` * FFmpeg - `4.4.2` / `6.1.1` -* rocDecode Setup Script - `V2.4.0` +* rocDecode Setup Script - `V2.5.0` diff --git a/rocDecode-setup.py b/rocDecode-setup.py index ef48572267..1e5d471346 100644 --- a/rocDecode-setup.py +++ b/rocDecode-setup.py @@ -29,7 +29,7 @@ else: import subprocess __copyright__ = "Copyright (c) 2023 - 2024, AMD ROCm rocDecode" -__version__ = "2.4.0" +__version__ = "2.5.0" __email__ = "mivisionx.support@amd.com" __status__ = "Shipping" @@ -182,7 +182,6 @@ runtimeDebianPackages = [ 'vainfo' ] ffmpegDebianPackages = [ - 'ffmpeg', 'libavcodec-dev', 'libavformat-dev', 'libavutil-dev' diff --git a/samples/videoDecode/CMakeLists.txt b/samples/videoDecode/CMakeLists.txt index e928156610..de984cc956 100644 --- a/samples/videoDecode/CMakeLists.txt +++ b/samples/videoDecode/CMakeLists.txt @@ -22,23 +22,24 @@ ################################################################################ cmake_minimum_required(VERSION 3.10) - # ROCM Path if(DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Default ROCm installation path") elseif(ROCM_PATH) - message("-- ${White}${PROJECT_NAME} :ROCM_PATH Set -- ${ROCM_PATH}${ColourReset}") + message("-- INFO:ROCM_PATH Set -- ${ROCM_PATH}") else() - set(ROCM_PATH /opt/rocm CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler if (NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() -project(videodecode) set(CMAKE_CXX_STANDARD 17) +project(videodecode) + list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/hip ${ROCM_PATH}) @@ -51,8 +52,7 @@ endif() if(CMAKE_BUILD_TYPE MATCHES Debug) # -O0 -- Don't Optimize output file # -gdwarf-4 -- generate debugging information, dwarf-4 for making valgrind work - # -Og -- Optimize for debugging experience rather than speed or size - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4 -Og") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4") else() # -O3 -- Optimize output file # -DNDEBUG -- turn off asserts diff --git a/samples/videoDecode/README.md b/samples/videoDecode/README.md index 6eace3c4ce..b2c0a2e481 100644 --- a/samples/videoDecode/README.md +++ b/samples/videoDecode/README.md @@ -11,7 +11,7 @@ The video decode sample illustrates decoding a single packetized video stream us * On `Ubuntu` ```shell - sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev + sudo apt install libavcodec-dev libavformat-dev libavutil-dev ``` * On `RHEL`/`SLES` - install ffmpeg development packages manually or use [rocDecode-setup.py](../../rocDecode-setup.py) script diff --git a/samples/videoDecodeBatch/CMakeLists.txt b/samples/videoDecodeBatch/CMakeLists.txt index a9e4d7b9e2..4339b887bc 100644 --- a/samples/videoDecodeBatch/CMakeLists.txt +++ b/samples/videoDecodeBatch/CMakeLists.txt @@ -22,22 +22,23 @@ ################################################################################ cmake_minimum_required(VERSION 3.10) - # ROCM Path if(DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Default ROCm installation path") elseif(ROCM_PATH) - message("-- ${White}${PROJECT_NAME} :ROCM_PATH Set -- ${ROCM_PATH}${ColourReset}") + message("-- INFO:ROCM_PATH Set -- ${ROCM_PATH}") else() - set(ROCM_PATH /opt/rocm CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler if (NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) project(videodecodebatch) -set(CMAKE_CXX_STANDARD 17) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/hip ${ROCM_PATH}) @@ -51,8 +52,7 @@ endif() if(CMAKE_BUILD_TYPE MATCHES Debug) # -O0 -- Don't Optimize output file # -gdwarf-4 -- generate debugging information, dwarf-4 for making valgrind work - # -Og -- Optimize for debugging experience rather than speed or size - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4 -Og") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4") else() # -O3 -- Optimize output file # -DNDEBUG -- turn off asserts @@ -71,10 +71,8 @@ if(HIP_FOUND AND FFMPEG_FOUND AND ROCDECODE_FOUND) include_directories(${AVUTIL_INCLUDE_DIR} ${AVCODEC_INCLUDE_DIR} ${SWSCALE_INCLUDE_DIR} ${AVFORMAT_INCLUDE_DIR}) set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} ${FFMPEG_LIBRARIES}) - #filesystem: c++ compilers less than equal to 8.5 need explicit link with stdc++fs - if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL "8.5") - set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} stdc++fs) - endif() + # STD Filesystem + set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} stdc++fs) # rocDecode and utils include_directories (${ROCDECODE_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/../../utils ${CMAKE_CURRENT_SOURCE_DIR}/../../utils/rocvideodecode) set(LINK_LIBRARY_LIST ${LINK_LIBRARY_LIST} ${ROCDECODE_LIBRARY}) diff --git a/samples/videoDecodeBatch/README.md b/samples/videoDecodeBatch/README.md index 571ea15637..e418eac250 100644 --- a/samples/videoDecodeBatch/README.md +++ b/samples/videoDecodeBatch/README.md @@ -13,7 +13,7 @@ If the number of files is lesser than the number of threads requested by the use * On `Ubuntu` ```shell - sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev + sudo apt install libavcodec-dev libavformat-dev libavutil-dev ``` * On `RHEL`/`SLES` - install ffmpeg development packages manually or use [rocDecode-setup.py](../../rocDecode-setup.py) script diff --git a/samples/videoDecodeMem/CMakeLists.txt b/samples/videoDecodeMem/CMakeLists.txt index 4f43b33e24..1cbf01d121 100644 --- a/samples/videoDecodeMem/CMakeLists.txt +++ b/samples/videoDecodeMem/CMakeLists.txt @@ -25,19 +25,21 @@ cmake_minimum_required(VERSION 3.10) # ROCM Path if(DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Default ROCm installation path") elseif(ROCM_PATH) - message("-- ${White}${PROJECT_NAME} :ROCM_PATH Set -- ${ROCM_PATH}${ColourReset}") + message("-- INFO:ROCM_PATH Set -- ${ROCM_PATH}") else() - set(ROCM_PATH /opt/rocm CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler if (NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) project(videodecodemem) -set(CMAKE_CXX_STANDARD 17) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/hip ${ROCM_PATH}) @@ -51,8 +53,7 @@ endif() if(CMAKE_BUILD_TYPE MATCHES Debug) # -O0 -- Don't Optimize output file # -gdwarf-4 -- generate debugging information, dwarf-4 for making valgrind work - # -Og -- Optimize for debugging experience rather than speed or size - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4 -Og") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4") else() # -O3 -- Optimize output file # -DNDEBUG -- turn off asserts diff --git a/samples/videoDecodeMem/README.md b/samples/videoDecodeMem/README.md index 1a62e1d794..f1f3de0abe 100644 --- a/samples/videoDecodeMem/README.md +++ b/samples/videoDecodeMem/README.md @@ -13,7 +13,7 @@ The sample provides a user class `FileStreamProvider` derived from the existing * On `Ubuntu` ```shell - sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev + sudo apt install libavcodec-dev libavformat-dev libavutil-dev ``` * On `RHEL`/`SLES` - install ffmpeg development packages manually or use [rocDecode-setup.py](../../rocDecode-setup.py) script diff --git a/samples/videoDecodeMultiFiles/CMakeLists.txt b/samples/videoDecodeMultiFiles/CMakeLists.txt index bc381a8185..86a9bf1e76 100644 --- a/samples/videoDecodeMultiFiles/CMakeLists.txt +++ b/samples/videoDecodeMultiFiles/CMakeLists.txt @@ -22,22 +22,23 @@ ################################################################################ cmake_minimum_required(VERSION 3.10) - # ROCM Path if(DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Default ROCm installation path") elseif(ROCM_PATH) - message("-- ${White}${PROJECT_NAME} :ROCM_PATH Set -- ${ROCM_PATH}${ColourReset}") + message("-- INFO:ROCM_PATH Set -- ${ROCM_PATH}") else() - set(ROCM_PATH /opt/rocm CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler if (NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) project(videodecodemultifiles) -set(CMAKE_CXX_STANDARD 17) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/hip ${ROCM_PATH}) @@ -51,8 +52,7 @@ endif() if(CMAKE_BUILD_TYPE MATCHES Debug) # -O0 -- Don't Optimize output file # -gdwarf-4 -- generate debugging information, dwarf-4 for making valgrind work - # -Og -- Optimize for debugging experience rather than speed or size - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4 -Og") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4") else() # -O3 -- Optimize output file # -DNDEBUG -- turn off asserts diff --git a/samples/videoDecodeMultiFiles/README.md b/samples/videoDecodeMultiFiles/README.md index 430a2b63d1..4c8f74f49c 100644 --- a/samples/videoDecodeMultiFiles/README.md +++ b/samples/videoDecodeMultiFiles/README.md @@ -13,7 +13,7 @@ The reconfigure option can be disabled by the user if needed. The input file is * On `Ubuntu` ```shell - sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev + sudo apt install libavcodec-dev libavformat-dev libavutil-dev ``` * On `RHEL`/`SLES` - install ffmpeg development packages manually or use [rocDecode-setup.py](../../rocDecode-setup.py) script diff --git a/samples/videoDecodePerf/CMakeLists.txt b/samples/videoDecodePerf/CMakeLists.txt index bc054067e6..228ff652fc 100644 --- a/samples/videoDecodePerf/CMakeLists.txt +++ b/samples/videoDecodePerf/CMakeLists.txt @@ -22,22 +22,23 @@ ################################################################################ cmake_minimum_required(VERSION 3.10) - # ROCM Path if(DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Default ROCm installation path") elseif(ROCM_PATH) - message("-- ${White}${PROJECT_NAME} :ROCM_PATH Set -- ${ROCM_PATH}${ColourReset}") + message("-- INFO:ROCM_PATH Set -- ${ROCM_PATH}") else() - set(ROCM_PATH /opt/rocm CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler if (NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) project(videodecodeperf) -set(CMAKE_CXX_STANDARD 17) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/hip ${ROCM_PATH}) @@ -51,8 +52,7 @@ endif() if(CMAKE_BUILD_TYPE MATCHES Debug) # -O0 -- Don't Optimize output file # -gdwarf-4 -- generate debugging information, dwarf-4 for making valgrind work - # -Og -- Optimize for debugging experience rather than speed or size - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4 -Og") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4") else() # -O3 -- Optimize output file # -DNDEBUG -- turn off asserts diff --git a/samples/videoDecodePerf/README.md b/samples/videoDecodePerf/README.md index f908b31973..623b56976f 100644 --- a/samples/videoDecodePerf/README.md +++ b/samples/videoDecodePerf/README.md @@ -13,7 +13,7 @@ This sample uses multiple threads to decode the same input video parallelly. * On `Ubuntu` ```shell - sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev + sudo apt install libavcodec-dev libavformat-dev libavutil-dev ``` * On `RHEL`/`SLES` - install ffmpeg development packages manually or use [rocDecode-setup.py](../../rocDecode-setup.py) script diff --git a/samples/videoDecodeRGB/CMakeLists.txt b/samples/videoDecodeRGB/CMakeLists.txt index 6acdbcf40c..d8fe788550 100644 --- a/samples/videoDecodeRGB/CMakeLists.txt +++ b/samples/videoDecodeRGB/CMakeLists.txt @@ -22,22 +22,23 @@ ################################################################################ cmake_minimum_required(VERSION 3.10) - # ROCM Path if(DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Default ROCm installation path") elseif(ROCM_PATH) - message("-- ${White}${PROJECT_NAME} :ROCM_PATH Set -- ${ROCM_PATH}${ColourReset}") + message("-- INFO:ROCM_PATH Set -- ${ROCM_PATH}") else() - set(ROCM_PATH /opt/rocm CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler if (NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) project(videodecodergb) -set(CMAKE_CXX_STANDARD 17) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/hip ${ROCM_PATH}) @@ -51,8 +52,7 @@ endif() if(CMAKE_BUILD_TYPE MATCHES Debug) # -O0 -- Don't Optimize output file # -gdwarf-4 -- generate debugging information, dwarf-4 for making valgrind work - # -Og -- Optimize for debugging experience rather than speed or size - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4 -Og") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4") else() # -O3 -- Optimize output file # -DNDEBUG -- turn off asserts diff --git a/samples/videoDecodeRGB/README.md b/samples/videoDecodeRGB/README.md index d998795fef..27c95fab5b 100644 --- a/samples/videoDecodeRGB/README.md +++ b/samples/videoDecodeRGB/README.md @@ -13,7 +13,7 @@ This sample uses HIP kernels to showcase the color conversion. Whenever a frame * On `Ubuntu` ```shell - sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev + sudo apt install libavcodec-dev libavformat-dev libavutil-dev ``` * On `RHEL`/`SLES` - install ffmpeg development packages manually or use [rocDecode-setup.py](../../rocDecode-setup.py) script diff --git a/samples/videoDecodeRaw/CMakeLists.txt b/samples/videoDecodeRaw/CMakeLists.txt index 7223778d1f..a0d1c8e90b 100644 --- a/samples/videoDecodeRaw/CMakeLists.txt +++ b/samples/videoDecodeRaw/CMakeLists.txt @@ -22,23 +22,23 @@ ################################################################################ cmake_minimum_required(VERSION 3.10) - - # ROCM Path if(DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Default ROCm installation path") elseif(ROCM_PATH) - message("-- ${White}${PROJECT_NAME} :ROCM_PATH Set -- ${ROCM_PATH}${ColourReset}") + message("-- INFO:ROCM_PATH Set -- ${ROCM_PATH}") else() - set(ROCM_PATH /opt/rocm CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler if (NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) project(videodecoderaw) -set(CMAKE_CXX_STANDARD 17) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/hip ${ROCM_PATH}) @@ -52,8 +52,7 @@ endif() if(CMAKE_BUILD_TYPE MATCHES Debug) # -O0 -- Don't Optimize output file # -gdwarf-4 -- generate debugging information, dwarf-4 for making valgrind work - # -Og -- Optimize for debugging experience rather than speed or size - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4 -Og") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4") else() # -O3 -- Optimize output file # -DNDEBUG -- turn off asserts diff --git a/samples/videoToSequence/CMakeLists.txt b/samples/videoToSequence/CMakeLists.txt index c450fa8240..0b853a364c 100644 --- a/samples/videoToSequence/CMakeLists.txt +++ b/samples/videoToSequence/CMakeLists.txt @@ -22,22 +22,23 @@ ################################################################################ cmake_minimum_required(VERSION 3.10) - # ROCM Path if(DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Default ROCm installation path") elseif(ROCM_PATH) - message("-- ${White}${PROJECT_NAME} :ROCM_PATH Set -- ${ROCM_PATH}${ColourReset}") + message("-- INFO:ROCM_PATH Set -- ${ROCM_PATH}") else() - set(ROCM_PATH /opt/rocm CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() # Set AMD Clang as default compiler if (NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) endif() +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) project(videotosequence) -set(CMAKE_CXX_STANDARD 17) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../cmake) list(APPEND CMAKE_PREFIX_PATH ${ROCM_PATH}/hip ${ROCM_PATH}) @@ -51,8 +52,7 @@ endif() if(CMAKE_BUILD_TYPE MATCHES Debug) # -O0 -- Don't Optimize output file # -gdwarf-4 -- generate debugging information, dwarf-4 for making valgrind work - # -Og -- Optimize for debugging experience rather than speed or size - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4 -Og") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -gdwarf-4") else() # -O3 -- Optimize output file # -DNDEBUG -- turn off asserts diff --git a/samples/videoToSequence/README.md b/samples/videoToSequence/README.md index 13f4e86ae3..675ebed190 100644 --- a/samples/videoToSequence/README.md +++ b/samples/videoToSequence/README.md @@ -11,7 +11,7 @@ The VideoToSequence sample illustrates decoding a single packetized video stream * On `Ubuntu` ```shell - sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev + sudo apt install libavcodec-dev libavformat-dev libavutil-dev ``` * On `RHEL`/`SLES` - install ffmpeg development packages manually or use [rocDecode-setup.py](../../rocDecode-setup.py) script diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index ceea8e5c88..7a771db4d8 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -33,12 +33,19 @@ endif() # ROCM Path if(DEFINED ENV{ROCM_PATH}) - set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Default ROCm installation path") elseif(ROCM_PATH) - message("-- ${White}${PROJECT_NAME} :ROCM_PATH Set -- ${ROCM_PATH}${ColourReset}") + message("-- INFO:ROCM_PATH Set -- ${ROCM_PATH}") else() - set(ROCM_PATH /opt/rocm CACHE PATH "${White}${PROJECT_NAME}: Default ROCm installation path${ColourReset}") + set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() +# Set AMD Clang as default compiler +if (NOT DEFINED CMAKE_CXX_COMPILER) + set(CMAKE_C_COMPILER ${ROCM_PATH}/bin/amdclang) + set(CMAKE_CXX_COMPILER ${ROCM_PATH}/bin/amdclang++) +endif() +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED On) project(rocdecode-test) diff --git a/test/testScripts/README.md b/test/testScripts/README.md index 7f02cd72d0..2379c88c5c 100644 --- a/test/testScripts/README.md +++ b/test/testScripts/README.md @@ -8,7 +8,7 @@ * On `Ubuntu` ```shell - sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev + sudo apt install libavcodec-dev libavformat-dev libavutil-dev ``` * On `RHEL`/`SLES` - install ffmpeg development packages manually or use [rocDecode-setup.py](../../rocDecode-setup.py) script