Module: libav
Branch: master
Commit: dcd2b55e1a7d1f88dc893c04cc86181fc7f11cc4

Author:    Paul B Mahol <[email protected]>
Committer: Justin Ruggles <[email protected]>
Date:      Fri Feb 10 00:05:14 2012 +0000

Check AVCodec.pix_fmts in avcodec_open2()

Signed-off-by: Paul B Mahol <[email protected]>
Signed-off-by: Justin Ruggles <[email protected]>

---

 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])

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to