From fb200ccfddcf86c20e85df04625be59cd0ab75e8 Mon Sep 17 00:00:00 2001 From: Haihao Xiang Date: Wed, 11 Mar 2020 13:54:42 +0800 Subject: [PATCH] msdk: map Y212_LE to MFX_FOURCC_Y216 MFX_FOURCC_Y216 is used for packed 12 bits 422 YUV format in MediaSDK --- sys/msdk/gstmsdksystemmemory.c | 1 + sys/msdk/msdk.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/sys/msdk/gstmsdksystemmemory.c b/sys/msdk/gstmsdksystemmemory.c index 313038e..21e0f09 100644 --- a/sys/msdk/gstmsdksystemmemory.c +++ b/sys/msdk/gstmsdksystemmemory.c @@ -142,6 +142,7 @@ ensure_data (GstMsdkSystemMemory * mem) mem->surface->Data.Pitch = mem->destination_pitches[0]; break; case GST_VIDEO_FORMAT_Y210: + case GST_VIDEO_FORMAT_Y212_LE: mem->surface->Data.Y = mem->cached_data[0]; mem->surface->Data.U = mem->surface->Data.Y + 2; mem->surface->Data.V = mem->surface->Data.Y + 6; diff --git a/sys/msdk/msdk.c b/sys/msdk/msdk.c index bc560bc..2e50db4 100644 --- a/sys/msdk/msdk.c +++ b/sys/msdk/msdk.c @@ -70,6 +70,8 @@ static const struct map gst_msdk_video_format_to_mfx_map[] = { #if (MFX_VERSION >= 1031) /* P016 is used for semi-planar 12 bits format in MSDK */ GST_VIDEO_INFO_TO_MFX_MAP (P012_LE, YUV420, P016), + /* Y216 is used for 12bit 4:2:2 format in MSDK */ + GST_VIDEO_INFO_TO_MFX_MAP (Y212_LE, YUV422, Y216), #endif {0, 0, 0} }; @@ -362,6 +364,7 @@ gst_msdk_set_mfx_frame_info_from_video_info (mfxFrameInfo * mfx_info, #if (MFX_VERSION >= 1031) case MFX_FOURCC_P016: + case MFX_FOURCC_Y216: mfx_info->BitDepthLuma = 12; mfx_info->BitDepthChroma = 12; mfx_info->Shift = 1; -- 2.7.4