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.")