From 013db649faa8f5f26b908a5f320cf9500671e676 Mon Sep 17 00:00:00 2001
From: Jingning Han <jingning@google.com>
Date: Wed, 9 Oct 2013 14:36:48 -0700
Subject: [PATCH] Fix intra dist model of skip_encode feature

The intra mode distortion adjustment for skip_encode feature was
broken in the refactoring cc91851. This commit fixes it and tunes
the distortion models used therein.

Change-Id: I0d676e82f8e855536a90cf9b3e3fdefafcd886c6
---
 vp9/encoder/vp9_rdopt.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index 89d367059f..22280aa7ca 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -565,9 +565,9 @@ static void dist_block(int plane, int block, TX_SIZE tx_size, void *arg) {
       xd->this_mi->mbmi.ref_frame[0] == INTRA_FRAME) {
     // TODO(jingning): tune the model to better capture the distortion.
     int64_t p = (pd->dequant[1] * pd->dequant[1] *
-                    (1 << ss_txfrm_size)) >> shift;
-    args->dist[block] = p;
-    args->sse[block]  = p;
+                    (1 << ss_txfrm_size)) >> (shift + 2);
+    args->dist[block] += (p >> 4);
+    args->sse[block]  += p;
   }
 }
 
-- 
GitLab