8347fc7b0c8db09e79b9b8301b4df2ae77aa5ab9
* rocDecode/HEVC parsing: Implemented correct logic to set active VPS, SPS and PPS: start from slice header and up. Added video image size change detection. Fixed slice_segment_address bits calculation in slice segment header parsing. * rocDecode/HEVC: Changed variable naming to Google style. * rocDecode/HEVC: Added VPS, SPS, PPS, and slice segment header content logging functions for debug purposes. * rocDecode/HEVC: Compacted opening bracket lines to keep coding style consistency. * * rocDecode/HEVC: Fixed an issue in profile-tier-level parsing where 44 bits are skipped in an incorrect way using ReadBits() which can only consume 32 bits max. Also formated SPS parsing code by using pointer instead of array element. * * rocDecode/HEVC: Fixed the incorrect array size for sps_max_dec_pic_buffering_minus1, sps_max_num_reorder_pics and sps_max_num_reorder_pics in SPS structure define. * * rocDecode/HEVC: Modified scaling list parsing to make sure we explicitly follow the spec. * * rocDecode/HEVC: Added a few syntax elements to short team RPS structure, updated RPS parsing function and logging function. * * rocDecode/HEVC: In PPS parsing function, use structure pointer instead of structure array element to improve coding clarity. * * rocDecode/HEVC: Compacted the opening bracket lines. No functional changes.
rocDecode
rocDecode is a high performance video decode SDK for AMD hardware
Prerequisites:
-
Linux distribution
- Ubuntu -
20.04/22.04
- Ubuntu -
-
Install ROCm 5.5 or later with
--usecase=graphics,rocm --no-32 -
CMake
3.5or later -
libva-dev
2.7or latersudo apt install libva-dev -
sudo apt install ffmpeg libavcodec-dev libavformat-dev libswscale-dev -
Note rocDecode-setup.py script can be used for installing all the dependencies
Build instructions:
Please follow the instructions below to build and install the rocDecode library.
cd rocDecode
mkdir build; cd build
cmake ..
make -j8
sudo make install
-
run tests
make testNOTE: run tests with verbose option
make test ARGS="-VV" -
make package
sudo make test package
Samples:
The tool provides a few samples to decode videos here. Please refer to the individual folders to build and run the samples.
Docker:
Docker files to build rocDecode containers are available here
Documentation
Run the steps below to build documentation locally.
- Doxygen
doxygen .Doxyfile
Tested configurations
- Linux distribution
- Ubuntu -
20.04/22.04
- Ubuntu -
- ROCm:
- rocm-core -
5.6.1.50601-93 - amdgpu-core -
1:5.6.50601-1649308
- rocm-core -
- FFMPEG -
4.2.7/4.4.2-0 - libva-dev -
2.7.0-2/2.14.0-1 - rocDecode Setup Script -
V1.1
Apraksts
Languages
C++
67.5%
C
20.6%
Python
6.6%
CMake
3.4%
Shell
0.6%
Citas
1.1%