mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-13 18:40:03 +01:00
lavc/mjpegdec: Do not skip reading quantization tables.
They may contain 0xFFs, confusing the start code finding algorithm. Fixes ticket #5819.
This commit is contained in:
@@ -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");
|
||||||
|
|||||||
Reference in New Issue
Block a user