msdk: map Y212_LE to MFX_FOURCC_Y216
authorHaihao Xiang <haihao.xiang@intel.com>
Wed, 11 Mar 2020 05:54:42 +0000 (13:54 +0800)
committerHaihao Xiang <haihao.xiang@intel.com>
Fri, 3 Apr 2020 01:19:45 +0000 (01:19 +0000)
MFX_FOURCC_Y216 is used for packed 12 bits 422 YUV format in MediaSDK

sys/msdk/gstmsdksystemmemory.c
sys/msdk/msdk.c

index 313038e..21e0f09 100644 (file)
@@ -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;
index bc560bc..2e50db4 100644 (file)
@@ -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;