shithub: libvpx

Download patch

ref: 4074099ed8c55e3194607e507019b06adc69e397
parent: 982dab605039e0fab89ed8e7df0184463bd9b5eb
author: Adrian Grange <agrange@google.com>
date: Wed Oct 29 05:09:46 EDT 2014

Simplify vp9_set_rd_speed_thresholds_sub8x8

Change-Id: I4bf0f9a38697f5aea564a47afd7f02bb8b2888b6

--- a/vp9/encoder/vp9_rd.c
+++ b/vp9/encoder/vp9_rd.c
@@ -594,21 +594,15 @@
   const SPEED_FEATURES *const sf = &cpi->sf;
   RD_OPT *const rd = &cpi->rd;
   int i;
+  static const int thresh_mult[2][MAX_REFS] =
+      {{2500, 2500, 2500, 4500, 4500, 2500},
+       {2000, 2000, 2000, 4000, 4000, 2000}};
 
-  for (i = 0; i < MAX_REFS; ++i)
-    rd->thresh_mult_sub8x8[i] = cpi->oxcf.mode == BEST ? -500 : 0;
-
-  rd->thresh_mult_sub8x8[THR_LAST] += 2500;
-  rd->thresh_mult_sub8x8[THR_GOLD] += 2500;
-  rd->thresh_mult_sub8x8[THR_ALTR] += 2500;
-  rd->thresh_mult_sub8x8[THR_INTRA] += 2500;
-  rd->thresh_mult_sub8x8[THR_COMP_LA] += 4500;
-  rd->thresh_mult_sub8x8[THR_COMP_GA] += 4500;
-
-  // Check for masked out split cases.
-  for (i = 0; i < MAX_REFS; ++i)
-    if (sf->disable_split_mask & (1 << i))
-      rd->thresh_mult_sub8x8[i] = INT_MAX;
+  for (i = 0; i < MAX_REFS; ++i) {
+    rd->thresh_mult_sub8x8[i] =
+        (sf->disable_split_mask & (1 << i)) ?
+            INT_MAX : thresh_mult[cpi->oxcf.mode == BEST][i];
+  }
 }
 
 int vp9_get_intra_cost_penalty(int qindex, int qdelta,