OSDN Git Service

factorize mv_cache and mvd_cache init
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 16 Feb 2007 21:27:59 +0000 (21:27 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 16 Feb 2007 21:27:59 +0000 (21:27 +0000)
Originally committed as revision 7996 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/h264.c

index 8ae2752..7ec0e6c 100644 (file)
@@ -5299,21 +5299,19 @@ decode_intra_mb:
                         tprintf("final mv:%d %d\n", mx, my);
 
                         if(IS_SUB_8X8(sub_mb_type)){
-                            mv_cache[ 0 ][0]= mv_cache[ 1 ][0]=
+                            mv_cache[ 1 ][0]=
                             mv_cache[ 8 ][0]= mv_cache[ 9 ][0]= mx;
-                            mv_cache[ 0 ][1]= mv_cache[ 1 ][1]=
+                            mv_cache[ 1 ][1]=
                             mv_cache[ 8 ][1]= mv_cache[ 9 ][1]= my;
                         }else if(IS_SUB_8X4(sub_mb_type)){
-                            mv_cache[ 0 ][0]= mv_cache[ 1 ][0]= mx;
-                            mv_cache[ 0 ][1]= mv_cache[ 1 ][1]= my;
+                            mv_cache[ 1 ][0]= mx;
+                            mv_cache[ 1 ][1]= my;
                         }else if(IS_SUB_4X8(sub_mb_type)){
-                            mv_cache[ 0 ][0]= mv_cache[ 8 ][0]= mx;
-                            mv_cache[ 0 ][1]= mv_cache[ 8 ][1]= my;
-                        }else{
-                            assert(IS_SUB_4X4(sub_mb_type));
-                            mv_cache[ 0 ][0]= mx;
-                            mv_cache[ 0 ][1]= my;
+                            mv_cache[ 8 ][0]= mx;
+                            mv_cache[ 8 ][1]= my;
                         }
+                        mv_cache[ 0 ][0]= mx;
+                        mv_cache[ 0 ][1]= my;
                     }
                 }else{
                     uint32_t *p= (uint32_t *)&h->mv_cache[list][ scan8[4*i] ][0];
@@ -6434,35 +6432,33 @@ decode_intra_mb:
                         tprintf("final mv:%d %d\n", mx, my);
 
                         if(IS_SUB_8X8(sub_mb_type)){
-                            mv_cache[ 0 ][0]= mv_cache[ 1 ][0]=
+                            mv_cache[ 1 ][0]=
                             mv_cache[ 8 ][0]= mv_cache[ 9 ][0]= mx;
-                            mv_cache[ 0 ][1]= mv_cache[ 1 ][1]=
+                            mv_cache[ 1 ][1]=
                             mv_cache[ 8 ][1]= mv_cache[ 9 ][1]= my;
 
-                            mvd_cache[ 0 ][0]= mvd_cache[ 1 ][0]=
+                            mvd_cache[ 1 ][0]=
                             mvd_cache[ 8 ][0]= mvd_cache[ 9 ][0]= mx - mpx;
-                            mvd_cache[ 0 ][1]= mvd_cache[ 1 ][1]=
+                            mvd_cache[ 1 ][1]=
                             mvd_cache[ 8 ][1]= mvd_cache[ 9 ][1]= my - mpy;
                         }else if(IS_SUB_8X4(sub_mb_type)){
-                            mv_cache[ 0 ][0]= mv_cache[ 1 ][0]= mx;
-                            mv_cache[ 0 ][1]= mv_cache[ 1 ][1]= my;
+                            mv_cache[ 1 ][0]= mx;
+                            mv_cache[ 1 ][1]= my;
 
-                            mvd_cache[ 0 ][0]= mvd_cache[ 1 ][0]= mx- mpx;
-                            mvd_cache[ 0 ][1]= mvd_cache[ 1 ][1]= my - mpy;
+                            mvd_cache[ 1 ][0]= mx - mpx;
+                            mvd_cache[ 1 ][1]= my - mpy;
                         }else if(IS_SUB_4X8(sub_mb_type)){
-                            mv_cache[ 0 ][0]= mv_cache[ 8 ][0]= mx;
-                            mv_cache[ 0 ][1]= mv_cache[ 8 ][1]= my;
-
-                            mvd_cache[ 0 ][0]= mvd_cache[ 8 ][0]= mx - mpx;
-                            mvd_cache[ 0 ][1]= mvd_cache[ 8 ][1]= my - mpy;
-                        }else{
-                            assert(IS_SUB_4X4(sub_mb_type));
-                            mv_cache[ 0 ][0]= mx;
-                            mv_cache[ 0 ][1]= my;
+                            mv_cache[ 8 ][0]= mx;
+                            mv_cache[ 8 ][1]= my;
 
-                            mvd_cache[ 0 ][0]= mx - mpx;
-                            mvd_cache[ 0 ][1]= my - mpy;
+                            mvd_cache[ 8 ][0]= mx - mpx;
+                            mvd_cache[ 8 ][1]= my - mpy;
                         }
+                        mv_cache[ 0 ][0]= mx;
+                        mv_cache[ 0 ][1]= my;
+
+                        mvd_cache[ 0 ][0]= mx - mpx;
+                        mvd_cache[ 0 ][1]= my - mpy;
                     }
                 }else{
                     uint32_t *p= (uint32_t *)&h->mv_cache[list][ scan8[4*i] ][0];