incorporate bzero() into WebPRescalerInit() instead of call site

Change-Id: I9ebb83e643e24bc685a1a1cb6836cb54e34a0ec8
This commit is contained in:
skal 2015-08-14 19:07:13 -07:00
parent 3ebcdd4133
commit c5f00621c7
4 changed files with 5 additions and 4 deletions

View File

@ -293,7 +293,7 @@ static int InitYUVRescaler(const VP8Io* const io, WebPDecParams* const p) {
if (has_alpha) { if (has_alpha) {
tmp_size += work_size * sizeof(*work); tmp_size += work_size * sizeof(*work);
} }
p->memory = WebPSafeCalloc(1ULL, tmp_size); p->memory = WebPSafeMalloc(1ULL, tmp_size);
if (p->memory == NULL) { if (p->memory == NULL) {
return 0; // memory error return 0; // memory error
} }
@ -465,7 +465,7 @@ static int InitRGBRescaler(const VP8Io* const io, WebPDecParams* const p) {
tmp_size2 += out_width; tmp_size2 += out_width;
} }
total_size = tmp_size1 * sizeof(*work) + tmp_size2 * sizeof(*tmp); total_size = tmp_size1 * sizeof(*work) + tmp_size2 * sizeof(*tmp);
p->memory = WebPSafeCalloc(1ULL, total_size); p->memory = WebPSafeMalloc(1ULL, total_size);
if (p->memory == NULL) { if (p->memory == NULL) {
return 0; // memory error return 0; // memory error
} }

View File

@ -426,7 +426,7 @@ static int AllocateAndInitRescaler(VP8LDecoder* const dec, VP8Io* const io) {
const uint64_t memory_size = sizeof(*dec->rescaler) + const uint64_t memory_size = sizeof(*dec->rescaler) +
work_size * sizeof(*work) + work_size * sizeof(*work) +
scaled_data_size * sizeof(*scaled_data); scaled_data_size * sizeof(*scaled_data);
uint8_t* memory = (uint8_t*)WebPSafeCalloc(memory_size, sizeof(*memory)); uint8_t* memory = (uint8_t*)WebPSafeMalloc(memory_size, sizeof(*memory));
if (memory == NULL) { if (memory == NULL) {
dec->status_ = VP8_STATUS_OUT_OF_MEMORY; dec->status_ = VP8_STATUS_OUT_OF_MEMORY;
return 0; return 0;

View File

@ -182,7 +182,6 @@ static void RescalePlane(const uint8_t* src,
WebPRescalerInit(&rescaler, src_width, src_height, WebPRescalerInit(&rescaler, src_width, src_height,
dst, dst_width, dst_height, dst_stride, dst, dst_width, dst_height, dst_stride,
num_channels, work); num_channels, work);
memset(work, 0, 2 * dst_width * num_channels * sizeof(*work));
while (y < src_height) { while (y < src_height) {
y += WebPRescalerImport(&rescaler, src_height - y, y += WebPRescalerImport(&rescaler, src_height - y,
src + y * src_stride, src_stride); src + y * src_stride, src_stride);

View File

@ -13,6 +13,7 @@
#include <assert.h> #include <assert.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h>
#include "../dsp/dsp.h" #include "../dsp/dsp.h"
#include "./rescaler.h" #include "./rescaler.h"
@ -46,6 +47,7 @@ void WebPRescalerInit(WebPRescaler* const wrk, int src_width, int src_height,
((int64_t)dst_height << WEBP_RESCALER_RFIX) / (wrk->x_add * src_height); ((int64_t)dst_height << WEBP_RESCALER_RFIX) / (wrk->x_add * src_height);
wrk->irow = work; wrk->irow = work;
wrk->frow = work + num_channels * dst_width; wrk->frow = work + num_channels * dst_width;
memset(work, 0, 2 * dst_width * num_channels * sizeof(*work));
WebPRescalerDspInit(); WebPRescalerDspInit();
} }