Gráfico de commits

148 Commits

Autor SHA1 Mensaje Fecha
Aryan Salmanpour 6c07e53614 Check va_display_ to be valid before calling any VA APIs (#148) 2023-12-21 08:16:24 -08:00
dependabot[bot] 2853a58ac5 Bump rocm-docs-core[api_reference] from 0.30.2 to 0.30.3 in /docs/sphinx (#147)
Bumps [rocm-docs-core[api_reference]](https://github.com/RadeonOpenCompute/rocm-docs-core) from 0.30.2 to 0.30.3.
- [Release notes](https://github.com/RadeonOpenCompute/rocm-docs-core/releases)
- [Changelog](https://github.com/RadeonOpenCompute/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/RadeonOpenCompute/rocm-docs-core/compare/v0.30.2...v0.30.3)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-20 13:02:26 -05:00
Rajy Rawther a5211189f5 Add mechanism to flush last frames during reconfigure (#142)
* add mechanism to flush last frames during reconfigure

* reconfig mode updated support

* addressed review comments

* addressed review comments

* change condition according to review comment
2023-12-19 08:49:17 -05:00
dependabot[bot] a82b1f215a Documentation - Bump rocm-docs-core[api_reference] from 0.30.1 to 0.30.2 in /docs/sphinx (#146)
Bumps [rocm-docs-core[api_reference]](https://github.com/RadeonOpenCompute/rocm-docs-core) from 0.30.1 to 0.30.2.
- [Release notes](https://github.com/RadeonOpenCompute/rocm-docs-core/releases)
- [Changelog](https://github.com/RadeonOpenCompute/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/RadeonOpenCompute/rocm-docs-core/compare/v0.30.1...v0.30.2)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 09:43:39 -08:00
jeffqjiangNew 1cdbac7d70 Fixed a POC calculation error in some corner cases. (#145)
* * rocDecode/HEVC: Fixed a POC calculation error in some corner cases.

* * rocDecode/HEVC: Added a newline between two functions. No functional changes.
2023-12-18 08:20:55 -05:00
jeffqjiangNew c9cfcde12d Fixed a bug in reference picture list modification parsing. (#143)
* * 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.
2023-12-15 16:08:19 -05:00
jeffqjiangNew 0fbd030b5d Fixed the random crash associated with undecodable RASL pictures. (#141)
* * 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.
2023-12-15 15:54:43 -05:00
jeffqjiangNew 3598f4d96e Added script to run static conformance test. (#139)
* * 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.
2023-12-15 15:54:05 -05:00
Kiriti Gowda 07595d7937 Sample - Update CMakeLists.txt (#144)
Find rocDecode Fix
2023-12-15 15:44:58 -05:00
Kiriti Gowda 90fcd668a5 rocDecode Test Package (#140)
* rocDecode Test Package

* Jenkins - Add Test Package

* CTest for Package
2023-12-14 10:42:52 -05:00
Pavel Tcherniaev 5930f15c1a added help for arguments in case user doesn't give any arguments (#138) 2023-12-13 13:55:40 -05:00
Aryan Salmanpour 9a78101d22 return the correct rocdec_status if DestroyDataBuffers fails (#137) 2023-12-13 10:57:14 -05:00
Aryan Salmanpour 40cecb2752 FindFFmpeg.cmake cleanup - don't find the SWSCLAE_LIBRARY as it is not needed by rocDecode samples (#136) 2023-12-13 10:07:47 -05:00
Kiriti Gowda 92b9982b55 License Updates (#135)
* License Updates

* Readme Updates
2023-12-13 09:49:52 -05:00
jeffqjiangNew 42f109369e * rocDecode/HEVC: Fixed the decode failure of the conformance stream BUMPING_A_ericsson_1.bit. (#133)
- This stream tests output order conformance, in particular the bumping process. Four temporal layers are used and IRAP pictures with no_output_of_prior_pics_flag equal to 1 are present in the bitstream.
2023-12-13 09:48:15 -05:00
jeffqjiangNew 7240ee8973 * rocDecode/HEVC: Added frame rate info report when it is available, from the parser. (#130) 2023-12-12 13:47:19 -05:00
Lakshmi Kumar 06cde7965b Test Scripts Enhancement - readme correction & better error handling (#132)
* readme correction & better error handling

* review comments
2023-12-12 10:34:31 -05:00
Aryan Salmanpour b8a8b66b91 Don't call DestroyDataBuffers during the reconfiguration - this function will be called during SubmitDecode (#131) 2023-12-11 17:10:10 -05:00
Aryan Salmanpour b77d00e38e Fix perf drop on some MI250 nodes - create VABuffers for every submission, and don't use vaMapBuffer/vaUnmapBuffer (#129)
* create VABuffers for every submission, and don't use vaMapBuffer/vaUnmapBuffer

* code clean up

* address review comments
2023-12-11 15:40:50 -05:00
jeffqjiangNew a2dfa8bc26 * rocDecode: Fix for the performance regression introduced by PR#114. (#128)
- Skip the additional buffer bumping specified in process C.5.2.2., to avoid synchronous job submission in some cases.
  - Increase DPB buffer size now by 2 to avoid overwriting pictures to be output.
2023-12-08 17:53:01 -05:00
Rajy Rawther 1dc5a9d798 added release of copied buffers in host and hip (#126)
* added release of copied buffers in host and hip

* address review comments

* addressed review comment
2023-12-08 17:29:00 -05:00
jeffqjiangNew 5d45ac6d92 Changed MD5 calculation of 10 bit to match reference MD5. (#127)
* * rocDecode/HEVC: Changed MD5 calculation of 10 bit to match reference MD5.
  - Need to convert P010 YUV to little endian.

* * rocDecode/HEVC: Convert to C++ type cast style.
2023-12-07 17:06:51 -05:00
dependabot[bot] ab2f7db560 Bump rocm-docs-core[api_reference] from 0.30.0 to 0.30.1 in /docs/sphinx (#125)
Bumps [rocm-docs-core[api_reference]](https://github.com/RadeonOpenCompute/rocm-docs-core) from 0.30.0 to 0.30.1.
- [Release notes](https://github.com/RadeonOpenCompute/rocm-docs-core/releases)
- [Changelog](https://github.com/RadeonOpenCompute/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/RadeonOpenCompute/rocm-docs-core/compare/v0.30.0...v0.30.1)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-07 11:19:36 -05:00
Lakshmi Kumar f221d78258 adding support for MI300A A1 - gfx942 (#124) 2023-12-07 09:31:44 -05:00
Aryan Salmanpour bbd2fa5916 Don't save frames into a single file if decoder reconfigure is detected for resolution changes - save into separate files for each resolution (#123) 2023-12-06 14:35:10 -05:00
jeffqjiangNew 4ca51e3314 * rocDecode/HEVC: Added formating of the MD5 digest output. (#122) 2023-12-06 10:54:41 -05:00
Lakshmi Kumar 4de634cfd0 Multi Files Sample - Add reconfigure option (#118)
* Add support for rocDecReconfigureDecoder API

* adrress reviewer's comemnts

* add reconfigure to multifile

* update readme

* Update videodecodemultifiles.cpp

* Update README.md

---------

Co-authored-by: Aryan <aryan.salmanpour@amd.com>
2023-12-06 10:32:39 -05:00
jeffqjiangNew fcd63b9358 * rocDecode/HEVC: In flush DPB function, added a check for any buffers that need for output before any actions. This prevents any potential issues. (#121) 2023-12-06 09:39:49 -05:00
Aryan Salmanpour 9257cd6fcf Add nullptr parameters check for all decoder/parser APIs and some code clean up (#120) 2023-12-05 13:06:34 -05:00
Aryan Salmanpour f008b52403 Fix a build error in videodecode sample (#119) 2023-12-05 12:01:17 -05:00
jeffqjiangNew 583e72720a Added the command option "-md5_check" to compare the MD5 of the decoded YUV to the reference MD5. This facilitates decoder conformance test automation. (#117)
* * 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.
2023-12-05 11:40:39 -05:00
Aryan Salmanpour 875994bb4f Add support for rocDecReconfigureDecoder API (#116)
* Add support for rocDecReconfigureDecoder API

* adrress reviewer's comemnts

* Add doxygen comment for ReconfigureDecoder function
2023-12-05 11:16:32 -05:00
Lakshmi Kumar 69a2afd341 Adding Test script (#113)
* test script

* code clean up + csv file

* add readme

* deleting unnecesasry files

* spelling correction

* moving tests to smaples

* Delete tests directory

* review comments
2023-12-05 08:43:33 -05:00
jeffqjiangNew 5e65788bdd * rocDecode/HEVC: Fix for decode errors on a few conformance streams. (#114)
- Re-wrote short term RPS parsing function. The previous code generates incorrect results on some conformance streams.
  - No longer skip the additional buffer bumping specified in process C.5.2.2. This avoids the situation where the current frame overwrites the previously decoded buffer that is being output/displayed.
2023-12-04 11:53:26 -05:00
Aryan Salmanpour ae63fbacab Chamne the return type of FillSeqCallbackFn to int and check to see if it returns any error (#112) 2023-12-01 14:50:33 -05:00
Rajy Rawther 15fb3e0b91 Samples - Add a sample for decoding a video and converting the raw decoded YUV frames to RGB format using HIP kernels (#108)
* WIP: class implementation

* add more definitions

* rocvideodecode implementation

* formatting fixes

* address review comments

* rocvideodecode class update

* videodec sample app-enable all apis

* video_dec_rgb_sample implementation

* fix issue with release mode execution and other clean_up

* add copyright block

* address review comments

* sync with tot and addressed review comments

* convert to snake_case
2023-12-01 13:26:30 -05:00
Aryan Salmanpour e001d78859 remove the b_low_latency_ from the RocVideoDecoder class (#111) 2023-11-30 22:09:13 -05:00
jeffqjiangNew a878a106fb * rocDecode/HEVC: When video size changes, set new SPS activation flag. This takes care of the case where a new SPS replaces the old SPS with the same id but with different dimensions. (#110) 2023-11-30 18:32:25 -05:00
jeffqjiangNew ad20961c4a MD5 digest generation support (#109)
* * rocDecode/HEVC: Added support for MD5 message digest generation.
  - Command option "-md5" triggers MD5 calculation and output.

* * rocDecode/HEVC: Changed C type casting to C++ type casting.
2023-11-30 17:40:45 -05:00
dependabot[bot] 86a0b295a5 Bump rocm-docs-core[api_reference] from 0.29.0 to 0.30.0 in /docs/sphinx (#106)
Bumps [rocm-docs-core[api_reference]](https://github.com/RadeonOpenCompute/rocm-docs-core) from 0.29.0 to 0.30.0.
- [Release notes](https://github.com/RadeonOpenCompute/rocm-docs-core/releases)
- [Changelog](https://github.com/RadeonOpenCompute/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/RadeonOpenCompute/rocm-docs-core/compare/v0.29.0...v0.30.0)

---
updated-dependencies:
- dependency-name: rocm-docs-core[api_reference]
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-30 17:40:30 -05:00
Aryan Salmanpour c1a8ac48b4 use std::max to avoid compilation issue (#107) 2023-11-30 11:29:39 -05:00
Aryan Salmanpour 5beedfdd55 update the the rocDecode-setup script - add libstdc++12, and remove unused libavsws-dev (#105) 2023-11-30 10:08:38 -05:00
Lakshmi Kumar 449572f9bf Samples - adds surface memory option to user (#104)
* adding surface mem type as user arg

* adding mem type user arg for all apps

* readme update

* readme updates on all apps
2023-11-30 08:31:37 -05:00
Lakshmi Kumar 720c56eb04 bug fix for crop arg (#103) 2023-11-30 08:13:55 -05:00
Aryan Salmanpour 225fabbf60 Update README - add libstdc++-12-dev as the prerequisites for building rocDecode (#102) 2023-11-29 20:59:06 -05:00
Aryan Salmanpour 48474fdad9 clean up - use google style guide for the RocDecoder class (#101)
* clean up - use google style guide for the RocDecoder class

* make other files/classes to follow the google style guides
2023-11-29 13:50:38 -05:00
Aryan Salmanpour f8b01f3d1a Increase the avioc_buffer_size for AVIOContext creation - this is needed for videoDecodeMem sample (#100) 2023-11-29 13:37:44 -05:00
Lakshmi Kumar 22de4fbc6f Samples - adding a sample to illustrate StreamProvider for demuxer (#99)
* mem sample

* changes to match c++ style

* ffmpeg log

* readme update

* readme clean up
2023-11-29 11:22:21 -05:00
Lakshmi Kumar ad54bd5258 README - updates for samples (#98)
* update readme for samples

* readme clean up

* readme clean up
2023-11-29 11:21:22 -05:00
Lakshmi Kumar 2cb3bd143c Sample - add a new sample for processing multiple input files (#97)
* adding a sample for decoding multiple files

* readme correction

* spacing

* review comments
2023-11-29 11:13:24 -05:00