]> granicus.if.org Git - libvpx/commitdiff
Removed Q threshold in the usage of ADST
authorYaowu Xu <yaowu@google.com>
Tue, 14 May 2013 17:35:11 +0000 (10:35 -0700)
committerYaowu Xu <yaowu@google.com>
Thu, 16 May 2013 20:33:07 +0000 (13:33 -0700)
Test on cif set showed small but consistent compression gain for
almost all encodings with overall impact of .08%. The gains average
aournd .12% combined with D63 adst change.

Test encoding on std-hd set is ongoing..

Change-Id: If4d94799cf0486fb9c770b193e5c386d13d99d59

vp9/common/vp9_blockd.h

index b148b18cb8d9078acbe3bd736f779aa89f085a1c..6a3fbb160053bdac8de2954f077f45fade722825 100644 (file)
@@ -566,12 +566,6 @@ static BLOCK_SIZE_TYPE get_subsize(BLOCK_SIZE_TYPE bsize,
   return subsize;
 }
 
-#define ACTIVE_HT   110                // quantization stepsize threshold
-
-#define ACTIVE_HT8  300
-
-#define ACTIVE_HT16 300
-
 // convert MB_PREDICTION_MODE to B_PREDICTION_MODE
 static B_PREDICTION_MODE pred_mode_conv(MB_PREDICTION_MODE mode) {
   switch (mode) {
@@ -632,12 +626,10 @@ static TX_TYPE get_tx_type_4x4(const MACROBLOCKD *xd, int ib) {
 #endif
   if (xd->lossless)
     return DCT_DCT;
-  if (xd->mode_info_context->mbmi.mode == I4X4_PRED &&
-      xd->q_index < ACTIVE_HT) {
+  if (xd->mode_info_context->mbmi.mode == I4X4_PRED) {
     tx_type = txfm_map(
         xd->mode_info_context->bmi[ib].as_mode.first);
-  } else if (xd->mode_info_context->mbmi.mode <= TM_PRED &&
-             xd->q_index < ACTIVE_HT) {
+  } else if (xd->mode_info_context->mbmi.mode <= TM_PRED) {
 #if USE_ADST_FOR_I16X16_4X4
 #if USE_ADST_PERIPHERY_ONLY
     const int hmax = 1 << wb;
@@ -680,8 +672,7 @@ static TX_TYPE get_tx_type_8x8(const MACROBLOCKD *xd, int ib) {
 #endif
   if (ib >= (1 << (wb + hb)))  // no chroma adst
     return tx_type;
-  if (xd->mode_info_context->mbmi.mode <= TM_PRED &&
-      xd->q_index < ACTIVE_HT8) {
+  if (xd->mode_info_context->mbmi.mode <= TM_PRED) {
 #if USE_ADST_FOR_I16X16_8X8
 #if USE_ADST_PERIPHERY_ONLY
     const int hmax = 1 << wb;
@@ -722,8 +713,7 @@ static TX_TYPE get_tx_type_16x16(const MACROBLOCKD *xd, int ib) {
 #endif
   if (ib >= (1 << (wb + hb)))
     return tx_type;
-  if (xd->mode_info_context->mbmi.mode <= TM_PRED &&
-      xd->q_index < ACTIVE_HT16) {
+  if (xd->mode_info_context->mbmi.mode <= TM_PRED) {
     tx_type = txfm_map(pred_mode_conv(xd->mode_info_context->mbmi.mode));
 #if USE_ADST_PERIPHERY_ONLY
     if (sb_type > BLOCK_SIZE_MB16X16) {