From d539c1db5a2db66bbc3d62bf7cc7e2e56bb8b5fb Mon Sep 17 00:00:00 2001 From: Marco Paniconi Date: Wed, 26 Sep 2012 15:42:36 -0700 Subject: [PATCH] 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 --- vp8/encoder/onyx_if.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 87092ef..1278b24 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -467,6 +467,7 @@ static void cyclic_background_refresh(VP8_COMP *cpi, int Q, int lf_adjustment) /* 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 @@ static void encode_frame_to_data_rate 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 -- 2.7.4