From: Jingning Han Date: Tue, 20 Aug 2013 17:33:42 +0000 (-0700) Subject: Enable zero coeff check in sub8x8 UV rd loop X-Git-Tag: v1.3.0~561^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1bf1428654d29e4debe269b424ea3d8d486c45df;p=libvpx Enable zero coeff check in sub8x8 UV rd loop 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 --- diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index 36a772200..ed6bfad38 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -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