reset restart_count when restart_interval is set and fill the

MJpegDecodeContext with 0 on init.

Originally committed as revision 4464 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Reimar Döffinger 2005-07-22 08:48:00 +00:00
parent 276358c1c4
commit 4eecd5bc66

View File

@ -882,6 +882,7 @@ static int mjpeg_decode_init(AVCodecContext *avctx)
{
MJpegDecodeContext *s = avctx->priv_data;
MpegEncContext s2;
memset(s, 0, sizeof(MJpegDecodeContext));
s->avctx = avctx;
@ -1573,6 +1574,7 @@ static int mjpeg_decode_dri(MJpegDecodeContext *s)
if (get_bits(&s->gb, 16) != 4)
return -1;
s->restart_interval = get_bits(&s->gb, 16);
s->restart_count = 0;
dprintf("restart interval: %d\n", s->restart_interval);
return 0;
@ -1892,6 +1894,7 @@ static int mjpeg_decode_frame(AVCodecContext *avctx,
switch(start_code) {
case SOI:
s->restart_interval = 0;
s->restart_count = 0;
/* nothing to do on SOI */
break;
case DQT:
@ -2000,6 +2003,7 @@ static int mjpegb_decode_frame(AVCodecContext *avctx,
read_header:
/* reset on every SOI */
s->restart_interval = 0;
s->restart_count = 0;
s->mjpb_skiptosod = 0;
init_get_bits(&hgb, buf_ptr, /*buf_size*/(buf_end - buf_ptr)*8);