Separate rd_thresh adaption by ref_frame
authorYaowu Xu <yaowu@google.com>
Wed, 11 Mar 2015 02:06:52 +0000 (19:06 -0700)
committerYaowu Xu <yaowu@google.com>
Wed, 11 Mar 2015 02:06:52 +0000 (19:06 -0700)
Only update the rd_thresh factors for modes sharing same reference
frame. This helps overall compression of 6 and 7 by .13% and .19%
respectively without any noticeable speed difference.

Change-Id: Idb3a3879512c5d7d0880034516079949290690c5

vp9/encoder/vp9_pickmode.c

index dedec5f..6c2576a 100644 (file)
@@ -1052,6 +1052,7 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
         mode_idx[INTRA_FRAME][mbmi->mode];
     PREDICTION_MODE this_mode;
     for (ref_frame = LAST_FRAME; ref_frame <= GOLDEN_FRAME; ++ref_frame) {
+      if (best_ref_frame != ref_frame) continue;
       for (this_mode = NEARESTMV; this_mode <= NEWMV; ++this_mode) {
         THR_MODES thr_mode_idx = mode_idx[ref_frame][INTER_OFFSET(this_mode)];
         int *freq_fact = &tile_data->thresh_freq_fact[bsize][thr_mode_idx];