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.
This commit is contained in:
jeffqjiangNew
2023-11-10 17:15:47 -05:00
committed by GitHub
parent 7a90c0c054
commit 3c7f29dab4
3 changed files with 130 additions and 1 deletions
+10
View File
@@ -34,6 +34,7 @@ THE SOFTWARE.
#include "../../commons.h"
#include "../../../api/rocdecode.h"
#define DEFAULT_SLICE_DATA_BUF_SIZE 2 * 1024 * 1024 // 2 MB
#define CHECK_VAAPI(call) { \
VAStatus va_status = (call); \
@@ -61,8 +62,17 @@ private:
VAProfile va_profile_;
VAContextID va_context_id_;
std::vector<VASurfaceID> va_surface_ids_;
VABufferID pic_params_buf_id_;
VABufferID iq_matrix_buf_id_;
VABufferID slice_params_buf_id_;
VABufferID slice_data_buf_id_;
uint32_t slice_data_buf_size_;
rocDecStatus InitVAAPI(std::string drm_node);
rocDecStatus CreateDecoderConfig();
rocDecStatus CreateSurfaces();
rocDecStatus CreateContext();
rocDecStatus CreateDataBuffers();
rocDecStatus DestroyDataBuffers();
};