From f909e43abc2cbb7bcb782246e7d3b640c9cf7536 Mon Sep 17 00:00:00 2001 From: Marco Paniconi Date: Mon, 21 Jul 2014 09:58:54 -0700 Subject: [PATCH] vp8 denoiser fix: Update denoised altref on key frame. On a key frame, the denoised-running_avg for all references frames should be updated with the source. The altref denoised-running_avg was not being updated on key frame, this fixes that. Change-Id: Ie02cd0ba5383e013af59240e6df7e185d11703f6 --- vp8/encoder/onyx_if.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 373dbebd9..f2eb2abd0 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -3232,17 +3232,9 @@ static void update_reference_frames(VP8_COMP *cpi) if (cm->frame_type == KEY_FRAME) { int i; - vp8_yv12_copy_frame( - cpi->Source, - &cpi->denoiser.yv12_running_avg[LAST_FRAME]); - - vp8_yv12_extend_frame_borders( - &cpi->denoiser.yv12_running_avg[LAST_FRAME]); - - for (i = 2; i < MAX_REF_FRAMES - 1; i++) - vp8_yv12_copy_frame( - &cpi->denoiser.yv12_running_avg[LAST_FRAME], - &cpi->denoiser.yv12_running_avg[i]); + for (i = LAST_FRAME; i < MAX_REF_FRAMES; ++i) + vp8_yv12_copy_frame(cpi->Source, + &cpi->denoiser.yv12_running_avg[i]); } else /* For non key frames */ {