diff options
author | Tim Kopp <tkopp@google.com> | 2014-06-11 16:12:21 -0700 |
---|---|---|
committer | Tim Kopp <tkopp@google.com> | 2014-06-18 14:18:09 -0700 |
commit | 2a72067301dd5e95e815a3d9789708315039a3b6 (patch) | |
tree | 32caf12d9c15296f804cb2ef8056ce35490dd8cb /vp9/encoder/vp9_denoiser.c | |
parent | 99d648b943b18b9a35c17d2c449df7408b18a1f3 (diff) | |
download | libvpx-2a72067301dd5e95e815a3d9789708315039a3b6.tar libvpx-2a72067301dd5e95e815a3d9789708315039a3b6.tar.gz libvpx-2a72067301dd5e95e815a3d9789708315039a3b6.tar.bz2 libvpx-2a72067301dd5e95e815a3d9789708315039a3b6.zip |
Implemented vp9_denoiser_{alloc,free}()
Change-Id: I79eba79f7c52eec19ef2356278597e06620d5e27
Diffstat (limited to 'vp9/encoder/vp9_denoiser.c')
-rw-r--r-- | vp9/encoder/vp9_denoiser.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_denoiser.c b/vp9/encoder/vp9_denoiser.c index 687b4c2b2..7e0a0924f 100644 --- a/vp9/encoder/vp9_denoiser.c +++ b/vp9/encoder/vp9_denoiser.c @@ -40,10 +40,36 @@ void vp9_denoiser_update_frame_stats() { int vp9_denoiser_alloc(VP9_DENOISER *denoiser, int width, int height, 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; } 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; } |