shithub: libvpx

Download patch

ref: 1ab60f7bfb032418e3eb1097d1fbe1756b3183cb
parent: 8abd92f12ffe5a82ccacb6013cf9596bb52115b8
parent: 2952b7d1fb1cd57ef2a8e4d8f14ce34e79bae036
author: Jingning Han <[email protected]>
date: Fri Oct 4 05:04:11 EDT 2013

Merge "Remove redundant second_ref_frame check in sub8x8"

--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -4046,7 +4046,6 @@
       for (i = 0; i < TX_MODES; ++i)
         tx_cache[i] = tx_cache[ONLY_4X4];
     } else {
-      const int is_comp_pred = second_ref_frame > 0;
       int rate;
       int64_t distortion;
       int64_t this_rd_thresh;
@@ -4055,8 +4054,8 @@
       int64_t tmp_best_distortion = INT_MAX, tmp_best_sse, uv_sse;
       int tmp_best_skippable = 0;
       int switchable_filter_index;
-      int_mv *second_ref = is_comp_pred ?
-          &mbmi->ref_mvs[second_ref_frame][0] : NULL;
+      int_mv *second_ref = comp_pred ?
+                             &mbmi->ref_mvs[second_ref_frame][0] : NULL;
       b_mode_info tmp_best_bmodes[16];
       MB_MODE_INFO tmp_best_mbmode;
       PARTITION_INFO tmp_best_partition;
@@ -4063,15 +4062,6 @@
       BEST_SEG_INFO bsi[SWITCHABLE_FILTERS];
       int pred_exists = 0;
       int uv_skippable;
-      if (is_comp_pred) {
-        if (cpi->sf.mode_search_skip_flags & FLAG_SKIP_COMP_BESTINTRA)
-          if (vp9_ref_order[best_mode_index].ref_frame == INTRA_FRAME)
-            continue;
-        if (cpi->sf.mode_search_skip_flags & FLAG_SKIP_COMP_REFMISMATCH)
-          if (ref_frame != best_inter_ref_frame &&
-              second_ref_frame != best_inter_ref_frame)
-            continue;
-      }
 
       this_rd_thresh = (ref_frame == LAST_FRAME) ?
           cpi->rd_thresh_sub8x8[bsize][THR_LAST] :
@@ -4196,12 +4186,12 @@
         rate2 += get_switchable_rate(x);
 
       if (!mode_excluded) {
-        if (is_comp_pred)
+        if (comp_pred)
           mode_excluded = cpi->common.comp_pred_mode == SINGLE_PREDICTION_ONLY;
         else
           mode_excluded = cpi->common.comp_pred_mode == COMP_PREDICTION_ONLY;
       }
-      compmode_cost = vp9_cost_bit(comp_mode_p, is_comp_pred);
+      compmode_cost = vp9_cost_bit(comp_mode_p, comp_pred);
 
       tmp_best_rdu = best_rd -
           MIN(RDCOST(x->rdmult, x->rddiv, rate2, distortion2),