diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2016-02-28 18:10:23 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-05-01 05:00:44 +0200 |
commit | 4c6870695859611e05eaed3a3f44fe52956a3b08 (patch) | |
tree | 9e22b930dbcc592839d46091105212e2bf7a2c65 | |
parent | 0438cc2bc0eeb2371789b5b6a2878674778513a1 (diff) | |
download | ffmpeg-4c6870695859611e05eaed3a3f44fe52956a3b08.tar.gz |
avcodec/mjpegdec: Fix decoding slightly odd progressive jpeg
Fixes: ebd58db6-dc86-11e5-91c2-59daeddf50c7.jpg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c6f4720b8664e6e22eb5b3da6bb48ed5b113f746)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavcodec/mjpegdec.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index d77940f3ef..bc87c1ef0e 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -1357,12 +1357,10 @@ static int mjpeg_decode_scan_progressive_ac(MJpegDecodeContext *s, int ss, return AVERROR_INVALIDDATA; } - if (!Al) { - // s->coefs_finished is a bitmask for coefficients coded - // ss and se are parameters telling start and end coefficients - s->coefs_finished[c] |= (2ULL << se) - (1ULL << ss); - last_scan = !~s->coefs_finished[c]; - } + // s->coefs_finished is a bitmask for coefficients coded + // ss and se are parameters telling start and end coefficients + s->coefs_finished[c] |= (2ULL << se) - (1ULL << ss); + last_scan = !Al && !~s->coefs_finished[c]; if (s->interlaced && s->bottom_field) data += linesize >> 1; |