shithub: libvpx

Download patch

ref: 5091302722b7189acda4110d2e17f0ab9f7437be
parent: c87bf0df917b556e913178607b7f14d49aaf1722
parent: adb8a160f98eae5b4955bb80d78352c27086ee2e
author: Paul Wilkins <paulwilkins@google.com>
date: Tue Oct 30 03:24:53 EDT 2012

Merge changes I23aa5547,I8341a19c into experimental

* changes:
  tokenize: make local symbols static; give exported symbols a vp9_ prefix.
  encodemb: make locally used functions static.

--- a/vp8/encoder/encodemb.c
+++ b/vp8/encoder/encodemb.c
@@ -267,9 +267,9 @@
   }\
 }
 
-void optimize_b(MACROBLOCK *mb, int i, PLANE_TYPE type,
-                ENTROPY_CONTEXT *a, ENTROPY_CONTEXT *l,
-                const VP8_ENCODER_RTCD *rtcd, int tx_size) {
+static void optimize_b(MACROBLOCK *mb, int i, PLANE_TYPE type,
+                       ENTROPY_CONTEXT *a, ENTROPY_CONTEXT *l,
+                       const VP8_ENCODER_RTCD *rtcd, int tx_size) {
   BLOCK *b;
   BLOCKD *d;
   vp8_token_state tokens[65][2];
@@ -689,14 +689,14 @@
   }
 }
 
-void optimize_mb_8x8(MACROBLOCK *x, const VP8_ENCODER_RTCD *rtcd) {
+static void optimize_mb_8x8(MACROBLOCK *x, const VP8_ENCODER_RTCD *rtcd) {
   vp8_optimize_mby_8x8(x, rtcd);
   vp8_optimize_mbuv_8x8(x, rtcd);
 }
 
-void optimize_b_16x16(MACROBLOCK *mb, int i, PLANE_TYPE type,
-                      ENTROPY_CONTEXT *a, ENTROPY_CONTEXT *l,
-                      const VP8_ENCODER_RTCD *rtcd) {
+static void optimize_b_16x16(MACROBLOCK *mb, int i, PLANE_TYPE type,
+                             ENTROPY_CONTEXT *a, ENTROPY_CONTEXT *l,
+                             const VP8_ENCODER_RTCD *rtcd) {
   BLOCK *b = &mb->block[i];
   BLOCKD *d = &mb->e_mbd.block[i];
   vp8_token_state tokens[257][2];
--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -738,7 +738,7 @@
   *Distortion = (d >> 2);
   // rate
   *Rate = vp8_rdcost_mby(mb);
-  *skippable = mby_is_skippable_4x4(&mb->e_mbd, 1);
+  *skippable = vp9_mby_is_skippable_4x4(&mb->e_mbd, 1);
 }
 
 static int vp8_rdcost_mby_8x8(MACROBLOCK *mb, int backup) {
@@ -802,7 +802,7 @@
   *Distortion = (d >> 2);
   // rate
   *Rate = vp8_rdcost_mby_8x8(mb, 1);
-  *skippable = mby_is_skippable_8x8(&mb->e_mbd, 1);
+  *skippable = vp9_mby_is_skippable_8x8(&mb->e_mbd, 1);
 }
 
 static int vp8_rdcost_mby_16x16(MACROBLOCK *mb) {
@@ -850,7 +850,7 @@
   *Distortion = (d >> 2);
   // rate
   *Rate = vp8_rdcost_mby_16x16(mb);
-  *skippable = mby_is_skippable_16x16(&mb->e_mbd);
+  *skippable = vp9_mby_is_skippable_16x16(&mb->e_mbd);
 }
 
 static void macro_block_yrd(VP8_COMP *cpi, MACROBLOCK *x, int *rate,
@@ -1024,7 +1024,7 @@
     xd->above_context = ta + x_idx;
     xd->left_context = tl + y_idx;
     r += vp8_rdcost_mby_8x8(x, 0);
-    skippable = skippable && mby_is_skippable_8x8(xd, 1);
+    skippable = skippable && vp9_mby_is_skippable_8x8(xd, 1);
   }
 
   *distortion = (d >> 2);
@@ -1618,7 +1618,7 @@
 
   *rate       = rd_cost_mbuv(x);
   *distortion = vp8_mbuverror(x) / 4;
-  *skip       = mbuv_is_skippable_4x4(&x->e_mbd);
+  *skip       = vp9_mbuv_is_skippable_4x4(&x->e_mbd);
 
   return RDCOST(x->rdmult, x->rddiv, *rate, *distortion);
 }
@@ -1683,7 +1683,7 @@
     xd->left_context = tl + y_idx;
     r += rd_cost_mbuv_8x8(x, 0);
     d += vp8_mbuverror(x) / 4;
-    skippable = skippable && mbuv_is_skippable_8x8(xd);
+    skippable = skippable && vp9_mbuv_is_skippable_8x8(xd);
   }
 
   *rate = r;
