tbm_fmt = g_array_index (formats, uint32_t, i);
g_value_set_string (&value, gst_wl_tbm_format_to_string (tbm_fmt));
gst_value_list_append_value (&list, &value);
- /* TBM doesn't support SN12 and ST12. So we add SN12 and ST12 manually as supported format.
- * SN12 is same with NV12, ST12 is same with NV12MT
- */
+
+ /* TBM doesn't support Native formats(SN12, ST12, SR32 and S420),
+ So we add Native formats manually as supported format. */
if (tbm_fmt == TBM_FORMAT_NV12) {
g_value_set_string (&value,
gst_video_format_to_string (GST_VIDEO_FORMAT_SN12));
g_value_set_string (&value,
gst_video_format_to_string (GST_VIDEO_FORMAT_SR32));
gst_value_list_append_value (&list, &value);
+ } else if (tbm_fmt == TBM_FORMAT_YUV420) {
+ g_value_set_string (&value,
+ gst_video_format_to_string (GST_VIDEO_FORMAT_S420));
+ gst_value_list_append_value (&list, &value);
}
} else { /* USE SHM */
fmt = g_array_index (formats, uint32_t, i);
if (sink->USE_TBM) {
if (GST_VIDEO_INFO_FORMAT (&info) == GST_VIDEO_FORMAT_SN12 ||
GST_VIDEO_INFO_FORMAT (&info) == GST_VIDEO_FORMAT_ST12 ||
- GST_VIDEO_INFO_FORMAT (&info) == GST_VIDEO_FORMAT_SR32) {
+ GST_VIDEO_INFO_FORMAT (&info) == GST_VIDEO_FORMAT_SR32 ||
+ GST_VIDEO_INFO_FORMAT (&info) == GST_VIDEO_FORMAT_S420) {
sink->display->is_native_format = TRUE;
/* store the video info */
{TBM_FORMAT_ABGR8888, GST_VIDEO_FORMAT_RGBA},
{TBM_FORMAT_RGBA8888, GST_VIDEO_FORMAT_RGBA},
{TBM_FORMAT_BGRA8888, GST_VIDEO_FORMAT_BGRA},
- {TBM_FORMAT_BGRA8888, GST_VIDEO_FORMAT_SR32}
+ {TBM_FORMAT_BGRA8888, GST_VIDEO_FORMAT_SR32},
#else
{TBM_FORMAT_XRGB8888, GST_VIDEO_FORMAT_BGRx},
{TBM_FORMAT_XBGR8888, GST_VIDEO_FORMAT_RGBx},
{TBM_FORMAT_YUV444, GST_VIDEO_FORMAT_v308},
{TBM_FORMAT_NV12MT, GST_VIDEO_FORMAT_ST12},
{TBM_FORMAT_NV12, GST_VIDEO_FORMAT_SN12},
+ {TBM_FORMAT_YUV420, GST_VIDEO_FORMAT_S420}
};
uint32_t