Implemented vp9_denoiser_{alloc,free}()

Change-Id: I79eba79f7c52eec19ef2356278597e06620d5e27
This commit is contained in:
Tim Kopp 2014-06-11 16:12:21 -07:00
Родитель 99d648b943
Коммит 2a72067301
1 изменённых файлов: 26 добавлений и 0 удалений

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

@ -40,10 +40,36 @@ void vp9_denoiser_update_frame_stats() {
int vp9_denoiser_alloc(VP9_DENOISER *denoiser, int width, int height, int vp9_denoiser_alloc(VP9_DENOISER *denoiser, int width, int height,
int border) { int border) {
assert(denoiser);
denoiser->running_avg_y.stride = width + 2 * border;
denoiser->running_avg_y.buf = calloc(
((2 * border) + width) * ((2 * border) + height), sizeof(uint8_t));
if (denoiser->running_avg_y.buf == NULL) {
vp9_denoiser_free(denoiser);
return 1;
}
denoiser->mc_running_avg_y.stride = width + 2 * border;
denoiser->mc_running_avg_y.buf = calloc(
((2 * border) + width) * ((2 * border) + height), sizeof(uint8_t));
if (denoiser->mc_running_avg_y.buf == NULL) {
vp9_denoiser_free(denoiser);
return 1;
}
return 0; return 0;
} }
void vp9_denoiser_free(VP9_DENOISER *denoiser) { void vp9_denoiser_free(VP9_DENOISER *denoiser) {
if (denoiser->running_avg_y.buf != NULL) {
free(denoiser->running_avg_y.buf);
}
if (denoiser->mc_running_avg_y.buf != NULL) {
free(denoiser->mc_running_avg_y.buf);
}
return; return;
} }