]> granicus.if.org Git - libvpx/commitdiff
Adjust rd calculation in choose_tx_size_from_rd
authorhui su <huisu@google.com>
Tue, 22 Sep 2015 16:50:44 +0000 (09:50 -0700)
committerhui su <huisu@google.com>
Wed, 23 Sep 2015 16:13:55 +0000 (09:13 -0700)
Consider tha case in which skipping transform coefficients is more
efficient.

derflr +0.13%
hevclr +0.11%
hevcmr +0.14%
hevchr +0.22%

with ext-tx, the impact is -0.02%.

Change-Id: I0aa2965cf9e152396623c2fee62545bd3a3a7f07

vp10/encoder/rdopt.c

index 3c2a1cc7b23c12cc24ed5c2a26534416bf014d94..2c23af1d3904c78f40085fb86235d02bfcd14d47 100644 (file)
@@ -698,6 +698,9 @@ static void choose_tx_size_from_rd(VP10_COMP *cpi, MACROBLOCK *x,
       rd = RDCOST(x->rdmult, x->rddiv, r + s0, d);
     }
 
+    if (is_inter_block(mbmi) && !xd->lossless && !s)
+      rd = VPXMIN(rd, RDCOST(x->rdmult, x->rddiv, s1, sse));
+
     // Early termination in transform size search.
     if (cpi->sf.tx_size_search_breakout &&
         (rd== INT64_MAX ||