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 */