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
This commit is contained in:
Yaowu Xu 2015-08-03 10:46:12 -07:00
Родитель 91feec1452
Коммит 8f089cbd2e
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -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;
}