shithub: libvpx

Download patch

ref: 22141d9d7999be8acef90e3aa3aef2db5efd8711
parent: e278673c8eae8993eaec30d50e0dd5b25cbacd4a
author: Jim Bankoski <jimbankoski@google.com>
date: Mon Sep 24 03:53:26 EDT 2012

disable segmentation on enhancement layers

This should avoid problems with blocks gettings high quality
improvement despite having recently moved:

Change-Id: Ic0af0de2d6577807fa3c553f47b55d547ef36359

--- a/vp8/encoder/onyx_if.c
+++ b/vp8/encoder/onyx_if.c
@@ -3777,8 +3777,13 @@
     /* Setup background Q adjustment for error resilient mode.
      * For multi-layer encodes only enable this for the base layer.
      */
-    if (cpi->cyclic_refresh_mode_enabled && (cpi->current_layer==0))
+    if (cpi->cyclic_refresh_mode_enabled)
+    {
+      if (cpi->current_layer==0)
         cyclic_background_refresh(cpi, Q, 0);
+      else
+        disable_segmentation(cpi);
+    }
 
     vp8_compute_frame_size_bounds(cpi, &frame_under_shoot_limit, &frame_over_shoot_limit);
 
@@ -3933,8 +3938,13 @@
                * and background refresh.
                */
               Q = vp8_regulate_q(cpi, cpi->this_frame_target);
-              if (cpi->cyclic_refresh_mode_enabled && (cpi->current_layer==0))
-                cyclic_background_refresh(cpi, Q, 0);
+              if (cpi->cyclic_refresh_mode_enabled)
+              {
+                if (cpi->current_layer==0)
+                  cyclic_background_refresh(cpi, Q, 0);
+                else
+                  disable_segmentation(cpi);
+              }
               vp8_set_quantizer(cpi, Q);
             }
 
--