diff options
Diffstat (limited to 'libavformat/rtpdec_xiph.c')
-rw-r--r-- | libavformat/rtpdec_xiph.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libavformat/rtpdec_xiph.c b/libavformat/rtpdec_xiph.c index bcf583fd0a..5b75529c5e 100644 --- a/libavformat/rtpdec_xiph.c +++ b/libavformat/rtpdec_xiph.c @@ -293,7 +293,17 @@ static int xiph_parse_fmtp_pair(AVStream* stream, int result = 0; if (!strcmp(attr, "sampling")) { - return AVERROR_PATCHWELCOME; + if (!strcmp(value, "YCbCr-4:2:0")) { + codec->pix_fmt = PIX_FMT_YUV420P; + } else if (!strcmp(value, "YCbCr-4:4:2")) { + codec->pix_fmt = PIX_FMT_YUV422P; + } else if (!strcmp(value, "YCbCr-4:4:4")) { + codec->pix_fmt = PIX_FMT_YUV444P; + } else { + av_log(codec, AV_LOG_ERROR, + "Unsupported pixel format %s\n", attr); + return AVERROR_INVALIDDATA; + } } else if (!strcmp(attr, "width")) { /* This is an integer between 1 and 1048561 * and MUST be in multiples of 16. */ |