From 2e05341ab4990f11763fc97361395134822667ee Mon Sep 17 00:00:00 2001 From: Paul Wilkins Date: Thu, 20 Mar 2014 15:16:35 +0000 Subject: [PATCH] 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 --- vp9/encoder/vp9_encodeframe.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 070a12c24..10eb93f58 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -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;