From 55a1fe7a803027ebb202f790c5b77b0e1de6af5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reimar=20D=C3=B6ffinger?= Date: Sat, 27 Aug 2011 21:55:57 +0200 Subject: [PATCH] Reset cur_scan at more appropriate places. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- libavcodec/mjpegdec.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index e3c1b38163..da0c5a959d 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -219,6 +219,8 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) { int len, nb_components, i, width, height, pix_fmt_id; + s->cur_scan = 0; + /* XXX: verify len field validity */ len = get_bits(&s->gb, 16); s->bits= get_bits(&s->gb, 8); @@ -1484,10 +1486,10 @@ int ff_mjpeg_decode_frame(AVCodecContext *avctx, return -1; break; case EOI: - s->cur_scan = 0; if ((s->buggy_avid && !s->interlaced) || s->restart_interval) break; eoi_parser: + s->cur_scan = 0; if (!s->got_picture) { av_log(avctx, AV_LOG_WARNING, "Found EOI before any SOF, ignoring\n"); break;