From 84a46f04a768bb20de34178ac57a82a0f340872e Mon Sep 17 00:00:00 2001 From: Haihao Xiang Date: Fri, 31 May 2019 15:37:51 +0800 Subject: [PATCH] msdk: set parameters in mfxFrameData for a MFX_FOURCC_Y410 frame --- sys/msdk/gstmsdkallocator_libva.c | 4 ++++ sys/msdk/gstmsdksystemmemory.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/sys/msdk/gstmsdkallocator_libva.c b/sys/msdk/gstmsdkallocator_libva.c index f0243c0d02..0ce7972338 100644 --- a/sys/msdk/gstmsdkallocator_libva.c +++ b/sys/msdk/gstmsdkallocator_libva.c @@ -356,6 +356,10 @@ gst_msdk_frame_lock (mfxHDL pthis, mfxMemId mid, mfxFrameData * data) data->U = data->Y + 2; data->V = data->Y + 6; break; + case VA_FOURCC_Y410: + data->Pitch = mem_id->image.pitches[0]; + data->U = buf + mem_id->image.offsets[0]; /* data->Y410 */ + break; #endif default: diff --git a/sys/msdk/gstmsdksystemmemory.c b/sys/msdk/gstmsdksystemmemory.c index add427ae1d..51bde407a5 100644 --- a/sys/msdk/gstmsdksystemmemory.c +++ b/sys/msdk/gstmsdksystemmemory.c @@ -144,6 +144,11 @@ ensure_data (GstMsdkSystemMemory * mem) mem->surface->Data.V = mem->surface->Data.Y + 6; mem->surface->Data.Pitch = mem->destination_pitches[0]; break; + case GST_VIDEO_FORMAT_Y410: + mem->surface->Data.U = mem->cached_data[0]; /* Data.Y410 */ + mem->surface->Data.Pitch = mem->destination_pitches[0]; + break; + default: g_assert_not_reached (); break;