From: Yunqing Wang Date: Fri, 21 Mar 2014 19:23:47 +0000 (-0700) Subject: Fix libvpx VP9 decoder dr memory errors X-Git-Tag: v1.4.0~2007^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9b5df3fabe6466594183a644473519162f16dc77;p=libvpx Fix libvpx VP9 decoder dr memory errors Fixed dr memory errors reported in Issue 736: https://code.google.com/p/webm/issues/detail?id=736 All elements in left_col buffer need to be initialized to ensure the correctness of SIMD operations in x86 optimized code. Change-Id: I8e7f26ab45cca8099c1f9342bcf852f828bda7e4 --- diff --git a/vp9/common/vp9_reconintra.c b/vp9/common/vp9_reconintra.c index 915c1c155..44951b54d 100644 --- a/vp9/common/vp9_reconintra.c +++ b/vp9/common/vp9_reconintra.c @@ -347,6 +347,8 @@ static void build_intra_predictors(const MACROBLOCKD *xd, const uint8_t *ref, x0 = (-xd->mb_to_left_edge >> (3 + pd->subsampling_x)) + x; y0 = (-xd->mb_to_top_edge >> (3 + pd->subsampling_y)) + y; + vpx_memset(left_col, 129, 64); + // left if (left_available) { if (xd->mb_to_bottom_edge < 0) { @@ -366,8 +368,6 @@ static void build_intra_predictors(const MACROBLOCKD *xd, const uint8_t *ref, for (i = 0; i < bs; ++i) left_col[i] = ref[i * ref_stride - 1]; } - } else { - vpx_memset(left_col, 129, bs); } // TODO(hkuang) do not extend 2*bs pixels for all modes.