Граф коммитов

397 Коммитов

Автор SHA1 Сообщение Дата
jeffqjiangNew 3eb6bc2192 Added initial code for VP9 support. (#442)
* * rocDecode/VP9: Initial code for VP9.
 - Added structures for VA-API.
 - Added defines for uncompressed header and parsing functions.

* * rocDecode/VP9: Added decode frame call to VA-API.

* * rocDecode/VP9: Added new sequence notification function.

* * rocDecode/VP9: Intra decode started to work.

* * rocDecode/VP9: Minor changes based on review comments.

---------

Co-authored-by: Kiriti Gowda <kiritigowda@gmail.com>
2024-11-14 10:17:46 -05:00
jeffqjiangNew b3f8fec41b * rocDecode/HEVC: Added empty NAL detection. (#452) 2024-11-13 13:28:29 -05:00
spolifroni-amd 6b37dd606f Removed install.rst since it's been replaced. (#451) 2024-11-12 14:36:41 -05:00
spolifroni-amd 6cc30f12a4 made changes to installation and landing pages (#445)
* initial commit of changes to the installation and landing pages

* deleted original install; fixed the toc; fixed typos

* fixed some wording issues; fixed some formatting issues

* adding back install.rst to try to fix the conflict

---------

Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>
2024-11-12 10:40:37 -05:00
Rajy Rawther 69ec7af8bd Added bitstream validation code for HEVC parser (#450)
* fix for while loop hang

* fix for while loop hang

* add more data validation code in parser

* minor change

* addressed review comments

* fix conformance failures with new code

* added more checks
2024-11-11 17:33:17 -05:00
Mátyás Aradi 8e1cb24851 Fix link (#426) 2024-11-08 11:24:38 -05:00
Kiriti Gowda 69eb625d2d GPU Arch Updates (#448) 2024-11-06 20:37:07 -05:00
Lakshmi Kumar cb7b2c7f2f set disp_delay to 1 for all samples (#446) 2024-11-06 14:45:34 -05:00
Rajy Rawther 5820f38592 fix for while loop hang (#447) 2024-11-06 14:41:57 -05:00
Icarus Sparry (work) 40dd67b19a Setup - Fix status return (#444)
The code is full of ERROR_CHECK(os.system("some shell commands")).

Unfortunately the return value from os.system is a 16 bit value with the return code in the upper 8 bits and a number of flags related to the traps in the lower 8 bits. The existing code passes this 16 bit value to the os.exit call, which just uses the bottom 8 bits. Unless the child process is killed by a signal these 8 bits will be zero, which is taken as "success", rather than passing on the exit status of the child process.

So even something as simple as 
    ERROR_CHECK(os.system("false"))
will report a status of 256 in the print statement but will call sys.exit() with a value of 0 in the lower 8 bits.

This change folds the top and bottom halves of the 16 bit value into an 8 bit value. This will be non-zero, so a shell script running rocDecode-setup.py will know something has failed an ERROR_CHECK, rather than the current situation where it thinks things are correct.
2024-11-05 14:10:06 -08:00
Aryan Salmanpour 81e341b786 VideoDecode samples - Set the default display_delay to 1 (#441) 2024-10-25 14:20:33 -04:00
spolifroni-amd 8636edce54 updated the changelog for 6.3 (#439) 2024-10-24 14:14:25 -04:00
Aryan Salmanpour b2149abcef Revert "Allow overriding CMAKE_CXX_COMPILER (#436)" (#440)
This reverts commit 07ecb5e7d6.
2024-10-24 13:28:50 -04:00
jeffqjiangNew d9b235db5a * rocDecode/AV1: Fixed an errror in get Q index function during code inspection. (#438) 2024-10-24 11:51:22 -04:00
Jeremy Newton 07ecb5e7d6 Allow overriding CMAKE_CXX_COMPILER (#436)
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>
2024-10-24 11:36:14 -04:00
Aryan Salmanpour e463cbd0f2 Find the minimum supported libva version 1.16 when building rocdecode (#437)
* 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
2024-10-23 13:54:23 -04:00
Jeremy Newton 859103755a Fix libva requirements for rocdecode (#435)
* 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>
2024-10-22 11:41:00 -04:00
Rajy Rawther 29bfe5e3bd Add new API rocDecParserMarkFrameForReuse() for Parser (#430)
* 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
2024-10-09 13:29:08 -04:00
Kiriti Gowda 64078a58cb Package - dependencies updated (#416)
* Package - dependencies updated

* Changelog - new format added

* Setup - OS specific updates

* CMakeList - Cleanup

* Version Updates Fix
2024-10-07 16:20:10 -04:00
Kiriti Gowda befc6f6562 Find rocDecode - Support added (#428)
* Find rocDecode - Support added

* Find rocDecode - Updates

* Find rocDecode - Version fix

* Find rocDecode - Version Var

* Minor cleanup

* Test - Find package updates

* CTest - Upgrades

* CTest - Enhancements

---------

Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>
2024-10-02 17:35:56 -04:00
Lakshmi Kumar 4e4a18d280 change clang++ path as suggested by packaging team (#427) 2024-10-01 08:35:45 -04:00
jeffqjiangNew 7ef4e29262 * rocDecode/Perf: Improved the accuracy of decode performance measurement for the performance sample. We need to wait for the decode completion of the last picture before sampling the end time. (#425) 2024-09-25 21:27:49 -04:00
Aryan Salmanpour 0ba9992247 Modify the videoDecodePerf app to take an argument for memory type (#424) 2024-09-24 19:06:50 -04:00
spolifroni-amd 1d1f31f85c Added a note pointing users to the official documentation and removed the local build information. This info is in the contribution documentation. (#417) 2024-09-18 12:00:55 -04:00
Kiriti Gowda eb5f2da4ae Support GFX12 (#423) 2024-09-17 10:47:17 -04:00
jeffqjiangNew 14f4c6973a Simplified MD5 string compare code and fixed potential incorrect conversion of MD5 string to integers. (#414)
* * rocDecode: Fixed potential incorrect conversion of MD5 string to integers.

* * rocDecode: Changed a string name.

* * rocDecode: Simplified the MD5 string compare code.

* * rocDecode: Added minor changed based on review comments.

* * rocDecode: Minor changes.

* * rocDecode/Sample script: Added units to Bit rate field in csv output.
2024-09-16 15:27:10 -04:00
Peter Park 336081bac3 update Doxyfile to strip Read the Docs dir (#418) 2024-09-16 10:19:34 -04:00
jeffqjiangNew fbec8fd3f5 * rocDecode/Perf: Added resolution and bit rate info into csv output, to speed up performance data post-processing. (#412) 2024-08-27 21:39:43 -04:00
jeffqjiangNew 1a6752fa10 * rocDecode/Sample script: Sorted the files to enable easy post-procssing of the performance data. (#411) 2024-08-22 10:04:58 -04:00
jeffqjiangNew 6253248188 Added real decode speed report to set it apart from the current output speed report in sample apps (#409)
* * rocDecode: Added real decode speed report.
 - The current decode speed report is actually output/display speed report.
 - Due to AV1's extensive use of alternate reference frames that are not display, AV1 decoded frame count and output/displayed frame count can be quite different, making the current speed report not an accurate decode speed measurement.
 - We now added the actual decode speed report, besides the existing speed report, now called output/display FPS.

* * rocDecode: Added real decode speed report.
 - The current decode speed report is actually output/display speed report.
 - Due to AV1's extensive use of alternate reference frames that are not display, AV1 decoded frame count and output/displayed frame count can be quite different, making the current speed report not an accurate decode speed measurement.
 - We now added the actual decode speed report, besides the existing speed report, now called output/display FPS.

* * rocDecode/Sample script: Added missing changes for sample_mode 0 case.
2024-08-20 17:43:33 -04:00
Kiriti Gowda e095d612a1 License - Remove license from dev & test packages (#410) 2024-08-15 15:10:38 -04:00
Kiriti Gowda 1ac853e441 CTest Updates - Fix duplicates (#408)
* Test - Fix CTest

* CMakeLists - Clang Set

* Ctest - support

* Readme - Fix and updates

* Readme - minor fix

* Readme - MS template

* Install - Minor instructiion fix

* Clang - Added as default CXX compiler

* Update CHANGELOG.md

Remove unreleased
2024-08-14 17:28:52 -04:00
jeffqjiangNew a863ee26a9 * rocDecode/AV1: Performance improvement: prevent synchronous decode submissions. (#406)
- Set the display delay to DECODE_BUF_POOL_EXTENSION (2) to avoid immediate output/display of a decoded frame.
2024-08-12 10:29:43 -04:00
jeffqjiangNew c486a7f6b4 Perf sample: Added decoded frame number and display delay options to video decode performance sample. (#405)
* * rocDecode/Perf sample: Added decoded frame number and display delay options to video decode performance sample. Also changed default thread number from 4 to 1.

* * rocDecode: Added max number of decoded frames option to decode sample script. This is useful to do partial decoding test on long streams.

* * rocDecode: Updated README.md.

* * rocDecode: Minor correction.
2024-08-12 09:39:43 -04:00
jeffqjiangNew 30ee6787b2 AV1: Fixed an issue with multiple tile group OBUs per picture cases. (#404)
* * rocDecode/AV1: Fixed an issue with multiple tile group OBUs per picture cases.
 - We now use the single base pointer for all tiles in all tile group OBUs and submit them once per picture.

* * rocDecode/AV1: Fixed a typo.
2024-08-07 10:16:17 -04:00
Kiriti Gowda 27d3d74f1d Samples: Video batch decode - FFMPEG Multiversion support (#402) 2024-07-30 14:31:51 -07:00
jeffqjiangNew 6a75dc4dcf * rocDecode/AV1: Fixed a bug in set frame refs process that triggers a conformance error check later. (#400) 2024-07-29 17:16:21 -04:00
Lakshmi Kumar e3b3fe9e8e Test Upgrades (#395)
* adds av1 to ctest

* add av1 support for batch sample

* add test to make test also

* path update for make test

* add function for codec support check

* add changes to batch sample

* addressign review comment

* modify all apps to check codec support
2024-07-26 17:09:58 -04:00
jeffqjiangNew d0924490a8 * rocDecode/AV1: Fixed a surface size issue in upscaling cases. (#399) 2024-07-26 12:24:32 -04:00
jeffqjiangNew 4f8191edc0 Added the missing presentation time stamp (pts) to decode return info for displayed pictures. (#398)
* * rocDecode: Added the missing pts to decode return info for decoded pictures.

* * rocDecode: Added the missing pts to decode return info for decoded pictures.
2024-07-25 16:53:20 -04:00
jeffqjiangNew 96944030aa * rocDecode/AV1: Added support for getting frame size from reference frames case. Fixed the data type of several quantization parameters. (#397) 2024-07-25 14:55:14 -04:00
Lakshmi Kumar 69dead95cd va version bug fix for ub20 (#396) 2024-07-23 18:19:55 -04:00
Aryan Salmanpour d2ef14606c Fix a compilation issue in RHEL8 (#394) 2024-07-23 10:48:15 -04:00
Lakshmi Kumar d0821d303a Add versioning file for rocdecode (#393)
* add versioning file for rocdecode

* add comment for #define

* add version to rocdecde.h

---------

Co-authored-by: Aryan Salmanpour <aryan.salmanpour@amd.com>
2024-07-22 12:37:30 -04:00
jeffqjiangNew 96c65d74a6 Enabled AV1 decode by default. (#391)
* * rocDecode/AV1: Enabled AV1 decode by default.

* * rocDecode/AV1: Added changes suggested in code review.
 - Bumped up rocDecode version to 0.7.0.
 - Added AV1 support statement in readme file.
2024-07-22 12:32:12 -04:00
jeffqjiangNew 1e5e9dacac AV1: Fixed build error on RHEL8 due to older VAAPI version. (#392)
* * rocDecode/AV1: Fixed build error on RHEL8 due to older VAAPI version.

* * rocDecode/AV1: Fixed build error on RHEL8 due to older VAAPI version.

* * rocDecode/AV1: Set VA profile for AV1 for older VAAPI versions where it is not defined.

* * rocDecode/AV1: Made rocDeocde AV1 built on VAAPI versions below 1.6.0 runnable with newer versions, to be able to test under RHEL8.
2024-07-22 12:29:41 -04:00
Rajy Rawther 84c1dc9d03 Rr/video dec mem sample update (#390)
* remove hardcoded buffer size requirement

* minor change
2024-07-22 08:48:29 -04:00
Rajy Rawther fe5f63428c VideoToSequence sample (#373)
* videoToSequence sample initial commit

* add frame_num calculation when seeking

* update README

* addressed review comments

* added FlushAndReconfigure() to flush out frames with seek
2024-07-22 08:42:58 -04:00
jeffqjiangNew ac82d17e9f * rocDecode/AV1: Added support for film grain synthesis and several other fixes. (#389)
- Added film grain parameter saving and loading procedures.
 - Added buffer management for film grain synthesis output.
 - Fixed the corruption issue with 10-bit film grain streams. We need to see surface attibutes based on pixel format when creating VAAPI surfaces.
 - Added missing global motion, loop filter and segmentation parameter loading in load reference frame procedure.
 - Fixed an issue with one tile streams.
 - Fixed an issue with un-initialized frame header structure after frame decode.
 - Fixed a bug with decode buffer status update.
2024-07-19 21:01:36 -04:00
Joseph Macaranas 59ec12d012 External CI: Add triggers for mainline branch (#388) 2024-07-19 09:15:24 -04:00