From: Yaowu Xu Date: Fri, 20 Apr 2012 16:14:26 +0000 (-0700) Subject: change to allow 8x8 transform always X-Git-Tag: v1.3.0~1217^2~379^2~59 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ade43d9125f809a5f920445f47838c5de7b0127e;p=libvpx 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 --- diff --git a/vp8/encoder/ratectrl.c b/vp8/encoder/ratectrl.c index 9c7b019aa..f51fe6fb2 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) {