575 Commits

Author SHA1 Message Date
Lakshmi Kumar 62007d9079 spacing clean up (#360)
[ROCm/rocdecode commit: 641044d079]
2024-05-31 21:15:47 -04:00
Lakshmi Kumar d334d7367b AV1 - VA-API structure for rocdecode (#359)
* vaapi sturctures for rocdecode

* vaapi sturctures for rocdecode

* adjust spacing - review comment

* merge conflicts

* name change for some struct

* removing empty lines

* removing empty lines

[ROCm/rocdecode commit: 751d0ccac7]
2024-05-31 17:17:52 -04:00
jeffqjiangNew 3230cca447 rocDecode: Added decode buffer pool implementation for AVC and HEVC. (#355)
* * rocDecode: Initial check in for decode buffer pool.

* * rocDecode: All 135 streams pass.

* * rocDecode: Fixed a build error in debug mode.

* * rocDecode/HEVC: Removed two workaround in HEVC DPB management, after decode buffer pool implementa
tion.
 - WR 1: Conditional bumping (when max_num_reorder_pics > 0) to avoid synchronous job submission in
C.5.2.3.
 - WR 2: Add two more buffers in DPB to avoid buffer over-writing.

* * rocDecode/HEVC: Added display delay feature.

* * rocDecode/HEVC: Fixed the -z option issue within the context of the new decode buffer pool implementation.

* * rocDecode/HEVC: Removed redundent code.

* * rocDecode/AVC: Added decode buffer pool implementation for AVC.

* * rocDecode: Added a few changes.
 - Added display delay feature to AVC.
 - Removed a workaround for AVC: AVC_MAX_DPB_FRAMES was increased to 18. Now it is back to 16.
 - Removed a workaround for AVC: increased DPB buffer size by 2. Now it is back to normal.
 - Code format changes for HEVC.

* * rocDecode/AVC: Fixed the -z option issue within the context of the new decode buffer pool implementation.

* * rocDecode: Merged OutputDecodedPictures() method to upper class RocVideoParser.

* * rocDecode: Code cleanup. No functional changes.

* * rocDecode: Made decode buffer pool size adaptive.
 - Removed the hard coded decode buffer pool size set in the decoder.
 - Exposed the display delay parameter from RocVideoDecoder class to the user.
 - Now the decoder buffer pool size is determined from the DPB buffer size and display delay parameter.

* * rocDecode: Several changes based on code review.
 - Merged decode and display use status into one parameter.
 - Removed the surface index from DecodeFrameBuffer, which is now implicitly referred by the array index.
 - Changed a function name for better clarity.

* * rocDecode: Added a comment.

[ROCm/rocdecode commit: 61c8661b9c]
2024-05-31 13:14:02 -04:00
Young Hui - AMD 4a6e9d709b Docs: reordered index grid (#345)
* reordered index to have separate install card, and diataxis grid

* add Tutorials folder

* Explain that tutorials/README.md is just a blank placeholder file.  Can be removed in future.

* Update docs/index.rst

Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com>

* changed to quick start (no hyphen)

* missed index.rst for quick start edit

* change text to Using rocDecode

---------

Co-authored-by: Leo Paoletti <164940351+lpaoletti@users.noreply.github.com>

[ROCm/rocdecode commit: 7f5cc9c42f]
2024-05-31 10:12:24 -04:00
Aryan Salmanpour 4386ac884b Add support for handling exceptions while using the std::filesystem::recursive_directory_iterator (#358)
* FAdd support for handling exceptions while using the filesystem::recursive_directory_iterator

* use a common namesapce

[ROCm/rocdecode commit: 04a19c0aa9]
2024-05-29 16:32:51 -04:00
Sam Wu 86af9da51e Update RTD config to Python 3.10 and latest rocm-docs-core (#357)
[ROCm/rocdecode commit: 188f7de64f]
2024-05-29 09:08:16 -04:00
Joseph Macaranas 90f97aea58 Public CI - Enable external CI pipeline triggers (#356)
[ROCm/rocdecode commit: 897472e644]
2024-05-23 23:28:18 -07:00
Pavel Tcherniaev 473b0ba595 added MD5 checksum for videodecodemem sample (#349)
[ROCm/rocdecode commit: 746877ef56]
2024-05-16 11:36:40 -04:00
jeffqjiangNew 263f924405 * rocDecode/HEVC: Added error handling for the cases where there is no slice data in the decode payload. (#354)
[ROCm/rocdecode commit: 1ac4cf7f52]
2024-05-14 14:07:23 -04:00
Lakshmi Kumar e18f8a9d39 rearrange demux (#353)
[ROCm/rocdecode commit: a086e4a3fa]
2024-05-14 13:07:47 -04:00
Rajy Rawther 5105e2d7b3 Added a new function to get RgbStride (#352)
* re-org videodecodeRGB sample

* minor fix

* removed un-necessary include

* minor fix

* added GetRgbStride utility function for RGB stride

* fix for review comments

---------

Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>

[ROCm/rocdecode commit: dd30db9f51]
2024-05-13 12:39:38 -04:00
Lakshmi Kumar 8d9785072d fixes seek bug (#351)
[ROCm/rocdecode commit: bbe325d39b]
2024-05-13 09:01:06 -04:00
Aryan Salmanpour 0bda4c3498 Fix compilation issues on distro without std::filesystem (#348)
[ROCm/rocdecode commit: bdb08ab644]
2024-05-08 14:45:32 -04:00
Lakshmi Kumar b0882a121e Seek - Bug fixes for cases when no dts in the input stream (#344)
* adds seek to videodecode and seek bug fixes

* fixes both frames & timestamp with prev_key_frame option

* switch to exact key frame and bug fix

* fix decoded_frame_number from seek

* fix out_frame_duration

* clean up + exact fram fix

* bug fixes for dts while Seeking

* seek dts bug fix

---------

Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>

[ROCm/rocdecode commit: a1b20be3fc]
2024-05-08 13:09:22 -04:00
Rajy Rawther 4de84d0b27 videodecodeRGB sample re-org for rocPyDecode (#343)
* re-org videodecodeRGB sample

* minor fix

* removed un-necessary include

* minor fix

[ROCm/rocdecode commit: 95f90982eb]
2024-05-07 17:11:57 -04:00
Aryan Salmanpour 6a33a32db7 Fix compilation issues on RHEL8 and SLES15.5 related to using std::filesystem (#342)
[ROCm/rocdecode commit: 1943aad663]
2024-05-06 21:12:23 -04:00
jeffqjiangNew 80eaa4963c * rocDecode: Removed the workaround for the previous non-blocking implementation of vaSyncSurface() in the driver, since the correct implementation has been put into the driver already. (#340)
[ROCm/rocdecode commit: 3ade0f31ff]
2024-05-06 17:40:15 -04:00
jeffqjiangNew 0ac8dd3bae * rocDecode: Set the correct surface format for high bit depths. (#339)
- No functional changes as surface format does not affect the actual allocation of the VA surface in this call due to IHV specific implementation. The app still needs to set the format correctly.

Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>

[ROCm/rocdecode commit: 21ae1d010a]
2024-05-06 08:09:23 -04:00
Kiriti Gowda 7ea07e5477 Readme - Updates (#338)
* Readme - Updates

* Docs - updates

[ROCm/rocdecode commit: 47165ef6bb]
2024-05-03 16:27:58 -04:00
jeffqjiangNew 4c64022b72 rocDecode: Added error handling of missing headers in cases where they are not parsed but referred in the frame decode process. One example is when frame seek is performed and the target picture is not a random access point. (#335)
* * rocDecode: Added error handling of missing headers in cases where they are not parsed but referred in the frame decode process. One example is when frame seek is performed and the target picture is not a random access point.

* * rocDecode/HEVC: Added some missing error handlings.

---------

Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>

[ROCm/rocdecode commit: ba36534f1f]
2024-05-03 15:18:08 -04:00
Kiriti Gowda 7fdf00a682 Sample - Added missing header (#336)
[ROCm/rocdecode commit: e2b9e7197a]
2024-05-02 17:26:11 -04:00
Kiriti Gowda 1fe8ea0a98 RHEL - Deps Fix (#334)
[ROCm/rocdecode commit: 2df3c13454]
2024-05-02 15:47:26 -04:00
Pavel Tcherniaev a9a75f088d added md5 checksum with changes that Aryan and Rajy requested (#333)
Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>

[ROCm/rocdecode commit: 12fa766973]
2024-05-02 08:49:46 -04:00
jeffqjiangNew 5faecc9c59 * rocDecode/AVC: Added field picture support in reference list modification and adaptive referecne picture marking. (#332)
- 4 more conformance streams now pass.

Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>

[ROCm/rocdecode commit: 0f905f527c]
2024-05-02 08:46:47 -04:00
Kiriti Gowda d749e70d78 Setup - Fix U22 (#331)
* Setup - Fix U22

* Print - Traceback

[ROCm/rocdecode commit: 2e4b7e55ea]
2024-05-02 08:44:00 -04:00
Lakshmi Kumar 97be0bb3ca Seek - Bug Fixes + Sample Update (#327)
* adds seek to videodecode and seek bug fixes

* fixes both frames & timestamp with prev_key_frame option

* switch to exact key frame and bug fix

* fix decoded_frame_number from seek

* fix out_frame_duration

* clean up + exact fram fix

[ROCm/rocdecode commit: 2d50d685f7]
2024-05-01 17:03:27 -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
jeffqjiangNew 3e74cd919b AVC: Added support for picture adaptive frame-field (PICAFF) feature. (#325)
* * rocDecode/AVC: Added initial field picture decode support.
 - 7 conformance streams pass.

* * rocDecode/AVC: Minor change based on review comment.

* * rocDecode/AVC: Fixed an issue with getting the decoded frame buffer index for the second field.
 - 10 more field conformance streams now pass.

* * rocDecode/AVC: Added support for picture adaptive frame-field feature.
 - 10 more field conformance streams now pass.

* * rocDecode/AVC: Added a missing change during last merge.

[ROCm/rocdecode commit: d2b742ab4b]
2024-05-01 08:29:26 -04:00
jeffqjiangNew 86ad715056 AVC: Added initial field picture decode support. (#323)
* * rocDecode/AVC: Added initial field picture decode support.
 - 7 conformance streams pass.

* * rocDecode/AVC: Minor change based on review comment.

* * rocDecode/AVC: Fixed an issue with getting the decoded frame buffer index for the second field.
 - 10 more field conformance streams now pass.

* * rocDecode/AVC: Changed from C type cast to C++ type cast.

[ROCm/rocdecode commit: bd4e410a8d]
2024-04-30 21:21:05 -04:00
jeffqjiangNew 5a4735ea87 * rocDecode/AVC: Added support for gaps in frame_num. (#319)
- Fixed decode failure of conformance stream MR3_TANDBERG_B.264.

[ROCm/rocdecode commit: a8bcc1e62f]
2024-04-19 16:51:41 -04:00
David Galiffi 2b8212f920 Create CODEOWNERS file (#321)
* Create CODEOWNERS

Add global code owners

* Add Document Owners

[ROCm/rocdecode commit: 1eb08ac87c]
2024-04-19 16:31:12 -04:00
Roopa Malavally 533c74e46e Docs - Update index.rst (#320)
[ROCm/rocdecode commit: 4c44acc0cd]
2024-04-18 23:10:27 -07: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
Kiriti Gowda 697bebaa6c Docs - Cleanup & Fix (#316)
[ROCm/rocdecode commit: 25c4b9584f]
2024-04-16 15:05:17 -07:00
Kiriti Gowda 2fb85345c7 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

[ROCm/rocdecode commit: 3b1d6932af]
2024-04-16 15:53:15 -04:00
jeffqjiangNew e86a11681c AVC: Fixed the decode failure of conformance stream MR2_TANDBERG_E.264. (#314)
* * rocDecode/AVC: Fixed the decode failure of conformance stream MR2_TANDBERG_E.264.
 - Fixed a bug in memory management control operation 4 process.

* * rocDecode/AVC: Added the missing assignment of top/bottom POC of ref_pic_list_1 in VAAPI slice parameter struct. This change did not make any effective functional changes.

[ROCm/rocdecode commit: 4188000079]
2024-04-15 08:32:03 -04:00
Aryan Salmanpour aef074db7a Update README (#313)
[ROCm/rocdecode commit: 44293d2218]
2024-04-11 13:36:27 -04:00
jeffqjiangNew c76a8e6885 AV1: Added frame header and tile group OBU parsing. (#312)
* * rocDecode/AV1: Added frame header OBU parsing.

* * rocDecode/AV1: Added a missing function description.

* * rocDecode/AV1: Added tile group OBU parsing.

[ROCm/rocdecode commit: 6b03950181]
2024-04-11 09:01:54 -04:00
Rajy Rawther 7aaef29eb7 videodemuxer: added seek functionality (#311)
* demux add seek functionality

* addressed review comments

[ROCm/rocdecode commit: 77e4c3150a]
2024-04-11 08:21:50 -04:00
Aryan Salmanpour 960f662e31 Use the correct offset when creating render nodes on each partition mode on MI300 (#310)
* Use the correct offset when creating render nodes on each partition mode on MI300

* Use the correct offset when creating render nodes on each partition mode on MI300

* code clean up

[ROCm/rocdecode commit: f2d1ad75eb]
2024-04-09 18:17:02 -04:00
Pavel Tcherniaev 13d85bfab8 added frame rate calculation to AVC parser (#307)
* added frame rate calculation to AVC parser

* fixed typo in avc_parser.h and removed cout debug statements from avc_parser.cpp

* made all changes discussed with Jeff

---------

Co-authored-by: jeffqjiangNew <142832361+jeffqjiangNew@users.noreply.github.com>

[ROCm/rocdecode commit: f8bf587f92]
2024-04-05 08:15:15 -04:00
Aryan Salmanpour 36840419cc Enable decoding AVC (H.264) codec by default and enable CTest for it (#309)
[ROCm/rocdecode commit: 2d877cd357]
2024-04-04 19:47:35 -04:00
jeffqjiangNew 190f2d9d33 * rocDecode/AV1: Added stream syntax defines and sequence header parsing. (#306)
[ROCm/rocdecode commit: e96b782dcf]
2024-04-03 15:04:18 -04:00
jeffqjiangNew 036a24f829 * rocDecode/AVC: Added support for memory management control operation equal to 5 and fixed an issue in reference picture list modification. (#304)
Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>

[ROCm/rocdecode commit: d38931ddae]
2024-04-01 20:58:31 -04:00
Kiriti Gowda ed48cecfe0 Setup - Updates (#305)
[ROCm/rocdecode commit: d6d9c9ed1a]
2024-04-01 15:53:36 -07:00
Lakshmi Kumar ae3debfa02 CMakeLists - install only required files from samples (#303)
* install only required files from samples

* update install directory

[ROCm/rocdecode commit: e185226ae9]
2024-04-01 15:53:15 -04:00
Aryan Salmanpour 1269f81629 Add support for various partition modes on MI300 (#302)
* Add support for various partition modes on MI300

* code clean up

[ROCm/rocdecode commit: 30790842f1]
2024-03-28 21:40:45 -04:00
Kiriti Gowda 80c54d2210 Setup - updates & Fixes (#301)
* Setup - Updates

* Setup - Develop Install Default OFF

* Developer - Default OFF

[ROCm/rocdecode commit: ad7f228774]
2024-03-28 00:23:53 -04:00
Lakshmi Kumar c8ddf324b3 exclude build folders from samples in install (#300)
[ROCm/rocdecode commit: 9fa7fe15fd]
2024-03-27 14:13:00 -04:00
Lakshmi Kumar 2fa48d1f1d move getEnvVar function to common (#299)
[ROCm/rocdecode commit: d5b5a31881]
2024-03-26 19:07:13 -04:00