Files
rocm-systems/projects/rocdecode
Lakshmi Kumar 2fb59a95af Hevc parser (#15)
* basic parser create

* adding data_stream

* buildable parser

* query output and required fucntions

* latest changes

* alloc buffer and other functions

* parses first frame

* parser finds all frames

* parser dump size correct - dump file included

* clean up

* merge conflicts and file restructure

* uses updated video demuxer

* undoing changes to sample app

* cleaning code

* cleaning code

* removing dwarf flag from compile

* formatting changes

* change variable names as per google standard

* struct naming convention

* struct name

* remove parser data class and combine into parser buffer

* remove context class and clean up

* remove log file and use commons

* move class to .h file

* removing unused functions

* removes platform.h

* removing datastream class

* formatting

* remove byte_array, rename enums

* clean up

* spacing

* rearrange to fit master

* removes bit_strea_parser class, combines common stuff to roc_video_parser file

* new commit for hevc parser

* taking changes from AVC parser

* rocDecode/HEVC parser: Added frame data parsing support.

* rocDeocde/HEVC parser: Fixed bit offset settings in SPS/PPS/Slice header parsing.

* clean code

* bug fix, comments fo doxygen, clean up

* remove unnecessary files

* reverting to original sample

* resolve merge conflicts

* fix missing code

* bug fixes from merge conflicts

* remove unnecessary files

* clean up

---------

Co-authored-by: Jeff JIang <jeffq.jiang@amd.com>

[ROCm/rocdecode commit: a1506f7ddb]
2023-10-18 09:01:44 -04:00
..
2023-10-12 19:12:01 -04:00
2023-10-18 09:01:44 -04:00
2023-06-12 14:45:01 -07:00

rocDecode

rocDecode is a high performance video decode SDK for AMD hardware

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
    
  • FFMPEG

    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 test
    

    NOTE: 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
  • ROCm:
    • rocm-core - 5.6.1.50601-93
    • amdgpu-core - 1:5.6.50601-1649308
  • FFMPEG - 4.2.7 / 4.4.2-0
  • libva-dev - 2.7.0-2 / 2.14.0-1
  • rocDecode Setup Script - V1.1