shithub: libvpx

Download patch

ref: 658daf36fa25ff89a4041d398b7a572898b23ead
parent: 003376fc8b6930ba65ee5a35f2f579fdc3307465
author: Paul Wilkins <paulwilkins@google.com>
date: Tue Apr 15 15:15:43 EDT 2014

Fix rate control bug.

Fix rate control bug whereby the rate factor heuristics
were being updated on arf overlays causing a rate surge
for a few frames followed by a corrective drop.

This fix eliminates many of the overshoot problems that
we were seeing on hard clips (even without applying
stricter vbr rate control) and also helps quality on
almost all clips with some hard clips improving by >5%.

Overall quality results measured at speed 2.
Derf  +1.78% opsnr , +2.44% SSIM
Stdhd +2.41% opsnr, +2.85% SSIM

Change-Id: I2369df6295c2705963fa6307877f6acb304bcc39

--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -308,6 +308,10 @@
 
   int projected_size_based_on_q = 0;
 
+  // Do not update the rate factors for arf overlay frames.
+  if (cpi->rc.is_src_frame_alt_ref)
+    return;
+
   // Clear down mmx registers to allow floating point in what follows
   vp9_clear_system_state();