Commit Graph

27 Commits

Author SHA1 Message Date
jeffqjiangNew 1f53dedd4a Optimization: Reduced decode session start latency for certain output surface memory types. (#512)
* *rocDecode/Optimization: Reduced decode session start latency for certain output surface memory types.

* * rocDecode/Optimization: Video decode RGB sample creates itsown HIP
  stream.

* * rocDecode/Optimization: Created separate HIP stream in each thread in
  video decode RGB sample.

* * rocDecode/Optimization: Addressed the lower FPS report in RGB sample:
  move HIP stream creation out of FPS calculation scope.

* * rocDecode/Optimize: Removed comments.
2025-02-18 13:09:16 -05:00
jeffqjiangNew 25463e594b Doc: HW decode capability update. (#509)
* * rocDecode/Doc: HW decode capability update.
 - Added AV1 and VP9 decode caps and small corrections.

* * rocDecode/Doc: Removed gfx940 and gfx941 from HW capability table.

* * rocDecode/Doc: HW decode capability update.
 - Added AV1 and VP9 decode caps and small corrections.

* * rocDecode/Doc: Removed gfx940 and gfx941 from HW capability table.

* * rocDecode/Doc: Updated change log.
2025-02-12 14:06:26 -05:00
Aryan Salmanpour a2a7b63cad Update CHANGELOG (#506)
* Update CHANGELOG

* code clean up

* clean up
2025-02-04 15:56:21 -05:00
jeffqjiangNew 3b7e566095 Sample: Added a new sample app: videodecodepicfiles. (#498)
* * rocDecode/sample: Added a new sample app, videodecodepicfiles, which reads individual picture data from a group of files with each file containing bitstream of a coded picture.

* * rocDecode/Pic files sample: Minor change in title.

* * rocDecode/Pic files sample: Minor changes in comments.

* * rocDecode/Pic files sample: Removed the commented code.

* * rocDecode/Pic files sample: Changes in change log based on review comments.

---------

Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
2025-02-04 12:57:01 -05:00
Kiriti Gowda 913b6728f0 CMakeLists - Updates and cleanup (#483)
* CMakeLists - Updates and cleanup

* CTest - CXX Compiler Updates

* Package - Remove FFMPEG exe deps

* CMakeLists - Updates and cleanup

* CTest - CXX Compiler Updates

* Package - Remove FFMPEG exe deps

* FFMPEG - Updates
2025-01-02 09:42:31 -05:00
jeffqjiangNew 597b29a7c9 CTest updates. (#473)
* * rocDecode: Core test updates.
 - Added VP9 test.
 - Added tests for video decode raw sample.
 - Changed test video streams to raw elementary or IVF formats.

* * rocDecode/CTest: Added back mp4 files.

* * rocDecode/CTest: Minor changes based on review comments.

* * rocDecode/CTest: Added stream file installation.

* * rocDecode/CTest: Changed the file back to mp4.

* Add support for VP9 handling in the videoDecodeBatch sample

* add linking with threads for videodecode app

---------

Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>
2024-12-06 14:46:30 -05:00
jeffqjiangNew e62aa3e09b Added the bit stream reader feature. (#433)
* * rocDecode/ES parser: Added elementary stream file parser for HEVC and AVC.

* * rocDecode/ES parser: Added elementary stream file parser for AV1. Also cleaned up the bitstream ring buffer code.

* * rocDecode/ES parser: Added the IVF container file parser for AV1. Also fixed a bug in fill ring buffer function.

* * rocDecode/ES file parder: Added supported stream type detection.
 - The stream type detection checks the unique syntax patterns of the stream type and calculate the likeliheed score. Based on the score, the most likely type is determined.
 - The current supported stream types are: AVC/HEVC/AV1 elementary streams, IVF AV1 streams.

* * rocDecode/ES file parser: Fixed an AVC decode regression due to a copy and paste error.

* * rocDecode/ES file parser: Added bit depth parsing for codec support check; Added stronger AV1 detection for IVF AV1 stream type.

* * rocDecode/ES file parser: Removed debugging logs.

* * rocDecode/ES file parser: Added exmaple code to use the built-in file parser.

* * rocDecode/Bitstream reader: Renamed the elementary parser feature to bitstream reader and re-organized the code.
 - Moved the bitstream reader code to rocDecode core lib from utility.
 - Added bitstream reader interface in parallel with rocDecode parser and decoder interfaces.

* * rocDecode/Bitstream reader: Added sample to use bitstream reader, instead of FFMPEG demuxer, to get picture data. Also reverted the original sample app back to using FFMPEG demuxer only.

* * rocDecode/Bitstream reader: Renamed the new sample app.

* * rocDecode/Bitstream reader: FFMPEG dependency reduction.
 - Moved MD5 functions out of RocVideoDecoder utility class. This removed RocVideoDecoder's dependency on FFMPEG.
 - Added the new MD5 utility, which depends on FFMPEG lib. MD5 message digest generation is now performed in the MD5 utility.
 - Modified decode sampples that uses MD5 generation function.
 - Removed FFMPEG dependency from video decoder basic sample.

* * rocDecode/Bitstream reader: Added option to use bitstream reader to video decode sample and conformance test script. Added the missing destroy bitstream reader call in video decode basic sample.

* * rocDecode/Bitstream reader: Minor format change. No functional changes.

* * rocDecode/Bitstream reader: Added handling of unsupported stream file type by the bitstream reader to decode sample apps.

* * rocDecode/Bitstream reader: Fixed build errors of several samples.

* * rocDecode/Bitstream reader: Added changes based on review comments.

* * rocDecode/Bitstream reader: File name changes based on review comments.

* * rocDecode/Bitstream reader: Moved MD5 code into single header file. Added changes based on review comments.

* * rocDecode/Bitstream reader: Removed redundant path.

* * rocDecode/Bitstream reader: Changed rocDecode version to 0.10.0. Added minor changes based on review comments.

---------

Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
2024-12-05 09:46:24 -05:00
Rajy Rawther 52eb62fabf ffmpeg software decoder implementation (#461)
* WIP: ffmpeg based software decoder

* minor update

* WIP: FFMpeg SW decoder support

* FFMpeg decoder working version

* working version without threading

* multithreading working with FFMpeg decoder

* moved ffmpeg decoder to separate folder

* updated changelog

* minor change

* resolved review comments

* resolved review comments

---------

Co-authored-by: Lakshmi Kumar <lakshmi.kumar@amd.com>
2024-12-04 14:11:02 -05:00
Kiriti Gowda 6339767b4c SLES - Updates (#454)
* SLES - Updates

* Updates

* Cleanup

* Update CHANGELOG.md

Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com>

* CXX Compiler - Use AMD Clang++

* Docs - Updates

* ROCm Version - Upgraded to 6.3.0

* Readme - cleanup

* Readme - minor updates

* Readme - Fix note

---------

Co-authored-by: spolifroni-amd <Sandra.Polifroni@amd.com>
2024-11-15 15:35:53 -05:00
spolifroni-amd 8636edce54 updated the changelog for 6.3 (#439) 2024-10-24 14:14:25 -04:00
Aryan Salmanpour e463cbd0f2 Find the minimum supported libva version 1.16 when building rocdecode (#437)
* Find the minimum supported libva version 1.16 when building rocdecode

* Update the changelog

* Update the Error message if libva-amdgpu-dev/libva-amdgpu-devel not found

* Add missing comma
2024-10-23 13:54:23 -04:00
Jeremy Newton 859103755a Fix libva requirements for rocdecode (#435)
* Fix libva requirements for rocdecode

mesa-amdgpu-va-drivers is built with libva 2.16 (VA-API 1.16), so it
provides the entry point "__vaDriverInit_1_16". For rocdecode to use
mesa, it also needs to make sure it has a high enough requirement on
libva to be compatible with this function.

Strictly speaking, it doesn't matter what libva is used as long as it's
2.16 or newer, since libva is backwards compatible. An OR conditions is
used to favour distro packages when possible to avoid causing issues
with existing libraries built against the distro version.

For libva dev packages, we can just use libva-amdgpu-dev/el directly.

Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>

* Update to use libva-amdgpu

To reflect the package change, update the README, rocDecode-setup.py,
and the CHANEGLOG.

Putting the minimum VA-API version in the README isn't required as the
user is expected to just install the latest libva-amdgpu to match the
mesa VA-API version.

---------

Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
2024-10-22 11:41:00 -04:00
Rajy Rawther 29bfe5e3bd Add new API rocDecParserMarkFrameForReuse() for Parser (#430)
* added new API to release video frame for decoder and parser

* removed ReleseFrame() from low level parser classes

* Removed rocDecReleaseFrame() from decoder and added in parser

* address review comments

* revert un-necessary files

* minor fix

* remove unused function

* minor formatting fix
2024-10-09 13:29:08 -04:00
Kiriti Gowda 64078a58cb Package - dependencies updated (#416)
* Package - dependencies updated

* Changelog - new format added

* Setup - OS specific updates

* CMakeList - Cleanup

* Version Updates Fix
2024-10-07 16:20:10 -04:00
Kiriti Gowda 1ac853e441 CTest Updates - Fix duplicates (#408)
* Test - Fix CTest

* CMakeLists - Clang Set

* Ctest - support

* Readme - Fix and updates

* Readme - minor fix

* Readme - MS template

* Install - Minor instructiion fix

* Clang - Added as default CXX compiler

* Update CHANGELOG.md

Remove unreleased
2024-08-14 17:28:52 -04:00
Sam Wu 5ce2bcb799 Update formatting in changelog (#380) 2024-07-08 17:13:44 -06:00
Kiriti Gowda cf0f7cc3e9 Setup - mariner build support (#369)
* Setup - Mariner Updates

* Setup - Remove package manager check

* Setup - Remove INXI

* Setup - Runtime

* Setup - Mariner Updates
2024-06-13 17:10:56 -04:00
Kiriti Gowda 2df3c13454 RHEL - Deps Fix (#334) 2024-05-02 15:47:26 -04:00
Kiriti Gowda 68d8b629d1 Packaging Updates - RPM package changes (#328)
* RPM Deps - Updates

* SLES - Handle Package name diff
2024-05-01 14:35:49 -04:00
Kiriti Gowda 82e89ca95e Setup - Cleanup (#317)
* Setup - Cleanup

* RPM - LibVA Name

* Fix - SLES install

* Fix

* FIX
2024-04-18 08:33:29 -04:00
Kiriti Gowda 25c4b9584f Docs - Cleanup & Fix (#316) 2024-04-16 15:05:17 -07:00
Kiriti Gowda 3b1d6932af LibVA Updates - Support Public Version (#315)
* LibVA public - enable

* Support for RPM based OS

* Readme Updates

* Setup - Updates

* Setup - CentOS 7 unsupported

* Jenkins - Check Direct deps
2024-04-16 15:53:15 -04:00
Kiriti Gowda d6d9c9ed1a Setup - Updates (#305) 2024-04-01 15:53:36 -07:00
Kiriti Gowda ad7f228774 Setup - updates & Fixes (#301)
* Setup - Updates

* Setup - Develop Install Default OFF

* Developer - Default OFF
2024-03-28 00:23:53 -04:00
Lisa 8a10f8be18 Documentation - 6.1 Updates (Lisa edits) (#260)
* Update video-decoding-pipeline.md

changed image alignment to left from center

* Update Create-a-decoder-using-rocDecCreateDecoder().md

language edits

* Update Create-parser-object-using-rocDecCreateVideoParser().md

Language edits

* Update Create-parser-object-using-rocDecCreateVideoParser().md

* Update Create-parser-object-using-rocDecCreateVideoParser().md

* Update Create-parser-object-using-rocDecCreateVideoParser().md

* Update Create-parser-object-using-rocDecCreateVideoParser().md

* Update Create-parser-object-using-rocDecCreateVideoParser().md

expanded SEI

* Update Decode-the-frame-using-rocDecDecodeFrame().md

language edits

* Update Destroy-the-decoder.md

* Update Decode-the-frame-using-rocDecDecodeFrame().md

* Update Destroy-the-parser-using-rocDecDestroyVideoParser().md

* Update Parse-video-data-using-rocDecParseVideoData().md

language and spacing edits

* Update Prepare-the-decoded-frame-for-further-processing.md

language and spacing edits

* Update Query-decode-capabilities-using-rocDecGetDecoderCaps().md

Language and spacing edits.

* Update Query-the-decoding-status.md

language edits and spacing

* Update Reconfigure-the-decorder.md

language edits and spacing fixes

* Update Use-rocDecode-API.md

language and spacing edits

* Update Use-rocDecode-API.md

* Update Destroy-the-decoder.md

updated to RocDecoder

* Update Parse-video-data-using-rocDecParseVideoData().md

Added link for callback

* Update Reconfigure-the-decorder.md

Corrected to  RocDecoder

* Delete docs/tutorial directory

Tutorial not required for the user guide.

* Add files via upload

* Delete docs/data/VideoDecoderPipeline.PNG

* Update video-decoding-pipeline.md

* Update video-decoding-pipeline.md

* Update video-decoding-pipeline.md

* Update README.md

* resolve conflicts

* Update video-decoding-pipeline.md

* Update video-decoding-pipeline.md

* Update video-decoding-pipeline.md

* Update install.md

* Update install.md

Minor language edits.

* Update install.md

* Update install.md

* Update install.md

* Update install.md

* Update README.md

Updated link to 
https://github.com/ROCm/rocDecode/blob/develop/rocDecode-setup.py

* Update _toc.yml.in

* Update index.md

* Update index.md

* Update index.md

corrections to index.md

* Update index.md

* Update index.md

* Create index.md

* Update index.md

Updated for installation and how to. Reference has header files. Need confirmation.

* Update index.md

* Update index.md

Changed AMD's rocDecode SDK Library to rocDecode SDK

* Update what-is-rocDecode.md

* Update _toc.yml.in

* Update _toc.yml.in

* Update _toc.yml.in

* Update _toc.yml.in

* Update _toc.yml.in

* Update _toc.yml.in

* Update index.md

* Update index.md

* Update index.md

* Update index.md

* Docs - Update config

* Docs - yml updates

* Docs - Updates

* Update _toc.yml.in

* Update _toc.yml.in

* Update _toc.yml.in

* Update what-is-rocDecode.md

* Update _toc.yml.in

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

Added installation content

* Update _toc.yml.in

* Update install.md

changed heading to Installation

* Update index.md

* Update what-is-rocDecode.md

removed installation content

* Update what-is-rocDecode.md

Updated product name

* Update install.md

* Update _toc.yml.in

* Update Create-a-decoder-using-rocDecCreateDecoder.md

* Update Create-parser-object-using-rocDecCreateVideoParser.md

* Update Decode-the-frame-using-rocDecDecodeFrame.md

* Update Destroy-the-decoder.md

* Update Destroy-the-parser-using-rocDecDestroyVideoParser.md

* Update Parse-video-data-using-rocDecParseVideoData.md

* Update Prepare-the-decoded-frame-for-further-processing.md

* Update Query-decode-capabilities-using-rocDecGetDecoderCaps.md

* Update Query-the-decoding-status.md

* Update Reconfigure-the-decorder.md

* Update Use-rocDecode-API.md

* Update _toc.yml.in

* Update _toc.yml.in

* Update index.md

* Update index.md

* Index - Change to RST

* Fix - index

* Update conf.py

copyright

* Cleanup - Index

* Update _toc.yml.in

* Update _toc.yml.in

* Update what-is-rocDecode.md

Added concept

* Add files via upload

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

* Rename VideoDecoderPipeline (1).png to VideoDecoderPipelinetest.png

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

* Rename VideoDecoderPipeline.png to VideoDecoderPipelinetest.png

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

* Update index.md

Added a numbered list of actions.

* Update index.md

add links

* Update index.md

* Update index.md

* Update index.md

* Update index.md

* Update index.md

* Update index.md

* Update index.md

* Update index.md

* Update index.md

* Update index.md

* Update index.md

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.md

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.md

corrected the order of steps.

* Update index.rst

Corrected the order of tasks

* Update _toc.yml.in

Reorder the how to

* Update install.md

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

updated image path

* Update index.rst

Fixed Reconfigure the decoder <https://github.com/ROCm/rocDecode/blob/master/docs/how-to/Reconfigure-the-decorder.html>`_to
Reconfigure the decoder <https://github.com/ROCm/rocDecode/blob/master/docs/how-to/Reconfigure-the-decoder.html>`_

* Rename Reconfigure-the-decorder.md to Reconfigure-the-decoder.md

Corrected the page name to Reconfigure the decoder

* Update index.rst

Updated to relative links

* Update index.rst

Updated index.rst

* Update index.rst

* Update index.md

* Update index.md

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

updated ref to doc

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Add files via upload

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.rst

* Update index.md

* Update index.md

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

* Update install.md

* Update install.md

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

* Update what-is-rocDecode.md

* Update index.md

* Update index.md

* Update _toc.yml.in

* Update _toc.yml.in

* Update what-is-rocDecode.md

* Update install.md

* Update install.md

* Update what-is-rocDecode.md

* Update index.md

* restructure & edits

* udpate readme

* cleanup

* verbiage

* minor fixes

* update changelog

* update changelog

* update title

* add metadata

* more metadata

* convert to RST

* intersphinx test

* edits, install reorg, address comments

* verbiage

* update requirements

* remove extraneous note

* Update docs/sphinx/requirements.in

* clean up install info

* update readme

* update readme

* update requirements

* formatting

* revert requirements

* Docs - Update Requirements

* requirements

* Update requirements

* Fix typo in requirements

pip-compile error

---------

Co-authored-by: Roopa Malavally <56051583+Rmalavally@users.noreply.github.com>
Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
Co-authored-by: Pavel Tcherniaev <Pavel.Tcherniaev@amd.com>
Co-authored-by: Sam Wu <sjwu@ualberta.ca>
Co-authored-by: kiritigowda <kiriti.nageshgowda@amd.com>
Co-authored-by: Sam Wu <sam.wu2@amd.com>
2024-02-27 16:42:03 -05:00
Kiriti Gowda fd27e268f0 ROCm 6.1.0+ - updates (#153)
* Package updates

* RHEL Updates

* Find LibDRM - Fix for rocm failure to install

* Fix dependencies

* Deps Updates

* Jenkins - Add make test to test phase

* Jenkins - Install amdgpu-dkms on CI

* Jenkins - Fix test

* Test - Release build

* Readme - Updates
2024-01-09 13:43:34 -05:00
Kiriti Gowda aa72eb1996 Package & Tests - ROCm Release Updates (#11)
* rocDecode Updates

* Doxygen - Fix

* CMakeLists - Fix

* Jenkins - Files

* Samples - Fix

* CTest - Fix

* Changelog - Added

* Fix - Review comments
2023-10-12 17:08:12 -04:00