summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYunqing Wang <yunqingwang@google.com>2014-03-21 12:23:47 -0700
committerYunqing Wang <yunqingwang@google.com>2014-03-21 12:23:47 -0700
commit9b5df3fabe6466594183a644473519162f16dc77 (patch)
tree3e95a235e20c49211e4713bd1c3f8f123d3884cd
parentd070aa5de0c06827f68e2f1211138450f22292f0 (diff)
downloadlibvpx-9b5df3fabe6466594183a644473519162f16dc77.tar
libvpx-9b5df3fabe6466594183a644473519162f16dc77.tar.gz
libvpx-9b5df3fabe6466594183a644473519162f16dc77.tar.bz2
libvpx-9b5df3fabe6466594183a644473519162f16dc77.zip
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
-rw-r--r--vp9/common/vp9_reconintra.c4
1 files changed, 2 insertions, 2 deletions
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.