shithub: libvpx

Download patch

ref: 46218c9cb91ab19ab395e6ed1797f89e41d67730
parent: e84e868570dfb8acc531604bad05818041538710
parent: 1c27e1f127e9f6c775b71922eb85de1e11fc81d4
author: Paul Wilkins <[email protected]>
date: Thu Jun 26 05:41:40 EDT 2014

Merge "Fix quality regression for multi arf off case."

--- a/vp9/encoder/vp9_bitstream.c
+++ b/vp9/encoder/vp9_bitstream.c
@@ -904,7 +904,7 @@
              (cpi->refresh_golden_frame << cpi->alt_fb_idx);
     } else {
       int arf_idx = cpi->alt_fb_idx;
-      if (cpi->pass == 2) {
+      if ((cpi->pass == 2) && cpi->multi_arf_allowed) {
         const GF_GROUP *const gf_group = &cpi->twopass.gf_group;
         arf_idx = gf_group->arf_update_idx[gf_group->index];
       }
--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -1514,7 +1514,7 @@
   } else { /* For non key/golden frames */
     if (cpi->refresh_alt_ref_frame) {
       int arf_idx = cpi->alt_fb_idx;
-      if (cpi->pass == 2) {
+      if ((cpi->pass == 2) && cpi->multi_arf_allowed) {
         const GF_GROUP *const gf_group = &cpi->twopass.gf_group;
         arf_idx = gf_group->arf_update_idx[gf_group->index];
       }
@@ -2513,7 +2513,7 @@
       cm->show_frame = 1;
       cm->intra_only = 0;
 
-      // Check to see if the frame should be encoded is an arf overlay.
+      // Check to see if the frame should be encoded as an arf overlay.
       check_src_altref(cpi);
     }
   }