diff options
Diffstat (limited to 'vp9/decoder/vp9_decodframe.c')
-rw-r--r-- | vp9/decoder/vp9_decodframe.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/vp9/decoder/vp9_decodframe.c b/vp9/decoder/vp9_decodframe.c index 34ed0c759..2331bb591 100644 --- a/vp9/decoder/vp9_decodframe.c +++ b/vp9/decoder/vp9_decodframe.c @@ -935,6 +935,15 @@ void vp9_init_dequantizer(VP9_COMMON *cm) { } } +static void update_segmentation_map(VP9_COMMON *cm) { + int i, j; + + for (i = 0; i < cm->mi_rows; ++i) + for (j = 0; j < cm->mi_cols; ++j) + cm->last_frame_seg_map[i * cm->mi_cols + j] = + cm->mi_grid_visible[i * cm->mode_info_stride + j]->mbmi.segment_id; +} + int vp9_decode_frame(VP9D_COMP *pbi, const uint8_t **p_data_end) { int i; VP9_COMMON *const cm = &pbi->common; @@ -1014,5 +1023,7 @@ int vp9_decode_frame(VP9D_COMP *pbi, const uint8_t **p_data_end) { if (cm->refresh_frame_context) cm->frame_contexts[cm->frame_context_idx] = cm->fc; + update_segmentation_map(cm); + return 0; } |