]> granicus.if.org Git - libvpx/commitdiff
Refactor to use unified multiplier for partition search
authorJingning Han <jingning@google.com>
Thu, 28 Jun 2018 22:11:35 +0000 (15:11 -0700)
committerJingning Han <jingning@google.com>
Fri, 29 Jun 2018 14:58:47 +0000 (07:58 -0700)
Change-Id: I26ced25ff2e20ec414d5ecaa7d26f4a69175896c

vp9/encoder/vp9_encodeframe.c

index 9002a3463e0177a1094b0e05817fa14ee4047a27..34eaeb78366d4626067c69dcb7b1b0ba987134d7 100644 (file)
@@ -3540,6 +3540,8 @@ static void rd_pick_partition(VP9_COMP *cpi, ThreadData *td,
   int rate_breakout_thr = cpi->sf.partition_search_breakout_thr.rate;
   int must_split = 0;
 
+  int partition_mul = cpi->rd.RDMULT;
+
   (void)*tp_orig;
 
   assert(num_8x8_blocks_wide_lookup[bsize] ==
@@ -3670,7 +3672,7 @@ static void rd_pick_partition(VP9_COMP *cpi, ThreadData *td,
                      best_rdc.rdcost);
     if (this_rdc.rate != INT_MAX) {
       if (bsize >= BLOCK_8X8) {
-        this_rdc.rdcost += RDCOST(x->rdmult, x->rddiv,
+        this_rdc.rdcost += RDCOST(partition_mul, x->rddiv,
                                   cpi->partition_cost[pl][PARTITION_NONE], 0);
         this_rdc.rate += cpi->partition_cost[pl][PARTITION_NONE];
       }
@@ -3830,7 +3832,7 @@ static void rd_pick_partition(VP9_COMP *cpi, ThreadData *td,
     }
 
     if (((sum_rdc.rdcost < best_rdc.rdcost) || must_split) && i == 4) {
-      sum_rdc.rdcost += RDCOST(x->rdmult, x->rddiv,
+      sum_rdc.rdcost += RDCOST(partition_mul, x->rddiv,
                                cpi->partition_cost[pl][PARTITION_SPLIT], 0);
       sum_rdc.rate += cpi->partition_cost[pl][PARTITION_SPLIT];
 
@@ -3893,7 +3895,7 @@ static void rd_pick_partition(VP9_COMP *cpi, ThreadData *td,
     }
 
     if (sum_rdc.rdcost < best_rdc.rdcost) {
-      sum_rdc.rdcost += RDCOST(x->rdmult, x->rddiv,
+      sum_rdc.rdcost += RDCOST(partition_mul, x->rddiv,
                                cpi->partition_cost[pl][PARTITION_HORZ], 0);
       sum_rdc.rate += cpi->partition_cost[pl][PARTITION_HORZ];
       if (sum_rdc.rdcost < best_rdc.rdcost) {
@@ -3942,7 +3944,7 @@ static void rd_pick_partition(VP9_COMP *cpi, ThreadData *td,
     }
 
     if (sum_rdc.rdcost < best_rdc.rdcost) {
-      sum_rdc.rdcost += RDCOST(x->rdmult, x->rddiv,
+      sum_rdc.rdcost += RDCOST(partition_mul, x->rddiv,
                                cpi->partition_cost[pl][PARTITION_VERT], 0);
       sum_rdc.rate += cpi->partition_cost[pl][PARTITION_VERT];
       if (sum_rdc.rdcost < best_rdc.rdcost) {