Index: source/libvpx/vp9/common/vp9_entropymode.c |
diff --git a/source/libvpx/vp9/common/vp9_entropymode.c b/source/libvpx/vp9/common/vp9_entropymode.c |
index 47e5164d721b7c7a1e4436ec7994cb27451d7916..7ba078b2b52457e1fc4e2615d7c171291a7e2845 100644 |
--- a/source/libvpx/vp9/common/vp9_entropymode.c |
+++ b/source/libvpx/vp9/common/vp9_entropymode.c |
@@ -428,9 +428,13 @@ void vp9_setup_past_independence(VP9_COMMON *cm) { |
int i; |
vp9_clearall_segfeatures(&cm->seg); |
cm->seg.abs_delta = SEGMENT_DELTADATA; |
- if (cm->last_frame_seg_map) |
+ |
+ if (cm->last_frame_seg_map && !cm->frame_parallel_decode) |
vpx_memset(cm->last_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols)); |
+ if (cm->current_frame_seg_map) |
+ vpx_memset(cm->current_frame_seg_map, 0, (cm->mi_rows * cm->mi_cols)); |
+ |
// Reset the mode ref deltas for loop filter |
vp9_zero(lf->last_ref_deltas); |
vp9_zero(lf->last_mode_deltas); |
@@ -455,7 +459,7 @@ void vp9_setup_past_independence(VP9_COMMON *cm) { |
} |
// prev_mip will only be allocated in encoder. |
- if (frame_is_intra_only(cm) && cm->prev_mip) |
+ if (frame_is_intra_only(cm) && cm->prev_mip && !cm->frame_parallel_decode) |
vpx_memset(cm->prev_mip, 0, cm->mi_stride * (cm->mi_rows + 1) * |
sizeof(*cm->prev_mip)); |