@@ -1708,7 +1708,7 @@
 
   *rate       = rd_cost_mbuv_8x8(x, 1);
   *distortion = vp8_mbuverror(x) / 4;
-  *skip       = mbuv_is_skippable_8x8(&x->e_mbd);
+  *skip       = vp9_mbuv_is_skippable_8x8(&x->e_mbd);
 
   return RDCOST(x->rdmult, x->rddiv, *rate, *distortion);
 }
@@ -1725,7 +1725,7 @@
 
   *rate       = rd_cost_mbuv(x);
   *distortion = vp8_mbuverror(x) / 4;
-  *skippable  = mbuv_is_skippable_4x4(&x->e_mbd);
+  *skippable  = vp9_mbuv_is_skippable_4x4(&x->e_mbd);
 
   return RDCOST(x->rdmult, x->rddiv, *rate, *distortion);
 }
@@ -1783,7 +1783,7 @@
       this_rd = RDCOST(x->rdmult, x->rddiv, rate, distortion);
 
       if (this_rd < best_rd) {
-        skip = mbuv_is_skippable_4x4(xd);
+        skip = vp9_mbuv_is_skippable_4x4(xd);
         best_rd = this_rd;
         d = distortion;
         r = rate;
@@ -1840,7 +1840,7 @@
     this_rd = RDCOST(x->rdmult, x->rddiv, rate, distortion);
 
     if (this_rd < best_rd) {
-      skip = mbuv_is_skippable_8x8(xd);
+      skip = vp9_mbuv_is_skippable_8x8(xd);
       best_rd = this_rd;
       d = distortion;
       r = rate;
@@ -1884,7 +1884,7 @@
                           dst_uv_stride);
     vp8_transform_mbuv_8x8(x);
     vp8_quantize_mbuv_8x8(x);
-    s &= mbuv_is_skippable_8x8(xd);
+    s &= vp9_mbuv_is_skippable_8x8(xd);
 
     d += vp8_mbuverror(x) >> 2;
     xd->above_context = ta + x_idx;
@@ -2745,8 +2745,8 @@
   *returndistortion = bsi.d;
   *returnyrate = bsi.segment_yrate;
   *skippable = bsi.txfm_size == TX_4X4 ?
-                    mby_is_skippable_4x4(&x->e_mbd, 0) :
-                    mby_is_skippable_8x8(&x->e_mbd, 0);
+                    vp9_mby_is_skippable_4x4(&x->e_mbd, 0) :
+                    vp9_mby_is_skippable_8x8(&x->e_mbd, 0);
 
   /* save partitions */
   mbmi->txfm_size = bsi.txfm_size;
--- a/vp8/encoder/tokenize.c
+++ b/vp8/encoder/tokenize.c
@@ -218,7 +218,7 @@
   *a = *l = (c != !type); /* 0 <-> all coeff data is zero */
 }
 
