From c66f612c4bf527401701b7b95e0d3886a660fd74 Mon Sep 17 00:00:00 2001
From: Tim Kopp <tkopp@google.com>
Date: Fri, 18 Jul 2014 14:15:30 -0700
Subject: [PATCH] VP9 denoiser fix: ref frames now updated properly

The ALT_REF_FRAME is now updated in the case of a KEY_FRAME in the VP9 denoiser.

Change-Id: Idf9a9772706f50e774fb240afcc01db38841043c
---
 vp9/encoder/vp9_denoiser.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/vp9/encoder/vp9_denoiser.c b/vp9/encoder/vp9_denoiser.c
index ca84a1b39c..90ea9cc256 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) {
-- 
GitLab