From cd309f31a0fca0ce19adab1d798284799a3cd498 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Wed, 5 Apr 2017 15:55:20 +1000 Subject: [PATCH] vp9dec: Add warnings for unsupported frame formats At least output an element warning on the bus when we encounter a frame format GStreamer doesn't currently support. --- ext/vpx/gstvp9dec.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/ext/vpx/gstvp9dec.c b/ext/vpx/gstvp9dec.c index cbd750b..066952e 100644 --- a/ext/vpx/gstvp9dec.c +++ b/ext/vpx/gstvp9dec.c @@ -148,6 +148,37 @@ gst_vp9_dec_get_valid_format (GstVPXDec * dec, vpx_image_t * img, *fmt = GST_VIDEO_FORMAT_Y444; return TRUE; + case VPX_IMG_FMT_I440: + /* Planar, half height, full width U/V */ + GST_FIXME_OBJECT (dec, "Please add a 4:4:0 planar frame format"); + GST_ELEMENT_WARNING (dec, STREAM, NOT_IMPLEMENTED, + (NULL), ("Unsupported frame format - 4:4:0 planar")); + return FALSE; + case VPX_IMG_FMT_I42016: + /* VPX_IMG_FMT_I420 | VPX_IMG_FMT_HIGHBITDEPTH */ + GST_FIXME_OBJECT (dec, "Please add 16-bit I420 format"); + GST_ELEMENT_WARNING (dec, STREAM, NOT_IMPLEMENTED, + (NULL), ("Unsupported frame format - 16-bit 4:2:0 planar")); + return FALSE; + case VPX_IMG_FMT_I42216: + /* VPX_IMG_FMT_I422 | VPX_IMG_FMT_HIGHBITDEPTH */ + 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; + case VPX_IMG_FMT_I44416: + /* VPX_IMG_FMT_I444 | VPX_IMG_FMT_HIGHBITDEPTH */ + GST_FIXME_OBJECT (dec, "Please add 16-bit Y444 format"); + GST_ELEMENT_WARNING (dec, STREAM, NOT_IMPLEMENTED, + (NULL), ("Unsupported frame format - 16-bit 4:4:4 planar")); + return FALSE; + case VPX_IMG_FMT_I44016: + /* VPX_IMG_FMT_I440 | VPX_IMG_FMT_HIGHBITDEPTH */ + GST_FIXME_OBJECT (dec, "Please add 16-bit 4:4:0 planar frame format"); + GST_ELEMENT_WARNING (dec, STREAM, NOT_IMPLEMENTED, + (NULL), ("Unsupported frame format - 16-bit 4:4:0 planar")); + return FALSE; + default: return FALSE; } -- 2.7.4