shithub: libvpx

Download patch

ref: 8f089cbd2ec3899127817c21f137b03844b2e519
parent: 91feec14529247b079421c83a8d15dca37e37773
author: Yaowu Xu <yaowu@google.com>
date: Mon Aug 3 06:46:12 EDT 2015

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

--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -1708,7 +1708,8 @@
   }
 
   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;
   }