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
--
⑨