upgrade-gst-base-to-1_14_4
diff --git a/gst-libs/gst/video/video-format.c b/gst-libs/gst/video/video-format.c index f2fa22b..ebe1ad5 100644 --- a/gst-libs/gst/video/video-format.c +++ b/gst-libs/gst/video/video-format.c
@@ -5240,6 +5240,12 @@ PSTR222, PLANE012, OFFS0, SUB444, PACK_Y444_12BE), MAKE_YUV_LE_FORMAT (Y444_12LE, "raw video", 0x00000000, DPTH12_12_12, PSTR222, PLANE012, OFFS0, SUB444, PACK_Y444_12LE), + + MAKE_YUV_FORMAT (MT21, "raw video", GST_MAKE_FOURCC ('M', 'M', '2', '1'), + DPTH888, PSTR122, PLANE011, OFFS001, SUB420, PACK_NV12), + MAKE_YUV_FORMAT (I422, "raw video", GST_MAKE_FOURCC ('Y', 'M', '1', '6'), + DPTH888, PSTR111, PLANE012, OFFS0, SUB422, PACK_420), + MAKE_GRAY_C_LE_FORMAT (GRAY10_LE32, "raw video", DPTH10, PSTR0, PLANE0, OFFS0, SUB4, PACK_GRAY10_LE32), MAKE_YUV_C_LE_FORMAT (NV12_10LE32, "raw video", @@ -5480,6 +5486,10 @@ return GST_VIDEO_FORMAT_IYU1; case GST_MAKE_FOURCC ('A', 'Y', '6', '4'): return GST_VIDEO_FORMAT_AYUV64; + case GST_MAKE_FOURCC ('M', 'M', '2', '1'): + return GST_VIDEO_FORMAT_MT21; + case GST_MAKE_FOURCC ('Y', 'M', '1', '6'): + return GST_VIDEO_FORMAT_I422; case GST_MAKE_FOURCC ('X', 'V', '1', '0'): return GST_VIDEO_FORMAT_GRAY10_LE32; case GST_MAKE_FOURCC ('X', 'V', '1', '5'): @@ -5504,9 +5514,11 @@ gst_video_format_from_string (const gchar * format) { guint i; - g_return_val_if_fail (format != NULL, GST_VIDEO_FORMAT_UNKNOWN); + if (strcmp ("MT21", format) == 0) + return GST_VIDEO_FORMAT_MT21; + for (i = 0; i < G_N_ELEMENTS (formats); i++) { if (strcmp (GST_VIDEO_FORMAT_INFO_NAME (&formats[i].info), format) == 0) return GST_VIDEO_FORMAT_INFO_FORMAT (&formats[i].info);
diff --git a/gst-libs/gst/video/video-format.h b/gst-libs/gst/video/video-format.h index dbf514d..325e0c8 100644 --- a/gst-libs/gst/video/video-format.h +++ b/gst-libs/gst/video/video-format.h
@@ -195,6 +195,8 @@ GST_VIDEO_FORMAT_I422_12LE, GST_VIDEO_FORMAT_Y444_12BE, GST_VIDEO_FORMAT_Y444_12LE, + GST_VIDEO_FORMAT_MT21, + GST_VIDEO_FORMAT_I422, GST_VIDEO_FORMAT_GRAY10_LE32, GST_VIDEO_FORMAT_NV12_10LE32, GST_VIDEO_FORMAT_NV16_10LE32,
diff --git a/gst-libs/gst/video/video-info.c b/gst-libs/gst/video/video-info.c index 25f7027..1ffabee 100644 --- a/gst-libs/gst/video/video-info.c +++ b/gst-libs/gst/video/video-info.c
@@ -785,12 +785,24 @@ info->stride[1] = GST_ROUND_UP_4 (GST_ROUND_UP_2 (width) / 2); info->stride[2] = info->stride[1]; info->offset[0] = 0; - info->offset[1] = info->stride[0] * GST_ROUND_UP_2 (height); + info->offset[1] = GST_ROUND_UP_128 (info->stride[0] * GST_ROUND_UP_2 (height)); cr_h = GST_ROUND_UP_2 (height) / 2; if (GST_VIDEO_INFO_IS_INTERLACED (info)) cr_h = GST_ROUND_UP_2 (cr_h); - info->offset[2] = info->offset[1] + info->stride[1] * cr_h; - info->size = info->offset[2] + info->stride[2] * cr_h; + info->offset[2] = info->offset[1] + GST_ROUND_UP_128 (info->stride[1] * cr_h); + info->size = info->offset[2] + GST_ROUND_UP_128 (info->stride[2] * cr_h); + break; + + case GST_VIDEO_FORMAT_I422: + info->stride[0] = GST_ROUND_UP_4 (width); + info->stride[1] = GST_ROUND_UP_4 (GST_ROUND_UP_2 (width) / 2); + info->stride[2] = info->stride[1]; + + info->offset[0] = 0; + info->offset[1] = GST_ROUND_UP_128 (info->stride[0] * GST_ROUND_UP_2 (height)); + info->offset[2] = info->offset[1] + GST_ROUND_UP_128 (info->stride[1] * GST_ROUND_UP_2 (height)); + + info->size = info->stride[0] * GST_ROUND_UP_2 (height) * 2; break; case GST_VIDEO_FORMAT_Y41B: info->stride[0] = GST_ROUND_UP_4 (width); @@ -835,6 +847,7 @@ break; case GST_VIDEO_FORMAT_NV12: case GST_VIDEO_FORMAT_NV21: + case GST_VIDEO_FORMAT_MT21: info->stride[0] = GST_ROUND_UP_4 (width); info->stride[1] = info->stride[0]; info->offset[0] = 0;