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:
parent
d5d7de7671
commit
55a1fe7a80
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user