* * 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]
After further inspection, it looks like libva is new enough for decode
support, so we've dropped the requirement on the mesa end. Some encode
features are missing on < 2.16, but as per our current RHEL8 support
policy, these features are no longer supported.
Ubuntu 22.04 is still supported to have a full encode feature set, so we
can't drop the libva requirement quite yet.
SWDEV-548213
Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
[ROCm/rocdecode commit: a721963b3c]
* Drop libva-amdgpu for newer distros
Due to bugs in mixing old and new libva installed, having both
libva-amdgpu packages just causes bugs due to edge cases. It's easier
to just use the inbox packages for RHEL9+, SLE, and UB24.04.
RHEL 8 and UB22.04 still needs libva-amdgpu since libva is too old.
I also noticed that SLE should be pulling in libva-drm2 as a runtime
requirement, since rocdecode only uses the DRM interface.
SWDEV-555510
SWDEV-557842
Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
* rocDecode-setup.py - Fix
```
rocDecode-setup.py", line 246
else
^
SyntaxError: expected ':'
```
* rocDecode-setup.py - Fix
```
rocDecode-setup.py", line 246
else
^
SyntaxError: expected ':'
```
* rocDecode-setup.py - fix
```
E: Unable to locate package rocm-hip-runtime-devlibstdc++-12-dev
E: Couldn't find any package by regex 'rocm-hip-runtime-devlibstdc++-12-dev'
```
---------
Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
Co-authored-by: Kiriti Gowda <kiriti.nageshgowda@amd.com>
[ROCm/rocdecode commit: d179c02e36]
* 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]
* * 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/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]
* * 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]
Using set as-is doesn't allow the user to set their own rocm path.
This is useful for community packagers or debugging.
Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
[ROCm/rocdecode commit: 07ecb5e7d6]
* 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]