-int mby_is_skippable_4x4(MACROBLOCKD *xd, int has_y2_block) {
+int vp9_mby_is_skippable_4x4(MACROBLOCKD *xd, int has_y2_block) {
   int skip = 1;
   int i = 0;
 
@@ -233,7 +233,7 @@
   return skip;
 }
 
-int mbuv_is_skippable_4x4(MACROBLOCKD *xd) {
+int vp9_mbuv_is_skippable_4x4(MACROBLOCKD *xd) {
   int skip = 1;
   int i;
 
@@ -242,12 +242,12 @@
   return skip;
 }
 
-int mb_is_skippable_4x4(MACROBLOCKD *xd, int has_y2_block) {
-  return (mby_is_skippable_4x4(xd, has_y2_block) &
-          mbuv_is_skippable_4x4(xd));
+static int mb_is_skippable_4x4(MACROBLOCKD *xd, int has_y2_block) {
+  return (vp9_mby_is_skippable_4x4(xd, has_y2_block) &
+          vp9_mbuv_is_skippable_4x4(xd));
 }
 
-int mby_is_skippable_8x8(MACROBLOCKD *xd, int has_y2_block) {
+int vp9_mby_is_skippable_8x8(MACROBLOCKD *xd, int has_y2_block) {
   int skip = 1;
   int i = 0;
 
@@ -262,31 +262,28 @@
   return skip;
 }
 
-int mbuv_is_skippable_8x8(MACROBLOCKD *xd) {
+int vp9_mbuv_is_skippable_8x8(MACROBLOCKD *xd) {
   return (!xd->block[16].eob) & (!xd->block[20].eob);
 }
 
-int mb_is_skippable_8x8(MACROBLOCKD *xd, int has_y2_block) {
-  return (mby_is_skippable_8x8(xd, has_y2_block) &
-          mbuv_is_skippable_8x8(xd));
+static int mb_is_skippable_8x8(MACROBLOCKD *xd, int has_y2_block) {
+  return (vp9_mby_is_skippable_8x8(xd, has_y2_block) &
+          vp9_mbuv_is_skippable_8x8(xd));
 }
 
-int mb_is_skippable_8x8_4x4uv(MACROBLOCKD *xd, int has_y2_block) {
-  return (mby_is_skippable_8x8(xd, has_y2_block) &
-          mbuv_is_skippable_4x4(xd));
+static int mb_is_skippable_8x8_4x4uv(MACROBLOCKD *xd, int has_y2_block) {
+  return (vp9_mby_is_skippable_8x8(xd, has_y2_block) &
+          vp9_mbuv_is_skippable_4x4(xd));
 }
 
-int mby_is_skippable_16x16(MACROBLOCKD *xd) {
+int vp9_mby_is_skippable_16x16(MACROBLOCKD *xd) {
   int skip = 1;
-  //skip &= (xd->block[0].eob < 2); // I think this should be commented? No second order == DC must be coded
-  //skip &= (xd->block[0].eob < 1);
-  //skip &= (!xd->block[24].eob);
   skip &= !xd->block[0].eob;
   return skip;
 }
 
-int mb_is_skippable_16x16(MACROBLOCKD *xd) {
-  return (mby_is_skippable_16x16(xd) & mbuv_is_skippable_8x8(xd));
+static int mb_is_skippable_16x16(MACROBLOCKD *xd) {
+  return (vp9_mby_is_skippable_16x16(xd) & vp9_mbuv_is_skippable_8x8(xd));
 }
 
 void vp8_tokenize_mb(VP8_COMP *cpi,
--- a/vp8/encoder/tokenize.h
+++ b/vp8/encoder/tokenize.h
@@ -31,15 +31,11 @@
 
 int rd_cost_mby(MACROBLOCKD *);
 
-extern int mby_is_skippable_4x4(MACROBLOCKD *xd, int has_y2_block);
-extern int mbuv_is_skippable_4x4(MACROBLOCKD *xd);
-extern int mb_is_skippable_4x4(MACROBLOCKD *xd, int has_y2_block);
-extern int mby_is_skippable_8x8(MACROBLOCKD *xd, int has_y2_block);
-extern int mbuv_is_skippable_8x8(MACROBLOCKD *xd);
-extern int mb_is_skippable_8x8(MACROBLOCKD *xd, int has_y2_block);
-extern int mb_is_skippable_8x8_4x4uv(MACROBLOCKD *xd, int has_y2_block);
-extern int mb_is_skippable_16x16(MACROBLOCKD *xd);
-extern int mby_is_skippable_16x16(MACROBLOCKD *xd);
+extern int vp9_mby_is_skippable_4x4(MACROBLOCKD *xd, int has_y2_block);
+extern int vp9_mbuv_is_skippable_4x4(MACROBLOCKD *xd);
+extern int vp9_mby_is_skippable_8x8(MACROBLOCKD *xd, int has_y2_block);
+extern int vp9_mbuv_is_skippable_8x8(MACROBLOCKD *xd);
+extern int vp9_mby_is_skippable_16x16(MACROBLOCKD *xd);
 
 #ifdef ENTROPY_STATS
 void init_context_counters();