diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2016-09-02 17:10:57 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2016-09-03 15:35:12 +0200 |
commit | 17035c8d2eb38d1e1c6adf7962e75dbd45e6351e (patch) | |
tree | 66b5202e1cfc8d5ea37a62b55b30e39cd12bf40f /libavcodec/mjpegdec.c | |
parent | 426b959e37bd1e27f369b887a4d2e3771a88033f (diff) | |
download | ffmpeg-17035c8d2eb38d1e1c6adf7962e75dbd45e6351e.tar.gz |
lavc/mjpegdec: Do not skip reading quantization tables.
They may contain 0xFFs, confusing the start code finding algorithm.
Fixes ticket #5819.
(cherry picked from commit cef5bc0e6e2320d3903cf063d59cef83e91dbc3c)
Conflicts:
libavcodec/mjpegdec.c
Diffstat (limited to 'libavcodec/mjpegdec.c')
-rw-r--r-- | libavcodec/mjpegdec.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 4bde42f784..f002ccd866 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -2104,6 +2104,9 @@ int ff_mjpeg_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, /* Comment */ else if (start_code == COM) mjpeg_decode_com(s); + else if (start_code == DQT) { + ff_mjpeg_decode_dqt(s); + } ret = -1; @@ -2135,9 +2138,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"); |