Remove CONFIG_EXPLICIT_ORDER_HINT

This tool is fully adopted.

Change-Id: I458aa202461f28ae6325e7080bf9c2490daf6fc7
diff --git a/av1/common/mvref_common.c b/av1/common/mvref_common.c
index b3ee94c..00e1120 100644
--- a/av1/common/mvref_common.c
+++ b/av1/common/mvref_common.c
@@ -406,11 +406,7 @@
     int cur_frame_index = cm->cur_frame->cur_frame_offset;
     int buf_idx_0 = cm->frame_refs[FWD_RF_OFFSET(rf[0])].idx;
     int frame0_index = cm->buffer_pool->frame_bufs[buf_idx_0].cur_frame_offset;
-#if CONFIG_EXPLICIT_ORDER_HINT
     int cur_offset_0 = get_relative_dist(cm, cur_frame_index, frame0_index);
-#else
-    int cur_offset_0 = cur_frame_index - frame0_index;
-#endif
     CANDIDATE_MV *ref_mv_stack = ref_mv_stacks[rf[0]];
 
     if (prev_frame_mvs->mfmv0.as_int != INVALID_MV) {
@@ -447,18 +443,10 @@
     int buf_idx_0 = cm->frame_refs[FWD_RF_OFFSET(rf[0])].idx;
     int frame0_index = cm->buffer_pool->frame_bufs[buf_idx_0].cur_frame_offset;
 
-#if CONFIG_EXPLICIT_ORDER_HINT
     int cur_offset_0 = get_relative_dist(cm, cur_frame_index, frame0_index);
-#else
-    int cur_offset_0 = cur_frame_index - frame0_index;
-#endif
     int buf_idx_1 = cm->frame_refs[FWD_RF_OFFSET(rf[1])].idx;
     int frame1_index = cm->buffer_pool->frame_bufs[buf_idx_1].cur_frame_offset;
-#if CONFIG_EXPLICIT_ORDER_HINT
     int cur_offset_1 = get_relative_dist(cm, cur_frame_index, frame1_index);
-#else
-    int cur_offset_1 = cur_frame_index - frame1_index;
-#endif
     CANDIDATE_MV *ref_mv_stack = ref_mv_stacks[ref_frame];
 
     if (prev_frame_mvs->mfmv0.as_int != INVALID_MV) {
@@ -1020,13 +1008,9 @@
       const int ref_frame_offset =
           cm->buffer_pool->frame_bufs[buf_idx].cur_frame_offset;
       cm->ref_frame_sign_bias[ref_frame] =
-#if CONFIG_EXPLICIT_ORDER_HINT
           (get_relative_dist(cm, ref_frame_offset, (int)cm->frame_offset) <= 0)
               ? 0
               : 1;
-#else
-          (ref_frame_offset <= (int)cm->frame_offset) ? 0 : 1;
-#endif
     } else {
       cm->ref_frame_sign_bias[ref_frame] = 0;
     }
@@ -1089,24 +1073,15 @@
   unsigned int *ref_rf_idx =
       &cm->buffer_pool->frame_bufs[ref_frame_idx].ref_frame_offset[0];
   int cur_frame_index = cm->cur_frame->cur_frame_offset;
-#if CONFIG_EXPLICIT_ORDER_HINT
   int ref_to_cur = get_relative_dist(cm, ref_frame_index, cur_frame_index);
-#else
-  int ref_to_cur = ref_frame_index - cur_frame_index;
-#endif
 
   for (MV_REFERENCE_FRAME rf = LAST_FRAME; rf <= INTER_REFS_PER_FRAME; ++rf) {
     int buf_idx = cm->frame_refs[FWD_RF_OFFSET(rf)].idx;
     if (buf_idx >= 0)
       cur_rf_index[rf] = cm->buffer_pool->frame_bufs[buf_idx].cur_frame_offset;
-#if CONFIG_EXPLICIT_ORDER_HINT
     cur_offset[rf] = get_relative_dist(cm, cur_frame_index, cur_rf_index[rf]);
     ref_offset[rf] =
         get_relative_dist(cm, ref_frame_index, ref_rf_idx[rf - LAST_FRAME]);
-#else
-    cur_offset[rf] = cur_frame_index - cur_rf_index[rf];
-    ref_offset[rf] = ref_frame_index - ref_rf_idx[rf - LAST_FRAME];
-#endif
   }
 
   if (dir == 1) {
@@ -1134,9 +1109,7 @@
         const int ref_frame_offset = ref_offset[mv_ref->ref_frame[dir & 0x01]];
 
         int pos_valid = abs(ref_frame_offset) <= MAX_FRAME_DISTANCE &&
-#if CONFIG_EXPLICIT_ORDER_HINT
                         ref_frame_offset > 0 &&
-#endif
                         abs(ref_to_cur) <= MAX_FRAME_DISTANCE;
 
         if (pos_valid) {
@@ -1189,11 +1162,7 @@
     ref_buf_idx[ref_idx] = buf_idx;
     ref_order_hint[ref_idx] = order_hint;
 
-#if CONFIG_EXPLICIT_ORDER_HINT
     if (get_relative_dist(cm, order_hint, cur_order_hint) > 0)
-#else
-    if (order_hint > cur_order_hint)
-#endif
       cm->ref_frame_side[ref_frame] = 1;
     else if (order_hint == cur_order_hint)
       cm->ref_frame_side[ref_frame] = -1;
@@ -1212,30 +1181,18 @@
     --ref_stamp;
   }
 
-#if CONFIG_EXPLICIT_ORDER_HINT
   if (get_relative_dist(cm, ref_order_hint[BWDREF_FRAME - LAST_FRAME],
                         cur_order_hint) > 0) {
-#else
-  if (ref_order_hint[BWDREF_FRAME - LAST_FRAME] > cur_order_hint) {
-#endif
     if (motion_field_projection(cm, BWDREF_FRAME, 0)) --ref_stamp;
   }
 
-#if CONFIG_EXPLICIT_ORDER_HINT
   if (get_relative_dist(cm, ref_order_hint[ALTREF2_FRAME - LAST_FRAME],
                         cur_order_hint) > 0) {
-#else
-  if (ref_order_hint[ALTREF2_FRAME - LAST_FRAME] > cur_order_hint) {
-#endif
     if (motion_field_projection(cm, ALTREF2_FRAME, 0)) --ref_stamp;
   }
 
-#if CONFIG_EXPLICIT_ORDER_HINT
   if (get_relative_dist(cm, ref_order_hint[ALTREF_FRAME - LAST_FRAME],
                         cur_order_hint) > 0 &&
-#else
-  if (ref_order_hint[ALTREF_FRAME - LAST_FRAME] > cur_order_hint &&
-#endif
       ref_stamp >= 0)
     if (motion_field_projection(cm, ALTREF_FRAME, 0)) --ref_stamp;
 
@@ -1464,7 +1421,6 @@
     if (buf_idx == INVALID_IDX) continue;
 
     const int ref_offset = frame_bufs[buf_idx].cur_frame_offset;
-#if CONFIG_EXPLICIT_ORDER_HINT
     if (get_relative_dist(cm, ref_offset, cur_frame_offset) < 0) {
       // Forward reference
       if (ref_frame_offset[0] == -1 ||
@@ -1480,21 +1436,6 @@
         ref_idx[1] = i;
       }
     }
-#else
-    if (ref_offset < cur_frame_offset) {
-      // Forward reference
-      if (ref_offset > ref_frame_offset[0]) {
-        ref_frame_offset[0] = ref_offset;
-        ref_idx[0] = i;
-      }
-    } else if (ref_offset > cur_frame_offset) {
-      // Backward reference
-      if (ref_offset < ref_frame_offset[1]) {
-        ref_frame_offset[1] = ref_offset;
-        ref_idx[1] = i;
-      }
-    }
-#endif
   }
 
   if (ref_idx[0] != INVALID_IDX && ref_idx[1] != INVALID_IDX) {
@@ -1511,15 +1452,10 @@
       if (buf_idx == INVALID_IDX) continue;
 
       const int ref_offset = frame_bufs[buf_idx].cur_frame_offset;
-#if CONFIG_EXPLICIT_ORDER_HINT
       if ((ref_frame_offset[0] != -1 &&
            get_relative_dist(cm, ref_offset, ref_frame_offset[0]) < 0) &&
           (ref_frame_offset[1] == -1 ||
            get_relative_dist(cm, ref_offset, ref_frame_offset[1]) > 0)) {
-#else
-      if (ref_offset < ref_frame_offset[0] &&
-          ref_offset > ref_frame_offset[1]) {
-#endif
         // Second closest forward reference
         ref_frame_offset[1] = ref_offset;
         ref_idx[1] = i;
@@ -1534,35 +1470,20 @@
 }
 
 typedef struct {
-  int map_idx;  // frame map index
-  int buf_idx;  // frame buffer index
-#if CONFIG_EXPLICIT_ORDER_HINT
+  int map_idx;   // frame map index
+  int buf_idx;   // frame buffer index
   int sort_idx;  // index based on the offset to be used for sorting
-#else
-  int offset;  // frame offset
-#endif  // CONFIG_EXPLICIT_ORDER_HINT
 } REF_FRAME_INFO;
 
 static int compare_ref_frame_info(const void *arg_a, const void *arg_b) {
   const REF_FRAME_INFO *info_a = (REF_FRAME_INFO *)arg_a;
   const REF_FRAME_INFO *info_b = (REF_FRAME_INFO *)arg_b;
 
-#if CONFIG_EXPLICIT_ORDER_HINT
   if (info_a->sort_idx < info_b->sort_idx) return -1;
   if (info_a->sort_idx > info_b->sort_idx) return 1;
   return (info_a->map_idx < info_b->map_idx)
              ? -1
              : ((info_a->map_idx > info_b->map_idx) ? 1 : 0);
-#else
-  if (info_a->offset < info_b->offset)
-    return -1;
-  else if (info_a->offset > info_b->offset)
-    return 1;
-
-  return (info_a->map_idx < info_b->map_idx)
-             ? -1
-             : ((info_a->map_idx > info_b->map_idx) ? 1 : 0);
-#endif
 }
 
 static void set_ref_frame_info(AV1_COMMON *const cm, int frame_idx,
@@ -1581,18 +1502,11 @@
   BufferPool *const pool = cm->buffer_pool;
   RefCntBuffer *const frame_bufs = pool->frame_bufs;
 
-#if CONFIG_EXPLICIT_ORDER_HINT
   int lst_frame_sort_idx = -1;
   int gld_frame_sort_idx = -1;
-#else
-  int lst_frame_offset = -1;
-  int gld_frame_offset = -1;
-#endif  // CONFIG_EXPLICIT_ORDER_HINT
 
   const int cur_frame_offset = (int)cm->frame_offset;
-#if CONFIG_EXPLICIT_ORDER_HINT
   const int cur_frame_sort_idx = 1 << cm->seq_params.order_hint_bits_minus1;
-#endif  // CONFIG_EXPLICIT_ORDER_HINT
 
   REF_FRAME_INFO ref_frame_info[REF_FRAMES];
   int ref_flag_list[INTER_REFS_PER_FRAME] = { 0, 0, 0, 0, 0, 0, 0 };
@@ -1601,11 +1515,7 @@
     const int map_idx = i;
 
     ref_frame_info[i].map_idx = map_idx;
-#if CONFIG_EXPLICIT_ORDER_HINT
     ref_frame_info[i].sort_idx = -1;
-#else
-    ref_frame_info[i].offset = -1;
-#endif
 
     const int buf_idx = cm->ref_frame_map[map_idx];
     ref_frame_info[i].buf_idx = buf_idx;
@@ -1615,7 +1525,6 @@
     if (frame_bufs[buf_idx].ref_count <= 0) continue;
 
     const int offset = (int)frame_bufs[buf_idx].cur_frame_offset;
-#if CONFIG_EXPLICIT_ORDER_HINT
     ref_frame_info[i].sort_idx =
         (offset == -1) ? -1
                        : cur_frame_sort_idx +
@@ -1624,29 +1533,15 @@
 
     if (map_idx == lst_map_idx) lst_frame_sort_idx = ref_frame_info[i].sort_idx;
     if (map_idx == gld_map_idx) gld_frame_sort_idx = ref_frame_info[i].sort_idx;
-#else   // CONFIG_EXPLICIT_ORDER_HINT
-    ref_frame_info[i].offset = offset;
-
-    if (map_idx == lst_map_idx) lst_frame_offset = offset;
-    if (map_idx == gld_map_idx) gld_frame_offset = offset;
-#endif  // CONFIG_EXPLICIT_ORDER_HINT
   }
 
-    // Confirm both LAST_FRAME and GOLDEN_FRAME are valid forward reference
-    // frames.
-#if CONFIG_EXPLICIT_ORDER_HINT
+  // Confirm both LAST_FRAME and GOLDEN_FRAME are valid forward reference
+  // frames.
   if (lst_frame_sort_idx == -1 || lst_frame_sort_idx >= cur_frame_sort_idx) {
-#else
-  if (lst_frame_offset < 0 || lst_frame_offset >= cur_frame_offset) {
-#endif
     aom_internal_error(&cm->error, AOM_CODEC_CORRUPT_FRAME,
                        "Inter frame requests a look-ahead frame as LAST");
   }
-#if CONFIG_EXPLICIT_ORDER_HINT
   if (gld_frame_sort_idx == -1 || gld_frame_sort_idx >= cur_frame_sort_idx) {
-#else
-  if (gld_frame_offset < 0 || gld_frame_offset >= cur_frame_offset) {
-#endif
     aom_internal_error(&cm->error, AOM_CODEC_CORRUPT_FRAME,
                        "Inter frame requests a look-ahead frame as GOLDEN");
   }
@@ -1661,20 +1556,12 @@
   int fwd_start_idx = 0, fwd_end_idx = REF_FRAMES - 1;
 
   for (int i = 0; i < REF_FRAMES; i++) {
-#if CONFIG_EXPLICIT_ORDER_HINT
     if (ref_frame_info[i].sort_idx == -1) {
-#else
-    if (ref_frame_info[i].offset == -1) {
-#endif
       fwd_start_idx++;
       continue;
     }
 
-#if CONFIG_EXPLICIT_ORDER_HINT
     if (ref_frame_info[i].sort_idx >= cur_frame_sort_idx) {
-#else
-    if (ref_frame_info[i].offset >= cur_frame_offset) {
-#endif
       fwd_end_idx = i - 1;
       break;
     }
diff --git a/av1/common/mvref_common.h b/av1/common/mvref_common.h
index 242ff5c..1b1f018 100644
--- a/av1/common/mvref_common.h
+++ b/av1/common/mvref_common.h
@@ -35,7 +35,6 @@
 // clamp_mv_ref
 #define MV_BORDER (16 << 3)  // Allow 16 pels in 1/8th pel units
 
-#if CONFIG_EXPLICIT_ORDER_HINT
 static INLINE int get_relative_dist(const AV1_COMMON *cm, int a, int b) {
   if (!cm->seq_params.enable_order_hint) return 0;
 
@@ -50,7 +49,6 @@
   diff = (diff & (m - 1)) - (diff & m);
   return diff;
 }
-#endif
 
 // Get the number of frames between the current frame and a reference frame
 static INLINE int get_ref_frame_dist(const AV1_COMMON *cm,
@@ -62,11 +60,7 @@
   if (ref_buf_idx == INVALID_IDX) return INT_MAX;
   const int ref_frame_offset =
       cm->buffer_pool->frame_bufs[ref_buf_idx].cur_frame_offset;
-#if CONFIG_EXPLICIT_ORDER_HINT
   return get_relative_dist(cm, cur_frame_offset, ref_frame_offset);
-#else
-  return cur_frame_offset - ref_frame_offset;
-#endif
 }
 
 static INLINE void clamp_mv_ref(MV *mv, int bw, int bh, const MACROBLOCKD *xd) {
@@ -260,11 +254,7 @@
 
     const int ref_offset =
         cm->buffer_pool->frame_bufs[buf_idx].cur_frame_offset;
-#if CONFIG_EXPLICIT_ORDER_HINT
     if (get_relative_dist(cm, ref_offset, (int)cm->frame_offset) > 0) {
-#else
-    if (ref_offset > (int)cm->frame_offset) {
-#endif
       one_sided_refs = 0;  // bwd reference
       break;
     }
diff --git a/av1/common/onyxc_int.h b/av1/common/onyxc_int.h
index 6b4347a..2623445 100644
--- a/av1/common/onyxc_int.h
+++ b/av1/common/onyxc_int.h
@@ -186,9 +186,7 @@
   BLOCK_SIZE sb_size;  // Size of the superblock used for this frame
   int mib_size;        // Size of the superblock in units of MI blocks
   int mib_size_log2;   // Log 2 of above.
-#if CONFIG_EXPLICIT_ORDER_HINT
   int order_hint_bits_minus1;
-#endif
   int force_screen_content_tools;  // 0 - force off
                                    // 1 - force on
                                    // 2 - adaptive
diff --git a/av1/common/pred_common.h b/av1/common/pred_common.h
index b8cf909..e15d8f4 100644
--- a/av1/common/pred_common.h
+++ b/av1/common/pred_common.h
@@ -13,9 +13,7 @@
 #define AV1_COMMON_PRED_COMMON_H_
 
 #include "av1/common/blockd.h"
-#if CONFIG_EXPLICIT_ORDER_HINT
 #include "av1/common/mvref_common.h"
-#endif
 #include "av1/common/onyxc_int.h"
 #include "aom_dsp/aom_dsp_common.h"
 
@@ -103,13 +101,8 @@
 
   if (fwd_idx >= 0)
     fwd_frame_index = cm->buffer_pool->frame_bufs[fwd_idx].cur_frame_offset;
-#if CONFIG_EXPLICIT_ORDER_HINT
   int fwd = abs(get_relative_dist(cm, fwd_frame_index, cur_frame_index));
   int bck = abs(get_relative_dist(cm, cur_frame_index, bck_frame_index));
-#else
-  int fwd = abs(fwd_frame_index - cur_frame_index);
-  int bck = abs(cur_frame_index - bck_frame_index);
-#endif
 
   const MODE_INFO *const above_mi = xd->above_mi;
   const MODE_INFO *const left_mi = xd->left_mi;
diff --git a/av1/common/reconinter.c b/av1/common/reconinter.c
index 359ed12..de180bd 100644
--- a/av1/common/reconinter.c
+++ b/av1/common/reconinter.c
@@ -21,9 +21,7 @@
 #include "aom_dsp/blend.h"
 
 #include "av1/common/blockd.h"
-#if CONFIG_EXPLICIT_ORDER_HINT
 #include "av1/common/mvref_common.h"
-#endif
 #include "av1/common/reconinter.h"
 #include "av1/common/reconintra.h"
 #include "av1/common/onyxc_int.h"
@@ -786,15 +784,10 @@
     fwd_frame_index = cm->buffer_pool->frame_bufs[fwd_idx].cur_frame_offset;
   }
 
-#if CONFIG_EXPLICIT_ORDER_HINT
   int d0 = clamp(abs(get_relative_dist(cm, fwd_frame_index, cur_frame_index)),
                  0, MAX_FRAME_DISTANCE);
   int d1 = clamp(abs(get_relative_dist(cm, cur_frame_index, bck_frame_index)),
                  0, MAX_FRAME_DISTANCE);
-#else
-  int d0 = clamp(abs(fwd_frame_index - cur_frame_index), 0, MAX_FRAME_DISTANCE);
-  int d1 = clamp(abs(cur_frame_index - bck_frame_index), 0, MAX_FRAME_DISTANCE);
-#endif
 
   const int order = d0 <= d1;
 
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index 0446a01..1f1f5bb 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -2315,10 +2315,8 @@
     seq_params->force_integer_mv = 2;
   }
 
-#if CONFIG_EXPLICIT_ORDER_HINT
   seq_params->order_hint_bits_minus1 =
       seq_params->enable_order_hint ? aom_rb_read_literal(rb, 3) : -1;
-#endif
   seq_params->enable_superres = aom_rb_read_bit(rb);
   seq_params->enable_cdef = aom_rb_read_bit(rb);
   seq_params->enable_restoration = aom_rb_read_bit(rb);
@@ -2441,33 +2439,6 @@
          REF_FRAMES * sizeof(WarpedMotionParams));
 }
 
-#if !CONFIG_EXPLICIT_ORDER_HINT
-
-// Copied from av1/encoder/random.h
-static INLINE unsigned int lcg_rand16(unsigned int *state) {
-  *state = (unsigned int)(*state * 1103515245ULL + 12345);
-  return *state / 65536 % 32768;
-}
-
-// Wrap around to make sure current_video_frame won't surpass a limit
-// Such that distance computation could remain correct
-static void wrap_around_current_video_frame(AV1Decoder *pbi) {
-  AV1_COMMON *const cm = &pbi->common;
-
-  if (cm->current_video_frame >= FRAME_NUM_LIMIT) {
-    // Wrap to a random number in range (MAX_FRAME_DISTANCE, 32768)
-    static unsigned int seed = 54321;
-    int new_frame_offset = lcg_rand16(&seed);
-    new_frame_offset += (MAX_FRAME_DISTANCE + 1);
-
-    // Wrap around for current frame
-    cm->current_video_frame = new_frame_offset;
-    cm->frame_offset = new_frame_offset;
-    cm->cur_frame->cur_frame_offset = cm->frame_offset;
-  }
-}
-#endif
-
 static void show_existing_frame_reset(AV1Decoder *const pbi,
                                       int existing_frame_idx) {
   AV1_COMMON *const cm = &pbi->common;
@@ -2476,13 +2447,7 @@
 
   assert(cm->show_existing_frame);
 
-#if !CONFIG_EXPLICIT_ORDER_HINT
-  wrap_around_current_video_frame(pbi);
-#endif
   cm->frame_type = KEY_FRAME;
-#if !CONFIG_EXPLICIT_ORDER_HINT
-  cm->frame_offset = cm->current_video_frame;
-#endif
 
   pbi->refresh_frame_flags = (1 << REF_FRAMES) - 1;
 
@@ -2687,27 +2652,15 @@
   cm->frame_refs_short_signaling = 0;
   cm->primary_ref_frame = PRIMARY_REF_NONE;
 
-#if CONFIG_EXPLICIT_ORDER_HINT
   cm->frame_offset =
       aom_rb_read_literal(rb, cm->seq_params.order_hint_bits_minus1 + 1);
   cm->current_video_frame = cm->frame_offset;
-#else
-  if (cm->show_frame == 0) {
-    cm->frame_offset =
-        cm->current_video_frame + aom_rb_read_literal(rb, FRAME_OFFSET_BITS);
-  } else {
-    cm->frame_offset = cm->current_video_frame;
-  }
-#endif
 
   if (!cm->error_resilient_mode && !frame_is_intra_only(cm)) {
     cm->primary_ref_frame = aom_rb_read_literal(rb, PRIMARY_REF_BITS);
   }
 
   if (cm->frame_type == KEY_FRAME) {
-#if !CONFIG_EXPLICIT_ORDER_HINT
-    wrap_around_current_video_frame(pbi);
-#endif                    // !CONFIG_EXPLICIT_ORDER_HINT
     if (!cm->show_frame)  // unshown keyframe (forward keyframe)
       pbi->refresh_frame_flags = aom_rb_read_literal(rb, REF_FRAMES);
     else  // shown keyframe
@@ -2730,7 +2683,6 @@
     cm->allow_ref_frame_mvs = 0;
     cm->prev_frame = NULL;
   } else {
-#if CONFIG_EXPLICIT_ORDER_HINT
     // Read all ref frame order hints if error_resilient_mode == 1
     if (cm->error_resilient_mode && cm->seq_params.enable_order_hint) {
       for (int ref_idx = 0; ref_idx < REF_FRAMES; ref_idx++) {
@@ -2760,7 +2712,6 @@
         }
       }
     }
-#endif  // CONFIG_EXPLICIT_ORDER_HINT
 
     cm->allow_ref_frame_mvs = 0;
 
diff --git a/av1/decoder/decoder.c b/av1/decoder/decoder.c
index 65c0640..23e646b 100644
--- a/av1/decoder/decoder.c
+++ b/av1/decoder/decoder.c
@@ -386,12 +386,6 @@
   cm->last_height = cm->height;
   cm->last_tile_cols = cm->tile_cols;
   cm->last_tile_rows = cm->tile_rows;
-#if !CONFIG_EXPLICIT_ORDER_HINT
-  if (cm->show_frame) {
-    cm->current_video_frame++;
-  }
-#endif  // CONFIG_EXPLICIT_ORDER_HINT
-
   cm->error.setjmp = 0;
   return 0;
 }
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index d025682..98105fb 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -2708,10 +2708,8 @@
     assert(seq_params->force_integer_mv == 2);
   }
 
-#if CONFIG_EXPLICIT_ORDER_HINT
   if (seq_params->enable_order_hint)
     aom_wb_write_literal(wb, seq_params->order_hint_bits_minus1, 3);
-#endif
   aom_wb_write_bit(wb, seq_params->enable_superres);
   aom_wb_write_bit(wb, seq_params->enable_cdef);
   aom_wb_write_bit(wb, seq_params->enable_restoration);
@@ -2906,21 +2904,8 @@
 
   cm->frame_refs_short_signaling = 0;
 
-#if CONFIG_EXPLICIT_ORDER_HINT
   aom_wb_write_literal(wb, cm->frame_offset,
                        cm->seq_params.order_hint_bits_minus1 + 1);
-#else
-  if (cm->show_frame == 0) {
-    int arf_offset = AOMMIN(
-        (MAX_GF_INTERVAL - 1),
-        cpi->twopass.gf_group.arf_src_offset[cpi->twopass.gf_group.index]);
-    int brf_offset =
-        cpi->twopass.gf_group.brf_src_offset[cpi->twopass.gf_group.index];
-
-    arf_offset = AOMMIN((MAX_GF_INTERVAL - 1), arf_offset + brf_offset);
-    aom_wb_write_literal(wb, arf_offset, FRAME_OFFSET_BITS);
-  }
-#endif
 
   if (!cm->error_resilient_mode && !frame_is_intra_only(cm)) {
     aom_wb_write_literal(wb, cm->primary_ref_frame, PRIMARY_REF_BITS);
@@ -2936,7 +2921,6 @@
     // all eight fbs are refreshed, pick one that will live long enough
     cm->fb_of_context_type[REGULAR_FRAME] = 0;
   } else {
-#if CONFIG_EXPLICIT_ORDER_HINT
     // Write all ref frame order hints if error_resilient_mode == 1
     if (cm->error_resilient_mode && cm->seq_params.enable_order_hint) {
       RefCntBuffer *const frame_bufs = cm->buffer_pool->frame_bufs;
@@ -2950,7 +2934,6 @@
                              cm->seq_params.order_hint_bits_minus1 + 1);
       }
     }
-#endif  // CONFIG_EXPLICIT_ORDER_HINT
 
     if (cm->frame_type == INTRA_ONLY_FRAME) {
       cpi->refresh_frame_mask = get_refresh_mask(cpi);
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 75fd03e..0f1ac88 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -3877,11 +3877,7 @@
           earliest_ref_frames[0] = ref_frame;
           earliest_buf_idxes[0] = buf_idx;
         } else {
-#if CONFIG_EXPLICIT_ORDER_HINT
           if (get_relative_dist(cm, ref_offset, min_ref_offset) < 0) {
-#else
-          if (ref_offset < min_ref_offset) {
-#endif
             second_min_ref_offset = min_ref_offset;
             earliest_ref_frames[1] = earliest_ref_frames[0];
             earliest_buf_idxes[1] = earliest_buf_idxes[0];
@@ -3889,13 +3885,9 @@
             min_ref_offset = ref_offset;
             earliest_ref_frames[0] = ref_frame;
             earliest_buf_idxes[0] = buf_idx;
-#if CONFIG_EXPLICIT_ORDER_HINT
           } else if (second_min_ref_offset == UINT_MAX ||
                      get_relative_dist(cm, ref_offset, second_min_ref_offset) <
                          0) {
-#else
-          } else if (ref_offset < second_min_ref_offset) {
-#endif
             second_min_ref_offset = ref_offset;
             earliest_ref_frames[1] = ref_frame;
             earliest_buf_idxes[1] = buf_idx;
@@ -3962,13 +3954,8 @@
   const int cur_offset = (int)cm->frame_offset;
   int ref_offset[2];
   get_skip_mode_ref_offsets(cm, ref_offset);
-#if CONFIG_EXPLICIT_ORDER_HINT
   const int cur_to_ref0 = get_relative_dist(cm, cur_offset, ref_offset[0]);
   const int cur_to_ref1 = abs(get_relative_dist(cm, cur_offset, ref_offset[1]));
-#else
-  const int cur_to_ref0 = cur_offset - ref_offset[0];
-  const int cur_to_ref1 = abs(cur_offset - ref_offset[1]);
-#endif
   if (abs(cur_to_ref0 - cur_to_ref1) > 1) return 0;
 
   // High Latency: Turn off skip mode if all refs are fwd.
@@ -4342,9 +4329,7 @@
   } else {
     cm->frame_offset = cm->current_video_frame;
   }
-#if CONFIG_EXPLICIT_ORDER_HINT
   cm->frame_offset %= (1 << (cm->seq_params.order_hint_bits_minus1 + 1));
-#endif  // CONFIG_EXPLICIT_ORDER_HINT
 
   // Make sure segment_id is no larger than last_active_segid.
   if (cm->seg.enabled && cm->seg.update_map) {
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 98cc6d3..ac1ae9b 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -64,9 +64,7 @@
 #include "aom_util/debug_util.h"
 #endif  // CONFIG_BITSTREAM_DEBUG || CONFIG_MISMATCH_DEBUG
 
-#if CONFIG_EXPLICIT_ORDER_HINT
 #define DEFAULT_EXPLICIT_ORDER_HINT_BITS 7
-#endif  // CONFIG_EXPLICIT_ORDER_HINT
 
 #if CONFIG_ENTROPY_STATS
 FRAME_COUNTS aggregate_fc;
@@ -899,9 +897,7 @@
 void init_seq_coding_tools(SequenceHeader *seq, const AV1EncoderConfig *oxcf) {
   seq->force_screen_content_tools = 2;
   seq->force_integer_mv = 2;
-#if CONFIG_EXPLICIT_ORDER_HINT
   seq->order_hint_bits_minus1 = DEFAULT_EXPLICIT_ORDER_HINT_BITS - 1;
-#endif  // CONFIG_EXPLICIT_ORDER_HINT
   seq->enable_dual_filter = oxcf->enable_dual_filter;
   seq->enable_order_hint = oxcf->enable_order_hint;
   seq->enable_jnt_comp = oxcf->enable_jnt_comp;
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 430c846..d30d09d 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -8785,52 +8785,32 @@
       if (sf->selective_ref_frame == 2 || x->cb_partition_scan) {
         if (mbmi->ref_frame[0] == ALTREF2_FRAME ||
             mbmi->ref_frame[1] == ALTREF2_FRAME)
-#if CONFIG_EXPLICIT_ORDER_HINT
           if (get_relative_dist(
                   cm,
                   cm->cur_frame->ref_frame_offset[ALTREF2_FRAME - LAST_FRAME],
                   cm->frame_offset) < 0)
-#else
-          if (cm->cur_frame->ref_frame_offset[ALTREF2_FRAME - LAST_FRAME] <
-              cm->frame_offset)
-#endif
             continue;
         if (mbmi->ref_frame[0] == BWDREF_FRAME ||
             mbmi->ref_frame[1] == BWDREF_FRAME)
-#if CONFIG_EXPLICIT_ORDER_HINT
           if (get_relative_dist(
                   cm,
                   cm->cur_frame->ref_frame_offset[BWDREF_FRAME - LAST_FRAME],
                   cm->frame_offset) < 0)
-#else
-          if (cm->cur_frame->ref_frame_offset[BWDREF_FRAME - LAST_FRAME] <
-              cm->frame_offset)
-#endif
             continue;
       }
       if (mbmi->ref_frame[0] == LAST3_FRAME ||
           mbmi->ref_frame[1] == LAST3_FRAME)
-#if CONFIG_EXPLICIT_ORDER_HINT
         if (get_relative_dist(
                 cm, cm->cur_frame->ref_frame_offset[LAST3_FRAME - LAST_FRAME],
                 cm->cur_frame->ref_frame_offset[GOLDEN_FRAME - LAST_FRAME]) <=
             0)
-#else
-        if (cm->cur_frame->ref_frame_offset[LAST3_FRAME - LAST_FRAME] <=
-            cm->cur_frame->ref_frame_offset[GOLDEN_FRAME - LAST_FRAME])
-#endif
           continue;
       if (mbmi->ref_frame[0] == LAST2_FRAME ||
           mbmi->ref_frame[1] == LAST2_FRAME)
-#if CONFIG_EXPLICIT_ORDER_HINT
         if (get_relative_dist(
                 cm, cm->cur_frame->ref_frame_offset[LAST2_FRAME - LAST_FRAME],
                 cm->cur_frame->ref_frame_offset[GOLDEN_FRAME - LAST_FRAME]) <=
             0)
-#else
-        if (cm->cur_frame->ref_frame_offset[LAST2_FRAME - LAST_FRAME] <=
-            cm->cur_frame->ref_frame_offset[GOLDEN_FRAME - LAST_FRAME])
-#endif
           continue;
     }
 
@@ -8842,17 +8822,10 @@
         assert(buf_idx >= 0);
         ref_offsets[i] = cm->buffer_pool->frame_bufs[buf_idx].cur_frame_offset;
       }
-#if CONFIG_EXPLICIT_ORDER_HINT
       if ((get_relative_dist(cm, ref_offsets[0], cm->frame_offset) <= 0 &&
            get_relative_dist(cm, ref_offsets[1], cm->frame_offset) <= 0) ||
           (get_relative_dist(cm, ref_offsets[0], cm->frame_offset) > 0 &&
            get_relative_dist(cm, ref_offsets[1], cm->frame_offset) > 0))
-#else
-      if ((ref_offsets[0] <= cm->frame_offset &&
-           ref_offsets[1] <= cm->frame_offset) ||
-          (ref_offsets[0] > cm->frame_offset &&
-           ref_offsets[1] > cm->frame_offset))
-#endif
         continue;
     }
 
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake
index 14d4b7f..3990e0b 100644
--- a/build/cmake/aom_config_defaults.cmake
+++ b/build/cmake/aom_config_defaults.cmake
@@ -89,7 +89,6 @@
 # AV1 experiment flags.
 set(CONFIG_DIST_8X8 1 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_ENTROPY_STATS 0 CACHE NUMBER "AV1 experiment flag.")
-set(CONFIG_EXPLICIT_ORDER_HINT 1 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_FP_MB_STATS 0 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_INTER_STATS_ONLY 0 CACHE NUMBER "AV1 experiment flag.")
 set(CONFIG_RD_DEBUG 0 CACHE NUMBER "AV1 experiment flag.")