Commit b214775d authored by Debargha Mukherjee's avatar Debargha Mukherjee
Browse files

Add an expt to remove allow high precision mv flag

Change-Id: I3873acafcd9539da96f67328cdb8faf7798be90f
parent bfbd8b39
...@@ -3112,10 +3112,18 @@ static size_t read_uncompressed_header(AV1Decoder *pbi, ...@@ -3112,10 +3112,18 @@ static size_t read_uncompressed_header(AV1Decoder *pbi,
if (cm->cur_frame_force_integer_mv) { if (cm->cur_frame_force_integer_mv) {
cm->allow_high_precision_mv = 0; cm->allow_high_precision_mv = 0;
} else { } else {
#if CONFIG_EIGHTH_PEL_MV_ONLY
cm->allow_high_precision_mv = 1;
#else
cm->allow_high_precision_mv = aom_rb_read_bit(rb); cm->allow_high_precision_mv = aom_rb_read_bit(rb);
#endif // CONFIG_EIGHTH_PEL_MV_ONLY
} }
#else
#if CONFIG_EIGHTH_PEL_MV_ONLY
cm->allow_high_precision_mv = 1;
#else #else
cm->allow_high_precision_mv = aom_rb_read_bit(rb); cm->allow_high_precision_mv = aom_rb_read_bit(rb);
#endif // CONFIG_EIGHTH_PEL_MV_ONLY
#endif #endif
cm->interp_filter = read_frame_interp_filter(rb); cm->interp_filter = read_frame_interp_filter(rb);
#if CONFIG_TEMPMV_SIGNALING #if CONFIG_TEMPMV_SIGNALING
......
...@@ -4030,10 +4030,14 @@ static void write_uncompressed_header_frame(AV1_COMP *cpi, ...@@ -4030,10 +4030,14 @@ static void write_uncompressed_header_frame(AV1_COMP *cpi,
if (cm->cur_frame_force_integer_mv) { if (cm->cur_frame_force_integer_mv) {
cm->allow_high_precision_mv = 0; cm->allow_high_precision_mv = 0;
} else { } else {
#if !CONFIG_EIGHTH_PEL_MV_ONLY
aom_wb_write_bit(wb, cm->allow_high_precision_mv); aom_wb_write_bit(wb, cm->allow_high_precision_mv);
#endif // !CONFIG_EIGHTH_PEL_MV_ONLY
} }
#else #else
#if !CONFIG_EIGHTH_PEL_MV_ONLY
aom_wb_write_bit(wb, cm->allow_high_precision_mv); aom_wb_write_bit(wb, cm->allow_high_precision_mv);
#endif // !CONFIG_EIGHTH_PEL_MV_ONLY
#endif #endif
fix_interp_filter(cm, cpi->td.counts); fix_interp_filter(cm, cpi->td.counts);
write_frame_interp_filter(cm->interp_filter, wb); write_frame_interp_filter(cm->interp_filter, wb);
......
...@@ -2480,9 +2480,9 @@ void av1_change_config(struct AV1_COMP *cpi, const AV1EncoderConfig *oxcf) { ...@@ -2480,9 +2480,9 @@ void av1_change_config(struct AV1_COMP *cpi, const AV1EncoderConfig *oxcf) {
set_compound_tools(cm); set_compound_tools(cm);
av1_reset_segment_features(cm); av1_reset_segment_features(cm);
#if CONFIG_AMVR #if CONFIG_AMVR
set_high_precision_mv(cpi, 0, 0); set_high_precision_mv(cpi, 1, 0);
#else #else
set_high_precision_mv(cpi, 0); set_high_precision_mv(cpi, 1);
#endif #endif
set_rc_buffer_sizes(rc, &cpi->oxcf); set_rc_buffer_sizes(rc, &cpi->oxcf);
...@@ -4121,10 +4121,18 @@ static void set_size_dependent_vars(AV1_COMP *cpi, int *q, int *bottom_index, ...@@ -4121,10 +4121,18 @@ static void set_size_dependent_vars(AV1_COMP *cpi, int *q, int *bottom_index,
if (!frame_is_intra_only(cm)) { if (!frame_is_intra_only(cm)) {
#if CONFIG_AMVR #if CONFIG_AMVR
#if CONFIG_EIGHTH_PEL_MV_ONLY
set_high_precision_mv(cpi, 1, cpi->common.cur_frame_force_integer_mv);
#else
set_high_precision_mv(cpi, (*q) < HIGH_PRECISION_MV_QTHRESH, set_high_precision_mv(cpi, (*q) < HIGH_PRECISION_MV_QTHRESH,
cpi->common.cur_frame_force_integer_mv); cpi->common.cur_frame_force_integer_mv);
#endif // CONFIG_EIGHTH_PEL_MV_ONLY
#else
#if CONFIG_EIGHTH_PEL_MV_ONLY
set_high_precision_mv(cpi, 1);
#else #else
set_high_precision_mv(cpi, (*q) < HIGH_PRECISION_MV_QTHRESH); set_high_precision_mv(cpi, (*q) < HIGH_PRECISION_MV_QTHRESH);
#endif // CONFIG_EIGHTH_PEL_MV_ONLY
#endif #endif
} }
...@@ -6165,9 +6173,17 @@ int av1_get_compressed_data(AV1_COMP *cpi, unsigned int *frame_flags, ...@@ -6165,9 +6173,17 @@ int av1_get_compressed_data(AV1_COMP *cpi, unsigned int *frame_flags,
aom_usec_timer_start(&cmptimer); aom_usec_timer_start(&cmptimer);
#if CONFIG_AMVR #if CONFIG_AMVR
#if CONFIG_EIGHTH_PEL_MV_ONLY
set_high_precision_mv(cpi, 1, 0);
#else
set_high_precision_mv(cpi, ALTREF_HIGH_PRECISION_MV, 0); set_high_precision_mv(cpi, ALTREF_HIGH_PRECISION_MV, 0);
#endif // CONFIG_EIGHTH_PEL_MV_ONLY
#else
#if CONFIG_EIGHTH_PEL_MV_ONLY
set_high_precision_mv(cpi, 1);
#else #else
set_high_precision_mv(cpi, ALTREF_HIGH_PRECISION_MV); set_high_precision_mv(cpi, ALTREF_HIGH_PRECISION_MV);
#endif // CONFIG_EIGHTH_PEL_MV_ONLY
#endif #endif
// Is multi-arf enabled. // Is multi-arf enabled.
......
...@@ -130,6 +130,7 @@ set(CONFIG_DEBLOCK_13TAP 1 CACHE NUMBER "AV1 experiment flag.") ...@@ -130,6 +130,7 @@ set(CONFIG_DEBLOCK_13TAP 1 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_DEPENDENT_HORZTILES 0 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_DEPENDENT_HORZTILES 0 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_DIST_8X8 1 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_DIST_8X8 1 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_DUAL_FILTER 1 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_DUAL_FILTER 1 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_EIGHTH_PEL_MV_ONLY 0 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_ENTROPY_STATS 0 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_ENTROPY_STATS 0 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_EOB_FIRST 0 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_EOB_FIRST 0 CACHE NUMBER "AV1 experiment flag.")
set(CONFIG_EXT_COMP_REFS 1 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_EXT_COMP_REFS 1 CACHE NUMBER "AV1 experiment flag.")
......
...@@ -342,6 +342,7 @@ EXPERIMENT_LIST=" ...@@ -342,6 +342,7 @@ EXPERIMENT_LIST="
horzonly_frame_superres horzonly_frame_superres
simple_bwd_adapt simple_bwd_adapt
eob_first eob_first
eighth_pel_mv_only
" "
CONFIG_LIST=" CONFIG_LIST="
dependency_tracking dependency_tracking
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment