mjpeg: treat external huffman table setup failure as codec init failure if external...
authorDustin Brody <libav@parsoma.net>
Thu, 25 Aug 2011 23:47:01 +0000 (19:47 -0400)
committerAnton Khirnov <anton@khirnov.net>
Wed, 31 Aug 2011 08:28:29 +0000 (10:28 +0200)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
libavcodec/mjpegdec.c
libavcodec/mxpegdec.c

index 81effb4..b9db777 100644 (file)
@@ -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 &&
index 92fd244..fd3fef4 100644 (file)
@@ -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,