From: Marco Paniconi Date: Thu, 7 Aug 2014 20:53:50 +0000 (-0700) Subject: vp8: for spatial resize, reallocate denoiser in vp8_allocate_comp. X-Git-Tag: v1.4.0~1072^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=84ba62d35321f90326812793ab718c2402ab4f72;p=libvpx vp8: for spatial resize, reallocate denoiser in vp8_allocate_comp. Change-Id: I1827efe2126501a4a5637ee3ae85233d7526bc0e --- diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 91b9138bf..e93b65c0b 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; } }