From ade43d9125f809a5f920445f47838c5de7b0127e Mon Sep 17 00:00:00 2001
From: Yaowu Xu <yaowu@google.com>
Date: Fri, 20 Apr 2012 09:14:26 -0700
Subject: [PATCH] change to allow 8x8 transform always

This commit changed to enable the usage 8x8 transform for all frame
type, all resolution and all quantizer range. This has an overall
benefit .2% to .3% in term of compression, but more importantly,
the difficult clips benefits much more, up to 2% to 3% on clips
like football, harbour and so on.

We observed some weird humps on very high end on a couple of youtube
clips, but have determined the underly cause was the aggressive zbin
having an effect of lowering rate with lower quality, which have
an impact on slide show clips around 60DB.

The commit does not change the association between prediction mode
and transform size.

Change-Id: I33043bdce6207528ae00b4a4b26d8ff63cfea1f4
---
 vp8/encoder/ratectrl.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/vp8/encoder/ratectrl.c b/vp8/encoder/ratectrl.c
index 9c7b019aa7..f51fe6fb21 100644
--- a/vp8/encoder/ratectrl.c
+++ b/vp8/encoder/ratectrl.c
@@ -254,14 +254,9 @@ void vp8_setup_key_frame(VP8_COMP *cpi)
     }
 #endif
 
-    cpi->common.txfm_mode = ONLY_4X4;
 
-    if( cpi->common.Width * cpi->common.Height > 640*360
-        && vp8_ac_yquant(cpi->common.base_qindex) > 171)
-        cpi->common.txfm_mode = ALLOW_8X8;
-    else
-        cpi->common.txfm_mode = ONLY_4X4;
 
+    cpi->common.txfm_mode = ALLOW_8X8;
 
     //cpi->common.filter_level = 0;      // Reset every key frame.
     cpi->common.filter_level = cpi->common.base_qindex * 3 / 8 ;
@@ -287,10 +282,7 @@ void vp8_setup_key_frame(VP8_COMP *cpi)
 void vp8_setup_inter_frame(VP8_COMP *cpi)
 {
 
-    if(cpi->common.Width * cpi->common.Height > 640*360)
-        cpi->common.txfm_mode = ALLOW_8X8;
-    else
-        cpi->common.txfm_mode = ONLY_4X4;
+    cpi->common.txfm_mode = ALLOW_8X8;
 
     if(cpi->common.refresh_alt_ref_frame)
     {
-- 
GitLab