Commit 66c6f7bf authored by hkuang's avatar hkuang
Browse files

Fix Issue #679: vp9 C loop filter produces valgrind warning.

Fix the valgrind error due to access uninitialized
memory in loopfilter.

Change-Id: I52fccf5ede845ee1f4c13d3bd909b8f220c0bdff
Showing with 13 additions and 3 deletions
...@@ -175,6 +175,11 @@ int vp9_realloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, ...@@ -175,6 +175,11 @@ int vp9_realloc_frame_buffer(YV12_BUFFER_CONFIG *ybf,
return -1; return -1;
} }
// This memset is needed for fixing valgrind error from C loop filter
// due to access uninitialized memory in frame border. It could be
// removed if border is totally removed.
vpx_memset(ext_fb->data, 0, ext_fb->size);
ybf->buffer_alloc = yv12_align_addr(ext_fb->data, 32); ybf->buffer_alloc = yv12_align_addr(ext_fb->data, 32);
} }
} else { } else {
...@@ -183,16 +188,21 @@ int vp9_realloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, ...@@ -183,16 +188,21 @@ int vp9_realloc_frame_buffer(YV12_BUFFER_CONFIG *ybf,
if (ybf->buffer_alloc) if (ybf->buffer_alloc)
vpx_free(ybf->buffer_alloc); vpx_free(ybf->buffer_alloc);
ybf->buffer_alloc = vpx_memalign(32, frame_size); ybf->buffer_alloc = vpx_memalign(32, frame_size);
if (!ybf->buffer_alloc)
return -1;
ybf->buffer_alloc_sz = frame_size; ybf->buffer_alloc_sz = frame_size;
// This memset is needed for fixing valgrind error from C loop filter
// due to access uninitialized memory in frame boarder. It could be
// removed if border is totally removed.
vpx_memset(ybf->buffer_alloc, 0, ybf->buffer_alloc_sz);
} }
if (ybf->buffer_alloc_sz < frame_size) if (ybf->buffer_alloc_sz < frame_size)
return -1; return -1;
} }
if (!ybf->buffer_alloc)
return -1;
/* Only support allocating buffers that have a border that's a multiple /* Only support allocating buffers that have a border that's a multiple
* of 32. The border restriction is required to get 16-byte alignment of * of 32. The border restriction is required to get 16-byte alignment of
* the start of the chroma rows without introducing an arbitrary gap * the start of the chroma rows without introducing an arbitrary gap
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment