shithub: libvpx

Download patch

ref: d539c1db5a2db66bbc3d62bf7cc7e2e56bb8b5fb
parent: 3730963073d80bb360486266d262fe3dc33e98d4
author: Marco Paniconi <marpan@google.com>
date: Wed Sep 26 11:42:36 EDT 2012

Reset the cyclic_refresh_mode_index to 0 on resize.

On an internal spatial resize, this mode index was not reset to 0,
and therefore could exceed dimensions of seg_map or cyclic_refresh_map.

Change-Id: I6fe85dbd2765eb0207a9d9f71fda8d8b8c34f075

--- a/vp8/encoder/onyx_if.c
+++ b/vp8/encoder/onyx_if.c
@@ -467,6 +467,7 @@
         /* Cycle through the macro_block rows */
         /* MB loop to set local segmentation map */
         i = cpi->cyclic_refresh_mode_index;
+        assert(i < mbs_in_frame);
         do
         {
           /* If the MB is as a candidate for clean up then mark it for
@@ -3915,6 +3916,7 @@
               Q = vp8_regulate_q(cpi, cpi->this_frame_target);
               if (cpi->cyclic_refresh_mode_enabled)
               {
+                cpi->cyclic_refresh_mode_index = 0;
                 if (cpi->current_layer==0)
                   cyclic_background_refresh(cpi, Q, 0);
                 else