vp8 bugfix: Reallocate denoiser when spatially resizing.

This is needed to update the width/height and stride parameters
for the reference buffers that the denoiser uses.

Change-Id: Id51b3bdcb56bbbc8187865544ccd3d872a0d51fe
This commit is contained in:
Marco Paniconi 2014-08-06 11:14:51 -07:00
parent 0fa4777b1c
commit 8450b41d4b

View File

@ -2762,6 +2762,19 @@ 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;
}
}