57 Коммитов

Автор SHA1 Сообщение Дата
Kiriti Gowda 6a2036b033 Package - Host package updates (#671)
* rocDecode host - Package

* Host Package - Added

* Readme - Host updates

* Changelog - Updates

[ROCm/rocdecode commit: 433ca3a564]
2025-11-14 13:23:51 -08:00
Jeff Jiang 8b86f61514 * rocDecode: Added several fixes to samples. (#668)
- Fixed the build error with videodecodepicfiles sample.
 - Added error handling of sample app command option combination of memory type OUT_SURFACE_MEM_NOT_MAPPED and MD5 generation.

[ROCm/rocdecode commit: c388518965]
2025-11-04 21:12:56 -05:00
Jeff Jiang 9f857d54f0 Added logging control (#667)
* * rocDecode: Added logging control
 - Message output from the core components is now controlled by the logging level, which can be set by an environment variable or other methods.

* * rocDecode/Logging control: Fixed a typo.

* * rocDecode/Logging control: Removed reference to the logger class from RocVideoDecoder utility, which results in build error on non-source install environment.

* * rocDecode/Logging control: Improved some wording in the docs.

[ROCm/rocdecode commit: 60e6c585ff]
2025-10-31 20:50:33 -04:00
Aryan Salmanpour 24211717d5 Updated libdrm path configuration and libva version requirements for ROCm and TheRock platforms (#666)
[ROCm/rocdecode commit: c743ca38f6]
2025-10-21 08:57:56 -07:00
Kiriti Gowda eda01f439f ROCm 7.1 - updates (#662)
[ROCm/rocdecode commit: 8e552e70f5]
2025-10-06 14:20:36 -07:00
Aryan Salmanpour 097d3b478b Update changelog for ROCm 7.1 release (#661)
[ROCm/rocdecode commit: 120277dc56]
2025-10-06 13:41:27 -07:00
Lakshmi Kumar 31085f57ed changelog update for PR658 (#659)
[ROCm/rocdecode commit: 1bfbf07d77]
2025-10-06 09:08:53 -07:00
Kiriti Gowda e46fce4acb rocdecode host - Fix build and install (#641)
* rocdecode host - Fix build and install

* CMakeLists - fix

* Chnagelog -updates

* Update CHANGELOG.md

[ROCm/rocdecode commit: b4ec9ca411]
2025-09-02 10:11:45 -07:00
Rajy Rawther 74ea277fdf Updated videoDecodePerf Sample with host backend (#635)
* set min: number of decoded surfaces to non-zero value for ffmpeg based decoding

* added host decoding option to videodecode perf app

* fix GetOutputSurfaceInfo() for FFMpeg

* updated chagelog

* added host decoding option to videodecode perf app

* fix GetOutputSurfaceInfo() for FFMpeg

* updated chagelog

* removed GPU device info printing for HOST backend

* fix for review comment

[ROCm/rocdecode commit: eeecc3e8c8]
2025-08-28 09:02:13 -07:00
Jeff Jiang aca71a1aaf AV1: Added 12-bit AV1 decode support. (#631)
* * rocDecode/AV1: Added 12-bit AV1 decode support.
 - The feature is only enabled for VAAPI version 1.23.0 and up.
 - Added MD5 calculation for 12-bit video output.

* * rocDecode: Bumped version up to 1.2.0 and updated change log.

* * rocDecode: Updated change log based on review.

[ROCm/rocdecode commit: 84257d513a]
2025-08-21 10:40:17 -04:00
Rajy Rawther 827511a6b5 ffmpeg decode utility class cleanup (#616)
* cleaned up ffmpeg decode utility class to use rocdecode host lib

* added changelog for the PR

* address review comments for FFMPEG dependancy in cmake

* Update CHANGELOG.md

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

* addressed review comments

* update version in Cmake

---------

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

[ROCm/rocdecode commit: 3b280ac7c3]
2025-07-28 09:59:47 -04:00
Kiriti Gowda 208f918c88 Find rocdecode - Updates for ROCm 7.0 (#610)
* rocDecode - Version 1.0.0

* Find package - config updates

* CMakeLists - Updates and config fix

* CMakelists - updates

* Samples - link to rocdecode_LIBRARY rocdecode::rocdecode

---------

Co-authored-by: Kiriti <kiriti@santiago.amd.com>

[ROCm/rocdecode commit: 23c17cc150]
2025-06-24 17:39:49 -04:00
Rajy Rawther 40e072f394 FFMpeg decoder rocdecode integration (#583)
* initial commit

* initial implementation for host based decoder

* minor change

* cmake changes and added new sample

* rocdecDecode sample implementation

* rocdecode sample changes working

* working version of avcodec decoder and sample

* Add end of stream handling for repeated decoding with reconfigure

* reorg files and added changelog

* update readme

* revert file

* remove unused class members

* addressed reviw comment for changelog

* fix sample to work on more video files

* resolved review comments

* bumped version to 0.14.0

* fixed build warnings

* addressed review comments

* addressed review comments

* addressed review comments

* fixed readme to match .cpp file options for parameters

* updated review comments, readme, and added test data for the sample

* fixed bug for saving frame for 10 bit videos

* addressed review comments

* addressed all the new review comments

[ROCm/rocdecode commit: 3ddb12f075]
2025-06-07 13:12:57 -04:00
Aryan Salmanpour 9523ee16be CMake - Add support for explicitly linking libdrm_amdgpu with rocdecode (#589)
[ROCm/rocdecode commit: 624dda250d]
2025-05-15 14:00:19 -04:00
jeffqjiangNew 5c8879aa6c * VP9 error resilience: Added syntax error handling. (#587)
- Added VP9 stream stream syntax error detection and handling.
 - Updated change log.
 - Bumped rocDecode version to 0.13.1.

[ROCm/rocdecode commit: e3ab17c09e]
2025-05-14 17:12:50 -04:00
jeffqjiangNew 798a4a03f0 AV1 error resilience: Added tile size error detection and handling. (#580)
* * AV1 error resilience: Added tile size error detection and handling. Also added additional update to change log for PR#574.

* * Wording change in change log.

* * Updated change log based on review comments.

[ROCm/rocdecode commit: 41338c40f3]
2025-05-05 12:01:56 -04:00
jeffqjiangNew 8483251c80 Decoder utility: Removed a couple of incorrect asserts. (#574)
* * Decoder utility: Removed a couple of incorrect asserts. Changed other asserts to error messages.

* * Changed rocDecode version from 0.12.0 to 0.13.0. Updated change log.

* * Decoder utility: Updated change log based on review comments.

* * Decoder utility: Minor format change based on review: removed the extra space.

[ROCm/rocdecode commit: 4b10fa5a1a]
2025-04-29 16:41:36 -04:00
jeffqjiangNew 357c33ac40 Revert "CTest: Added CTest for AV1 elementary stream decode on bitstream read…" (#569)
This reverts commit 5cdfca2a33.

[ROCm/rocdecode commit: 2dea69d26b]
2025-04-21 15:57:15 -04:00
jeffqjiangNew 5cdfca2a33 CTest: Added CTest for AV1 elementary stream decode on bitstream reader. (#561)
* * CTest: Added CTest for AV1 elementary stream decode on bitstream reader.

* * CTest: Added the missing stream file.

* * CTest: Fixed the batch sample CTest failure on RHEL8 system where AV1 elementary stream is not supported by the installed FFMPEG demuxer. Now we do not run batch test on elementary streams.

* * CTest: Added two missing path changes.

[ROCm/rocdecode commit: 5472059e16]
2025-04-16 21:20:16 -04:00
jeffqjiangNew a0dd3fc6b3 AVC: Added support for in stream DPB buffer size change. (#553)
* * AVC: Added support for in stream DPB buffer size change.

* * AVC: Updated change log.

---------

Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>

[ROCm/rocdecode commit: 3d1a1b638e]
2025-04-09 20:57:52 -04:00
jeffqjiangNew 97d503139d AVC error resilience: Added bitstream syntax error handling. (#549)
* * AVC error resilience: Added syntax error detection in SPS, PPS, and slice header parsing.

* * AVC error resilience: Added NAL unit size check before parsing.

* * AVC error resilience: Added parsing error handling.

* * AVC error resilience: Updated change log.

[ROCm/rocdecode commit: 0cb7c4594c]
2025-04-07 16:16:49 -07:00
jeffqjiangNew affbcdba0d Doc: Moved change log for PR#512 from 6.4 to 6.5 as PR#512 did not go into 6.4. (#541)
* * rocDecode/Doc: Moved change log for PR#512 from 6.4 to 6.5 as PR#512 did not go into 6.4.

* * rocDecode/Doc: Missing line deletion from last commit.

[ROCm/rocdecode commit: d72e9a2d26]
2025-03-24 15:38:54 -04:00
jeffqjiangNew ede21fffa0 HEVC: Added DPB size change handling through decoder reconfiguration. (#531)
* * rocDecode/HEVC: Added DPB size change handling through decoder reconfiguration.

* * rocDecode/HEVC: Minor fix.

[ROCm/rocdecode commit: 5988eb16b6]
2025-03-18 17:19:01 -04:00
jeffqjiangNew cd31658919 Picture file sample: Bug fix. (#533)
* * rocDecode/Picture file sample: Fixed a bug that can result in incorrect output frame count when reconfiguration occurs and with more than one iterations.

* * rocDecode: Updated change log.

[ROCm/rocdecode commit: 34cdd7f709]
2025-03-18 15:17:52 -04:00
Kiriti Gowda 26a67fb210 CMake config - updates and fixes (#532)
* CMake Config - updates and fixes

* Version - Updates

* Changelog - updates

* Update CHANGELOG.md

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

---------

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

[ROCm/rocdecode commit: 6b026af151]
2025-03-17 12:38:01 -04:00
jeffqjiangNew aacd035b6d HEVC: Added bit depth change support in decoder reconfiguration. (#527)
* * rocDecode/HEVC: Added bit depth change support in decoder reconfiguration.

* * rocDecode/HEVC: Removed a comment line.

* * rocDecode/HEVC: Updated change log.

* * rocDecode/HEVC: Used the reserved space in RocdecReconfigureDecoderInfo structure for bit_depth_minus_8 field to be backward compatible. Added bit depth to the new sequence file name when we dump output in decoder reconfiguration case.

* * rocDecode/HEVC: Added bit depth change support in decoder reconfiguration.

* * rocDecode/HEVC: Removed a comment line.

* * rocDecode/HEVC: Updated change log.

* * rocDecode/HEVC: Used the reserved space in RocdecReconfigureDecoderInfo structure for bit_depth_minus_8 field to be backward compatible. Added bit depth to the new sequence file name when we dump output in decoder reconfiguration case.

* * rocDecode/HEVC: Changes based on review comments.

* * rocDecode: Fixed a bug related to 422 surface format assignment.

* * rocDecode: Fixed build warnings with some sample apps.

[ROCm/rocdecode commit: ab7546930f]
2025-03-13 09:29:25 -04:00
jeffqjiangNew 23309b2e4c Added syntax error handling in VPS parsing. (#526)
* * rocDecode/HEVC: Added error handling in VPS parsing.

* * rocDecode/HEVC: Updated change log.

* * rocDecode/Error resilience: Improved syntax error check logging: add the parameter name.

[ROCm/rocdecode commit: 263b57fde9]
2025-03-10 09:15:12 -04:00
jeffqjiangNew 407d392c3f * rocDecode/CTest: Added CTest for VP9 decode on bitstream reader. (#523)
[ROCm/rocdecode commit: df11e95a71]
2025-03-03 10:47:40 -05:00
jeffqjiangNew ef7c4c900c * rocDecoder/Bitstream reader: Added stream type detection optimization. (#522)
- During stream type evaluation, when we have a high confidence score, we stop and finalize, to avoid unnecessary exhaustive type search.

[ROCm/rocdecode commit: 5f779a6eb7]
2025-03-03 09:31:49 -05:00
jeffqjiangNew eb2aae5c39 VP9: Added VP9 IVF container detection and picture data parsing support to bitstream reader. (#519)
* * rocDecode/VP9: Added VP9 IVF containter detection and picture data parsing.

* * rocDecode/VP9 bitstream reader: Wording changes based on review comment.

* * rocDecode/VP9 IVF parser: Updated change log based on review comment.

* * rocDecode/VP9 IVF parser: Bumped up rocDecode version to 0.11.0.

* * rocDecode/VP9: Added VP9 IVF containter detection and picture data parsing.

* * rocDecode/VP9 bitstream reader: Wording changes based on review comment.

* * rocDecode/VP9 IVF parser: Updated change log based on review comment.

* * rocDecode/VP9 IVF parser: Bumped up rocDecode version to 0.11.0.

* * rocDecode/VP9 IVF parsing: Minor name correction.

[ROCm/rocdecode commit: a5863bceba]
2025-02-28 18:11:10 -05:00
jeffqjiangNew 4ac1b8dd67 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.

[ROCm/rocdecode commit: 1f53dedd4a]
2025-02-18 13:09:16 -05:00
jeffqjiangNew 2b198dcc32 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.

[ROCm/rocdecode commit: 25463e594b]
2025-02-12 14:06:26 -05:00
Aryan Salmanpour b71b55ac17 Update CHANGELOG (#506)
* Update CHANGELOG

* code clean up

* clean up

[ROCm/rocdecode commit: a2a7b63cad]
2025-02-04 15:56:21 -05:00
jeffqjiangNew 6a57493c23 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>

[ROCm/rocdecode commit: 3b7e566095]
2025-02-04 12:57:01 -05:00
Kiriti Gowda 9b64f18bc0 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

[ROCm/rocdecode commit: 913b6728f0]
2025-01-02 09:42:31 -05:00
jeffqjiangNew 0cb331b369 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>

[ROCm/rocdecode commit: 597b29a7c9]
2024-12-06 14:46:30 -05:00
jeffqjiangNew c8a16141e4 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>

[ROCm/rocdecode commit: e62aa3e09b]
2024-12-05 09:46:24 -05:00
Rajy Rawther fb82691ef2 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>

[ROCm/rocdecode commit: 52eb62fabf]
2024-12-04 14:11:02 -05:00
Kiriti Gowda c8ff82a943 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>

[ROCm/rocdecode commit: 6339767b4c]
2024-11-15 15:35:53 -05:00
spolifroni-amd 3f746445a7 updated the changelog for 6.3 (#439)
[ROCm/rocdecode commit: 8636edce54]
2024-10-24 14:14:25 -04:00
Aryan Salmanpour 8b4e416360 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

[ROCm/rocdecode commit: e463cbd0f2]
2024-10-23 13:54:23 -04:00
Jeremy Newton 4867830142 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>

[ROCm/rocdecode commit: 859103755a]
2024-10-22 11:41:00 -04:00
Rajy Rawther 6837a86bf5 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

[ROCm/rocdecode commit: 29bfe5e3bd]
2024-10-09 13:29:08 -04:00
Kiriti Gowda 07bd8d6082 Package - dependencies updated (#416)
* Package - dependencies updated

* Changelog - new format added

* Setup - OS specific updates

* CMakeList - Cleanup

* Version Updates Fix

[ROCm/rocdecode commit: 64078a58cb]
2024-10-07 16:20:10 -04:00
Kiriti Gowda 56eab1f21c 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

[ROCm/rocdecode commit: 1ac853e441]
2024-08-14 17:28:52 -04:00
Sam Wu 7e6fc978b6 Update formatting in changelog (#380)
[ROCm/rocdecode commit: 5ce2bcb799]
2024-07-08 17:13:44 -06:00
Kiriti Gowda b10bf9df81 Setup - mariner build support (#369)
* Setup - Mariner Updates

* Setup - Remove package manager check

* Setup - Remove INXI

* Setup - Runtime

* Setup - Mariner Updates

[ROCm/rocdecode commit: cf0f7cc3e9]
2024-06-13 17:10:56 -04:00
Kiriti Gowda 1fe8ea0a98 RHEL - Deps Fix (#334)
[ROCm/rocdecode commit: 2df3c13454]
2024-05-02 15:47:26 -04:00
Kiriti Gowda 69ac148c4d Packaging Updates - RPM package changes (#328)
* RPM Deps - Updates

* SLES - Handle Package name diff

[ROCm/rocdecode commit: 68d8b629d1]
2024-05-01 14:35:49 -04:00
Kiriti Gowda ceabff5a3d Setup - Cleanup (#317)
* Setup - Cleanup

* RPM - LibVA Name

* Fix - SLES install

* Fix

* FIX

[ROCm/rocdecode commit: 82e89ca95e]
2024-04-18 08:33:29 -04:00