summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaihao Xiang <haihao.xiang@intel.com>2019-03-21 15:34:36 +0800
committerVíctor Manuel Jáquez Leal <vjaquez@igalia.com>2019-04-09 14:26:02 +0000
commitc40ecbe7f5a3e5ebdf36f57420ff53134320115c (patch)
treec57b88480a49ce414048d8c6b3520407666b15f4
parent95fdc2e98466764d5494722a1a7004dec7b7f640 (diff)
downloadgstreamer-plugins-bad-c40ecbe7f5a3e5ebdf36f57420ff53134320115c.tar.gz
msdk: map MFX_FOURCC_A2RGB10 to VA_FOURCC_A2R10G10B10
-rw-r--r--sys/msdk/gstmsdkallocator_libva.c3
-rw-r--r--sys/msdk/msdk_libva.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/msdk/gstmsdkallocator_libva.c b/sys/msdk/gstmsdkallocator_libva.c
index 994c1be85..46990b5ef 100644
--- a/sys/msdk/gstmsdkallocator_libva.c
+++ b/sys/msdk/gstmsdkallocator_libva.c
@@ -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);
diff --git a/sys/msdk/msdk_libva.c b/sys/msdk/msdk_libva.c
index 171c2d396..296e5a5ae 100644
--- a/sys/msdk/msdk_libva.c
+++ b/sys/msdk/msdk_libva.c
@@ -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}
};