ref: 737179f275cc4384f587af5f391de5968368c63a
parent: 47d545f1669f5fd9e6df7c36b9e3f8aee92fc5b8
author: Yaowu Xu <yaowu@google.com>
date: Fri Feb 17 07:03:34 EST 2012
Reduced bias in picking loop filter level The bias in picklpf intended to bias toward less greedy in getting best frame level psnr while maximize overall quality for a clip. This commit reduced the bias for frames using 8x8 transform to achieve better compression overall. The change improve compression by ~.15% consistently on most of the HD clips tested. http://www.corp.google.com/~yaowu/no_crawl/LPFBias_FixSkip.html Change-Id: Ic30932d2b8eaebd52339b0195f569edc48eed7bc
--- a/vp8/encoder/picklpf.c
+++ b/vp8/encoder/picklpf.c
@@ -354,6 +354,12 @@
if (cpi->twopass.section_intra_rating < 20)
Bias = Bias * cpi->twopass.section_intra_rating / 20;
+#if CONFIG_T8X8
+ // yx, bias less for large block size
+ if(cpi->common.txfm_mode == ALLOW_8X8)
+ Bias >>= 1;
+#endif
+
filt_high = ((filt_mid + filter_step) > max_filter_level) ? max_filter_level : (filt_mid + filter_step);
filt_low = ((filt_mid - filter_step) < min_filter_level) ? min_filter_level : (filt_mid - filter_step);
@@ -571,6 +577,12 @@
// jbb chg: 20100118 - in sections with lots of new material coming in don't bias as much to a low filter value
if (cpi->twopass.section_intra_rating < 20)
Bias = Bias * cpi->twopass.section_intra_rating / 20;
+
+#if CONFIG_T8X8
+ // yx, bias less for large block size
+ if(cpi->common.txfm_mode == ALLOW_8X8)
+ Bias >>= 1;
+#endif
filt_high = ((filt_mid + filter_step) > max_filter_level) ? max_filter_level : (filt_mid + filter_step);
filt_low = ((filt_mid - filter_step) < min_filter_level) ? min_filter_level : (filt_mid - filter_step);