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

116 Коммитов

Автор SHA1 Сообщение Дата
Aryan Salmanpour 08c99da4fa Add nullptr parameters check for all decoder/parser APIs and some code clean up (#120)
[ROCm/rocdecode commit: 9257cd6fcf]
2023-12-05 13:06:34 -05:00
Aryan Salmanpour 24dc12e75e Fix a build error in videodecode sample (#119)
[ROCm/rocdecode commit: f008b52403]
2023-12-05 12:01:17 -05:00
jeffqjiangNew 409d6efa2a 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.

[ROCm/rocdecode commit: 583e72720a]
2023-12-05 11:40:39 -05:00
Aryan Salmanpour 70a18314d5 Add support for rocDecReconfigureDecoder API (#116)
* Add support for rocDecReconfigureDecoder API

* adrress reviewer's comemnts

* Add doxygen comment for ReconfigureDecoder function

[ROCm/rocdecode commit: 875994bb4f]
2023-12-05 11:16:32 -05:00
Lakshmi Kumar 62fb6aa511 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

[ROCm/rocdecode commit: 69a2afd341]
2023-12-05 08:43:33 -05:00
jeffqjiangNew dd3b609a09 * 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.

[ROCm/rocdecode commit: 5e65788bdd]
2023-12-04 11:53:26 -05:00
Aryan Salmanpour bf9ca09a9a Chamne the return type of FillSeqCallbackFn to int and check to see if it returns any error (#112)
[ROCm/rocdecode commit: ae63fbacab]
2023-12-01 14:50:33 -05:00
Rajy Rawther 20defa76e5 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

[ROCm/rocdecode commit: 15fb3e0b91]
2023-12-01 13:26:30 -05:00
Aryan Salmanpour 88dd09c011 remove the b_low_latency_ from the RocVideoDecoder class (#111)
[ROCm/rocdecode commit: e001d78859]
2023-11-30 22:09:13 -05:00
jeffqjiangNew 10545bcd94 * 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)
[ROCm/rocdecode commit: a878a106fb]
2023-11-30 18:32:25 -05:00
jeffqjiangNew 67c5b77806 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.

[ROCm/rocdecode commit: ad20961c4a]
2023-11-30 17:40:45 -05:00
dependabot[bot] 06212d1e57 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>

[ROCm/rocdecode commit: 86a0b295a5]
2023-11-30 17:40:30 -05:00
Aryan Salmanpour 7358b1b595 use std::max to avoid compilation issue (#107)
[ROCm/rocdecode commit: c1a8ac48b4]
2023-11-30 11:29:39 -05:00
Aryan Salmanpour 50f96385dd update the the rocDecode-setup script - add libstdc++12, and remove unused libavsws-dev (#105)
[ROCm/rocdecode commit: 5beedfdd55]
2023-11-30 10:08:38 -05:00
Lakshmi Kumar 55193f5165 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

[ROCm/rocdecode commit: 449572f9bf]
2023-11-30 08:31:37 -05:00
Lakshmi Kumar 372ab1219a bug fix for crop arg (#103)
[ROCm/rocdecode commit: 720c56eb04]
2023-11-30 08:13:55 -05:00
Aryan Salmanpour f4a45639d6 Update README - add libstdc++-12-dev as the prerequisites for building rocDecode (#102)
[ROCm/rocdecode commit: 225fabbf60]
2023-11-29 20:59:06 -05:00
Aryan Salmanpour 1bbbe808f5 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

[ROCm/rocdecode commit: 48474fdad9]
2023-11-29 13:50:38 -05:00
Aryan Salmanpour e6e296dd8c Increase the avioc_buffer_size for AVIOContext creation - this is needed for videoDecodeMem sample (#100)
[ROCm/rocdecode commit: f8b01f3d1a]
2023-11-29 13:37:44 -05:00
Lakshmi Kumar 18d82d1f2b Samples - adding a sample to illustrate StreamProvider for demuxer (#99)
* mem sample

* changes to match c++ style

* ffmpeg log

* readme update

* readme clean up

[ROCm/rocdecode commit: 22de4fbc6f]
2023-11-29 11:22:21 -05:00
Lakshmi Kumar 548c562d6e README - updates for samples (#98)
* update readme for samples

* readme clean up

* readme clean up

[ROCm/rocdecode commit: ad54bd5258]
2023-11-29 11:21:22 -05:00
Lakshmi Kumar 8feef88df1 Sample - add a new sample for processing multiple input files (#97)
* adding a sample for decoding multiple files

* readme correction

* spacing

* review comments

[ROCm/rocdecode commit: 2cb3bd143c]
2023-11-29 11:13:24 -05:00
jeffqjiangNew f89b8e0d80 * rocDecode/HEVC: Fixed corruptions in RASL (Random Access Skipped Leading) pictures of an associated CRA picture. (#96)
- It appears that the root cause of the corruption is the loss of some reference info of the RASL pictures at VA-API driver level.
  - For reasons that are not documented in VA-API, or simply implementation limitations, the DPB buffer status when a CRA picture is decoded, needs to be sent to VA-API driver to the correct decoding of the associated RASL pictures. The info is stored in PocStFoll and PocLtFoll and is not needed for CRA picture decode, which is an intra picture. Without this info, the following RASL picture decode will run into problem even when its reference picture info is correctly specified.
  - Note this appears to be a VA-API specific issue because it did not occur on other platforms.

[ROCm/rocdecode commit: 2d14eb61b2]
2023-11-29 08:33:00 -05:00
Aryan Salmanpour ae3ec857fe Improve logging errors for VAAPI and HIP by including the API names and the status in the logs (#95)
* Improve logging errors for VAAPI and HIP by including the API names and the status in the logs

* clean up

[ROCm/rocdecode commit: 3625829546]
2023-11-28 16:52:27 -05:00
Kiriti Gowda dbcc8e8302 Package - Fix (#93)
* Package - Fix

* Readme - Updates

[ROCm/rocdecode commit: 80f8f5280f]
2023-11-28 16:08:24 -05:00
jeffqjiangNew b4216ccb63 * rocDecode/HEVC: Fixed a method name typo. (#92)
[ROCm/rocdecode commit: 27d28dd5f4]
2023-11-28 14:03:13 -05:00
Aryan Salmanpour ff9432f879 Fix a perf issue where we didn't pass the device id correctly to rocDecCreateDecoder API (#91)
[ROCm/rocdecode commit: 72bfa50c21]
2023-11-28 11:26:34 -05:00
Lakshmi Kumar 3067e0206a Bug fix - fork sample (#90)
* bug fix with fork sample

* review comments

[ROCm/rocdecode commit: 7ed754dc72]
2023-11-28 08:42:19 -05:00
jeffqjiangNew ab36eb705a * rocDecode/HEVC: Fixed the missing output picture issue on certain streams. (#89)
- When we hit IRAP (Intra Random Access Point) picture and need to bump all remaining decoded pictures from DPB, call display callback immediately, instead of delaying the callback to the IRAP decode process.

[ROCm/rocdecode commit: 09da68790c]
2023-11-27 19:54:49 -05:00
Aryan Salmanpour 244ce9a534 Explicitly link with Threads to avoid linking errors for videodecodeperf sample (#88)
[ROCm/rocdecode commit: d9310fdd5b]
2023-11-27 19:53:58 -05:00
dependabot[bot] 68e604ecfa Bump rocm-docs-core[api_reference] from 0.28.0 to 0.29.0 in /docs/sphinx (#84)
Bumps [rocm-docs-core[api_reference]](https://github.com/RadeonOpenCompute/rocm-docs-core) from 0.28.0 to 0.29.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.28.0...v0.29.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>

[ROCm/rocdecode commit: 4bbd0a68e7]
2023-11-27 13:09:00 -05:00
Aryan Salmanpour 729a6db0cb Return an error if the ExportSurface function fails. Add extra error logging in the destructor of the VaapiVideoDecoder class (#87)
[ROCm/rocdecode commit: e5d5bd4abb]
2023-11-27 13:08:34 -05:00
jeffqjiangNew 7035965722 End of stream flush (#86)
* * rocDecode/HEVC: Added picture output operation in DPB and display callback function.
  - To avoid serialization of decode submissions and/or display callback in certain cases, increased DPB buffer size by 1 and tweaked picture bumping procedure.

* * rocDecode/HEVC: Added flushing of the remaining pictures from DPB at the end of decode session.

* * rocDecode/HEVC: Changed output_pic_num to num_output_pics to void some confusion. Set top_field_first to 1.

* * rocDecode/HEVC: Added a few return error checks.

[ROCm/rocdecode commit: 624c3c0f09]
2023-11-27 13:03:26 -05:00
Aryan Salmanpour 049100d761 D not fuse - zwhen runnnin gthesmake test. Don't force b_force_latency ofr Perf/Fork sample (#85)
[ROCm/rocdecode commit: 8898af78a6]
2023-11-27 12:33:28 -05:00
jeffqjiangNew 8b432bce65 Added picture output operation in DPB and display callback function. (#83)
* * rocDecode/HEVC: Added picture output operation in DPB and display callback function.
  - To avoid serialization of decode submissions and/or display callback in certain cases, increased DPB buffer size by 1 and tweaked picture bumping procedure.

* * rocDecode/HEVC: Added a few error checks and minor format changes.

[ROCm/rocdecode commit: 57c040eff8]
2023-11-27 11:04:01 -05:00
Kiriti Gowda 7f11bd390e Package - updates (#81)
* Package - updates

* Package - Info

[ROCm/rocdecode commit: 90e6d30383]
2023-11-23 08:57:45 -05:00
Aryan Salmanpour 57adcafc94 Fix a bug in VideoDecodePerf app to cepturn he number of decoded frames (#82)
[ROCm/rocdecode commit: a8e39c95c9]
2023-11-22 17:35:52 -05:00
Kiriti Gowda 8ca939cee5 Documentation - ReadtheDocs
Add configuration for ReadtheDocs

[ROCm/rocdecode commit: e2f7e47bb3]
2023-11-21 14:46:20 -08:00
Sam Wu eb47107727 Add configuration for ReadtheDocs
[ROCm/rocdecode commit: 3f7e3fe7d8]
2023-11-21 13:25:56 -07:00
jeffqjiangNew 67c9ea1983 Re-enabled SEI message processing. (#79)
* * rocDecode/HEVC: Re-enabled SEI message processing.
  - Added "-sei" command option to extract SEI messages from stream.
  - Added support for SEI info parsing for multiple SEI NAL units with multiple payloads.
  - Fixed a SEI syntax parsing issue and several procssing issues.
  - Fixed a double free memory issue in SEI data buffer handling in HandlePictureDisplay().

* * rocDecode/HEVC: Coding format changes.

* * rocDecode/HEVC: Minor format changes.

[ROCm/rocdecode commit: ad186a90da]
2023-11-21 14:33:15 -05:00
Rajy Rawther 6918fb07c4 Rr/check sei function pointer (#78)
* commending out ParseSeiMessage because it is causing segfault

* CMake changes for valgrind

* added function pointer validity for sei callback

* fix review comments

[ROCm/rocdecode commit: 012f96c8c5]
2023-11-21 11:23:47 -05:00
Rajy Rawther 2639f74e4a rr: Add debug flags for valgrind (#77)
* commending out ParseSeiMessage because it is causing segfault

* CMake changes for valgrind

[ROCm/rocdecode commit: 628e1d2610]
2023-11-20 12:07:13 -05:00
Rajy Rawther e925faf9fe commending out ParseSeiMessage because it is causing segfault (#76)
[ROCm/rocdecode commit: 210976616f]
2023-11-17 20:56:05 -05:00
Rajy Rawther 13654ccef6 Rr/parser clean up (#75)
* minor clean_up on parser struct allocation

* minor clean_up

* address review comments

[ROCm/rocdecode commit: cbf6857f74]
2023-11-17 20:55:53 -05:00
Rajy Rawther d77c19c254 Rr/vaapi decoder mem check (#74)
* add some checks for buffer requirements

* address review comments

[ROCm/rocdecode commit: 81abe58fb4]
2023-11-17 17:33:12 -05:00
jeffqjiangNew 43a70df640 * rocDecode/HEVC: Removed parsing of entry_point_offset_minus1[] and beyond in slice header since these syntax elements are not used by HW decode. (#73)
[ROCm/rocdecode commit: c528f46843]
2023-11-17 15:59:29 -05:00
jeffqjiangNew 6ec565f17b * rocDecode/HEVC: Fixed the segmentation fault at the end of decode session on stream chimei_demo_1080p_h265_60fps.mp4 or similar streams. (#72)
Root cause: num_entry_point_offsets in the slice header of frame #2164 is 674, exceeding the entry_point_offset_minus1[440] array size. Parser writes beyond the array boundary, corrupting memory. Frame #2164 is not in conformance of the HEVC spec.

We need to put the constraint from the spec on the num_entry_point_offsets parsed from the stream. Also need to change the array size to the max possible for 8K.

[ROCm/rocdecode commit: b6d0c41a59]
2023-11-17 12:57:19 -05:00
Aryan Salmanpour 4bfd23aa13 Code clean up - remove unused headers from demuxer, unused ffmpeg dependencies, and redundent info from videodecode sample (#71)
[ROCm/rocdecode commit: 071b37b3bd]
2023-11-17 12:46:27 -05:00
Kiriti Gowda 9b062a4f57 Dev Package - Add FFMPEG Deps (#70)
* Dev Package - Add FFMPEG Deps

* Print Deps

* Deps Fix

* CI - Package Details

[ROCm/rocdecode commit: b94b4f7947]
2023-11-16 16:34:47 -05:00
Aryan Salmanpour f62b0fa617 Add additional debug info if we couldn't find the matching pic in reference list and return error (#69)
* Add additional debug info if we couldn't find the matching pic in refrence list and return error

* Correct the debug info message

[ROCm/rocdecode commit: 5d5db9a017]
2023-11-16 12:39:23 -05:00