shithub: libvpx

Download patch

ref: 51dac6d7745ad10c1e864f01819ecacd5c4677d9
parent: 0a6278b95a6bd1c166be124eb65e4ad80d61354b
parent: e376f1d5d4f1c3c39cb1f06cf17020300eac64ea
author: Johann Koenig <johannkoenig@google.com>
date: Fri Sep 21 18:36:53 EDT 2018

Merge "internal stats: fix mem leak and initialize memory"

--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -2236,9 +2236,11 @@
 
   if (cpi->b_calculate_consistency) {
     CHECK_MEM_ERROR(cm, cpi->ssim_vars,
-                    vpx_malloc(sizeof(*cpi->ssim_vars) * 4 *
-                               cpi->common.mi_rows * cpi->common.mi_cols));
+                    vpx_calloc(cpi->common.mi_rows * cpi->common.mi_cols,
+                               sizeof(*cpi->ssim_vars) * 4));
     cpi->worst_consistency = 100.0;
+  } else {
+    cpi->ssim_vars = NULL;
   }
 
 #endif
@@ -2466,6 +2468,10 @@
 
   if (!cpi) return;
 
+#if CONFIG_INTERNAL_STATS
+  vpx_free(cpi->ssim_vars);
+#endif
+
   cm = &cpi->common;
   if (cm->current_video_frame > 0) {
 #if CONFIG_INTERNAL_STATS
@@ -2537,7 +2543,6 @@
 
       fclose(f);
     }
-
 #endif
 
 #if 0