handle DRI/RST markers patch by Leon van Stuivenberg <leonvs at iae dot nl>
Originally committed as revision 826 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
committed by
Michael Niedermayer
parent
ce83897796
commit
d6afa9c671
@@ -1004,6 +1004,12 @@ static int mjpeg_decode_sos(MJpegDecodeContext *s,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (s->restart_interval && !--s->restart_count) {
|
||||||
|
align_get_bits(&s->gb);
|
||||||
|
skip_bits(&s->gb, 16); /* skip RSTn */
|
||||||
|
for (j=0; j<nb_components; j++) /* reset dc */
|
||||||
|
s->last_dc[j] = 1024;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ret = 0;
|
ret = 0;
|
||||||
@@ -1156,12 +1162,15 @@ static int find_marker(UINT8 **pbuf_ptr, UINT8 *buf_end,
|
|||||||
|
|
||||||
state = *header_state;
|
state = *header_state;
|
||||||
buf_ptr = *pbuf_ptr;
|
buf_ptr = *pbuf_ptr;
|
||||||
|
retry:
|
||||||
if (state) {
|
if (state) {
|
||||||
/* get marker */
|
/* get marker */
|
||||||
found:
|
found:
|
||||||
if (buf_ptr < buf_end) {
|
if (buf_ptr < buf_end) {
|
||||||
val = *buf_ptr++;
|
val = *buf_ptr++;
|
||||||
state = 0;
|
state = 0;
|
||||||
|
if ((val >= RST0) && (val <= RST7))
|
||||||
|
goto retry;
|
||||||
} else {
|
} else {
|
||||||
val = -1;
|
val = -1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user