aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDustin Brody <libav@parsoma.net>2011-08-25 19:47:01 -0400
committerAnton Khirnov <anton@khirnov.net>2011-08-31 10:28:29 +0200
commita18e04bcf989a9d7f5629c573f9d70f8a020c7a7 (patch)
tree2dda01b053d2355d602993cca9b092d279764ac5
parent7485e547080baafdb61a8d0e7c50d8a1598bbcb6 (diff)
downloadffmpeg-a18e04bcf989a9d7f5629c573f9d70f8a020c7a7.tar.gz
mjpeg: treat external huffman table setup failure as codec init failure if external huffman table use requested
Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r--libavcodec/mjpegdec.c4
-rw-r--r--libavcodec/mxpegdec.c4
2 files changed, 3 insertions, 5 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index 81effb4f8c..b9db777fe1 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 92fd244ec7..fd3fef47a9 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,