- Fixed the build error with videodecodepicfiles sample.
- Added error handling of sample app command option combination of memory type OUT_SURFACE_MEM_NOT_MAPPED and MD5 generation.
[ROCm/rocdecode commit: c388518965]
* * rocDecode: Added logging control
- Message output from the core components is now controlled by the logging level, which can be set by an environment variable or other methods.
* * rocDecode/Logging control: Fixed a typo.
* * rocDecode/Logging control: Removed reference to the logger class from RocVideoDecoder utility, which results in build error on non-source install environment.
* * rocDecode/Logging control: Improved some wording in the docs.
[ROCm/rocdecode commit: 60e6c585ff]
* set min: number of decoded surfaces to non-zero value for ffmpeg based decoding
* added host decoding option to videodecode perf app
* fix GetOutputSurfaceInfo() for FFMpeg
* updated chagelog
* added host decoding option to videodecode perf app
* fix GetOutputSurfaceInfo() for FFMpeg
* updated chagelog
* removed GPU device info printing for HOST backend
* fix for review comment
[ROCm/rocdecode commit: eeecc3e8c8]
* * rocDecode/AV1: Added 12-bit AV1 decode support.
- The feature is only enabled for VAAPI version 1.23.0 and up.
- Added MD5 calculation for 12-bit video output.
* * rocDecode: Bumped version up to 1.2.0 and updated change log.
* * rocDecode: Updated change log based on review.
[ROCm/rocdecode commit: 84257d513a]
* 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]
* 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]
* * 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]
* * Decoder utility: Removed a couple of incorrect asserts. Changed other asserts to error messages.
* * Changed rocDecode version from 0.12.0 to 0.13.0. Updated change log.
* * Decoder utility: Updated change log based on review comments.
* * Decoder utility: Minor format change based on review: removed the extra space.
[ROCm/rocdecode commit: 4b10fa5a1a]
* * CTest: Added CTest for AV1 elementary stream decode on bitstream reader.
* * CTest: Added the missing stream file.
* * CTest: Fixed the batch sample CTest failure on RHEL8 system where AV1 elementary stream is not supported by the installed FFMPEG demuxer. Now we do not run batch test on elementary streams.
* * CTest: Added two missing path changes.
[ROCm/rocdecode commit: 5472059e16]
* * rocDecode/Doc: Moved change log for PR#512 from 6.4 to 6.5 as PR#512 did not go into 6.4.
* * rocDecode/Doc: Missing line deletion from last commit.
[ROCm/rocdecode commit: d72e9a2d26]
* * rocDecode/Picture file sample: Fixed a bug that can result in incorrect output frame count when reconfiguration occurs and with more than one iterations.
* * rocDecode: Updated change log.
[ROCm/rocdecode commit: 34cdd7f709]
* * 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/Optimization: Reduced decode session start latency for certain output surface memory types.
* * rocDecode/Optimization: Video decode RGB sample creates itsown HIP
stream.
* * rocDecode/Optimization: Created separate HIP stream in each thread in
video decode RGB sample.
* * rocDecode/Optimization: Addressed the lower FPS report in RGB sample:
move HIP stream creation out of FPS calculation scope.
* * rocDecode/Optimize: Removed comments.
[ROCm/rocdecode commit: 1f53dedd4a]
* * rocDecode/sample: Added a new sample app, videodecodepicfiles, which reads individual picture data from a group of files with each file containing bitstream of a coded picture.
* * rocDecode/Pic files sample: Minor change in title.
* * rocDecode/Pic files sample: Minor changes in comments.
* * rocDecode/Pic files sample: Removed the commented code.
* * rocDecode/Pic files sample: Changes in change log based on review comments.
---------
Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
[ROCm/rocdecode commit: 3b7e566095]
* * rocDecode: Core test updates.
- Added VP9 test.
- Added tests for video decode raw sample.
- Changed test video streams to raw elementary or IVF formats.
* * rocDecode/CTest: Added back mp4 files.
* * rocDecode/CTest: Minor changes based on review comments.
* * rocDecode/CTest: Added stream file installation.
* * rocDecode/CTest: Changed the file back to mp4.
* Add support for VP9 handling in the videoDecodeBatch sample
* add linking with threads for videodecode app
---------
Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>
[ROCm/rocdecode commit: 597b29a7c9]
* * 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]
* WIP: ffmpeg based software decoder
* minor update
* WIP: FFMpeg SW decoder support
* FFMpeg decoder working version
* working version without threading
* multithreading working with FFMpeg decoder
* moved ffmpeg decoder to separate folder
* updated changelog
* minor change
* resolved review comments
* resolved review comments
---------
Co-authored-by: Lakshmi Kumar <lakshmi.kumar@amd.com>
[ROCm/rocdecode commit: 52eb62fabf]
* Find the minimum supported libva version 1.16 when building rocdecode
* Update the changelog
* Update the Error message if libva-amdgpu-dev/libva-amdgpu-devel not found
* Add missing comma
[ROCm/rocdecode commit: e463cbd0f2]
* Fix libva requirements for rocdecode
mesa-amdgpu-va-drivers is built with libva 2.16 (VA-API 1.16), so it
provides the entry point "__vaDriverInit_1_16". For rocdecode to use
mesa, it also needs to make sure it has a high enough requirement on
libva to be compatible with this function.
Strictly speaking, it doesn't matter what libva is used as long as it's
2.16 or newer, since libva is backwards compatible. An OR conditions is
used to favour distro packages when possible to avoid causing issues
with existing libraries built against the distro version.
For libva dev packages, we can just use libva-amdgpu-dev/el directly.
Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
* Update to use libva-amdgpu
To reflect the package change, update the README, rocDecode-setup.py,
and the CHANEGLOG.
Putting the minimum VA-API version in the README isn't required as the
user is expected to just install the latest libva-amdgpu to match the
mesa VA-API version.
---------
Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
[ROCm/rocdecode commit: 859103755a]
* added new API to release video frame for decoder and parser
* removed ReleseFrame() from low level parser classes
* Removed rocDecReleaseFrame() from decoder and added in parser
* address review comments
* revert un-necessary files
* minor fix
* remove unused function
* minor formatting fix
[ROCm/rocdecode commit: 29bfe5e3bd]