rocDecode is a high-performance video decode SDK for AMD GPUs. Using the rocDecode API, you can access the video decoding features available on your GPU.
- H.265 (HEVC) - 8 bit, and 10 bit
- H.264 (AVC) - 8 bit
-
Linux distribution
- Ubuntu -
20.04/22.04 - RHEL -
8/9
- Ubuntu -
Important
gfx908 or higher GPU required
- Install ROCm
6.1.0or later with amdgpu-install: Required usecase - rocm
Important
sudo amdgpu-install --usecase=rocm
- Video Acceleration API Version
1.5.0+-Libvais an implementation for VA-APIsudo apt install libva-dev
Note
RPM Packages for RHEL/SLES - libva-devel
- AMD VA Drivers
sudo apt install mesa-amdgpu-va-drivers
Note
RPM Packages for RHEL/SLES - libdrm-amdgpu mesa-amdgpu-dri-drivers
-
CMake
3.5or latersudo apt install cmake
-
sudo apt install pkg-config
-
FFmpeg runtime and headers - for tests and samples
sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev
Important
- If using Ubuntu 22.04, you must install
libstdc++-12-dev
sudo apt install libstdc++-12-devNote
- All package installs are shown with the
aptpackage manager. Use the appropriate package manager for your operating system. - To install rocDecode with minimum requirements, follow the quick-start instructions
For your convenience, we provide the setup script, rocDecode-setup.py, which installs all required dependencies. Run this script only once.
python3 rocDecode-setup.py --rocm_path [ ROCm Installation Path - optional (default:/opt/rocm)]
--developer [ Setup Developer Options - optional (default:OFF) [options:ON/OFF]]The installation process uses the following steps:
-
ROCm-supported hardware install verification
-
Install ROCm
6.1.0or later with amdgpu-install with--usecase=rocm -
Use either package install or source install as described below.
To install rocDecode runtime, development, and test packages, run the line of code for your operating system.
- Runtime package -
rocdecodeonly provides the rocdecode librarylibrocdecode.so - Development package -
rocdecode-dev/rocdecode-develprovides the library, header files, and samples - Test package -
rocdecode-testprovides CTest to verify installation
sudo apt install rocdecode rocdecode-dev rocdecode-testsudo yum install rocdecode rocdecode-devel rocdecode-testsudo zypper install rocdecode rocdecode-devel rocdecode-testNote
Package install auto installs all dependencies.
Important
RHEL/SLES package install requires manual FFMPEG dev install
To build rocDecode from source and install, run:
git clone https://github.com/ROCm/rocDecode.git
cd rocDecode
python3 rocDecode-setup.py
mkdir build && cd build
cmake ../
make -j8
sudo make installmake testImportant
make test requires FFMPEG dev install
Note
To run tests with verbose option, use make test ARGS="-VV".
sudo make packageThe installer copies:
- Libraries into
/opt/rocm/lib - Header files into
/opt/rocm/include/rocdecode - Samples folder into
/opt/rocm/share/rocdecode - Documents folder into
/opt/rocm/share/doc/rocdecode
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.mp4To verify your installation using the rocdecode-test package, run:
mkdir rocdecode-test && cd rocdecode-test
cmake /opt/rocm/share/rocdecode/test/
ctest -VVYou can access samples to decode your videos in our GitHub repository. Refer to the individual folders to build and run the samples.
FFmpeg is required for sample applications and make test. To install
FFmpeg, refer to the instructions listed for your operating system:
-
Ubuntu:
sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev
-
RHEL/SLES:
Install ffmpeg development packages manually or use
rocDecode-setup.pyscript
You can find rocDecode Docker containers in our GitHub repository.
Run the following code to build our documentation locally.
cd docs
pip3 install -r sphinx/requirements.txt
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/htmlFor more information on documentation builds, refer to the Building documentation page.
- Linux
- Ubuntu -
20.04/22.04 - RHEL -
8/9
- Ubuntu -
- ROCm:
- rocm-core -
6.1.0.60100-64 - amdgpu-core -
1:6.1.60100-1741643
- rocm-core -
- libva-dev -
2.7.0-2/2.14.0-1 - mesa-amdgpu-va-drivers -
1:24.1.0 - FFmpeg -
4.2.7/4.4.2-0 - rocDecode Setup Script -
V1.8.0