msdk: map MFX_FOURCC_A2RGB10 to VA_FOURCC_A2R10G10B10
authorHaihao Xiang <haihao.xiang@intel.com>
Thu, 21 Mar 2019 07:34:36 +0000 (15:34 +0800)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Tue, 9 Apr 2019 14:26:02 +0000 (14:26 +0000)
sys/msdk/gstmsdkallocator_libva.c
sys/msdk/msdk_libva.c

index 994c1be..46990b5 100644 (file)
@@ -98,6 +98,9 @@ gst_msdk_frame_alloc (mfxHDL pthis, mfxFrameAllocRequest * req,
     if (format == VA_RT_FORMAT_YUV420 && va_fourcc == VA_FOURCC_P010)
       format = VA_RT_FORMAT_YUV420_10;
 
+    if (format == VA_RT_FORMAT_YUV444 && va_fourcc == VA_FOURCC_A2R10G10B10)
+      format = VA_RT_FORMAT_RGB32_10;
+
     va_status = vaCreateSurfaces (gst_msdk_context_get_handle (context),
         format,
         req->Info.Width, req->Info.Height, surfaces, surfaces_num, &attrib, 1);
index 171c2d3..296e5a5 100644 (file)
@@ -66,6 +66,7 @@ static const struct fourcc_map gst_msdk_fourcc_mfx_to_va[] = {
   FOURCC_MFX_TO_VA (RGB565, RGB565),
 #endif
   FOURCC_MFX_TO_VA (AYUV, AYUV),
+  FOURCC_MFX_TO_VA (A2RGB10, A2R10G10B10),
   {0, 0}
 };