From a2769bb73d005c9f94c07fef808fd2aee7d9b5a4 Mon Sep 17 00:00:00 2001
From: Paul Wilkins <paulwilkins@google.com>
Date: Sat, 19 Oct 2013 12:24:59 +0100
Subject: [PATCH] Reduced delta for kf/gf/arf when at maxq.

Delta reduced because of concern about popping on some
very hard clips.

Also allow some frame recode at speed 2 for kf/gf/arf.

Change-Id: Ib47dff42da41aa6eec83b7285fcaaca24abb851e
---
 vp9/encoder/vp9_onyx_if.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c
index 54b3d43920..ffd34c90aa 100644
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -826,6 +826,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) {
         sf->last_partitioning_redo_frequency = 3;
 
         sf->adaptive_rd_thresh = 2;
+        sf->recode_loop = 2;
         sf->mode_skip_start = 11;
         sf->intra_y_mode_mask[TX_32X32] = INTRA_DC_H_V;
         sf->intra_y_mode_mask[TX_16X16] = INTRA_DC_H_V;
@@ -2782,11 +2783,12 @@ static int pick_q_and_adjust_q_bounds(VP9_COMP *cpi,
 
   // Limit Q range for the adaptive loop.
   if (cm->frame_type == KEY_FRAME && !cpi->this_key_frame_forced) {
-    *top_index = cpi->active_best_quality;
+    *top_index =
+      (cpi->active_worst_quality + cpi->active_best_quality * 3) / 4;
   } else if (!cpi->is_src_frame_alt_ref &&
              (cpi->refresh_golden_frame || cpi->refresh_alt_ref_frame)) {
     *top_index =
-      (cpi->active_worst_quality + cpi->active_best_quality * 3) / 4;
+      (cpi->active_worst_quality + cpi->active_best_quality) / 2;
   } else {
     *top_index = cpi->active_worst_quality;
   }
-- 
GitLab