diff options
author | Paul Wilkins <paulwilkins@google.com> | 2011-11-21 11:02:08 +0000 |
---|---|---|
committer | Paul Wilkins <paulwilkins@google.com> | 2011-11-21 15:49:47 +0000 |
commit | 19d87e8ed7e7f9774b57aee9cfdf6528d00d0720 (patch) | |
tree | 06898a3260a209d0caa42a028a5972e0c800551f | |
parent | 4f792921e74cff85fd130cf482669846fcd809e5 (diff) | |
download | libvpx-19d87e8ed7e7f9774b57aee9cfdf6528d00d0720.tar libvpx-19d87e8ed7e7f9774b57aee9cfdf6528d00d0720.tar.gz libvpx-19d87e8ed7e7f9774b57aee9cfdf6528d00d0720.tar.bz2 libvpx-19d87e8ed7e7f9774b57aee9cfdf6528d00d0720.zip |
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
-rw-r--r-- | vp8/decoder/decodemv.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/vp8/decoder/decodemv.c b/vp8/decoder/decodemv.c index f7c0e9e64..dd7199dd9 100644 --- a/vp8/decoder/decodemv.c +++ b/vp8/decoder/decodemv.c @@ -78,6 +78,8 @@ static void vp8_kfread_modes(VP8D_COMP *pbi, MODE_INFO *m, int mb_row, int mb_co { 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 @@ static void vp8_kfread_modes(VP8D_COMP *pbi, MODE_INFO *m, int mb_row, int mb_co 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 && |