diff --git a/subprojects/gst-plugins-bad/sys/msdk/msdk.c b/subprojects/gst-plugins-bad/sys/msdk/msdk.c index bfbadfcfab..c8237d1aab 100644 --- a/subprojects/gst-plugins-bad/sys/msdk/msdk.c +++ b/subprojects/gst-plugins-bad/sys/msdk/msdk.c @@ -595,6 +595,22 @@ gst_msdk_get_video_format_from_mfx_fourcc (mfxU32 fourcc) return GST_VIDEO_FORMAT_UNKNOWN; } +void +gst_msdk_get_video_format_list (GValue * formats) +{ + GValue gfmt = G_VALUE_INIT; + const struct map *m = gst_msdk_video_format_to_mfx_map; + + g_value_init (&gfmt, G_TYPE_UINT); + + for (; m->format != 0; m++) { + g_value_set_uint (&gfmt, m->format); + gst_value_list_append_value (formats, &gfmt); + } + + g_value_unset (&gfmt); +} + void gst_msdk_update_mfx_frame_info_from_mfx_video_param (mfxFrameInfo * mfx_info, mfxVideoParam * param) diff --git a/subprojects/gst-plugins-bad/sys/msdk/msdk.h b/subprojects/gst-plugins-bad/sys/msdk/msdk.h index 3c9defca51..ae2e208474 100644 --- a/subprojects/gst-plugins-bad/sys/msdk/msdk.h +++ b/subprojects/gst-plugins-bad/sys/msdk/msdk.h @@ -136,6 +136,9 @@ gst_msdk_is_va_mem (GstMemory * mem); GstVideoFormat gst_msdk_get_video_format_from_mfx_fourcc (mfxU32 fourcc); +void +gst_msdk_get_video_format_list (GValue * formats); + void gst_msdk_update_mfx_frame_info_from_mfx_video_param (mfxFrameInfo * mfx_info, mfxVideoParam * param);