From 84ba62d35321f90326812793ab718c2402ab4f72 Mon Sep 17 00:00:00 2001 From: Marco Paniconi Date: Thu, 7 Aug 2014 13:53:50 -0700 Subject: [PATCH] vp8: for spatial resize, reallocate denoiser in vp8_allocate_comp. Change-Id: I1827efe2126501a4a5637ee3ae85233d7526bc0e --- vp8/encoder/onyx_if.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 91b9138..e93b65c 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -1277,6 +1277,16 @@ void vp8_alloc_compressor_data(VP8_COMP *cpi) vpx_free(cpi->tplist); CHECK_MEM_ERROR(cpi->tplist, vpx_malloc(sizeof(TOKENLIST) * cm->mb_rows)); + +#if CONFIG_TEMPORAL_DENOISING + if (cpi->oxcf.noise_sensitivity > 0) { + vp8_denoiser_free(&cpi->denoiser); + vp8_denoiser_allocate(&cpi->denoiser, width, height, + cm->mb_rows, cm->mb_cols, + ((cpi->oxcf.noise_sensitivity == 3) ? + 1 : 0)); + } +#endif } @@ -2762,19 +2772,6 @@ static int resize_key_frame(VP8_COMP *cpi) cm->Height = new_height; vp8_alloc_compressor_data(cpi); scale_and_extend_source(cpi->un_scaled_source, cpi); -#if CONFIG_TEMPORAL_DENOISING - // TODO(marpan): denoiser_allocate() is not called in - // vp8_alloc_compressor_data() (currently denoiser_allocate is - // only called in change_config()). Check if we can move this call - // of denoiser_free/allocate into vp8_alloc_compressor_data(). - if (cpi->oxcf.noise_sensitivity > 0) { - vp8_denoiser_free(&cpi->denoiser); - vp8_denoiser_allocate(&cpi->denoiser, new_width, new_height, - cm->mb_rows, cm->mb_cols, - ((cpi->oxcf.noise_sensitivity == 3) ? - 1 : 0)); - } -#endif return 1; } } -- 2.7.4