change to allow 8x8 transform always
authorYaowu Xu <yaowu@google.com>
Fri, 20 Apr 2012 16:14:26 +0000 (09:14 -0700)
committerYaowu Xu <yaowu@google.com>
Fri, 20 Apr 2012 16:17:59 +0000 (09:17 -0700)
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

index 9c7b019..f51fe6f 100644 (file)
@@ -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)
     {