msdk: map MFX_FOURCC_Y210 to VA_FOURCC_Y210
authorHaihao Xiang <haihao.xiang@intel.com>
Thu, 30 May 2019 03:02:08 +0000 (11:02 +0800)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Sat, 29 Jun 2019 14:15:32 +0000 (14:15 +0000)
sys/msdk/gstmsdkallocator_libva.c
sys/msdk/msdk_libva.c

index 3808fdf..b0c417d 100644 (file)
@@ -103,6 +103,11 @@ gst_msdk_frame_alloc (mfxHDL pthis, mfxFrameAllocRequest * req,
       format = VA_RT_FORMAT_RGB32_10;
 #endif
 
+#if ((MFX_VERSION >= 1027) && VA_CHECK_VERSION(1, 2, 0))
+    if (format == VA_RT_FORMAT_YUV422 && va_fourcc == VA_FOURCC_Y210)
+      format = VA_RT_FORMAT_YUV422_10;
+#endif
+
     va_status = vaCreateSurfaces (gst_msdk_context_get_handle (context),
         format,
         req->Info.Width, req->Info.Height, surfaces, surfaces_num, &attrib, 1);
index 392a09a..464ad9b 100644 (file)
@@ -69,6 +69,9 @@ static const struct fourcc_map gst_msdk_fourcc_mfx_to_va[] = {
 #if VA_CHECK_VERSION(1, 4, 1)
   FOURCC_MFX_TO_VA (A2RGB10, A2R10G10B10),
 #endif
+#if ((MFX_VERSION >= 1027) && VA_CHECK_VERSION(1, 2, 0))
+  FOURCC_MFX_TO_VA (Y210, Y210),
+#endif
   {0, 0}
 };