Don't override active_worst_quality in 2 pass
authorJohn Koleszar <jkoleszar@google.com>
Fri, 6 May 2011 15:48:50 +0000 (11:48 -0400)
committerJohn Koleszar <jkoleszar@google.com>
Fri, 6 May 2011 15:48:53 +0000 (11:48 -0400)
Commit db5057c introduced a bug in that the active_worst_quality
selected by the 2 pass rate controller was being overridden for key
frames, causing a severe quality loss.

Change-Id: I4865a6fbe3e94e9b4fb9271c7dd68b455d7b371d

vp8/encoder/ratectrl.c

index d87591c..313e645 100644 (file)
@@ -416,7 +416,8 @@ static void calc_iframe_target_size(VP8_COMP *cpi)
 
     // TODO: if we separate rate targeting from Q targetting, move this.
     // Reset the active worst quality to the baseline value for key frames.
-    cpi->active_worst_quality = cpi->worst_quality;
+    if (cpi->pass != 2)
+        cpi->active_worst_quality = cpi->worst_quality;
 
 #if 0
     {