]> granicus.if.org Git - libvpx/commitdiff
Enable zero coeff check in sub8x8 UV rd loop
authorJingning Han <jingning@google.com>
Tue, 20 Aug 2013 17:33:42 +0000 (10:33 -0700)
committerJingning Han <jingning@google.com>
Tue, 20 Aug 2013 17:33:42 +0000 (10:33 -0700)
Check the minimum rate-distortion cost of regular quantization and
all zero coeffs cases in the sub8x8 inter prediction rd loop for
luma components. Use this as the cumulative rdcost sent to UV rd
estimation.

Change-Id: Ia4bc7700437d5e13d7cdad4cf9ae57ab036d3e97

vp9/encoder/vp9_rdopt.c

index 36a77220095715f50711a815686241807847ea00..ed6bfad381b2baf2046adf9c26f4922db990712c 100644 (file)
@@ -3598,7 +3598,9 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
       }
       compmode_cost = vp9_cost_bit(comp_mode_p, is_comp_pred);
 
-      tmp_best_rdu = best_rd - RDCOST(x->rdmult, x->rddiv, rate2, distortion2);
+      tmp_best_rdu = best_rd -
+          MIN(RDCOST(x->rdmult, x->rddiv, rate2, distortion2),
+              RDCOST(x->rdmult, x->rddiv, 0, total_sse));
 
       if (tmp_best_rdu > 0) {
         // If even the 'Y' rd value of split is higher than best so far