Dateien
rocm-systems/projects/rocdecode
jeffqjiangNew ab36eb705a * rocDecode/HEVC: Fixed the missing output picture issue on certain streams. (#89)
- When we hit IRAP (Intra Random Access Point) picture and need to bump all remaining decoded pictures from DPB, call display callback immediately, instead of delaying the callback to the IRAP decode process.

[ROCm/rocdecode commit: 09da68790c]
2023-11-27 19:54:49 -05:00
..
2023-11-21 13:25:56 -07:00
2023-11-27 13:03:26 -05:00
2023-11-23 08:57:45 -05:00
2023-06-12 14:45:01 -07:00
2023-11-23 08:57:45 -05:00
2023-11-23 08:57:45 -05:00

rocDecode

rocDecode is a high performance video decode SDK for AMD GPUs. rocDecode API lets developers access the video decoding features available on the GPU.

Supported Codecs

  • H.265 (HEVC) - 8 bit, and 10 bit

Prerequisites

  • Linux distribution

    • Ubuntu - 20.04 / 22.04
  • ROCm supported hardware

  • Install ROCm 5.5 or later with --usecase=graphics,rocm --no-32

  • CMake 3.5 or later

  • libva-dev 2.7 or later

    sudo apt install libva-dev
    
  • libdrm-dev 2.4 or later

    sudo apt install libdrm-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 - Requires FFMPEG install

    make test
    

    NOTE: run tests with verbose option make test ARGS="-VV"

  • make package

    sudo make test package
    

Verify Installation

The installer will copy

  • 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

Build and run sample

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.mp4

Samples

The tool provides a few samples to decode videos here. Please refer to the individual folders to build and run the samples.

Sample Prerequisites

  • FFMPEG - required to run sample applications & make test

    sudo apt install ffmpeg
    

Docker

Docker files to build rocDecode containers are available here

Documentation

Run the steps below to build documentation locally.

  • Sphinx
cd docs
pip3 install -r sphinx/requirements.txt
python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
  • Doxygen
doxygen .Doxyfile

Tested configurations

  • Linux distribution
    • Ubuntu - 20.04 / 22.04
  • ROCm:
    • rocm-core - 5.6.1.50601-93
    • amdgpu-core - 1:5.6.50601-1649308
  • libva-dev - 2.7.0-2 / 2.14.0-1
  • libdrm-dev - 2.4.107 / 2.4.113
  • FFMPEG - 4.2.7 / 4.4.2-0
  • rocDecode Setup Script - V1.3