aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mjpegdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-12-25 03:54:51 +0100
committerMichael Niedermayer <michaelni@gmx.at>2012-12-26 20:43:20 +0100
commit5ff8ca1f04e75ad6c1934f3818c01d1e9bda8456 (patch)
tree81d7163e86f1ffeb0963148a46a329b5425b59b0 /libavcodec/mjpegdec.c
parent47e7f57a4b142f02e6521ce2aec74ddee435fc3c (diff)
downloadffmpeg-5ff8ca1f04e75ad6c1934f3818c01d1e9bda8456.tar.gz
mjpegdec: Handle RSTn in progressive jpegs
Fixes Ticket2003 Reviewed-by: Alexander Strasser <eclipse7@gmx.net> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mjpegdec.c')
-rw-r--r--libavcodec/mjpegdec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index cf7dd8c4dd..2ad1e2d78b 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -1141,6 +1141,9 @@ static int mjpeg_decode_scan_progressive_ac(MJpegDecodeContext *s, int ss,
uint8_t *last_nnz = &s->last_nnz[c][block_idx];
for (mb_x = 0; mb_x < s->mb_width; mb_x++, block++, last_nnz++) {
int ret;
+ if (s->restart_interval && !s->restart_count)
+ s->restart_count = s->restart_interval;
+
if (Ah)
ret = decode_block_refinement(s, *block, last_nnz, s->ac_index[0],
quant_matrix, ss, se, Al, &EOBRUN);
@@ -1157,6 +1160,7 @@ static int mjpeg_decode_scan_progressive_ac(MJpegDecodeContext *s, int ss,
s->dsp.idct_put(ptr, linesize, *block);
ptr += 8 >> s->avctx->lowres;
}
+ handle_rstn(s, 0);
}
}
return 0;