diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-06-09 03:35:50 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-06-09 03:35:50 +0200 |
commit | 7b8ed831eb8432d202dad16dedc1758b018bb1fa (patch) | |
tree | 9e03801345a2a113b167c644332a468ef7ad5e1b /libavcodec | |
parent | c8d0d8bc767309d5e8d9ee64addc11117190338e (diff) | |
download | ffmpeg-7b8ed831eb8432d202dad16dedc1758b018bb1fa.tar.gz |
jpegdec: actually search for and parse RSTn
Fixes Ticket267
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/mjpegdec.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index afcc1b74a7..4e58feffad 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -881,9 +881,12 @@ static int mjpeg_decode_scan(MJpegDecodeContext *s, int nb_components, int Ah, i } } - if (s->restart_interval && !--s->restart_count) { + if (s->restart_interval && show_bits(&s->gb, 8) == 0xFF){/* skip RSTn */ + --s->restart_count; align_get_bits(&s->gb); - skip_bits(&s->gb, 16); /* skip RSTn */ + while(show_bits(&s->gb, 8) == 0xFF) + skip_bits(&s->gb, 8); + skip_bits(&s->gb, 8); for (i=0; i<nb_components; i++) /* reset dc */ s->last_dc[i] = 1024; } |