diff options
author | Yaowu Xu <yaowu@google.com> | 2015-08-03 10:46:12 -0700 |
---|---|---|
committer | Yaowu Xu <yaowu@google.com> | 2015-08-03 10:46:12 -0700 |
commit | 8f089cbd2ec3899127817c21f137b03844b2e519 (patch) | |
tree | 219a71fd413838fde6bc9b74bc9fb082c652496e /vp9/encoder | |
parent | 91feec14529247b079421c83a8d15dca37e37773 (diff) | |
download | libvpx-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.c | 3 |
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; } |