From: Paul Wilkins <paulwilkins@google.com>
Date: Mon, 15 Nov 2010 17:47:12 +0000 (+0000)
Subject: Bad cost tables used in ARNR filtering.
X-Git-Tag: v0.9.6~175^2
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=373f5c31443caafab5b21947ad8aa5ec50b0423d;p=libvpx

Bad cost tables used in ARNR filtering.

The use of incorrect mv costing tables in the ARNR sub-pel
filtering code led to corruption of the altref buffer in some cases,
particularly at low data rates.

The average gain from this fix is about 0.3% but there are a few
extreme cases where nasty and visible artifacts manifested and
for these few data points the improvement is > 10%.

PGW and AWG

Change-Id: I95cc02b196a433e71d0d2bd2b933fe68ed31e796
---

diff --git a/vp8/encoder/temporal_filter.c b/vp8/encoder/temporal_filter.c
index fd5dd7ede..abc50270c 100644
--- a/vp8/encoder/temporal_filter.c
+++ b/vp8/encoder/temporal_filter.c
@@ -292,7 +292,7 @@ static int find_matching_mb
         bestsme = cpi->find_fractional_mv_step(x, b, d,
                     &d->bmi.mv.as_mv, &best_ref_mv1,
                     x->errorperbit, &cpi->fn_ptr[BLOCK_16X16],
-                    cpi->mb.mvcost);
+                    mvcost);
     }
 #endif