* * 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]
* * 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]
* * 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]
* 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]
- We should always clear the number of short term and long term references in DPB buffer structure when IDR occurs.
[ROCm/rocdecode commit: 7cf22e5920]
* * rocDecode/AVC: Added two decode error handlings.
- Exit with error when the stream is coded field pictures.
- Exit with error when the stream has multiple slice groups. VCN HW does not support it.
* * rocDecode/AVC: Added a missing error return from the last commit.
---------
Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>
[ROCm/rocdecode commit: 5c18444bcc]
- 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]
* * 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]
- 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]
* * 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]
* * rocDecode/AVC: Added decode picture callback from parser to decoder and VAAPI decode submission.
* * rocDecode/AVC: Minor changes based on code review comments.
* * rocDecode/AVC: Removed a redundant line.
* * rocDecode/AVC: Condensed several lines based on code review feedback.
[ROCm/rocdecode commit: 426067898c]
* * rocDecode: Fixed display aspect ratio calculation.
- We were assigning sample aspect ration (SAR) from VUI directly to display aspect ratio (DAR). Now we follow the correct procedure.
* * rocDecode: Fixed an error in display aspect ratio calculation. Should include sample aspect ratio in the final step.
[ROCm/rocdecode commit: cf82317396]
* * rocDecode/AVC: Added new sequence notification callback.
* * rocDecode/AVC: Removed the commented out code.
* * rocDecode/AVC: Changed function name to better describe the operation.
* * rocDecode/AVC: Minor formatting change.
[ROCm/rocdecode commit: a7bb9953c6]