- At the end of some streams, the demuxer sends a picture payload of NAL units that do not contain slice data. In such cases, we return gracefully without causing a decoder error.
[ROCm/rocdecode commit: 244eb517ab]
* * rocDecode/AVC: Added adaptive memory control decoded reference picture marking process. Other changes include:
- Replaced part of reference list modification implementation with a cleaner and more correct logic. It was found that the steps suggested
in the spec resulted errors on some streams.
- Fixed an issue in reference picture list construction. We still need to do picture number calculation (8.2.4.1) for I pictures.
- Fixed a bug in VAAPI slice parameter setup for ref list 1 for B pictures.
* * rocDecode/AVC: Fixed the scaling list setup for VAAPI.
- Put the scaling list in zig-zag scan order.
* * rocDecode/AVC: Added adaptive memory control decoded reference picture marking process. Other changes include:
- Replaced part of reference list modification implementation with a cleaner and more correct logic. It was found that the steps suggested
in the spec resulted errors on some streams.
- Fixed an issue in reference picture list construction. We still need to do picture number calculation (8.2.4.1) for I pictures.
- Fixed a bug in VAAPI slice parameter setup for ref list 1 for B pictures.
* * rocDecode/AVC: Fixed the scaling list setup for VAAPI.
- Put the scaling list in zig-zag scan order.
* * rocDecode/AVC: Replaced Todo comments with error messages, based on code review.
[ROCm/rocdecode commit: f9c226ca84]
* * rocDecode/AVC: Added display callback implementation.
* *rocDecode/AVC: Fixed a few issues with decoded buffer output and bumping from DPB.
* * rocDecode: Name changes based on code review.
---------
Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
[ROCm/rocdecode commit: ca3333f7b9]
* Update the VideoDEcodePipeline image
* update the file extension
* update the image to add connection between parser and decoder
[ROCm/rocdecode commit: d96afc62e8]
* Fix a segmentation fault on some samples when the memory type is 3 (OUT_SURFACE_MEM_NOT_MAPPED) and attempting to save the output (which is not supported)
* update the videoDecodeMultiFiles sample
* update the readme for videoDecodeMultiFiles
* add comments
* use OUT_SURFACE_MEM_NOT_MAPPED instead of integer number 3
[ROCm/rocdecode commit: 31c7c7c104]
* * rocDecode: Implemented proper slice parameter buffer submission for multiple slice streams.
- We were submitting single slice parameter buffer for multiple slice streams. This works for other APIs but not for VAAPI, which requires to send slice parameter buffer once per slice.
- At step 1, all the multi-slice structures are fixed sized (256). Will make them dynamic in the next step.
- With this change, all 135 HEVC conformance streams now pass.
* * rocDecode: Multiple slice change step 2: make the fixed size slice info structure lists dynamic.
* * rocDecode: Minor changes in comments. No functional changes.
* *rocDecode: Changed INIT_SLICE_PARAM_LIST_NUM from 256 back to 16. 256 was set during debug process.
* * rocDecode: Add suggest changes from code review.
* * rocDecode: Moved slice_params_buf_id_ initialization to class VaapiVideoDecoder declaration, as suggested by code review.
[ROCm/rocdecode commit: 00127f16f1]
* Fix the performance issue introduced after PR#192
* Destroy the current interop memories before reconfiguration
* initialize the interop to 0 after unmapping a surface
* code clean up
* check the mapped device mem/ext mem to be valid before destrying them
* code cleanup - add some comments
* make changes based on the reviewer comments
[ROCm/rocdecode commit: 929123abff]
- Moved decoded reference picture marking after decode picture submission, according to the spec.
- Fixed several errors in the decoding process.
- Added two debug functions to log out DPB content and VAAPI buffer info.
- P frames look good now.
[ROCm/rocdecode commit: 90cddfe655]
- Needed to take care of time out case. Current implementation of vaSyncSurface() does not block indefinitely (contrary to VA-API spec), it returns VA_STATUS_ERROR_TIMEDOUT error when it blocks for a certain amount of time. Although time out can come from various reasons, we treat it as non-fatal and contiue waiting.
[ROCm/rocdecode commit: 10e3f0aeec]
* * rocDecode: Changed rocDecode API header variable naming to Google C++ style.
* * rocDecode: Unified AVC/H264 naming to AVC. Minor naming changes on HEVC related names.
* * rocDecode: Minor comment fix based on code review.
[ROCm/rocdecode commit: cd6401750e]