diff --git a/vp9/encoder/vp9_denoiser.c b/vp9/encoder/vp9_denoiser.c index ca84a1b39cd4ab0173a38664ff39a55f446db06a..90ea9cc256dd3b791215c83eda24f8c27f5d881d 100644 --- a/vp9/encoder/vp9_denoiser.c +++ b/vp9/encoder/vp9_denoiser.c @@ -345,10 +345,9 @@ void vp9_denoiser_update_frame_info(VP9_DENOISER *denoiser, int refresh_last_frame) { if (frame_type == KEY_FRAME) { int i; - copy_frame(denoiser->running_avg_y[LAST_FRAME], src); - for (i = 2; i < MAX_REF_FRAMES - 1; i++) { - copy_frame(denoiser->running_avg_y[i], - denoiser->running_avg_y[LAST_FRAME]); + // Start at 1 so as not to overwrite the INTRA_FRAME + for (i = 1; i < MAX_REF_FRAMES; ++i) { + copy_frame(denoiser->running_avg_y[i], src); } } else { /* For non key frames */ if (refresh_alt_ref_frame) {