]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/rv10.c
rv10/obmc fixes
[ffmpeg] / libavcodec / rv10.c
index 3b63464653b2864540c873bc8343c83b5c4f20c5..06f2b4e7d0aa7e65917757510a4e6dbaf81c1834 100644 (file)
@@ -449,6 +449,12 @@ static int rv10_decode_init(AVCodecContext *avctx)
         s->h263_long_vectors=0;
         s->low_delay=1;
         break;
+    case 0x10002000:
+        s->rv10_version= 3;
+        s->h263_long_vectors=1;
+        s->low_delay=1;
+        s->obmc=1;
+        break;
     case 0x10003000:
         s->rv10_version= 3;
         s->h263_long_vectors=1;
@@ -586,13 +592,14 @@ static int rv10_decode_packet(AVCodecContext *avctx,
     s->block_wrap[5]= s->mb_width + 2;
     ff_init_block_index(s);
     /* decode each macroblock */
-    for(i=0;i<mb_count;i++) {
+
+    for(s->mb_num_left= mb_count; s->mb_num_left>0; s->mb_num_left--) {
         int ret;
         ff_update_block_index(s);
 #ifdef DEBUG
         printf("**mb x=%d y=%d\n", s->mb_x, s->mb_y);
 #endif
-        
+
        s->dsp.clear_blocks(s->block[0]);
         s->mv_dir = MV_DIR_FORWARD;
         s->mv_type = MV_TYPE_16X16;