msdk: adjust the RT format for P010 surface
authorXiang, Haihao <haihao.xiang@intel.com>
Fri, 16 Nov 2018 12:01:52 +0000 (20:01 +0800)
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Mon, 26 Nov 2018 16:47:17 +0000 (16:47 +0000)
According to VA API, VA_RT_FORMAT_YUV420_10 is expected for P010
surface

sys/msdk/gstmsdkallocator_libva.c

index caa9551..74be0df 100644 (file)
@@ -95,6 +95,9 @@ gst_msdk_frame_alloc (mfxHDL pthis, mfxFrameAllocRequest * req,
     format =
         gst_msdk_get_va_rt_format_from_mfx_rt_format (req->Info.ChromaFormat);
 
+    if (format == VA_RT_FORMAT_YUV420 && va_fourcc == VA_FOURCC_P010)
+      format = VA_RT_FORMAT_YUV420_10;
+
     va_status = vaCreateSurfaces (gst_msdk_context_get_handle (context),
         format,
         req->Info.Width, req->Info.Height, surfaces, surfaces_num, &attrib, 1);