Remove NEAREST_NEARMV / NEAR_NEARESTMV modes Change-Id: I640cf08ac583ff5092a18e81cd0e33f05609db6b
diff --git a/av1/common/av1_loopfilter.c b/av1/common/av1_loopfilter.c index 7dddb3b..d218008 100644 --- a/av1/common/av1_loopfilter.c +++ b/av1/common/av1_loopfilter.c
@@ -273,8 +273,8 @@ #endif // CONFIG_ALT_INTRA 1, 1, 0, 1, // INTER_MODES (ZEROMV == 0) #if CONFIG_EXT_INTER - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1 // INTER_COMPOUND_MODES (ZERO_ZEROMV == 0) -#endif // CONFIG_EXT_INTER + 1, 1, 1, 1, 1, 1, 0, 1 // INTER_COMPOUND_MODES (ZERO_ZEROMV == 0) +#endif // CONFIG_EXT_INTER }; static void update_sharpness(loop_filter_info_n *lfi, int sharpness_lvl) {
diff --git a/av1/common/blockd.h b/av1/common/blockd.h index 816bf5d..676b471 100644 --- a/av1/common/blockd.h +++ b/av1/common/blockd.h
@@ -155,8 +155,6 @@ NEWMV, // SR_NEW_NEWMV #endif // CONFIG_COMPOUND_SINGLEREF NEARESTMV, // NEAREST_NEARESTMV - NEARESTMV, // NEAREST_NEARMV - NEARMV, // NEAR_NEARESTMV NEARMV, // NEAR_NEARMV NEARESTMV, // NEAREST_NEWMV NEWMV, // NEW_NEARESTMV @@ -196,8 +194,6 @@ NEWMV, // SR_NEW_NEWMV #endif // CONFIG_COMPOUND_SINGLEREF NEARESTMV, // NEAREST_NEARESTMV - NEARMV, // NEAREST_NEARMV - NEARESTMV, // NEAR_NEARESTMV NEARMV, // NEAR_NEARMV NEWMV, // NEAREST_NEWMV NEARESTMV, // NEW_NEARESTMV @@ -211,8 +207,8 @@ } static INLINE int have_nearmv_in_inter_mode(PREDICTION_MODE mode) { - return (mode == NEARMV || mode == NEAR_NEARMV || mode == NEAREST_NEARMV || - mode == NEAR_NEARESTMV || mode == NEAR_NEWMV || mode == NEW_NEARMV); + return (mode == NEARMV || mode == NEAR_NEARMV || mode == NEAR_NEWMV || + mode == NEW_NEARMV); } static INLINE int have_newmv_in_inter_mode(PREDICTION_MODE mode) {
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c index 246f0cd..08dcddd 100644 --- a/av1/common/entropymode.c +++ b/av1/common/entropymode.c
@@ -1015,13 +1015,13 @@ #if CONFIG_EXT_INTER static const aom_prob default_inter_compound_mode_probs [INTER_MODE_CONTEXTS][INTER_COMPOUND_MODES - 1] = { - { 2, 173, 68, 192, 64, 192, 128, 180, 180 }, // 0 = both zero mv - { 7, 145, 160, 192, 64, 192, 128, 180, 180 }, // 1 = 1 zero + 1 predicted - { 7, 166, 126, 192, 64, 192, 128, 180, 180 }, // 2 = two predicted mvs - { 7, 94, 132, 192, 64, 192, 128, 180, 180 }, // 3 = 1 pred/zero, 1 new - { 8, 64, 64, 192, 64, 192, 128, 180, 180 }, // 4 = two new mvs - { 17, 81, 52, 192, 64, 192, 128, 180, 180 }, // 5 = one intra neighbour - { 25, 29, 50, 192, 64, 192, 128, 180, 180 }, // 6 = two intra neighbours + { 2, 173, 68, 192, 128, 180, 180 }, // 0 = both zero mv + { 7, 145, 160, 192, 128, 180, 180 }, // 1 = 1 zero + 1 predicted + { 7, 166, 126, 192, 128, 180, 180 }, // 2 = two predicted mvs + { 7, 94, 132, 192, 128, 180, 180 }, // 3 = 1 pred/zero, 1 new + { 8, 64, 64, 192, 128, 180, 180 }, // 4 = two new mvs + { 17, 81, 52, 192, 128, 180, 180 }, // 5 = one intra neighbour + { 25, 29, 50, 192, 128, 180, 180 }, // 6 = two intra neighbours }; #if CONFIG_COMPOUND_SINGLEREF @@ -1330,11 +1330,8 @@ -INTER_COMPOUND_OFFSET(ZERO_ZEROMV), 2, -INTER_COMPOUND_OFFSET(NEAREST_NEARESTMV), 4, 6, -INTER_COMPOUND_OFFSET(NEW_NEWMV), - 8, 12, - -INTER_COMPOUND_OFFSET(NEAR_NEARMV), 10, - -INTER_COMPOUND_OFFSET(NEAREST_NEARMV), - -INTER_COMPOUND_OFFSET(NEAR_NEARESTMV), - 14, 16, + -INTER_COMPOUND_OFFSET(NEAR_NEARMV), 8, + 10, 12, -INTER_COMPOUND_OFFSET(NEAREST_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARESTMV), -INTER_COMPOUND_OFFSET(NEAR_NEWMV), -INTER_COMPOUND_OFFSET(NEW_NEARMV) };
diff --git a/av1/common/enums.h b/av1/common/enums.h index 58c8a7e..5b32c1c 100644 --- a/av1/common/enums.h +++ b/av1/common/enums.h
@@ -341,8 +341,6 @@ #endif // CONFIG_COMPOUND_SINGLEREF // Compound ref compound modes NEAREST_NEARESTMV, - NEAREST_NEARMV, - NEAR_NEARESTMV, NEAR_NEARMV, NEAREST_NEWMV, NEW_NEARESTMV,
diff --git a/av1/common/mvref_common.h b/av1/common/mvref_common.h index 7ed836e..db812d8 100644 --- a/av1/common/mvref_common.h +++ b/av1/common/mvref_common.h
@@ -68,8 +68,6 @@ 1, // SR_NEW_NEWMV #endif // CONFIG_COMPOUND_SINGLEREF 0, // NEAREST_NEARESTMV - 0, // NEAREST_NEARMV - 0, // NEAR_NEARESTMV 0, // NEAR_NEARMV 1, // NEAREST_NEWMV 1, // NEW_NEARESTMV
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c index a15c4b4..e551b93 100644 --- a/av1/decoder/decodemv.c +++ b/av1/decoder/decodemv.c
@@ -1679,18 +1679,6 @@ mv[1].as_int = nearest_mv[1].as_int; break; } - case NEAREST_NEARMV: { - assert(is_compound); - mv[0].as_int = nearest_mv[0].as_int; - mv[1].as_int = near_mv[1].as_int; - break; - } - case NEAR_NEARESTMV: { - assert(is_compound); - mv[0].as_int = near_mv[0].as_int; - mv[1].as_int = nearest_mv[1].as_int; - break; - } case NEAR_NEARMV: { assert(is_compound); mv[0].as_int = near_mv[0].as_int; @@ -1962,10 +1950,10 @@ lower_mv_precision(&nearestmv[0].as_mv, allow_hp); lower_mv_precision(&nearestmv[1].as_mv, allow_hp); #if CONFIG_EXT_INTER - } else if (mbmi->mode == NEAREST_NEWMV || mbmi->mode == NEAREST_NEARMV) { + } else if (mbmi->mode == NEAREST_NEWMV) { nearestmv[0] = xd->ref_mv_stack[ref_frame_type][0].this_mv; lower_mv_precision(&nearestmv[0].as_mv, allow_hp); - } else if (mbmi->mode == NEW_NEARESTMV || mbmi->mode == NEAR_NEARESTMV) { + } else if (mbmi->mode == NEW_NEARESTMV) { nearestmv[1] = xd->ref_mv_stack[ref_frame_type][0].comp_mv; lower_mv_precision(&nearestmv[1].as_mv, allow_hp); }
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index 2d220f6..5d723e8 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c
@@ -73,8 +73,8 @@ #if CONFIG_EXT_INTER static const struct av1_token inter_compound_mode_encodings[INTER_COMPOUND_MODES] = { - { 2, 2 }, { 50, 6 }, { 51, 6 }, { 24, 5 }, { 52, 6 }, - { 53, 6 }, { 54, 6 }, { 55, 6 }, { 0, 1 }, { 7, 3 } + { 2, 2 }, { 12, 4 }, { 52, 6 }, { 53, 6 }, + { 54, 6 }, { 55, 6 }, { 0, 1 }, { 7, 3 } }; #endif // CONFIG_EXT_INTER #if CONFIG_PALETTE
diff --git a/av1/encoder/rd.c b/av1/encoder/rd.c index ff2532d..e097392 100644 --- a/av1/encoder/rd.c +++ b/av1/encoder/rd.c
@@ -957,8 +957,6 @@ #if CONFIG_EXT_INTER - rd->thresh_mult[THR_COMP_NEAREST_NEARLA] += 1200; - rd->thresh_mult[THR_COMP_NEAR_NEARESTLA] += 1200; rd->thresh_mult[THR_COMP_NEAR_NEARLA] += 1200; rd->thresh_mult[THR_COMP_NEAREST_NEWLA] += 1500; rd->thresh_mult[THR_COMP_NEW_NEARESTLA] += 1500; @@ -968,8 +966,6 @@ rd->thresh_mult[THR_COMP_ZERO_ZEROLA] += 2500; #if CONFIG_EXT_REFS - rd->thresh_mult[THR_COMP_NEAREST_NEARL2A] += 1200; - rd->thresh_mult[THR_COMP_NEAR_NEARESTL2A] += 1200; rd->thresh_mult[THR_COMP_NEAR_NEARL2A] += 1200; rd->thresh_mult[THR_COMP_NEAREST_NEWL2A] += 1500; rd->thresh_mult[THR_COMP_NEW_NEARESTL2A] += 1500; @@ -978,8 +974,6 @@ rd->thresh_mult[THR_COMP_NEW_NEWL2A] += 2000; rd->thresh_mult[THR_COMP_ZERO_ZEROL2A] += 2500; - rd->thresh_mult[THR_COMP_NEAREST_NEARL3A] += 1200; - rd->thresh_mult[THR_COMP_NEAR_NEARESTL3A] += 1200; rd->thresh_mult[THR_COMP_NEAR_NEARL3A] += 1200; rd->thresh_mult[THR_COMP_NEAREST_NEWL3A] += 1500; rd->thresh_mult[THR_COMP_NEW_NEARESTL3A] += 1500; @@ -989,8 +983,6 @@ rd->thresh_mult[THR_COMP_ZERO_ZEROL3A] += 2500; #endif // CONFIG_EXT_REFS - rd->thresh_mult[THR_COMP_NEAREST_NEARGA] += 1200; - rd->thresh_mult[THR_COMP_NEAR_NEARESTGA] += 1200; rd->thresh_mult[THR_COMP_NEAR_NEARGA] += 1200; rd->thresh_mult[THR_COMP_NEAREST_NEWGA] += 1500; rd->thresh_mult[THR_COMP_NEW_NEARESTGA] += 1500; @@ -1000,8 +992,6 @@ rd->thresh_mult[THR_COMP_ZERO_ZEROGA] += 2500; #if CONFIG_EXT_REFS - rd->thresh_mult[THR_COMP_NEAREST_NEARLB] += 1200; - rd->thresh_mult[THR_COMP_NEAR_NEARESTLB] += 1200; rd->thresh_mult[THR_COMP_NEAR_NEARLB] += 1200; rd->thresh_mult[THR_COMP_NEAREST_NEWLB] += 1500; rd->thresh_mult[THR_COMP_NEW_NEARESTLB] += 1500; @@ -1010,8 +1000,6 @@ rd->thresh_mult[THR_COMP_NEW_NEWLB] += 2000; rd->thresh_mult[THR_COMP_ZERO_ZEROLB] += 2500; - rd->thresh_mult[THR_COMP_NEAREST_NEARL2B] += 1200; - rd->thresh_mult[THR_COMP_NEAR_NEARESTL2B] += 1200; rd->thresh_mult[THR_COMP_NEAR_NEARL2B] += 1200; rd->thresh_mult[THR_COMP_NEAREST_NEWL2B] += 1500; rd->thresh_mult[THR_COMP_NEW_NEARESTL2B] += 1500; @@ -1020,8 +1008,6 @@ rd->thresh_mult[THR_COMP_NEW_NEWL2B] += 2000; rd->thresh_mult[THR_COMP_ZERO_ZEROL2B] += 2500; - rd->thresh_mult[THR_COMP_NEAREST_NEARL3B] += 1200; - rd->thresh_mult[THR_COMP_NEAR_NEARESTL3B] += 1200; rd->thresh_mult[THR_COMP_NEAR_NEARL3B] += 1200; rd->thresh_mult[THR_COMP_NEAREST_NEWL3B] += 1500; rd->thresh_mult[THR_COMP_NEW_NEARESTL3B] += 1500; @@ -1030,8 +1016,6 @@ rd->thresh_mult[THR_COMP_NEW_NEWL3B] += 2000; rd->thresh_mult[THR_COMP_ZERO_ZEROL3B] += 2500; - rd->thresh_mult[THR_COMP_NEAREST_NEARGB] += 1200; - rd->thresh_mult[THR_COMP_NEAR_NEARESTGB] += 1200; rd->thresh_mult[THR_COMP_NEAR_NEARGB] += 1200; rd->thresh_mult[THR_COMP_NEAREST_NEWGB] += 1500; rd->thresh_mult[THR_COMP_NEW_NEARESTGB] += 1500;
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c index ebf002b..3f9e9dd 100644 --- a/av1/encoder/rdopt.c +++ b/av1/encoder/rdopt.c
@@ -224,8 +224,6 @@ #endif // CONFIG_ALT_INTRA #if CONFIG_EXT_INTER - { NEAR_NEARESTMV, { LAST_FRAME, ALTREF_FRAME } }, - { NEAREST_NEARMV, { LAST_FRAME, ALTREF_FRAME } }, { NEAR_NEARMV, { LAST_FRAME, ALTREF_FRAME } }, { NEW_NEARESTMV, { LAST_FRAME, ALTREF_FRAME } }, { NEAREST_NEWMV, { LAST_FRAME, ALTREF_FRAME } }, @@ -235,8 +233,6 @@ { ZERO_ZEROMV, { LAST_FRAME, ALTREF_FRAME } }, #if CONFIG_EXT_REFS - { NEAR_NEARESTMV, { LAST2_FRAME, ALTREF_FRAME } }, - { NEAREST_NEARMV, { LAST2_FRAME, ALTREF_FRAME } }, { NEAR_NEARMV, { LAST2_FRAME, ALTREF_FRAME } }, { NEW_NEARESTMV, { LAST2_FRAME, ALTREF_FRAME } }, { NEAREST_NEWMV, { LAST2_FRAME, ALTREF_FRAME } }, @@ -245,8 +241,6 @@ { NEW_NEWMV, { LAST2_FRAME, ALTREF_FRAME } }, { ZERO_ZEROMV, { LAST2_FRAME, ALTREF_FRAME } }, - { NEAR_NEARESTMV, { LAST3_FRAME, ALTREF_FRAME } }, - { NEAREST_NEARMV, { LAST3_FRAME, ALTREF_FRAME } }, { NEAR_NEARMV, { LAST3_FRAME, ALTREF_FRAME } }, { NEW_NEARESTMV, { LAST3_FRAME, ALTREF_FRAME } }, { NEAREST_NEWMV, { LAST3_FRAME, ALTREF_FRAME } }, @@ -256,8 +250,6 @@ { ZERO_ZEROMV, { LAST3_FRAME, ALTREF_FRAME } }, #endif // CONFIG_EXT_REFS - { NEAR_NEARESTMV, { GOLDEN_FRAME, ALTREF_FRAME } }, - { NEAREST_NEARMV, { GOLDEN_FRAME, ALTREF_FRAME } }, { NEAR_NEARMV, { GOLDEN_FRAME, ALTREF_FRAME } }, { NEW_NEARESTMV, { GOLDEN_FRAME, ALTREF_FRAME } }, { NEAREST_NEWMV, { GOLDEN_FRAME, ALTREF_FRAME } }, @@ -267,8 +259,6 @@ { ZERO_ZEROMV, { GOLDEN_FRAME, ALTREF_FRAME } }, #if CONFIG_EXT_REFS - { NEAR_NEARESTMV, { LAST_FRAME, BWDREF_FRAME } }, - { NEAREST_NEARMV, { LAST_FRAME, BWDREF_FRAME } }, { NEAR_NEARMV, { LAST_FRAME, BWDREF_FRAME } }, { NEW_NEARESTMV, { LAST_FRAME, BWDREF_FRAME } }, { NEAREST_NEWMV, { LAST_FRAME, BWDREF_FRAME } }, @@ -277,8 +267,6 @@ { NEW_NEWMV, { LAST_FRAME, BWDREF_FRAME } }, { ZERO_ZEROMV, { LAST_FRAME, BWDREF_FRAME } }, - { NEAR_NEARESTMV, { LAST2_FRAME, BWDREF_FRAME } }, - { NEAREST_NEARMV, { LAST2_FRAME, BWDREF_FRAME } }, { NEAR_NEARMV, { LAST2_FRAME, BWDREF_FRAME } }, { NEW_NEARESTMV, { LAST2_FRAME, BWDREF_FRAME } }, { NEAREST_NEWMV, { LAST2_FRAME, BWDREF_FRAME } }, @@ -287,8 +275,6 @@ { NEW_NEWMV, { LAST2_FRAME, BWDREF_FRAME } }, { ZERO_ZEROMV, { LAST2_FRAME, BWDREF_FRAME } }, - { NEAR_NEARESTMV, { LAST3_FRAME, BWDREF_FRAME } }, - { NEAREST_NEARMV, { LAST3_FRAME, BWDREF_FRAME } }, { NEAR_NEARMV, { LAST3_FRAME, BWDREF_FRAME } }, { NEW_NEARESTMV, { LAST3_FRAME, BWDREF_FRAME } }, { NEAREST_NEWMV, { LAST3_FRAME, BWDREF_FRAME } }, @@ -297,8 +283,6 @@ { NEW_NEWMV, { LAST3_FRAME, BWDREF_FRAME } }, { ZERO_ZEROMV, { LAST3_FRAME, BWDREF_FRAME } }, - { NEAR_NEARESTMV, { GOLDEN_FRAME, BWDREF_FRAME } }, - { NEAREST_NEARMV, { GOLDEN_FRAME, BWDREF_FRAME } }, { NEAR_NEARMV, { GOLDEN_FRAME, BWDREF_FRAME } }, { NEW_NEARESTMV, { GOLDEN_FRAME, BWDREF_FRAME } }, { NEAREST_NEWMV, { GOLDEN_FRAME, BWDREF_FRAME } }, @@ -5153,8 +5137,6 @@ thismvcost += av1_mv_bit_cost(&this_mv[1].as_mv, &best_ref_mv[1]->as_mv, mvjcost, mvcost, MV_COST_WEIGHT_SUB); break; - case NEAREST_NEARMV: - case NEAR_NEARESTMV: case NEAREST_NEARESTMV: case NEAR_NEARMV: this_mv[0].as_int = frame_mv[mode][mbmi->ref_frame[0]].as_int; @@ -5456,36 +5438,25 @@ } } #if CONFIG_EXT_INTER - else if ((this_mode == NEAREST_NEARESTMV || this_mode == NEAREST_NEARMV || - this_mode == NEAR_NEARESTMV || this_mode == NEAR_NEARMV || + else if ((this_mode == NEAREST_NEARESTMV || this_mode == NEAR_NEARMV || this_mode == ZERO_ZEROMV) && frame_mv[this_mode][ref_frames[0]].as_int == zeromv[0].as_int && frame_mv[this_mode][ref_frames[1]].as_int == zeromv[1].as_int) { int16_t rfc = compound_mode_context[ref_frames[0]]; - int c1 = cost_mv_ref(cpi, NEAREST_NEARMV, rfc); int c2 = cost_mv_ref(cpi, NEAREST_NEARESTMV, rfc); int c3 = cost_mv_ref(cpi, ZERO_ZEROMV, rfc); - int c4 = cost_mv_ref(cpi, NEAR_NEARESTMV, rfc); int c5 = cost_mv_ref(cpi, NEAR_NEARMV, rfc); - if (this_mode == NEAREST_NEARMV) { - if (c1 > c3) return 0; - } else if (this_mode == NEAREST_NEARESTMV) { + if (this_mode == NEAREST_NEARESTMV) { if (c2 > c3) return 0; - } else if (this_mode == NEAR_NEARESTMV) { - if (c4 > c3) return 0; } else if (this_mode == NEAR_NEARMV) { if (c5 > c3) return 0; } else { assert(this_mode == ZERO_ZEROMV); if ((c3 >= c2 && frame_mv[NEAREST_NEARESTMV][ref_frames[0]].as_int == 0 && frame_mv[NEAREST_NEARESTMV][ref_frames[1]].as_int == 0) || - (c3 >= c1 && frame_mv[NEAREST_NEARMV][ref_frames[0]].as_int == 0 && - frame_mv[NEAREST_NEARMV][ref_frames[1]].as_int == 0) || (c3 >= c5 && frame_mv[NEAR_NEARMV][ref_frames[0]].as_int == 0 && - frame_mv[NEAR_NEARMV][ref_frames[1]].as_int == 0) || - (c3 >= c4 && frame_mv[NEAR_NEARESTMV][ref_frames[0]].as_int == 0 && - frame_mv[NEAR_NEARESTMV][ref_frames[1]].as_int == 0)) + frame_mv[NEAR_NEARMV][ref_frames[1]].as_int == 0)) return 0; } } @@ -5923,20 +5894,12 @@ frame_mv[NEARESTMV][frame].as_int; if (ref == 0) { - frame_mv[NEAREST_NEARMV][frame].as_int = - frame_mv[NEARESTMV][frame].as_int; - frame_mv[NEAR_NEARESTMV][frame].as_int = - frame_mv[NEARMV][frame].as_int; frame_mv[NEAREST_NEWMV][frame].as_int = frame_mv[NEARESTMV][frame].as_int; frame_mv[NEAR_NEWMV][frame].as_int = frame_mv[NEARMV][frame].as_int; frame_mv[NEAR_NEARMV][frame].as_int = frame_mv[NEARMV][frame].as_int; } else if (ref == 1) { - frame_mv[NEAREST_NEARMV][frame].as_int = - frame_mv[NEARMV][frame].as_int; - frame_mv[NEAR_NEARESTMV][frame].as_int = - frame_mv[NEARESTMV][frame].as_int; frame_mv[NEW_NEARESTMV][frame].as_int = frame_mv[NEARESTMV][frame].as_int; frame_mv[NEW_NEARMV][frame].as_int = frame_mv[NEARMV][frame].as_int; @@ -7366,16 +7329,6 @@ single_filter[NEARESTMV][refs[1]]) best_filter = single_filter[NEARESTMV][refs[0]]; break; - case NEAREST_NEARMV: - if (single_filter[NEARESTMV][refs[0]] == - single_filter[NEARMV][refs[1]]) - best_filter = single_filter[NEARESTMV][refs[0]]; - break; - case NEAR_NEARESTMV: - if (single_filter[NEARMV][refs[0]] == - single_filter[NEARESTMV][refs[1]]) - best_filter = single_filter[NEARMV][refs[0]]; - break; case NEAR_NEARMV: if (single_filter[NEARMV][refs[0]] == single_filter[NEARMV][refs[1]]) best_filter = single_filter[NEARMV][refs[0]]; @@ -8568,7 +8521,7 @@ #if CONFIG_EXT_INTER if (mbmi_ext->ref_mv_count[ref_frame_type] > 0) { - if (this_mode == NEAREST_NEWMV || this_mode == NEAREST_NEARMV) { + if (this_mode == NEAREST_NEWMV) { cur_mv[0] = mbmi_ext->ref_mv_stack[ref_frame_type][0].this_mv; lower_mv_precision(&cur_mv[0].as_mv, cm->allow_high_precision_mv); @@ -8577,7 +8530,7 @@ mbmi->mv[0].as_int = cur_mv[0].as_int; } - if (this_mode == NEW_NEARESTMV || this_mode == NEAR_NEARESTMV) { + if (this_mode == NEW_NEARESTMV) { cur_mv[1] = mbmi_ext->ref_mv_stack[ref_frame_type][0].comp_mv; lower_mv_precision(&cur_mv[1].as_mv, cm->allow_high_precision_mv); @@ -8589,8 +8542,7 @@ if (mbmi_ext->ref_mv_count[ref_frame_type] > 1) { int ref_mv_idx = mbmi->ref_mv_idx + 1; - if (this_mode == NEAR_NEWMV || this_mode == NEAR_NEARESTMV || - this_mode == NEAR_NEARMV) { + if (this_mode == NEAR_NEWMV || this_mode == NEAR_NEARMV) { cur_mv[0] = mbmi_ext->ref_mv_stack[ref_frame_type][ref_mv_idx].this_mv; lower_mv_precision(&cur_mv[0].as_mv, cm->allow_high_precision_mv); @@ -8599,8 +8551,7 @@ mbmi->mv[0].as_int = cur_mv[0].as_int; } - if (this_mode == NEW_NEARMV || this_mode == NEAREST_NEARMV || - this_mode == NEAR_NEARMV) { + if (this_mode == NEW_NEARMV || this_mode == NEAR_NEARMV) { cur_mv[1] = mbmi_ext->ref_mv_stack[ref_frame_type][ref_mv_idx].comp_mv; lower_mv_precision(&cur_mv[1].as_mv, cm->allow_high_precision_mv); @@ -9906,10 +9857,6 @@ #if CONFIG_EXT_INTER if (frame_mv[NEAREST_NEARESTMV][ALTREF_FRAME].as_int != zeromv.as_int) mode_skip_mask[ALTREF_FRAME] |= (1 << NEAREST_NEARESTMV); - if (frame_mv[NEAREST_NEARMV][ALTREF_FRAME].as_int != zeromv.as_int) - mode_skip_mask[ALTREF_FRAME] |= (1 << NEAREST_NEARMV); - if (frame_mv[NEAR_NEARESTMV][ALTREF_FRAME].as_int != zeromv.as_int) - mode_skip_mask[ALTREF_FRAME] |= (1 << NEAR_NEARESTMV); if (frame_mv[NEAR_NEARMV][ALTREF_FRAME].as_int != zeromv.as_int) mode_skip_mask[ALTREF_FRAME] |= (1 << NEAR_NEARMV); #endif // CONFIG_EXT_INTER @@ -11180,17 +11127,9 @@ nearmv[0] = mbmi_ext->ref_mv_stack[rf_type][i + 1].this_mv; nearmv[1] = mbmi_ext->ref_mv_stack[rf_type][i + 1].comp_mv; - // Try switching to the NEAR_NEAREST type modes first - if (nearestmv[0].as_int == best_mbmode.mv[0].as_int && + // Try switching to the NEAR_NEARMV mode + if (nearmv[0].as_int == best_mbmode.mv[0].as_int && nearmv[1].as_int == best_mbmode.mv[1].as_int) { - best_mbmode.mode = NEAREST_NEARMV; - best_mbmode.ref_mv_idx = i; - } else if (nearmv[0].as_int == best_mbmode.mv[0].as_int && - nearestmv[1].as_int == best_mbmode.mv[1].as_int) { - best_mbmode.mode = NEAR_NEARESTMV; - best_mbmode.ref_mv_idx = i; - } else if (nearmv[0].as_int == best_mbmode.mv[0].as_int && - nearmv[1].as_int == best_mbmode.mv[1].as_int) { best_mbmode.mode = NEAR_NEARMV; best_mbmode.ref_mv_idx = i; }
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h index f400dce..39c4dd5 100644 --- a/av1/encoder/speed_features.h +++ b/av1/encoder/speed_features.h
@@ -39,37 +39,33 @@ #if CONFIG_EXT_INTER enum { INTER_ALL = (1 << NEARESTMV) | (1 << NEARMV) | (1 << ZEROMV) | (1 << NEWMV) | - (1 << NEAREST_NEARESTMV) | (1 << NEAR_NEARMV) | - (1 << NEAREST_NEARMV) | (1 << NEAR_NEARESTMV) | (1 << NEW_NEWMV) | + (1 << NEAREST_NEARESTMV) | (1 << NEAR_NEARMV) | (1 << NEW_NEWMV) | (1 << NEAREST_NEWMV) | (1 << NEAR_NEWMV) | (1 << NEW_NEARMV) | (1 << NEW_NEARESTMV) | (1 << ZERO_ZEROMV), INTER_NEAREST = (1 << NEARESTMV) | (1 << NEAREST_NEARESTMV) | - (1 << NEAREST_NEARMV) | (1 << NEAR_NEARESTMV) | (1 << NEW_NEARESTMV) | (1 << NEAREST_NEWMV), INTER_NEAREST_NEW = (1 << NEARESTMV) | (1 << NEWMV) | (1 << NEAREST_NEARESTMV) | (1 << NEW_NEWMV) | - (1 << NEAR_NEARESTMV) | (1 << NEAREST_NEARMV) | (1 << NEW_NEARESTMV) | (1 << NEAREST_NEWMV) | (1 << NEW_NEARMV) | (1 << NEAR_NEWMV), INTER_NEAREST_ZERO = (1 << NEARESTMV) | (1 << ZEROMV) | (1 << NEAREST_NEARESTMV) | (1 << ZERO_ZEROMV) | - (1 << NEAREST_NEARMV) | (1 << NEAR_NEARESTMV) | (1 << NEAREST_NEWMV) | (1 << NEW_NEARESTMV), - INTER_NEAREST_NEW_ZERO = - (1 << NEARESTMV) | (1 << ZEROMV) | (1 << NEWMV) | - (1 << NEAREST_NEARESTMV) | (1 << ZERO_ZEROMV) | (1 << NEW_NEWMV) | - (1 << NEAREST_NEARMV) | (1 << NEAR_NEARESTMV) | (1 << NEW_NEARESTMV) | - (1 << NEAREST_NEWMV) | (1 << NEW_NEARMV) | (1 << NEAR_NEWMV), - INTER_NEAREST_NEAR_NEW = - (1 << NEARESTMV) | (1 << NEARMV) | (1 << NEWMV) | - (1 << NEAREST_NEARESTMV) | (1 << NEW_NEWMV) | (1 << NEAREST_NEARMV) | - (1 << NEAR_NEARESTMV) | (1 << NEW_NEARESTMV) | (1 << NEAREST_NEWMV) | - (1 << NEW_NEARMV) | (1 << NEAR_NEWMV) | (1 << NEAR_NEARMV), - INTER_NEAREST_NEAR_ZERO = - (1 << NEARESTMV) | (1 << NEARMV) | (1 << ZEROMV) | - (1 << NEAREST_NEARESTMV) | (1 << ZERO_ZEROMV) | (1 << NEAREST_NEARMV) | - (1 << NEAR_NEARESTMV) | (1 << NEAREST_NEWMV) | (1 << NEW_NEARESTMV) | - (1 << NEW_NEARMV) | (1 << NEAR_NEWMV) | (1 << NEAR_NEARMV), + INTER_NEAREST_NEW_ZERO = (1 << NEARESTMV) | (1 << ZEROMV) | (1 << NEWMV) | + (1 << NEAREST_NEARESTMV) | (1 << ZERO_ZEROMV) | + (1 << NEW_NEWMV) | (1 << NEW_NEARESTMV) | + (1 << NEAREST_NEWMV) | (1 << NEW_NEARMV) | + (1 << NEAR_NEWMV), + INTER_NEAREST_NEAR_NEW = (1 << NEARESTMV) | (1 << NEARMV) | (1 << NEWMV) | + (1 << NEAREST_NEARESTMV) | (1 << NEW_NEWMV) | + (1 << NEW_NEARESTMV) | (1 << NEAREST_NEWMV) | + (1 << NEW_NEARMV) | (1 << NEAR_NEWMV) | + (1 << NEAR_NEARMV), + INTER_NEAREST_NEAR_ZERO = (1 << NEARESTMV) | (1 << NEARMV) | (1 << ZEROMV) | + (1 << NEAREST_NEARESTMV) | (1 << ZERO_ZEROMV) | + (1 << NEAREST_NEWMV) | (1 << NEW_NEARESTMV) | + (1 << NEW_NEARMV) | (1 << NEAR_NEWMV) | + (1 << NEAR_NEARMV), }; #else enum {