* 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]
* Utils - Remove the call to rocDecGetDecodeStatus after rocDecGetVideoFrame
* Remove other occurrences of rocDecGetDecodeStatus that are not necessary
* Update the description of the rocDecGetDecodeStatus and rocDecGetVideoFrame APIs
* Add missing including thread in avcodec_videodecoder.h for fixing the Azure build issue
[ROCm/rocdecode commit: bf4922060d]
* 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]
* * 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]