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
Aryan Salmanpour
9a78101d22
return the correct rocdec_status if DestroyDataBuffers fails ( #137 )
2023-12-13 10:57:14 -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
Lakshmi Kumar
f221d78258
adding support for MI300A A1 - gfx942 ( #124 )
2023-12-07 09:31:44 -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
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
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
3625829546
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
2023-11-28 16:52:27 -05:00
Aryan Salmanpour
e5d5bd4abb
Return an error if the ExportSurface function fails. Add extra error logging in the destructor of the VaapiVideoDecoder class ( #87 )
2023-11-27 13:08:34 -05:00
Rajy Rawther
81abe58fb4
Rr/vaapi decoder mem check ( #74 )
...
* add some checks for buffer requirements
* address review comments
2023-11-17 17:33:12 -05:00
jeffqjiangNew
3357aba104
* rocDecode/HEVC: Fixed a few issues in reference list setup. Also looks like we need to use VA surface IDs on all buffers including the reference (need to confirm with VA driver team). ( #61 )
2023-11-14 11:42:13 -05:00
Aryan Salmanpour
eb5614d250
Add support for the rocDecUnMapVideoFrame API ( #58 )
2023-11-13 12:54:32 -05:00
Aryan Salmanpour
730b80b600
Close fds after importing the surVAAPI face to HIP memory ( #55 )
2023-11-10 18:24:21 -05:00
jeffqjiangNew
3c7f29dab4
Added picture decode submission to VA-API driver. ( #54 )
...
* * rocDeocde/HEVC: Added several "reserved" fields to structs to match the corresponding VA-API structs.
* * rocDecode/HEVC: Added decode submission to VA-API driver.
* * rocDecode/HEVC: Corrected data buffer id type.
2023-11-10 17:15:47 -05:00
Aryan Salmanpour
7a90c0c054
Add support for rocDecMapVideoFrame API ( #53 )
2023-11-10 17:02:57 -05:00
Aryan Salmanpour
6ab31ce40e
Add support for rocDecGetDecodeStatus API ( #46 )
2023-11-09 08:47:58 -05:00
Aryan Salmanpour
3a5fc3608b
Add support to GetDecoderCaps to correctly return decoder caps for gfx arch names with a suffix ( #43 )
2023-11-08 10:25:45 -05:00
Aryan Salmanpour
2c940dd9d0
Add support for creating a vaapi context and surfaces for decoding ( #41 )
2023-11-07 13:47:53 -05:00
Aryan Salmanpour
ba484a91a9
Create the correct render node names on MI300A/MI300X ( #38 )
2023-11-07 11:08:20 -05:00
jeffqjiangNew
f56a64d832
Decode callback step 1: Added skeleton decode callback to get the flow going. ( #39 )
...
* * rocDecode/HEVC: Added skeleton decode callback to get the flow going.
* *rocDecode/HEVC: Added error handling for decode call.
2023-11-06 22:04:25 -05:00
Aryan Salmanpour
f47fd89f62
Add support for gfx1100 - update the vcn lookup table ( #34 )
2023-11-02 22:05:17 -04:00
Aryan Salmanpour
32f854c159
Add support for rocDecCreateDecoder API ( #28 )
...
* Add support for rocDecCreateDecoder API
* check the decoder config support before initializing the vaapi
* rename RocdecDecoderCreateInfo to RocDecoderCreateInfo
* fix a typo
2023-11-01 09:22:46 -04:00
Aryan Salmanpour
bf830a2678
Add support for the rocDecGetDecoderCaps API ( #21 )
...
* Add support for the rocDecGetDecoderCaps API
* move the RocDecVcnCodecSpec class to a new header file
2023-10-24 08:40:58 -04:00
Rajy Rawther
d0e6743872
Rr/roc video decode class ( #20 )
...
* WIP: class implementation
* add more definitions
* rocvideodecode implementation
* formatting fixes
* address review comments
2023-10-23 12:16:45 -04:00
Aryan Salmanpour
e5dec6dff4
Add initialization of the roc_decoder member variable in the DecHandle class constructor. ( #13 )
2023-10-13 15:53:35 -04:00
Rajy Rawther
4ea67e279d
rocDecode api defintions added for decoder and parser ( #6 )
...
* rocDecode api defintions added for decoder and parser
* addressed review comments and changed struct names to CamelCase
* minot reformatting
2023-09-14 10:33:28 -04:00