1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

Reset cur_scan at more appropriate places.

Reset it when we actually process an EOI, not when we actually
decide to ignore it for bug-workarounds, and reset it on
SOF to make it more reliable in case of missing EOI.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
This commit is contained in:
Reimar Döffinger 2011-08-27 21:55:57 +02:00
parent d5d7de7671
commit 55a1fe7a80

View File

@ -219,6 +219,8 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
{ {
int len, nb_components, i, width, height, pix_fmt_id; int len, nb_components, i, width, height, pix_fmt_id;
s->cur_scan = 0;
/* XXX: verify len field validity */ /* XXX: verify len field validity */
len = get_bits(&s->gb, 16); len = get_bits(&s->gb, 16);
s->bits= get_bits(&s->gb, 8); s->bits= get_bits(&s->gb, 8);
@ -1484,10 +1486,10 @@ int ff_mjpeg_decode_frame(AVCodecContext *avctx,
return -1; return -1;
break; break;
case EOI: case EOI:
s->cur_scan = 0;
if ((s->buggy_avid && !s->interlaced) || s->restart_interval) if ((s->buggy_avid && !s->interlaced) || s->restart_interval)
break; break;
eoi_parser: eoi_parser:
s->cur_scan = 0;
if (!s->got_picture) { if (!s->got_picture) {
av_log(avctx, AV_LOG_WARNING, "Found EOI before any SOF, ignoring\n"); av_log(avctx, AV_LOG_WARNING, "Found EOI before any SOF, ignoring\n");
break; break;