shithub: libvpx

Download patch

ref: 2e05341ab4990f11763fc97361395134822667ee
parent: 1231638d33a74e600368f8f683acb0b16a8f7219
author: Paul Wilkins <paulwilkins@google.com>
date: Thu Mar 20 11:16:35 EDT 2014

Fix bad speed settings interaction.

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

--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -3220,7 +3220,10 @@
   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;