From 42c63263d1c0ea0948c11301fbbd2c28997487d5 Mon Sep 17 00:00:00 2001 From: Josh Allmann Date: Wed, 28 Jul 2010 06:43:58 +0000 Subject: [PATCH] rtpdec_xiph: Handle the sampling SDP parameter Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 24565 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/rtpdec_xiph.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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. */