shithub: libvpx

Download patch

ref: 2b5baea8fdb7086dc5eb654cd8fb62bef0635793
parent: 6202ce5ada148f6a4de393d5f943b064669d5dff
parent: 4a79503b3e7819b66b928978d2d86ef1a38b5360
author: Paul Wilkins <paulwilkins@google.com>
date: Fri Dec 4 05:33:55 EST 2015

Merge "Fix bug when overlaying middle arfs in multi-arf groups."

--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -1257,8 +1257,12 @@
     rc->frames_since_golden = 0;
 
     // If we are not using alt ref in the up and coming group clear the arf
-    // active flag.
-    if (!rc->source_alt_ref_pending) {
+    // active flag. In multi arf group case, if the index is not 0 then
+    // we are overlaying a mid group arf so should not reset the flag.
+    if (cpi->oxcf.pass == 2) {
+      if (!rc->source_alt_ref_pending && (cpi->twopass.gf_group.index == 0))
+        rc->source_alt_ref_active = 0;
+    } else if (!rc->source_alt_ref_pending) {
       rc->source_alt_ref_active = 0;
     }