]> granicus.if.org Git - libvpx/commitdiff
Nonrd_pickmode: avoid computing UV cost when early_term is set.
authorMarco <marpan@google.com>
Fri, 3 Nov 2017 18:29:35 +0000 (11:29 -0700)
committerMarco <marpan@google.com>
Mon, 6 Nov 2017 18:22:14 +0000 (10:22 -0800)
For nonrd_pickmode: if early_term is set there should be
no need to include UV in rdcost (when color_sensitivity is set).

Neutral change on RTC and RTC_derf metrics, for speed >= 5.
No change for ytlive metrics.

Very small speed gain (~0.5%) on some clips with strong color content.

Change-Id: Ifc00928ecd935fc71e94935ceef0ae7481249f07

vp9/encoder/vp9_pickmode.c

index cc95a3409639ebce19f00ffd452cdce442d44613..22f9619ff92e95f620b7ee17d960cd77c5b4f72a 100644 (file)
@@ -2069,7 +2069,8 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data,
       this_rdc.rate += vp9_cost_bit(vp9_get_skip_prob(cm, xd), 1);
     }
 
-    if (x->color_sensitivity[0] || x->color_sensitivity[1]) {
+    if (!this_early_term &&
+        (x->color_sensitivity[0] || x->color_sensitivity[1])) {
       RD_COST rdc_uv;
       const BLOCK_SIZE uv_bsize = get_plane_block_size(bsize, &xd->plane[1]);
       if (x->color_sensitivity[0])