]> granicus.if.org Git - libvpx/commitdiff
Fix bad speed settings interaction.
authorPaul Wilkins <paulwilkins@google.com>
Thu, 20 Mar 2014 15:16:35 +0000 (15:16 +0000)
committerPaul Wilkins <paulwilkins@google.com>
Fri, 21 Mar 2014 10:10:50 +0000 (10:10 +0000)
The flag x->skip_recode interacts badly with
the cpi->sf.use_nonrd_pick_mode and
cpi->sf.skip_encode_sb speed settings.

Restricting the use of the skip_decode flag when
these other speed choices are in use helps quality
for speeds 3 and 4 by a large amount with only a
small impact on speed.

Average improvmentes for 2 pass speed 4:
Derf +8.8%
Yt + 10.53%
Std-Hd +6.95%
yt-hd + 22.95%

Change-Id: I8010876d8012042a11077c92e69d813c3dfa58eb

vp9/encoder/vp9_encodeframe.c

index 070a12c24e86893923f6ef25c0e0261c5d001993..10eb93f582a33b7b363d01ab2a949ce94b69e4c5 100644 (file)
@@ -3220,7 +3220,10 @@ static void encode_superblock(VP9_COMP *cpi, TOKENEXTRA **t, int output_enabled,
   x->skip_recode = !x->select_txfm_size && mbmi->sb_type >= BLOCK_8X8 &&
                    (cpi->oxcf.aq_mode != COMPLEXITY_AQ &&
                     cpi->oxcf.aq_mode != CYCLIC_REFRESH_AQ) &&
-                   !cpi->sf.use_nonrd_pick_mode;
+                   !cpi->sf.use_nonrd_pick_mode &&
+                   !cpi->sf.use_uv_intra_rd_estimate &&
+                   !cpi->sf.skip_encode_sb;
+
   x->skip_optimize = ctx->is_coded;
   ctx->is_coded = 1;
   x->use_lp32x32fdct = cpi->sf.use_lp32x32fdct;