mirror of
https://github.com/webmproject/libwebp.git
synced 2024-12-27 14:18:21 +01:00
incorporate bzero() into WebPRescalerInit() instead of call site
Change-Id: I9ebb83e643e24bc685a1a1cb6836cb54e34a0ec8
This commit is contained in:
parent
3ebcdd4133
commit
c5f00621c7
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
@ -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();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user