shithub: libvpx

Download patch

ref: 19d87e8ed7e7f9774b57aee9cfdf6528d00d0720
parent: 4f792921e74cff85fd130cf482669846fcd809e5
author: Paul Wilkins <paulwilkins@google.com>
date: Mon Nov 21 06:02:08 EST 2011

Decoder segmentation bug.

Fix decoder segmentation bug for temporal coding where the segment map
was first initialized on a key frame.

in vp8_kfread_modes() after reading the segment id it must be written to
the  pbi->segmentation_map[] for use in temporal coding on subsequent frames.

Change-Id: I1489305efc376564e734a216f69c2844646ee3d3

--- a/vp8/decoder/decodemv.c
+++ b/vp8/decoder/decodemv.c
@@ -78,7 +78,9 @@
 {
     vp8_reader *const bc = & pbi->bc;
     const int mis = pbi->common.mode_info_stride;
+    int map_index = mb_row * pbi->common.mb_cols + mb_col;
 
+
         {
             MB_PREDICTION_MODE y_mode;
 
@@ -88,7 +90,10 @@
             m->mbmi.segment_id = 0;
 
             if (pbi->mb.update_mb_segmentation_map)
+            {
                 vp8_read_mb_segid(bc, &m->mbmi, &pbi->mb);
+                pbi->segmentation_map[map_index] = m->mbmi.segment_id;
+            }
 
 //#if CONFIG_SEGFEATURES
             if ( pbi->common.mb_no_coeff_skip &&