shithub: libvpx

Download patch

ref: 1fbc81a970f5b027386d17aba45e2bd4e3574593
parent: a0c11928dbefb30a76d5ec47514b8bc1f1cbbf9f
parent: a4c69e9a0f4e7d8a46433c4b6f1d0cca66328fd6
author: Yaowu Xu <yaowu@google.com>
date: Fri May 20 03:45:42 EDT 2011

Merge "revise two function definitions with less parameters"

--- a/vp8/encoder/encodeintra.c
+++ b/vp8/encoder/encodeintra.c
@@ -27,10 +27,16 @@
 #else
 #define IF_RTCD(x) NULL
 #endif
-void vp8_encode_intra4x4block(const VP8_ENCODER_RTCD *rtcd, MACROBLOCK *x, BLOCK *be, BLOCKD *b, int best_mode)
+
+
+void vp8_encode_intra4x4block(const VP8_ENCODER_RTCD *rtcd,
+                              MACROBLOCK *x, int ib)
 {
+    BLOCKD *b = &x->e_mbd.block[ib];
+    BLOCK *be = &x->block[ib];
+
     RECON_INVOKE(&rtcd->common->recon, intra4x4_predict)
-                 (b, best_mode, b->predictor);
+                (b, b->bmi.mode, b->predictor);
 
     ENCODEMB_INVOKE(&rtcd->encodemb, subb)(be, b, 16);
 
@@ -51,13 +57,7 @@
     vp8_intra_prediction_down_copy(x);
 
     for (i = 0; i < 16; i++)
-    {
-        BLOCK *be = &mb->block[i];
-        BLOCKD *b = &x->block[i];
-
-        vp8_encode_intra4x4block(rtcd, mb, be, b, b->bmi.mode);
-    }
-
+        vp8_encode_intra4x4block(rtcd, mb, i);
     return;
 }
 
--- a/vp8/encoder/encodeintra.h
+++ b/vp8/encoder/encodeintra.h
@@ -16,6 +16,6 @@
 void vp8_encode_intra16x16mby(const VP8_ENCODER_RTCD *, MACROBLOCK *x);
 void vp8_encode_intra16x16mbuv(const VP8_ENCODER_RTCD *, MACROBLOCK *x);
 void vp8_encode_intra4x4mby(const VP8_ENCODER_RTCD *, MACROBLOCK *mb);
-void vp8_encode_intra4x4block(const VP8_ENCODER_RTCD *, MACROBLOCK *x, BLOCK *be, BLOCKD *b, int best_mode);
-
+void vp8_encode_intra4x4block(const VP8_ENCODER_RTCD *rtcd,
+                              MACROBLOCK *x, int ib);
 #endif
--- a/vp8/encoder/firstpass.c
+++ b/vp8/encoder/firstpass.c
@@ -100,10 +100,8 @@
     {
         for (i = 0; i < 16; i++)
         {
-            BLOCKD *b = &x->e_mbd.block[i];
-            BLOCK  *be = &x->block[i];
-
-            vp8_encode_intra4x4block(IF_RTCD(&cpi->rtcd), x, be, b, B_DC_PRED);
+            x->e_mbd.block[i].bmi.mode = B_DC_PRED;
+            vp8_encode_intra4x4block(IF_RTCD(&cpi->rtcd), x, i);
         }
     }
 
--- a/vp8/encoder/pickinter.c
+++ b/vp8/encoder/pickinter.c
@@ -170,8 +170,7 @@
 static int pick_intra4x4block(
     const VP8_ENCODER_RTCD *rtcd,
     MACROBLOCK *x,
-    BLOCK *be,
-    BLOCKD *b,
+    int ib,
     B_PREDICTION_MODE *best_mode,
     B_PREDICTION_MODE above,
     B_PREDICTION_MODE left,
@@ -179,6 +178,9 @@
     int *bestrate,
     int *bestdistortion)
 {
+
+    BLOCKD *b = &x->e_mbd.block[ib];
+    BLOCK *be = &x->block[ib];
     B_PREDICTION_MODE mode;
     int best_rd = INT_MAX;       // 1<<30
     int rate;
@@ -214,8 +216,7 @@
     }
 
     b->bmi.mode = (B_PREDICTION_MODE)(*best_mode);
-    vp8_encode_intra4x4block(rtcd, x, be, b, b->bmi.mode);
-
+    vp8_encode_intra4x4block(rtcd, x, ib);
     return best_rd;
 }
 
@@ -245,8 +246,7 @@
         B_PREDICTION_MODE UNINITIALIZED_IS_SAFE(best_mode);
         int UNINITIALIZED_IS_SAFE(r), UNINITIALIZED_IS_SAFE(d);
 
-        pick_intra4x4block(rtcd, mb, mb->block + i, xd->block + i,
-                               &best_mode, A, L, &r, &d);
+        pick_intra4x4block(rtcd, mb, i, &best_mode, A, L, &r, &d);
 
         cost += r;
         distortion += d;