GST_PAD_SRC,
GST_PAD_ALWAYS,
GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE
- ("{ I420, YV12, Y42B, Y444, GBR, I420_10LE }"))
+ ("{ I420, YV12, Y42B, Y444, GBR, I420_10LE, I422_10LE }"))
);
#define parent_class gst_vp9_dec_parent_class
GST_ELEMENT_WARNING (dec, STREAM, NOT_IMPLEMENTED,
(NULL), ("Unsupported frame format - 16-bit 4:2:0 planar"));
return FALSE;
-#ifdef VPX_IMG_FMT_I42216
case VPX_IMG_FMT_I42216:
/* VPX_IMG_FMT_I422 | VPX_IMG_FMT_HIGHBITDEPTH */
+ if (img->bit_depth == 10) {
+ *fmt = GST_VIDEO_FORMAT_I422_10LE;
+ return TRUE;
+ }
GST_FIXME_OBJECT (dec, "Please add 16-bit Y42B format");
GST_ELEMENT_WARNING (dec, STREAM, NOT_IMPLEMENTED,
(NULL), ("Unsupported frame format - 16-bit 4:2:2 planar"));
return FALSE;
-#endif
#ifdef VPX_IMG_FMT_I44416
case VPX_IMG_FMT_I44416:
/* VPX_IMG_FMT_I444 | VPX_IMG_FMT_HIGHBITDEPTH */
GST_PAD_SINK,
GST_PAD_ALWAYS,
/*GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("{ I420, YV12, Y42B, Y444 }")) */
- GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("{ I420, YV12, Y444, I420_10LE }"))
+ GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE
+ ("{ I420, YV12, Y444, I420_10LE, I422_10LE }"))
);
static GstStaticPadTemplate gst_vp9_enc_src_template =
image->bps = 15;
image->x_chroma_shift = image->y_chroma_shift = 1;
break;
+ case GST_VIDEO_FORMAT_I422_10LE:
+ image->fmt = VPX_IMG_FMT_I42216;
+ image->bps = 20;
+ image->x_chroma_shift = 1;
+ image->y_chroma_shift = 0;
+ break;
default:
g_assert_not_reached ();
break;