Wykres commitów

21 Commity

Autor SHA1 Wiadomość Data
Lakshmi Kumar a65c52bc71 fixes crashes from vaSyncSurface call (#195) 2024-01-22 15:43:11 -08:00
Aryan Salmanpour fb953b4366 Add support to correctly detect the gfx name for gfx940/gfx941/gfx942 (#178) 2024-01-16 14:49:54 -05:00
jeffqjiangNew 04fe74f390 * rocDecode: Updated Copyright message for 2024. (#160) 2024-01-09 20:47:16 -05:00
jeffqjiangNew 33d6b37ddb * rocDecode/HEVC: Fixed a bug in destroy data buffer function in VAAPI layer. (#150)
- We have to clear the buffer id after destroying it. Without this clearing, we will encounter VAAPI buffer destroy failure on certain conformance streams where scaling list is signaled dynamically. In this case, we create different number of data buffers on different frames. If we do not clear the buffer id when destroying it, a dummy scaling list buffer id will have the same value as another buffer, resulting double destroy.
2024-01-02 15:56:18 -05:00
Aryan Salmanpour 6c07e53614 Check va_display_ to be valid before calling any VA APIs (#148) 2023-12-21 08:16:24 -08: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
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
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 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
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 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 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
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