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
This commit is contained in:
Yunqing Wang 2014-03-21 12:23:47 -07:00
parent d070aa5de0
commit 9b5df3fabe

View File

@ -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.