Module: libav
Branch: master
Commit: a18e04bcf989a9d7f5629c573f9d70f8a020c7a7

Author:    Dustin Brody <[email protected]>
Committer: Anton Khirnov <[email protected]>
Date:      Thu Aug 25 19:47:01 2011 -0400

mjpeg: treat external huffman table setup failure as codec init failure if 
external huffman table use requested

Signed-off-by: Anton Khirnov <[email protected]>

---

 libavcodec/mjpegdec.c |    4 ++--
 libavcodec/mxpegdec.c |    4 +---
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index 81effb4..b9db777 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -101,8 +101,8 @@ av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx)
         av_log(avctx, AV_LOG_INFO, "mjpeg: using external huffman table\n");
         init_get_bits(&s->gb, avctx->extradata, avctx->extradata_size*8);
         if (ff_mjpeg_decode_dht(s)) {
-            av_log(avctx, AV_LOG_ERROR, "mjpeg: error using external huffman 
table, switching back to internal\n");
-            build_basic_mjpeg_vlc(s);
+            av_log(avctx, AV_LOG_ERROR, "mjpeg: error using external huffman 
table\n");
+            return AVERROR_INVALIDDATA;
         }
     }
     if (avctx->extradata_size > 9 &&
diff --git a/libavcodec/mxpegdec.c b/libavcodec/mxpegdec.c
index 92fd244..fd3fef4 100644
--- a/libavcodec/mxpegdec.c
+++ b/libavcodec/mxpegdec.c
@@ -47,9 +47,7 @@ static av_cold int mxpeg_decode_init(AVCodecContext *avctx)
 
     s->picture[0].reference = s->picture[1].reference = 3;
     s->jpg.picture_ptr      = &s->picture[0];
-    ff_mjpeg_decode_init(avctx);
-
-    return 0;
+    return ff_mjpeg_decode_init(avctx);
 }
 
 static int mxpeg_decode_app(MXpegDecodeContext *s,

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

Reply via email to