summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorYaowu Xu <yaowu@google.com>2015-08-03 10:46:12 -0700
committerYaowu Xu <yaowu@google.com>2015-08-03 10:46:12 -0700
commit8f089cbd2ec3899127817c21f137b03844b2e519 (patch)
tree219a71fd413838fde6bc9b74bc9fb082c652496e /vp9/encoder
parent91feec14529247b079421c83a8d15dca37e37773 (diff)
downloadlibvpx-8f089cbd2ec3899127817c21f137b03844b2e519.tar
libvpx-8f089cbd2ec3899127817c21f137b03844b2e519.tar.gz
libvpx-8f089cbd2ec3899127817c21f137b03844b2e519.tar.bz2
libvpx-8f089cbd2ec3899127817c21f137b03844b2e519.zip
Correct the allocation size for ssim_vars
Ssim_vars is used to accumulate stats based 4x4 pixel blocks, this commit changes the allocations size to be based on mi_rows and mi_cols to avoid out-of-bound memory access for larger size videos. The hard coded 720x480 can only work for image size up to 2880x1920. Change-Id: Id9d07f3f777385b448ac88a6034b7472e4cf3c79
Diffstat (limited to 'vp9/encoder')
-rw-r--r--vp9/encoder/vp9_encoder.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c
index 53e747c26..4abf0ee2b 100644
--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -1708,7 +1708,8 @@ VP9_COMP *vp9_create_compressor(VP9EncoderConfig *oxcf,
}
if (cpi->b_calculate_consistency) {
- cpi->ssim_vars = vpx_malloc(sizeof(*cpi->ssim_vars)*720*480);
+ cpi->ssim_vars = vpx_malloc(sizeof(*cpi->ssim_vars) *
+ 4 * cpi->common.mi_rows * cpi->common.mi_cols);
cpi->worst_consistency = 100.0;
}