From 3a230f43a256a36fe36d2f3cf7330a378a38b60e Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Thu, 2 Oct 2025 14:57:01 -0400 Subject: [PATCH 1/5] fix lintian errors --- CMakeLists.txt | 12 ++++- DEBIAN/changelog.in | 5 ++ DEBIAN/copyright.in | 25 +++++++++ DEBIAN/overrides.in | 3 ++ utils.cmake | 124 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 DEBIAN/changelog.in create mode 100644 DEBIAN/copyright.in create mode 100644 DEBIAN/overrides.in create mode 100644 utils.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 418ded5ba..b603c77fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,6 +19,10 @@ # THE SOFTWARE. cmake_minimum_required(VERSION 3.10) +include( utils.cmake ) +set( ROCAL "rocal" ) +set( BUILD_ENABLE_LINTIAN_OVERRIDES ON CACHE BOOL "Enable/Disable Lintian Overrides" ) +set( BUILD_DEBIAN_PKGING_FLAG ON CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" ) # ROCM Path if(DEFINED ENV{ROCM_PATH}) set(ROCM_PATH $ENV{ROCM_PATH} CACHE PATH "Default ROCm installation path") @@ -170,12 +174,14 @@ include(CTest) add_subdirectory(tests/cpp_api) # set package information +set(PKG_MAINTAINER_NM "rocAL Support") +set(PKG_MAINTAINER_EMAIL "mivisionx.support@amd.com") set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") set(CPACK_PACKAGE_LICENSE "MIT") -set(CPACK_PACKAGE_CONTACT "rocAL Support ") +set(CPACK_PACKAGE_CONTACT "${PKG_MAINTAINER_NM} <${PKG_MAINTAINER_EMAIL}>") set(CPACK_PACKAGE_VENDOR "AMD ROCm") set(CPACK_PACKAGE_GROUP "Development/Tools") set(CPACK_PACKAGE_HOMEPAGE "https://github.com/ROCm/rocAL") @@ -183,9 +189,11 @@ set(CPACK_PACKAGE_HOMEPAGE "https://github.com/ROCm/rocAL") if(ENABLE_ASAN_PACKAGING) set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "AMD rocAL address sanitizer libraries") set(CPACK_RPM_PACKAGE_SUMMARY "AMD rocAL address sanitizer libraries") + set( COMP_TYPE "asan" ) else() set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "AMD rocAL is a comprehensive augmentation library") set(CPACK_RPM_PACKAGE_SUMMARY "AMD rocAL is a comprehensive augmentation library") + set( COMP_TYPE "runtime" ) endif() if(DEFINED ENV{ROCM_LIBPATCH_VERSION}) @@ -332,6 +340,8 @@ else() endif() endif() +configure_pkg( ${ROCAL} ${COMP_TYPE} ${CPACK_PACKAGE_VERSION} ${PKG_MAINTAINER_NM} ${PKG_MAINTAINER_EMAIL} ) + include(CPack) cpack_add_component(runtime diff --git a/DEBIAN/changelog.in b/DEBIAN/changelog.in new file mode 100644 index 000000000..95ba9572f --- /dev/null +++ b/DEBIAN/changelog.in @@ -0,0 +1,5 @@ +@DEB_PACKAGE_NAME@ (@DEB_PACKAGE_VERSION@) stable; urgency=low + + * ROCm Runtime software stack Base Package. + -- @DEB_MAINTAINER_NAME@ <@DEB_MAINTAINER_EMAIL@> @DEB_TIMESTAMP@ + diff --git a/DEBIAN/copyright.in b/DEBIAN/copyright.in new file mode 100644 index 000000000..2dfae2cc1 --- /dev/null +++ b/DEBIAN/copyright.in @@ -0,0 +1,25 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: @DEB_PACKAGE_NAME@ +Upstream-Contact: @DEB_MAINTAINER_NAME@ <@DEB_MAINTAINER_EMAIL@> +Source: https://github.com/ROCm/@DEB_PACKAGE_NAME@ +Files: * +License: @DEB_LICENSE@ +Copyright: @DEB_COPYRIGHT_YEAR@ Advanced Micro Devices, Inc. All rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/DEBIAN/overrides.in b/DEBIAN/overrides.in new file mode 100644 index 000000000..6bee886c1 --- /dev/null +++ b/DEBIAN/overrides.in @@ -0,0 +1,3 @@ +@DEB_OVERRIDES_INSTALL_FILENM@: no-copyright-file +@DEB_OVERRIDES_INSTALL_FILENM@: debian-changelog-file-missing +@DEB_OVERRIDES_INSTALL_FILENM@: dir-or-file-in-opt diff --git a/utils.cmake b/utils.cmake new file mode 100644 index 000000000..428b12f5c --- /dev/null +++ b/utils.cmake @@ -0,0 +1,124 @@ +## Configure Copyright File for Debian Package +function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTAINER_NM_T MAINTAINER_EMAIL_T) + # Check If Debian Platform + find_file (DEBIAN debian_version debconf.conf PATHS /etc) + if(DEBIAN) + set( BUILD_DEBIAN_PKGING_FLAG ON CACHE BOOL "Internal Status Flag to indicate Debian Packaging Build" FORCE ) + set_debian_pkg_cmake_flags( ${PACKAGE_NAME_T} ${PACKAGE_VERSION_T} + ${MAINTAINER_NM_T} ${MAINTAINER_EMAIL_T} ) + + # Create debian directory in build tree + file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN") + + # Configure the copyright file + configure_file( + "${CMAKE_SOURCE_DIR}/DEBIAN/copyright.in" + "${CMAKE_BINARY_DIR}/DEBIAN/copyright" + @ONLY + ) + + # Install copyright file + install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/copyright" + DESTINATION "${CMAKE_INSTALL_DOCDIR}" + COMPONENT ${COMPONENT_NAME_T} ) + + # Configure the changelog file + configure_file( + "${CMAKE_SOURCE_DIR}/DEBIAN/changelog.in" + "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" + @ONLY + ) + + if( BUILD_ENABLE_LINTIAN_OVERRIDES ) + if(DEFINED BUILD_SHARED_LIBS AND NOT ${BUILD_SHARED_LIBS} STREQUAL "") + string(FIND ${DEB_OVERRIDES_INSTALL_FILENM} "static" OUT_VAR1) + if(OUT_VAR1 EQUAL -1) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-static" ) + endif() + else() + if(ENABLE_ASAN_PACKAGING) + string( FIND ${DEB_OVERRIDES_INSTALL_FILENM} "asan" OUT_VAR2) + if(OUT_VAR2 EQUAL -1) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-asan" ) + endif() + endif() + endif() + set( DEB_OVERRIDES_INSTALL_FILENM + "${DEB_OVERRIDES_INSTALL_FILENM}" CACHE STRING "Debian Package Lintian Override File Name" FORCE) + # Configure the changelog file + configure_file( + "${CMAKE_SOURCE_DIR}/DEBIAN/overrides.in" + "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" + FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + @ONLY + ) + endif() + + # Install Change Log + find_program ( DEB_GZIP_EXEC gzip ) + if(EXISTS "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" ) + execute_process( + COMMAND ${DEB_GZIP_EXEC} -f -n -9 "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN" + RESULT_VARIABLE result + OUTPUT_VARIABLE output + ERROR_VARIABLE error + ) + if(NOT ${result} EQUAL 0) + message(FATAL_ERROR "Failed to compress: ${error}") + endif() + install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_CHANGELOG_INSTALL_FILENM}" + DESTINATION ${CMAKE_INSTALL_DOCDIR} + COMPONENT ${COMPONENT_NAME_T}) + endif() + else() + # License file + install ( FILES ${LICENSE_FILE} + DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME LICENSE.txt + COMPONENT ${COMPONENT_NAME_T}) + endif() + + # Install lintian overrides + if( BUILD_ENABLE_LINTIAN_OVERRIDES STREQUAL "ON" AND BUILD_DEBIAN_PKGING_FLAG STREQUAL "ON") + set( OVERRIDE_FILE "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" ) + install ( FILES ${OVERRIDE_FILE} + DESTINATION ${DEB_OVERRIDES_INSTALL_PATH} + COMPONENT ${COMPONENT_NAME_T}) + endif() +endfunction() + +# Set variables for changelog and copyright +# For Debian specific Packages +function( set_debian_pkg_cmake_flags DEB_PACKAGE_NAME_T DEB_PACKAGE_VERSION_T DEB_MAINTAINER_NM_T DEB_MAINTAINER_EMAIL_T ) + # Setting configure flags + set( DEB_PACKAGE_NAME "${DEB_PACKAGE_NAME_T}" CACHE STRING "Debian Package Name" ) + set( DEB_PACKAGE_VERSION "${DEB_PACKAGE_VERSION_T}" CACHE STRING "Debian Package Version String" ) + set( DEB_MAINTAINER_NAME "${DEB_MAINTAINER_NM_T}" CACHE STRING "Debian Package Maintainer Name" ) + set( DEB_MAINTAINER_EMAIL "${DEB_MAINTAINER_EMAIL_T}" CACHE STRING "Debian Package Maintainer Email" ) + set( DEB_COPYRIGHT_YEAR "2025" CACHE STRING "Debian Package Copyright Year" ) + set( DEB_LICENSE "MIT" CACHE STRING "Debian Package License Type" ) + set( DEB_CHANGELOG_INSTALL_FILENM "changelog.Debian.gz" CACHE STRING "Debian Package ChangeLog File Name" ) + + if( BUILD_ENABLE_LINTIAN_OVERRIDES ) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_PACKAGE_NAME}" CACHE STRING "Debian Package Lintian Override File Name" ) + set( DEB_OVERRIDES_INSTALL_PATH "/usr/share/lintian/overrides/" CACHE STRING "Deb Pkg Lintian Override Install Loc" ) + endif() + + # Get TimeStamp + find_program( DEB_DATE_TIMESTAMP_EXEC date ) + set ( DEB_TIMESTAMP_FORMAT_OPTION "-R" ) + execute_process ( + COMMAND ${DEB_DATE_TIMESTAMP_EXEC} ${DEB_TIMESTAMP_FORMAT_OPTION} + OUTPUT_VARIABLE TIMESTAMP_T + ) + set( DEB_TIMESTAMP "${TIMESTAMP_T}" CACHE STRING "Current Time Stamp for Copyright/Changelog" ) + + message(STATUS "DEB_PACKAGE_NAME : ${DEB_PACKAGE_NAME}" ) + message(STATUS "DEB_PACKAGE_VERSION : ${DEB_PACKAGE_VERSION}" ) + message(STATUS "DEB_MAINTAINER_NAME : ${DEB_MAINTAINER_NAME}" ) + message(STATUS "DEB_MAINTAINER_EMAIL : ${DEB_MAINTAINER_EMAIL}" ) + message(STATUS "DEB_COPYRIGHT_YEAR : ${DEB_COPYRIGHT_YEAR}" ) + message(STATUS "DEB_LICENSE : ${DEB_LICENSE}" ) + message(STATUS "DEB_TIMESTAMP : ${DEB_TIMESTAMP}" ) + message(STATUS "DEB_CHANGELOG_INSTALL_FILENM : ${DEB_CHANGELOG_INSTALL_FILENM}" ) +endfunction() From a020b4777bb8d4401864781b43d5b41269351324 Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Tue, 28 Oct 2025 15:23:46 -0400 Subject: [PATCH 2/5] move overrides install --- utils.cmake | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/utils.cmake b/utils.cmake index 428b12f5c..7d7d38e6b 100644 --- a/utils.cmake +++ b/utils.cmake @@ -71,20 +71,21 @@ function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTA DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT ${COMPONENT_NAME_T}) endif() - else() - # License file - install ( FILES ${LICENSE_FILE} - DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME LICENSE.txt - COMPONENT ${COMPONENT_NAME_T}) - endif() # Install lintian overrides if( BUILD_ENABLE_LINTIAN_OVERRIDES STREQUAL "ON" AND BUILD_DEBIAN_PKGING_FLAG STREQUAL "ON") set( OVERRIDE_FILE "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" ) install ( FILES ${OVERRIDE_FILE} - DESTINATION ${DEB_OVERRIDES_INSTALL_PATH} + DESTINATION ${DEB_OVERRIDES_INSTALL_PATH} COMPONENT ${COMPONENT_NAME_T}) endif() + + else() + # License file + install ( FILES ${LICENSE_FILE} + DESTINATION ${CMAKE_INSTALL_DOCDIR} RENAME LICENSE.txt + COMPONENT ${COMPONENT_NAME_T}) + endif() endfunction() # Set variables for changelog and copyright From 3de4e9ec5ea0cc0b2c5e6aacb48feedad813ff63 Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Wed, 12 Nov 2025 01:29:54 -0500 Subject: [PATCH 3/5] remove overrides install, fix formatting --- utils.cmake | 53 ++++++++++++++++++----------------------------------- 1 file changed, 18 insertions(+), 35 deletions(-) diff --git a/utils.cmake b/utils.cmake index 7d7d38e6b..4dee31e29 100644 --- a/utils.cmake +++ b/utils.cmake @@ -12,53 +12,44 @@ function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTA # Configure the copyright file configure_file( - "${CMAKE_SOURCE_DIR}/DEBIAN/copyright.in" - "${CMAKE_BINARY_DIR}/DEBIAN/copyright" + "${CMAKE_SOURCE_DIR}/copyright.txt" + "${CMAKE_BINARY_DIR}/DEBIAN/copyright.txt" @ONLY ) # Install copyright file - install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/copyright" + install ( FILES "${CMAKE_BINARY_DIR}/DEBIAN/copyright.txt" DESTINATION "${CMAKE_INSTALL_DOCDIR}" COMPONENT ${COMPONENT_NAME_T} ) # Configure the changelog file configure_file( - "${CMAKE_SOURCE_DIR}/DEBIAN/changelog.in" - "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" + "${CMAKE_SOURCE_DIR}/CHANGELOG.md" + "${CMAKE_BINARY_DIR}/DEBIAN/CHANGELOG.md" @ONLY ) if( BUILD_ENABLE_LINTIAN_OVERRIDES ) - if(DEFINED BUILD_SHARED_LIBS AND NOT ${BUILD_SHARED_LIBS} STREQUAL "") - string(FIND ${DEB_OVERRIDES_INSTALL_FILENM} "static" OUT_VAR1) - if(OUT_VAR1 EQUAL -1) - set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-static" ) + if(DEFINED BUILD_SHARED_LIBS AND NOT ${BUILD_SHARED_LIBS} STREQUAL "") + string(FIND ${DEB_OVERRIDES_INSTALL_FILENM} "static" OUT_VAR1) + if(OUT_VAR1 EQUAL -1) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-static" ) endif() - else() + else() if(ENABLE_ASAN_PACKAGING) - string( FIND ${DEB_OVERRIDES_INSTALL_FILENM} "asan" OUT_VAR2) - if(OUT_VAR2 EQUAL -1) - set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-asan" ) - endif() + string( FIND ${DEB_OVERRIDES_INSTALL_FILENM} "asan" OUT_VAR2) + if(OUT_VAR2 EQUAL -1) + set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_OVERRIDES_INSTALL_FILENM}-asan" ) + endif() endif() - endif() - set( DEB_OVERRIDES_INSTALL_FILENM - "${DEB_OVERRIDES_INSTALL_FILENM}" CACHE STRING "Debian Package Lintian Override File Name" FORCE) - # Configure the changelog file - configure_file( - "${CMAKE_SOURCE_DIR}/DEBIAN/overrides.in" - "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" - FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ - @ONLY - ) + endif() endif() # Install Change Log find_program ( DEB_GZIP_EXEC gzip ) - if(EXISTS "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" ) + if(EXISTS "${CMAKE_BINARY_DIR}/DEBIAN/CHANGELOG.md" ) execute_process( - COMMAND ${DEB_GZIP_EXEC} -f -n -9 "${CMAKE_BINARY_DIR}/DEBIAN/changelog.Debian" + COMMAND ${DEB_GZIP_EXEC} -f -n -9 "${CMAKE_BINARY_DIR}/DEBIAN/CHANGELOG.md" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/DEBIAN" RESULT_VARIABLE result OUTPUT_VARIABLE output @@ -71,14 +62,6 @@ function( configure_pkg PACKAGE_NAME_T COMPONENT_NAME_T PACKAGE_VERSION_T MAINTA DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT ${COMPONENT_NAME_T}) endif() - - # Install lintian overrides - if( BUILD_ENABLE_LINTIAN_OVERRIDES STREQUAL "ON" AND BUILD_DEBIAN_PKGING_FLAG STREQUAL "ON") - set( OVERRIDE_FILE "${CMAKE_BINARY_DIR}/DEBIAN/${DEB_OVERRIDES_INSTALL_FILENM}" ) - install ( FILES ${OVERRIDE_FILE} - DESTINATION ${DEB_OVERRIDES_INSTALL_PATH} - COMPONENT ${COMPONENT_NAME_T}) - endif() else() # License file @@ -98,7 +81,7 @@ function( set_debian_pkg_cmake_flags DEB_PACKAGE_NAME_T DEB_PACKAGE_VERSION_T DE set( DEB_MAINTAINER_EMAIL "${DEB_MAINTAINER_EMAIL_T}" CACHE STRING "Debian Package Maintainer Email" ) set( DEB_COPYRIGHT_YEAR "2025" CACHE STRING "Debian Package Copyright Year" ) set( DEB_LICENSE "MIT" CACHE STRING "Debian Package License Type" ) - set( DEB_CHANGELOG_INSTALL_FILENM "changelog.Debian.gz" CACHE STRING "Debian Package ChangeLog File Name" ) + set( DEB_CHANGELOG_INSTALL_FILENM "CHANGELOG.md.gz" CACHE STRING "Debian Package ChangeLog File Name" ) if( BUILD_ENABLE_LINTIAN_OVERRIDES ) set( DEB_OVERRIDES_INSTALL_FILENM "${DEB_PACKAGE_NAME}" CACHE STRING "Debian Package Lintian Override File Name" ) From aa2688ae951541646261c1651fe551021932c708 Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Wed, 12 Nov 2025 01:51:24 -0500 Subject: [PATCH 4/5] fix readme error --- docs/README.md | 382 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 382 insertions(+) create mode 100644 docs/README.md diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 000000000..12afae3ea --- /dev/null +++ b/docs/README.md @@ -0,0 +1,382 @@ +[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT) + +

+ +> [!NOTE] +> The published documentation is available at [rocAL](https://rocm.docs.amd.com/projects/rocAL/en/latest/) in an organized, easy-to-read format, with search and a table of contents. The documentation source files reside in the `docs` folder of this repository. As with all ROCm projects, the documentation is open source. For more information on contributing to the documentation, see [Contribute to ROCm documentation](https://rocm.docs.amd.com/en/latest/contribute/contributing.html). + +The AMD ROCm Augmentation Library (**rocAL**) is designed to efficiently decode and process images and videos from a variety of storage formats and modify them through a processing graph programmable by the user. rocAL currently provides C API. +For more details, go to [rocAL user guide](docs) page. + +## Supported Operations + +rocAL can be currently used to perform the following operations either with randomized or fixed parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BlendBlur (Gaussian 3x3)BrightnessColor Temperature
ColorTwistContrastCropCrop Mirror Normalization
CropResizeExposure ModificationFisheye LensFlip (Horizontal, Vertical and Both)
FogGammaHueJitter
Lens CorrectionPixelizationRaindropsRandom Crop
ResizeResize Crop MirrorRotationSalt And Pepper Noise
SaturationSnowflakesVignetteWarp Affine
+ +## Prerequisites + +### Operating Systems + +* Linux distribution + + Ubuntu - `22.04` / `24.04` + + RedHat - `8` / `9` + + SLES - `15 SP7` + +### Hardware + +* **CPU**: [AMD64](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) +* **GPU**: [AMD Radeon™ Graphics](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) / [AMD Instinct™ Accelerators](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) + +> [!IMPORTANT] +> * [ROCm-supported hardware required for HIP backend](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) +> * `gfx908` or higher GPU required + +* Install ROCm `6.4.0` or later with [amdgpu-install](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/amdgpu-install.html): **Required** usecase:`rocm` +> [!IMPORTANT] +> `sudo amdgpu-install --usecase=rocm` + +### Compiler + +* AMD Clang++ Version 18.0.0 or later - installed with ROCm + +### Libraries + +* CMake Version `3.10` or later + + ```shell + sudo apt install cmake + ``` + +* HIP + ```shell + sudo apt install hip-dev + ``` + +* [MIVisionX](https://github.com/ROCm/MIVisionX) Components: [AMD OpenVX™](https://github.com/ROCm/MIVisionX/tree/master/amd_openvx) and AMD OpenVX™ Extensions: `VX_RPP` and `AMD Media` + ```shell + sudo apt install mivisionx-dev + ``` + +* [Half-precision floating-point](https://half.sourceforge.net) library - Version `1.12.0` or higher + ```shell + sudo apt install half + ``` + +* [Google Protobuf](https://developers.google.com/protocol-buffers) - Version `3.12.4` or higher + ```shell + sudo apt install libprotobuf-dev + ``` + +* [LMBD Library](http://www.lmdb.tech/doc/) + ```shell + sudo apt install liblmdb-dev + ``` + +* [Turbo JPEG](https://libjpeg-turbo.org/) + ```shell + sudo apt install libturbojpeg0-dev + ``` + +* Python3 and Python3 PIP + ```shell + sudo apt install python3-dev python3-pip + ``` + +* Python3 Wheel + ```shell + sudo apt install python3-wheel + ``` + +* rocDecode - **Optional** for source install, but required for package install + ```shell + sudo apt install rocdecode-dev + ``` + +* [rocJPEG](https://github.com/ROCm/rocJPEG) - **Optional** for source install, but required for package install + ```shell + sudo apt install rocjpeg-dev + ``` + +* [FFMPEG](https://www.ffmpeg.org) - **Optional** for source install, but required for package install + ```shell + sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev + ``` + +* [OpenCV](https://docs.opencv.org/4.6.0/index.html) - **Optional** for source install, but required for package install + ```shell + sudo apt install libopencv-dev + ``` + +* [PyBind11](https://github.com/pybind/pybind11) - Manual install + * Source: `https://github.com/pybind/pybind11` + * Tag: [v2.11.1](https://github.com/pybind/pybind11/releases/tag/v2.11.1) + +* [RapidJSON](https://github.com/Tencent/rapidjson) - Manual install + * Source: `https://github.com/Tencent/rapidjson.git` + * Tag: `master` + +> [!IMPORTANT] +> * Required compiler support +> * C++17 +> * OpenMP +> * Threads +> * On Ubuntu 22.04 - Additional package required: libstdc++-12-dev +> ```shell +> sudo apt install libstdc++-12-dev +> ````` + +>[!NOTE] +> * All package installs are shown with the `apt` package manager. Use the appropriate package manager for your operating system. + +### Prerequisites setup script + +For your convenience, we provide the setup script,[rocAL-setup.py](https://github.com/ROCm/rocAL/blob/develop/rocAL-setup.py), which installs all required dependencies. Run this script only once. + +```shell +python rocAL-setup.py --directory [setup directory - optional (default:~/)] + --rocm_path [ROCm Installation Path - optional (default:/opt/rocm)] + --backend [rocAL Dependency Backend - optional (default:HIP) [options:OCL/HIP]] + --reinstall [Reinstall - optional (default:OFF)[options:ON/OFF]] +``` + +## Installation instructions + +The installation process uses the following steps: + +* [ROCm-supported hardware](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) install verification + +* Install ROCm `7.0.0` or later with [amdgpu-install](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/amdgpu-install.html) with `--usecase=rocm` + +>[!IMPORTANT] +> Use **either** [package install](#package-install) **or** [source install](#source-install) as described below. + +### Package install + +Install rocAL runtime, development, and test packages. + +* Runtime package - `rocal` only provides the dynamic libraries +* Development package - `rocal-dev`/`rocal-devel` provides the libraries, executables, header files, and samples +* Test package - `rocal-test` provides ctest to verify installation + +#### `Ubuntu` + + ```shell + sudo apt-get install rocal rocal-dev rocal-test + ``` + +#### `CentOS`/`RedHat` + + ```shell + sudo yum install rocal rocal-devel rocal-test + ``` + +#### `SLES` + + ```shell + sudo zypper install rocal rocal-devel rocal-test + ``` + +>[!IMPORTANT] +> * `SLES` package install requires `TurboJPEG` manual install +> ``` +> git clone -b 3.0.2 https://github.com/libjpeg-turbo/libjpeg-turbo.git +> mkdir tj-build && cd tj-build +> cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RELEASE -DENABLE_STATIC=FALSE -DCMAKE_INSTALL_DEFAULT_LIBDIR=lib -DWITH_JPEG8=TRUE ../libjpeg-turbo/ +> make -j8 && sudo make install +> ``` +> * `CentOS`/`RedHat`/`SLES` requires additional `FFMPEG Dev` package manual install +> * rocAL Python module: To use python module, you can set PYTHONPATH: +> + `export PYTHONPATH=/opt/rocm/lib:$PYTHONPATH` + +### Source install + +To build rocAL from source and install, follow the steps below: + +* Clone rocAL source code + +```shell +git clone https://github.com/ROCm/rocAL.git +``` + +#### HIP Backend + +* Instructions for building rocAL with the **HIP** GPU backend (default GPU backend): + + run the setup script to install all the dependencies required by the **HIP** GPU backend: + ```shell + cd rocAL + python rocAL-setup.py + ``` + + + run the below commands to build rocAL with the **HIP** GPU backend: + ```shell + mkdir build-hip + cd build-hip + cmake ../ + make -j8 + sudo cmake --build . --target PyPackageInstall + sudo make install + ``` +>[!NOTE] +> * `PyPackageInstall` used for rocal_pybind installation + + +>[!IMPORTANT] +> * Use `-D PYTHON_VERSION_SUGGESTED=3.x` with `cmake` for using a specific Python3 version if required. +> * Use `-D AUDIO_SUPPORT=ON` to enable Audio features, Audio support will be enabled by default with ROCm versions > 6.2 + + + run tests - [test option instructions](https://github.com/ROCm/MIVisionX/wiki/CTest) + ```shell + make test + ``` + +>[!NOTE] +> To run tests with verbose option, use `make test ARGS="-VV"`. + +#### OpenCL Backend +* Instructions for building rocAL with [**OPENCL** GPU backend](https://github.com/ROCm/rocAL/wiki/OpenCL-Backend) + +>[!NOTE] +> + rocAL_pybind is not supported on OPENCL backend +> + rocAL cannot be installed for both GPU backends in the same default folder (i.e., /opt/rocm/) +> + if an app interested in installing rocAL with both GPU backends, then add **-DCMAKE_INSTALL_PREFIX** in the cmake commands to install rocAL with OPENCL and HIP backends into two separate custom folders. + +## Verify installation + +* The installer will copy + * Executables into `/opt/rocm/bin` + * Libraries into `/opt/rocm/lib` + * rocal_pybind into `/opt/rocm/lib` + * Header files into `/opt/rocm/include/rocal` + * Apps, & Samples folder into `/opt/rocm/share/rocal` + * Documents folder into `/opt/rocm/share/doc/rocal` + +### Verify with rocal-test package + +Test package will install ctest module to test rocAL. Follow below steps to test package install + +```shell +mkdir rocAL-test && cd rocAL-test +cmake /opt/rocm/share/rocal/test/ +ctest -VV +``` +>[!NOTE] +> * Make sure all rocAL required libraries are in your PATH +> * `RHEL`/`SLES` - Export FFMPEG libraries into your PATH +> + `export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64/:/usr/local/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH` +> ```shell +> export PATH=$PATH:/opt/rocm/bin +> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/rocm/lib +> ``` + +### Verify rocAL PyBind with rocal-test package + +Test package will install ctest module to test rocAL PyBindings. Follow below steps to test package install + +```shell +mkdir rocal-pybind-test && cd rocal-pybind-test +cmake /opt/rocm/share/rocal/test/pybind +ctest -VV +``` +>[!NOTE] +> * Make sure all rocAL required libraries are in your PATH +> ```shell +> export PATH=$PATH:/opt/rocm/bin +> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/rocm/lib +> export PYTHONPATH=/opt/rocm/lib:$PYTHONPATH +> ``` + +## Documentation + +Run the steps below to build documentation locally. + +* Sphinx documentation +```bash +cd docs +pip3 install -r sphinx/requirements.txt +python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html +``` +* Doxygen +```bash +doxygen .Doxyfile +``` + +## Technical support + +Please email `mivisionx.support@amd.com` for questions, and feedback on rocAL. + +Please submit your feature requests, and bug reports on the [GitHub issues](https://github.com/ROCm/rocAL/issues) page. + +## Release notes + +### Latest release version + +[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/ROCm/rocAL?style=for-the-badge)](https://github.com/ROCm/rocAL/releases) + +### Changelog + +Review all notable [changes](CHANGELOG.md#changelog) with the latest release + +### Tested Configurations + +* Linux distribution + * Ubuntu - `22.04` / `24.04` + * RedHat - `8` / `9` + * SLES - `15-SP7` +* ROCm: rocm-core - `7.0.0`+ +* MIVisionX - `mivisionx-dev`/`mivisionx-devel` +* rocDecode - `rocdecode-dev`/`rocdecode-devel` +* rocJPEG - `rocjpeg-dev`/`rocjpeg-devel` +* Protobuf - `libprotobuf-dev`/`protobuf-devel` +* TurboJPEG - `libturbojpeg0-dev`/`turbojpeg-devel` +* RapidJSON - `https://github.com/Tencent/rapidjson` +* PyBind11 - [v2.11.1](https://github.com/pybind/pybind11) +* FFMPEG - `ffmpeg` dev package +* OpenCV - `libopencv-dev` / [4.6.0](https://github.com/opencv/opencv/releases/tag/4.6.0) +* libsndfile - [1.0.31](https://github.com/libsndfile/libsndfile/releases/tag/1.0.31) +* Libtar - [v1.2.20](https://repo.or.cz/libtar.git) +* rocAL Setup Script - `V4.1.0` +* Dependencies for all the above packages From d70b5005e61136e62b838715e9762ad42bc9e40b Mon Sep 17 00:00:00 2001 From: Jonathan Luu Date: Wed, 12 Nov 2025 11:41:42 -0500 Subject: [PATCH 5/5] removing docs/README.md --- docs/README.md | 382 ------------------------------------------------- 1 file changed, 382 deletions(-) delete mode 100644 docs/README.md diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 12afae3ea..000000000 --- a/docs/README.md +++ /dev/null @@ -1,382 +0,0 @@ -[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT) - -

- -> [!NOTE] -> The published documentation is available at [rocAL](https://rocm.docs.amd.com/projects/rocAL/en/latest/) in an organized, easy-to-read format, with search and a table of contents. The documentation source files reside in the `docs` folder of this repository. As with all ROCm projects, the documentation is open source. For more information on contributing to the documentation, see [Contribute to ROCm documentation](https://rocm.docs.amd.com/en/latest/contribute/contributing.html). - -The AMD ROCm Augmentation Library (**rocAL**) is designed to efficiently decode and process images and videos from a variety of storage formats and modify them through a processing graph programmable by the user. rocAL currently provides C API. -For more details, go to [rocAL user guide](docs) page. - -## Supported Operations - -rocAL can be currently used to perform the following operations either with randomized or fixed parameters: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BlendBlur (Gaussian 3x3)BrightnessColor Temperature
ColorTwistContrastCropCrop Mirror Normalization
CropResizeExposure ModificationFisheye LensFlip (Horizontal, Vertical and Both)
FogGammaHueJitter
Lens CorrectionPixelizationRaindropsRandom Crop
ResizeResize Crop MirrorRotationSalt And Pepper Noise
SaturationSnowflakesVignetteWarp Affine
- -## Prerequisites - -### Operating Systems - -* Linux distribution - + Ubuntu - `22.04` / `24.04` - + RedHat - `8` / `9` - + SLES - `15 SP7` - -### Hardware - -* **CPU**: [AMD64](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) -* **GPU**: [AMD Radeon™ Graphics](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) / [AMD Instinct™ Accelerators](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) - -> [!IMPORTANT] -> * [ROCm-supported hardware required for HIP backend](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) -> * `gfx908` or higher GPU required - -* Install ROCm `6.4.0` or later with [amdgpu-install](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/amdgpu-install.html): **Required** usecase:`rocm` -> [!IMPORTANT] -> `sudo amdgpu-install --usecase=rocm` - -### Compiler - -* AMD Clang++ Version 18.0.0 or later - installed with ROCm - -### Libraries - -* CMake Version `3.10` or later - - ```shell - sudo apt install cmake - ``` - -* HIP - ```shell - sudo apt install hip-dev - ``` - -* [MIVisionX](https://github.com/ROCm/MIVisionX) Components: [AMD OpenVX™](https://github.com/ROCm/MIVisionX/tree/master/amd_openvx) and AMD OpenVX™ Extensions: `VX_RPP` and `AMD Media` - ```shell - sudo apt install mivisionx-dev - ``` - -* [Half-precision floating-point](https://half.sourceforge.net) library - Version `1.12.0` or higher - ```shell - sudo apt install half - ``` - -* [Google Protobuf](https://developers.google.com/protocol-buffers) - Version `3.12.4` or higher - ```shell - sudo apt install libprotobuf-dev - ``` - -* [LMBD Library](http://www.lmdb.tech/doc/) - ```shell - sudo apt install liblmdb-dev - ``` - -* [Turbo JPEG](https://libjpeg-turbo.org/) - ```shell - sudo apt install libturbojpeg0-dev - ``` - -* Python3 and Python3 PIP - ```shell - sudo apt install python3-dev python3-pip - ``` - -* Python3 Wheel - ```shell - sudo apt install python3-wheel - ``` - -* rocDecode - **Optional** for source install, but required for package install - ```shell - sudo apt install rocdecode-dev - ``` - -* [rocJPEG](https://github.com/ROCm/rocJPEG) - **Optional** for source install, but required for package install - ```shell - sudo apt install rocjpeg-dev - ``` - -* [FFMPEG](https://www.ffmpeg.org) - **Optional** for source install, but required for package install - ```shell - sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev - ``` - -* [OpenCV](https://docs.opencv.org/4.6.0/index.html) - **Optional** for source install, but required for package install - ```shell - sudo apt install libopencv-dev - ``` - -* [PyBind11](https://github.com/pybind/pybind11) - Manual install - * Source: `https://github.com/pybind/pybind11` - * Tag: [v2.11.1](https://github.com/pybind/pybind11/releases/tag/v2.11.1) - -* [RapidJSON](https://github.com/Tencent/rapidjson) - Manual install - * Source: `https://github.com/Tencent/rapidjson.git` - * Tag: `master` - -> [!IMPORTANT] -> * Required compiler support -> * C++17 -> * OpenMP -> * Threads -> * On Ubuntu 22.04 - Additional package required: libstdc++-12-dev -> ```shell -> sudo apt install libstdc++-12-dev -> ````` - ->[!NOTE] -> * All package installs are shown with the `apt` package manager. Use the appropriate package manager for your operating system. - -### Prerequisites setup script - -For your convenience, we provide the setup script,[rocAL-setup.py](https://github.com/ROCm/rocAL/blob/develop/rocAL-setup.py), which installs all required dependencies. Run this script only once. - -```shell -python rocAL-setup.py --directory [setup directory - optional (default:~/)] - --rocm_path [ROCm Installation Path - optional (default:/opt/rocm)] - --backend [rocAL Dependency Backend - optional (default:HIP) [options:OCL/HIP]] - --reinstall [Reinstall - optional (default:OFF)[options:ON/OFF]] -``` - -## Installation instructions - -The installation process uses the following steps: - -* [ROCm-supported hardware](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) install verification - -* Install ROCm `7.0.0` or later with [amdgpu-install](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/amdgpu-install.html) with `--usecase=rocm` - ->[!IMPORTANT] -> Use **either** [package install](#package-install) **or** [source install](#source-install) as described below. - -### Package install - -Install rocAL runtime, development, and test packages. - -* Runtime package - `rocal` only provides the dynamic libraries -* Development package - `rocal-dev`/`rocal-devel` provides the libraries, executables, header files, and samples -* Test package - `rocal-test` provides ctest to verify installation - -#### `Ubuntu` - - ```shell - sudo apt-get install rocal rocal-dev rocal-test - ``` - -#### `CentOS`/`RedHat` - - ```shell - sudo yum install rocal rocal-devel rocal-test - ``` - -#### `SLES` - - ```shell - sudo zypper install rocal rocal-devel rocal-test - ``` - ->[!IMPORTANT] -> * `SLES` package install requires `TurboJPEG` manual install -> ``` -> git clone -b 3.0.2 https://github.com/libjpeg-turbo/libjpeg-turbo.git -> mkdir tj-build && cd tj-build -> cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RELEASE -DENABLE_STATIC=FALSE -DCMAKE_INSTALL_DEFAULT_LIBDIR=lib -DWITH_JPEG8=TRUE ../libjpeg-turbo/ -> make -j8 && sudo make install -> ``` -> * `CentOS`/`RedHat`/`SLES` requires additional `FFMPEG Dev` package manual install -> * rocAL Python module: To use python module, you can set PYTHONPATH: -> + `export PYTHONPATH=/opt/rocm/lib:$PYTHONPATH` - -### Source install - -To build rocAL from source and install, follow the steps below: - -* Clone rocAL source code - -```shell -git clone https://github.com/ROCm/rocAL.git -``` - -#### HIP Backend - -* Instructions for building rocAL with the **HIP** GPU backend (default GPU backend): - + run the setup script to install all the dependencies required by the **HIP** GPU backend: - ```shell - cd rocAL - python rocAL-setup.py - ``` - - + run the below commands to build rocAL with the **HIP** GPU backend: - ```shell - mkdir build-hip - cd build-hip - cmake ../ - make -j8 - sudo cmake --build . --target PyPackageInstall - sudo make install - ``` ->[!NOTE] -> * `PyPackageInstall` used for rocal_pybind installation - - ->[!IMPORTANT] -> * Use `-D PYTHON_VERSION_SUGGESTED=3.x` with `cmake` for using a specific Python3 version if required. -> * Use `-D AUDIO_SUPPORT=ON` to enable Audio features, Audio support will be enabled by default with ROCm versions > 6.2 - - + run tests - [test option instructions](https://github.com/ROCm/MIVisionX/wiki/CTest) - ```shell - make test - ``` - ->[!NOTE] -> To run tests with verbose option, use `make test ARGS="-VV"`. - -#### OpenCL Backend -* Instructions for building rocAL with [**OPENCL** GPU backend](https://github.com/ROCm/rocAL/wiki/OpenCL-Backend) - ->[!NOTE] -> + rocAL_pybind is not supported on OPENCL backend -> + rocAL cannot be installed for both GPU backends in the same default folder (i.e., /opt/rocm/) -> + if an app interested in installing rocAL with both GPU backends, then add **-DCMAKE_INSTALL_PREFIX** in the cmake commands to install rocAL with OPENCL and HIP backends into two separate custom folders. - -## Verify installation - -* The installer will copy - * Executables into `/opt/rocm/bin` - * Libraries into `/opt/rocm/lib` - * rocal_pybind into `/opt/rocm/lib` - * Header files into `/opt/rocm/include/rocal` - * Apps, & Samples folder into `/opt/rocm/share/rocal` - * Documents folder into `/opt/rocm/share/doc/rocal` - -### Verify with rocal-test package - -Test package will install ctest module to test rocAL. Follow below steps to test package install - -```shell -mkdir rocAL-test && cd rocAL-test -cmake /opt/rocm/share/rocal/test/ -ctest -VV -``` ->[!NOTE] -> * Make sure all rocAL required libraries are in your PATH -> * `RHEL`/`SLES` - Export FFMPEG libraries into your PATH -> + `export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64/:/usr/local/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH` -> ```shell -> export PATH=$PATH:/opt/rocm/bin -> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/rocm/lib -> ``` - -### Verify rocAL PyBind with rocal-test package - -Test package will install ctest module to test rocAL PyBindings. Follow below steps to test package install - -```shell -mkdir rocal-pybind-test && cd rocal-pybind-test -cmake /opt/rocm/share/rocal/test/pybind -ctest -VV -``` ->[!NOTE] -> * Make sure all rocAL required libraries are in your PATH -> ```shell -> export PATH=$PATH:/opt/rocm/bin -> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/rocm/lib -> export PYTHONPATH=/opt/rocm/lib:$PYTHONPATH -> ``` - -## Documentation - -Run the steps below to build documentation locally. - -* Sphinx documentation -```bash -cd docs -pip3 install -r sphinx/requirements.txt -python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html -``` -* Doxygen -```bash -doxygen .Doxyfile -``` - -## Technical support - -Please email `mivisionx.support@amd.com` for questions, and feedback on rocAL. - -Please submit your feature requests, and bug reports on the [GitHub issues](https://github.com/ROCm/rocAL/issues) page. - -## Release notes - -### Latest release version - -[![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/ROCm/rocAL?style=for-the-badge)](https://github.com/ROCm/rocAL/releases) - -### Changelog - -Review all notable [changes](CHANGELOG.md#changelog) with the latest release - -### Tested Configurations - -* Linux distribution - * Ubuntu - `22.04` / `24.04` - * RedHat - `8` / `9` - * SLES - `15-SP7` -* ROCm: rocm-core - `7.0.0`+ -* MIVisionX - `mivisionx-dev`/`mivisionx-devel` -* rocDecode - `rocdecode-dev`/`rocdecode-devel` -* rocJPEG - `rocjpeg-dev`/`rocjpeg-devel` -* Protobuf - `libprotobuf-dev`/`protobuf-devel` -* TurboJPEG - `libturbojpeg0-dev`/`turbojpeg-devel` -* RapidJSON - `https://github.com/Tencent/rapidjson` -* PyBind11 - [v2.11.1](https://github.com/pybind/pybind11) -* FFMPEG - `ffmpeg` dev package -* OpenCV - `libopencv-dev` / [4.6.0](https://github.com/opencv/opencv/releases/tag/4.6.0) -* libsndfile - [1.0.31](https://github.com/libsndfile/libsndfile/releases/tag/1.0.31) -* Libtar - [v1.2.20](https://repo.or.cz/libtar.git) -* rocAL Setup Script - `V4.1.0` -* Dependencies for all the above packages