diff options
author | Haihao Xiang <haihao.xiang@intel.com> | 2019-03-21 16:14:47 +0800 |
---|---|---|
committer | Víctor Manuel Jáquez Leal <vjaquez@igalia.com> | 2019-04-09 14:26:02 +0000 |
commit | 21f07e95f56486ebfbbf948a7f45d9ba26f46ec4 (patch) | |
tree | 8f4309cf01ebe00b7bdcbca49e63e12b3c3849d6 | |
parent | c40ecbe7f5a3e5ebdf36f57420ff53134320115c (diff) | |
download | gstreamer-plugins-bad-21f07e95f56486ebfbbf948a7f45d9ba26f46ec4.tar.gz |
msdk: set some parameters in mfxFrameData for a MFX_FOURCC_A2RGB10 frame
-rw-r--r-- | sys/msdk/gstmsdkallocator_libva.c | 8 | ||||
-rw-r--r-- | sys/msdk/gstmsdksystemmemory.c | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/sys/msdk/gstmsdkallocator_libva.c b/sys/msdk/gstmsdkallocator_libva.c index 46990b5ef..ef94bf7e4 100644 --- a/sys/msdk/gstmsdkallocator_libva.c +++ b/sys/msdk/gstmsdkallocator_libva.c @@ -331,7 +331,13 @@ gst_msdk_frame_lock (mfxHDL pthis, mfxMemId mid, mfxFrameData * data) data->Y = data->V + 2; data->A = data->V + 3; break; - + case VA_FOURCC_A2R10G10B10: + data->Pitch = mem_id->image.pitches[0]; + data->R = buf + mem_id->image.offsets[0]; + data->G = data->R; + data->B = data->R; + data->A = data->R; + break; default: g_assert_not_reached (); break; diff --git a/sys/msdk/gstmsdksystemmemory.c b/sys/msdk/gstmsdksystemmemory.c index 53711a513..336e83f49 100644 --- a/sys/msdk/gstmsdksystemmemory.c +++ b/sys/msdk/gstmsdksystemmemory.c @@ -131,7 +131,13 @@ ensure_data (GstMsdkSystemMemory * mem) mem->surface->Data.PitchLow = (mfxU16) (mem->destination_pitches[0] % (1 << 16)); break; - + case GST_VIDEO_FORMAT_BGR10A2_LE: + 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.A = mem->surface->Data.R; + mem->surface->Data.Pitch = mem->destination_pitches[0]; + break; default: g_assert_not_reached (); break; |