]> granicus.if.org Git - libvpx/commitdiff
Removing chessboard_index from SPEED_FEATURES.
authorDmitry Kovalev <dkovalev@google.com>
Fri, 6 Jun 2014 01:17:54 +0000 (18:17 -0700)
committerDmitry Kovalev <dkovalev@google.com>
Fri, 6 Jun 2014 01:17:54 +0000 (18:17 -0700)
This is not a speed feature, adding inline function instead.

Change-Id: Ia48c41802eec9e92cf990339d724097279695c9a

vp9/encoder/vp9_encodeframe.c
vp9/encoder/vp9_encoder.h
vp9/encoder/vp9_pickmode.c
vp9/encoder/vp9_speed_features.c
vp9/encoder/vp9_speed_features.h

index c1db8263ecdc865d2ebe0393001fa04fde449c13..f06ce4d943cddaa6141a63274618ed4a76a0fdcd 100644 (file)
@@ -1872,8 +1872,8 @@ static void auto_partition_range(VP9_COMP *cpi, const TileInfo *const tile,
   BLOCK_SIZE min_size = BLOCK_32X32;
   BLOCK_SIZE max_size = BLOCK_8X8;
   int bsl = mi_width_log2_lookup[BLOCK_64X64];
-  int search_range_ctrl = (((mi_row + mi_col) >> bsl) +
-                           cpi->sf.chessboard_index) & 0x01;
+  const int search_range_ctrl = (((mi_row + mi_col) >> bsl) +
+                                     get_chessboard_index(cm)) % 2;
   // Trap case where we do not have a prediction.
   if (search_range_ctrl &&
       (left_in_image || above_in_image || cm->frame_type != KEY_FRAME)) {
index c69a345d0ebb5f8c089081fb97230ca7020bfc02..7e82061195dd73e19e1d1f0c19518d84f8cf30d5 100644 (file)
@@ -630,6 +630,10 @@ static INLINE void set_ref_ptrs(VP9_COMMON *cm, MACROBLOCKD *xd,
                                                          : 0];
 }
 
+static INLINE int get_chessboard_index(const VP9_COMMON *cm) {
+  return cm->current_video_frame % 2;
+}
+
 #ifdef __cplusplus
 }  // extern "C"
 #endif
index 913b8ead4a240d8a4ccfecfa642940097df6e646..d76d601ffcd8556c88fc89a35949fba09efa386f 100644 (file)
@@ -220,8 +220,8 @@ int64_t vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
   int mode_idx[MB_MODE_COUNT] = {0};
   INTERP_FILTER filter_ref = SWITCHABLE;
   int bsl = mi_width_log2_lookup[bsize];
-  int pred_filter_search = (((mi_row + mi_col) >> bsl) +
-                            cpi->sf.chessboard_index) & 0x01;
+  const int pred_filter_search = (((mi_row + mi_col) >> bsl) +
+                                      get_chessboard_index(cm)) % 2;
 
   x->skip_encode = cpi->sf.skip_encode_frame && x->q_index < QIDX_SKIP_THRESH;
 
index b7f8397479b767d80110afdeb38b516dac725006..a00269c2131405defedbcbff85a44ca71a4da4c2 100644 (file)
@@ -261,7 +261,6 @@ static void set_rt_speed_feature(VP9_COMP *cpi, SPEED_FEATURES *sf,
     sf->use_nonrd_pick_mode = 1;
     sf->search_method = FAST_DIAMOND;
     sf->allow_skip_recode = 0;
-    sf->chessboard_index = cm->current_video_frame & 0x01;
   }
 
   if (speed >= 6) {
index 3e7cd27d8b8681605ee68d250fbbca04e0f56f63..546f326e41332dc1c60d6274cdb445a57244d673 100644 (file)
@@ -283,9 +283,6 @@ typedef struct SPEED_FEATURES {
   // encoding process for RTC.
   int partition_check;
 
-  // Chessboard pattern index
-  int chessboard_index;
-
   // Use finer quantizer in every other few frames that run variable block
   // partition type search.
   int force_frame_boost;