[FFmpeg-cvslog] Check AVCodec.pix_fmts in avcodec_open2()
Paul B Mahol
git at videolan.org
Sat Feb 11 01:35:45 CET 2012
ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Fri Feb 10 00:05:14 2012 +0000| [dcd2b55e1a7d1f88dc893c04cc86181fc7f11cc4] | committer: Justin Ruggles
Check AVCodec.pix_fmts in avcodec_open2()
Signed-off-by: Paul B Mahol <onemda at gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=dcd2b55e1a7d1f88dc893c04cc86181fc7f11cc4
---
libavcodec/utils.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index de3816b..e186319 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -758,6 +758,16 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, AVCodec *codec, AVD
goto free_and_end;
}
}
+ if (avctx->codec->pix_fmts) {
+ for (i = 0; avctx->codec->pix_fmts[i] != PIX_FMT_NONE; i++)
+ if (avctx->pix_fmt == avctx->codec->pix_fmts[i])
+ break;
+ if (avctx->codec->pix_fmts[i] == PIX_FMT_NONE) {
+ av_log(avctx, AV_LOG_ERROR, "Specified pix_fmt is not supported\n");
+ ret = AVERROR(EINVAL);
+ goto free_and_end;
+ }
+ }
if (avctx->codec->supported_samplerates) {
for (i = 0; avctx->codec->supported_samplerates[i] != 0; i++)
if (avctx->sample_rate == avctx->codec->supported_samplerates[i])
More information about the ffmpeg-cvslog
mailing list