changeset 3768:c540147303fa libavcodec

fix decoding of bastard1.rm (rv ver=0x10003001 ver0=0x8000000)
author michael
date Tue, 26 Sep 2006 20:24:13 +0000
parents 2eddcfa87eda
children cf04e15a72ac
files rv10.c
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/rv10.c	Tue Sep 26 18:31:43 2006 +0000
+++ b/rv10.c	Tue Sep 26 20:24:13 2006 +0000
@@ -594,7 +594,7 @@
                              uint8_t *buf, int buf_size)
 {
     MpegEncContext *s = avctx->priv_data;
-    int mb_count, mb_pos, left;
+    int mb_count, mb_pos, left, start_mb_x;
 
     init_get_bits(&s->gb, buf, buf_size*8);
     if(s->codec_id ==CODEC_ID_RV10)
@@ -639,8 +639,9 @@
         if(s->mb_y==0) s->first_slice_line=1;
     }else{
         s->first_slice_line=1;
+        s->resync_mb_x= s->mb_x;
     }
-    s->resync_mb_x= s->mb_x;
+    start_mb_x= s->mb_x;
     s->resync_mb_y= s->mb_y;
     if(s->h263_aic){
         s->y_dc_scale_table=
@@ -699,7 +700,7 @@
         if(ret == SLICE_END) break;
     }
 
-    ff_er_add_slice(s, s->resync_mb_x, s->resync_mb_y, s->mb_x-1, s->mb_y, AC_END|DC_END|MV_END);
+    ff_er_add_slice(s, start_mb_x, s->resync_mb_y, s->mb_x-1, s->mb_y, AC_END|DC_END|MV_END);
 
     return buf_size;
 }