lavc/mjpegdec: Do not skip reading quantization tables.

They may contain 0xFFs, confusing the start code finding algorithm.

Fixes ticket #5819.
pull/230/head
Carl Eugen Hoyos 8 years ago
parent 39f75645c8
commit cef5bc0e6e
  1. 5
      libavcodec/mjpegdec.c

@ -2119,6 +2119,8 @@ int ff_mjpeg_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
ret = mjpeg_decode_com(s); ret = mjpeg_decode_com(s);
if (ret < 0) if (ret < 0)
return ret; return ret;
} else if (start_code == DQT) {
ff_mjpeg_decode_dqt(s);
} }
ret = -1; ret = -1;
@ -2151,9 +2153,6 @@ int ff_mjpeg_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
s->restart_count = 0; s->restart_count = 0;
/* nothing to do on SOI */ /* nothing to do on SOI */
break; break;
case DQT:
ff_mjpeg_decode_dqt(s);
break;
case DHT: case DHT:
if ((ret = ff_mjpeg_decode_dht(s)) < 0) { if ((ret = ff_mjpeg_decode_dht(s)) < 0) {
av_log(avctx, AV_LOG_ERROR, "huffman table decode error\n"); av_log(avctx, AV_LOG_ERROR, "huffman table decode error\n");

Loading…
Cancel
Save