shithub: libvpx

Download patch

ref: ade43d9125f809a5f920445f47838c5de7b0127e
parent: ecc28cdaa3b216b18aee95645fb93dcc4eb7b107
author: Yaowu Xu <yaowu@google.com>
date: Fri Apr 20 05:14:26 EDT 2012

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

--- a/vp8/encoder/ratectrl.c
+++ b/vp8/encoder/ratectrl.c
@@ -254,14 +254,9 @@
     }
 #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_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)
     {