* * Error resilience: Added a few error handling measures.
- AV1: Added check flags to sequence header and frame header to indicate if the headers are parsed without errors. The flags are used to check if the parsing process which refers to the headers can proceed or stop.
- AV1: Added divide by 0 check on tile columns in tile group parsing.
- AV1: Added invalid OBU size check in AV1 elementary stream parsing in bitstream reader.
- All codecs: Added divide by 0 check in display aspect ratio calculation.
* * Error resilience: Fixed a typo in an error message.
[ROCm/rocdecode commit: a861d6f1d2]
* * 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]
* * AV1 error resilience: Treated OBU header syntax errors as non-critical. Added invalid OBU size detection and handling.
* * AV1 error resilience: Minor change.
[ROCm/rocdecode commit: e85ae200e5]
* * 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]
- 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]
* * rocDecode/VP9: Added support for video size change (scaling down) on inter frames.
- A new reconfigure mode is added, where we keep the existing VAAPI surfaces and context, and work on the smaller images and store the images in the surfaces.
* * rocDecode/VP9 resize: Added changes based on review comments.
[ROCm/rocdecode commit: 2af7bbf4e7]
* * rocDecode: Removed the hard coded HW decoder capability info.
- We now probe HW decoder capabilities through VA-API from the driver.
* * rocDecode: Added number of decoder prob and a few missing tear down calls.
* * rocDecode/HW cap change: Added a new singleton class, GpuVaContext, to handle HIP and VA initialization and VA attributes probe for both HW capability check and decoder initialization.
* * rocDecode/HW caps: Removed GpuVaContext class out of vaapi_videodecoder.h and into a new file. Removed debug logs. Removed roc_decoder_caps.h.
* * rocDecode/HW caps: Fixed a crash issue with multi-thread cases. Called to vaInitialize() and vaTerminte() should be paired.
* * rocDecode/HW caps: Added multi-GPU support.
* * rocDecode/HW cap: Moved GpuVaContext class implementation back to VAAPI layer.
* * rocDecode/HW cap: Added changed based on review comments.
* * rocDecode/HW cap: Added changes based on review comments.
* * rocDecode/HW cap: GPU VA context class name change based on review comment.
---------
Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
[ROCm/rocdecode commit: ef06f12dfa]
- DPB buffer size was set to NUM_REF_FRAMES(8) which can not handle streams with 8 reference frames. We increase DPB size from 8 to 10 (same strategy as AV1) to be able to handle these streams.
[ROCm/rocdecode commit: 9c113d5ee9]
- Fixed a condition check in loop filter frame init process.
- Removed the redundant conversion in interpolation filter assignment in VAAPI. The conversion has been done already when we parse the interpolation filter syntax.
[ROCm/rocdecode commit: 888940f52c]
* Add initial support for mapping uuid to render ndodes
* use uuid to find the render node
* Adjust offset for MI300 partition modes
* code cleanup
[ROCm/rocdecode commit: 0b24f96bbb]
* * 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]
* * rocDecode/VP9: Inter decode is up and running.
- Added reference list setup for VA-API.
- Added update reference frame process (8.10).
- Added set up past independence function.
- Added DPB and decode pool management.
- Added display management.
- Added super frame detection and parsing.
- Added VA-API parameter logging functions for debugging purposes.
* * rocDecode/VP9: Minor change: removed an extra newline.
* * rocDecode/VP9: Removed todo comments. No functional changes.
* * rocDecode/VP9: Minor changes based on review comments.
* * rocDecode/VP9: Minor changes based on review comment.
[ROCm/rocdecode commit: 3e6f18c636]