Mercurial > libavcodec.hg
diff mpeg12.c @ 1389:da0b3a50d209 libavcodec
rate distortion mb decision support
fix decoding of old %16!=0 divx
fix assertion failure in motion_est.c
author | michaelni |
---|---|
date | Tue, 29 Jul 2003 02:09:12 +0000 |
parents | f07e17427140 |
children | f662e9c86cf2 |
line wrap: on
line diff
--- a/mpeg12.c Tue Jul 29 01:45:19 2003 +0000 +++ b/mpeg12.c Tue Jul 29 02:09:12 2003 +0000 @@ -1924,6 +1924,7 @@ s->resync_mb_x= s->mb_x; s->resync_mb_y= s->mb_y = start_code; s->mb_skip_run= 0; + ff_init_block_index(s); for(;;) { s->dsp.clear_blocks(s->block[0]); @@ -1959,8 +1960,12 @@ s->motion_val[xy + 1 + wrap][1] = motion_y; } + s->dest[0] += 16; + s->dest[1] += 8; + s->dest[2] += 8; + MPV_decode_mb(s, s->block); - + if (++s->mb_x >= s->mb_width) { if(s->avctx->codec_tag == ff_get_fourcc("VCR2")) exchange_uv((AVFrame*)s->current_picture_ptr); @@ -1983,6 +1988,8 @@ }else goto eos; } + + ff_init_block_index(s); } /* skip mb handling */