From 5ba4b16c2df952a7e3a88e8dfb213f697f2bf121 Mon Sep 17 00:00:00 2001
From: Marco Paniconi <marpan@google.com>
Date: Thu, 19 Dec 2013 14:26:46 -0800
Subject: [PATCH] Initialize avg_frame_qindex to worst_allowed for 1 pass.

Change-Id: I535bde16c8fc4c2cd263bbbbaed46ead4c776090
---
 vp9/encoder/vp9_onyx_if.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c
index 3f813a1f65..1091b7d2d8 100644
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -1094,12 +1094,18 @@ static void init_config(VP9_PTR ptr, VP9_CONFIG *oxcf) {
   // Initialize active best and worst q and average q values.
   cpi->rc.active_worst_quality      = cpi->oxcf.worst_allowed_q;
 
-  cpi->rc.avg_frame_qindex[0]       = (cpi->oxcf.worst_allowed_q +
-                                       cpi->oxcf.best_allowed_q) / 2;
-  cpi->rc.avg_frame_qindex[1]       = (cpi->oxcf.worst_allowed_q +
-                                       cpi->oxcf.best_allowed_q) / 2;
-  cpi->rc.avg_frame_qindex[2]       = (cpi->oxcf.worst_allowed_q +
-                                       cpi->oxcf.best_allowed_q) / 2;
+  if (cpi->pass == 0 && cpi->oxcf.end_usage == USAGE_STREAM_FROM_SERVER) {
+    cpi->rc.avg_frame_qindex[0] = cpi->oxcf.worst_allowed_q;
+    cpi->rc.avg_frame_qindex[1] = cpi->oxcf.worst_allowed_q;
+    cpi->rc.avg_frame_qindex[2] = cpi->oxcf.worst_allowed_q;
+  } else {
+    cpi->rc.avg_frame_qindex[0] = (cpi->oxcf.worst_allowed_q +
+                                   cpi->oxcf.best_allowed_q) / 2;
+    cpi->rc.avg_frame_qindex[1] = (cpi->oxcf.worst_allowed_q +
+                                   cpi->oxcf.best_allowed_q) / 2;
+    cpi->rc.avg_frame_qindex[2] = (cpi->oxcf.worst_allowed_q +
+                                   cpi->oxcf.best_allowed_q) / 2;
+  }
   cpi->rc.last_q[0]                 = cpi->oxcf.best_allowed_q;
   cpi->rc.last_q[1]                 = cpi->oxcf.best_allowed_q;
   cpi->rc.last_q[2]                 = cpi->oxcf.best_allowed_q;
-- 
GitLab