* adds seek to videodecode and seek bug fixes
* fixes both frames & timestamp with prev_key_frame option
* switch to exact key frame and bug fix
* fix decoded_frame_number from seek
* fix out_frame_duration
* clean up + exact fram fix
[ROCm/rocdecode commit: 2d50d685f7]
* bug fix for new dec creation
* move bit depth change after creating new dec
* codec update for every new dec
* bug fix for new dec creation
* move bit depth change after creating new dec
* codec update for every new dec
* fixes sync issue on MI250X for batch sample
* remove unused variable
[ROCm/rocdecode commit: e4316f009c]
* * rocDecode: Fixed several issues with cropping.
- Fixed the pixel start offset error on streams with non-zero top/left cropping in MD5 calculation.
- Fixed the pixel start offset error on streams with non-zero top/left cropping, and/or with user specified cropping in YUV frame output.
- Sorted out code which deals with cropping area specifiied by the bitstream, and cropping area specified by the user.
* * rocDecode: Additional changes after discussion.
- Set display rect for decoder create/reconfig to displayable area or user specified ROI area.
- Do not set target rect for decoder create/reconfig. Leave it for future use.
- Unified naming of display rect in decoder create/reconfig structs.
* * rocDecode: Put back the extra rounding to target width/height specifiied by the coded stream, for peace of mind, based on code review.
* * rocDecode: Added the missing stream specified cropping offset to the starting pixel pointer for none-internal memory modes.
---------
Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>
[ROCm/rocdecode commit: e4614de461]
* adding new sample for decoding mulitple files on multiple threads
* threads work ; no decoding yet
* working version
* code clean up
* review comments
* removing spaces
* review comments
* fps cal + name changes for files
* code clean up
* update readme
* update readme
* remove spaces
* change to lambda functions
* changes for using reconfig
* adding dumping of yuv frames + review comments
* review comments
* remove extra lines/spaces
* adding struct for decoder info
* make separate decoders for 8 & 10bit
* code clean up
* addign reset for Saving frames
* review comments
* fixes dump issue for new file
* cmake update for threads
* support for avc
* name change for sample
* cmake soource name change
* readme update
* fixing typo in readme
* update REAME
* update readme
---------
Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>
[ROCm/rocdecode commit: 264e847c5a]
* adding new sample for decoding mulitple files on multiple threads
* threads work ; no decoding yet
* working version
* code clean up
* review comments
* removing spaces
* review comments
* fps cal + name changes for files
* code clean up
* update readme
* update readme
* remove spaces
* change to lambda functions
* changes for using reconfig
* adding dumping of yuv frames + review comments
* review comments
* remove extra lines/spaces
* adding struct for decoder info
* make separate decoders for 8 & 10bit
* code clean up
* addign reset for Saving frames
* review comments
* fixes dump issue for new file
* cmake update for threads
* support for avc
* name change for sample
* cmake soource name change
* readme update
* fixing typo in readme
---------
Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>
[ROCm/rocdecode commit: ce3ebadaab]
* 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]
* 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/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 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]
* * rocDecode: Added a command option "-md5_check" to compare the MD5 of the decoded YUV to the reference MD5. This ficilitates decoder conformance test automation.
* * rocDecode/HEVC: Changed file and string operation from C code to C++ code.
* * rocDecode/HEVC: Updated README.md for videoDecode sample.
[ROCm/rocdecode commit: 583e72720a]