diff options
author | Haihao Xiang <haihao.xiang@intel.com> | 2019-02-25 12:18:05 +0800 |
---|---|---|
committer | Víctor Manuel Jáquez Leal <vjaquez@igalia.com> | 2019-02-27 15:22:43 +0000 |
commit | f39bcd3920c5f5e876f2907db795b06411fa6cb9 (patch) | |
tree | c4670ee4d64ea4e59255e763b1269d6d8ef79006 | |
parent | 52b5a7e206b345053844155b9d69c2034130925d (diff) |
msdk: set some parameters in mfxFrameData for a RGB16 frame
-rw-r--r-- | sys/msdk/gstmsdkallocator_libva.c | 6 | ||||
-rw-r--r-- | sys/msdk/gstmsdksystemmemory.c | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/sys/msdk/gstmsdkallocator_libva.c b/sys/msdk/gstmsdkallocator_libva.c index db3ab73dc..30154517b 100644 --- a/sys/msdk/gstmsdkallocator_libva.c +++ b/sys/msdk/gstmsdkallocator_libva.c @@ -312,6 +312,12 @@ gst_msdk_frame_lock (mfxHDL pthis, mfxMemId mid, mfxFrameData * data) data->B = data->R + 2; data->A = data->R + 3; break; + case VA_FOURCC_RGB565: + data->Pitch = mem_id->image.pitches[0]; + data->R = buf + mem_id->image.offsets[0]; + data->G = data->R; + data->B = data->R; + break; default: g_assert_not_reached (); break; diff --git a/sys/msdk/gstmsdksystemmemory.c b/sys/msdk/gstmsdksystemmemory.c index 69d366208..3b659a34d 100644 --- a/sys/msdk/gstmsdksystemmemory.c +++ b/sys/msdk/gstmsdksystemmemory.c @@ -113,6 +113,12 @@ ensure_data (GstMsdkSystemMemory * mem) mem->surface->Data.B = mem->surface->Data.R + 2; mem->surface->Data.Pitch = mem->destination_pitches[0]; break; + case GST_VIDEO_FORMAT_RGB16: + mem->surface->Data.R = mem->cached_data[0]; + mem->surface->Data.G = mem->surface->Data.R; + mem->surface->Data.B = mem->surface->Data.R; + mem->surface->Data.Pitch = mem->destination_pitches[0]; + break; default: g_assert_not_reached (); break; |