summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Kopp <tkopp@google.com>2014-07-18 14:15:30 -0700
committerTim Kopp <tkopp@google.com>2014-07-18 15:26:19 -0700
commitc66f612c4bf527401701b7b95e0d3886a660fd74 (patch)
treee3face5b70cc547a8f5e12f688a1bb1af47224a0
parent597ce31ff81e23129f5e76705634c4d5c9c72ef2 (diff)
downloadlibvpx-c66f612c4bf527401701b7b95e0d3886a660fd74.tar
libvpx-c66f612c4bf527401701b7b95e0d3886a660fd74.tar.gz
libvpx-c66f612c4bf527401701b7b95e0d3886a660fd74.tar.bz2
libvpx-c66f612c4bf527401701b7b95e0d3886a660fd74.zip
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
-rw-r--r--vp9/encoder/vp9_denoiser.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/vp9/encoder/vp9_denoiser.c b/vp9/encoder/vp9_denoiser.c
index ca84a1b39..90ea9cc25 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) {