* * 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]
* check if env var set and choose device
* clean up for env var
* app modification
* move getEnvVar function to header
* fork example
* spacing adjust
* review comments
* use hipGetErrorName to throw errors
[ROCm/rocdecode commit: 8ec38d2d24]
* * 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]
- Moved HEVC standard specific defines out of HevcVideoParser class to a new file.
- Changed some namings to be more specification compliant.
- No functional changes.
[ROCm/rocdecode commit: 2a4026470f]
* * rocDecode/HEVC: Fixed a couple of issues with reconfiguration of decoder when video size is changed.
- Picture width and height variables were interchangeably used to represent coded picture size and display size, resulting reconfiguration errors. Now we use different variables to represent coded and display sizes.
- Fixed a file overwriting issue in video size change case, where the display size can remain the same when coded size changes with specific cropping offsets.
* * rocDecode/HEVC: Added some fixes to decoder reconfiguration.
- Added support for MD5 calculation in reconfigure flush callback. This fixed MD5 check failure on conformance streams with size changes.
- Fixed total decoded frame number report with reconfigure when file dump or MD5 is not enabled. We need to call flush with reconfigure unconditionally (but with different actions).
- Added the missing reconfigure flush when coded size is not changed but display size is changed.
* * rocDecode/HEVC: Corrected an error in GetDecodedWidth() method. Should use coded_width_, instead of disp_width_.
[ROCm/rocdecode commit: ccd813a2da]
* * rocDecode/HEVC: Fixed a couple of errors in long term reference picture set parsing and long term reference picture list construction.
* * rocDecode/HEVC: Coding format change: removed newline in front of else statements. No functional changes.
[ROCm/rocdecode commit: c5483c751e]
- We have to clear the buffer id after destroying it. Without this clearing, we will encounter VAAPI buffer destroy failure on certain conformance streams where scaling list is signaled dynamically. In this case, we create different number of data buffers on different frames. If we do not clear the buffer id when destroying it, a dummy scaling list buffer id will have the same value as another buffer, resulting double destroy.
[ROCm/rocdecode commit: 33d6b37ddb]
- Removed a size check which was put in in early bring up stage and causes some conformance stream failures.
- Also capped the DPB buffer size to 16 when we increase it from the spec value.
[ROCm/rocdecode commit: 6db0b79144]
* * rocDecode/HEVC: Fixed a POC calculation error in some corner cases.
* * rocDecode/HEVC: Added a newline between two functions. No functional changes.
[ROCm/rocdecode commit: 1cdbac7d70]
* * rocDecode/HEVC: Fixed the random crash associated with undecodable RASL pictures.
- When a CRA picutre occurs, all the pictures in the DPB are emptied. However, the following RASL (Random Access Skipped Leading) picture can still reference these emptied pictures, making them undecodeble.
- We initialized the reference picture lists with (0xFF), representing invalid picture index. Normally these invalid indices are replaced by valid values during RPS decoding. However, on undecodable RASL pictures, we can not find an existing reference picture in DPB, leaving the invalid index untouched and resulting invalid indexing later on.
- Now we initialize the reference picture lists with a valid value 0. Also we add index range check on reference buffer at VA-API layer to avoid invalid memory access.
* * rocDecode/HEVC: Fixed a typo in sampel app message.
* *rocDecode/HEVC: Fixed a bug in reference picture list modification parsing.
- This fixed the test failure of two conformance streams.
[ROCm/rocdecode commit: c9cfcde12d]
* * rocDecode/HEVC: Fixed the random crash associated with undecodable RASL pictures.
- When a CRA picutre occurs, all the pictures in the DPB are emptied. However, the following RASL (Random Access Skipped Leading) picture can still reference these emptied pictures, making them undecodeble.
- We initialized the reference picture lists with (0xFF), representing invalid picture index. Normally these invalid indices are replaced by valid values during RPS decoding. However, on undecodable RASL pictures, we can not find an existing reference picture in DPB, leaving the invalid index untouched and resulting invalid indexing later on.
- Now we initialize the reference picture lists with a valid value 0. Also we add index range check on reference buffer at VA-API layer to avoid invalid memory access.
* * rocDecode/HEVC: Fixed a typo in sampel app message.
[ROCm/rocdecode commit: 0fbd030b5d]
* * rocDecode/HEVC: Added script to run static conformance test.
- The script runs videodecode app in MD5 check mode on the conformance streams.
- The MD5 check results are stored in rocDecode_conformance.log and printed out.
* * rocDecode: Fixed formatting in README.md.
* * rocDecode/Conformance test: Added the missing exit when number of streams does not match number of reference MD5 digests.
* * rocDecode/Conformance test: Do case insensitive sorting.
* * rocDecode/Conformance test: Fixed a typo in the script.
* * rocDecode/Conformance test: Added info on the number of streams that fail to complete decode.
* * rocDecode/Conformance test: Added the missing message of the aborted streams to stdout.
[ROCm/rocdecode commit: 3598f4d96e]