Aryan Salmanpour
0652ec852c
return the correct rocdec_status if DestroyDataBuffers fails ( #137 )
...
[ROCm/rocdecode commit: 9a78101d22 ]
2023-12-13 10:57:14 -05:00
Aryan Salmanpour
02e09dba20
FindFFmpeg.cmake cleanup - don't find the SWSCLAE_LIBRARY as it is not needed by rocDecode samples ( #136 )
...
[ROCm/rocdecode commit: 40cecb2752 ]
2023-12-13 10:07:47 -05:00
Kiriti Gowda
6358d28214
License Updates ( #135 )
...
* License Updates
* Readme Updates
[ROCm/rocdecode commit: 92b9982b55 ]
2023-12-13 09:49:52 -05:00
jeffqjiangNew
82d328b627
* 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.
[ROCm/rocdecode commit: 42f109369e ]
2023-12-13 09:48:15 -05:00
jeffqjiangNew
7cd5d6c0ee
* rocDecode/HEVC: Added frame rate info report when it is available, from the parser. ( #130 )
...
[ROCm/rocdecode commit: 7240ee8973 ]
2023-12-12 13:47:19 -05:00
Lakshmi Kumar
a3e509db61
Test Scripts Enhancement - readme correction & better error handling ( #132 )
...
* readme correction & better error handling
* review comments
[ROCm/rocdecode commit: 06cde7965b ]
2023-12-12 10:34:31 -05:00
Aryan Salmanpour
5a9f519761
Don't call DestroyDataBuffers during the reconfiguration - this function will be called during SubmitDecode ( #131 )
...
[ROCm/rocdecode commit: b8a8b66b91 ]
2023-12-11 17:10:10 -05:00
Aryan Salmanpour
b62bf4a6a1
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
[ROCm/rocdecode commit: b77d00e38e ]
2023-12-11 15:40:50 -05:00
jeffqjiangNew
a265b9a3da
* 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.
[ROCm/rocdecode commit: a2dfa8bc26 ]
2023-12-08 17:53:01 -05:00
Rajy Rawther
e651268fab
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
[ROCm/rocdecode commit: 1dc5a9d798 ]
2023-12-08 17:29:00 -05:00
jeffqjiangNew
5044e65de3
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.
[ROCm/rocdecode commit: 5d45ac6d92 ]
2023-12-07 17:06:51 -05:00
dependabot[bot]
df24f68089
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>
[ROCm/rocdecode commit: ab2f7db560 ]
2023-12-07 11:19:36 -05:00
Lakshmi Kumar
6c3f0095da
adding support for MI300A A1 - gfx942 ( #124 )
...
[ROCm/rocdecode commit: f221d78258 ]
2023-12-07 09:31:44 -05:00
Aryan Salmanpour
babefe67a9
Don't save frames into a single file if decoder reconfigure is detected for resolution changes - save into separate files for each resolution ( #123 )
...
[ROCm/rocdecode commit: bbd2fa5916 ]
2023-12-06 14:35:10 -05:00
jeffqjiangNew
99a97db048
* rocDecode/HEVC: Added formating of the MD5 digest output. ( #122 )
...
[ROCm/rocdecode commit: 4ca51e3314 ]
2023-12-06 10:54:41 -05:00
Lakshmi Kumar
47ff590d98
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 >
[ROCm/rocdecode commit: 4de634cfd0 ]
2023-12-06 10:32:39 -05:00
jeffqjiangNew
64d7f1c37f
* 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 )
...
[ROCm/rocdecode commit: fcd63b9358 ]
2023-12-06 09:39:49 -05:00
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