diff mpegvideo.c @ 266:252444e5259b libavcodec

optimization
author michaelni
date Fri, 15 Mar 2002 14:57:17 +0000
parents 4e9e728021d8
children 09ae29b27ed9
line wrap: on
line diff
--- a/mpegvideo.c	Fri Mar 15 04:10:53 2002 +0000
+++ b/mpegvideo.c	Fri Mar 15 14:57:17 2002 +0000
@@ -1123,6 +1123,12 @@
     
     s->avg_mb_var = s->avg_mb_var / s->mb_num;        
     
+    s->block_wrap[0]=
+    s->block_wrap[1]=
+    s->block_wrap[2]=
+    s->block_wrap[3]= s->mb_width*2 + 2;
+    s->block_wrap[4]=
+    s->block_wrap[5]= s->mb_width + 2;
     for(mb_y=0; mb_y < s->mb_height; mb_y++) {
         /* Put GOB header based on RTP MTU */
         /* TODO: Put all this stuff in a separate generic function */
@@ -1138,10 +1144,22 @@
             }
         }
         
+        s->block_index[0]= s->block_wrap[0]*(mb_y*2 + 1) - 1;
+        s->block_index[1]= s->block_wrap[0]*(mb_y*2 + 1);
+        s->block_index[2]= s->block_wrap[0]*(mb_y*2 + 2) - 1;
+        s->block_index[3]= s->block_wrap[0]*(mb_y*2 + 2);
+        s->block_index[4]= s->block_wrap[4]*(mb_y + 1)                    + s->block_wrap[0]*(s->mb_height*2 + 2);
+        s->block_index[5]= s->block_wrap[4]*(mb_y + 1 + s->mb_height + 2) + s->block_wrap[0]*(s->mb_height*2 + 2);
         for(mb_x=0; mb_x < s->mb_width; mb_x++) {
 
             s->mb_x = mb_x;
             s->mb_y = mb_y;
+            s->block_index[0]+=2;
+            s->block_index[1]+=2;
+            s->block_index[2]+=2;
+            s->block_index[3]+=2;
+            s->block_index[4]++;
+            s->block_index[5]++;
 #if 0
             /* compute motion vector and macro block type (intra or non intra) */
             motion_x = 0;