From cef5bc0e6e2320d3903cf063d59cef83e91dbc3c Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Fri, 2 Sep 2016 17:10:57 +0200 Subject: lavc/mjpegdec: Do not skip reading quantization tables. They may contain 0xFFs, confusing the start code finding algorithm. Fixes ticket #5819. --- libavcodec/mjpegdec.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'libavcodec') diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 633a8f02c0..0645a1d2ac 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -2119,6 +2119,8 @@ int ff_mjpeg_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, ret = mjpeg_decode_com(s); if (ret < 0) return ret; + } else if (start_code == DQT) { + ff_mjpeg_decode_dqt(s); } ret = -1; @@ -2151,9 +2153,6 @@ int ff_mjpeg_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, s->restart_count = 0; /* nothing to do on SOI */ break; - case DQT: - ff_mjpeg_decode_dqt(s); - break; case DHT: if ((ret = ff_mjpeg_decode_dht(s)) < 0) { av_log(avctx, AV_LOG_ERROR, "huffman table decode error\n"); -- cgit v1.2.3