Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion av2/encoder/rdopt.c
Original file line number Diff line number Diff line change
Expand Up @@ -8849,7 +8849,7 @@ static void tx_search_best_inter_candidates(
}

// Indicates number of winner simple translation modes to be used
static const unsigned int num_winner_motion_modes[3] = { 0, 10, 6 };
static const unsigned int num_winner_motion_modes[4] = { 0, 10, 6, 3 };
Comment thread
yeqing-wu marked this conversation as resolved.

// Returns true if a mode is added to the winner mode check.
static AVM_INLINE int is_check_in_winner(const AV2_COMP *cpi,
Expand Down
12 changes: 7 additions & 5 deletions av2/encoder/speed_features.c
Original file line number Diff line number Diff line change
Expand Up @@ -419,6 +419,8 @@ static void set_good_speed_features_framesize_independent(
// Predictive single-ref NEWMV reuse across the DRL.
sf->mv_sf.predict_repeated_newmv = 1;
sf->inter_sf.enable_six_param_warp_in_winner_mode = 1;
sf->inter_sf.enable_six_param_warp_in_winner_mode_by_tid =
cm->current_frame.pyramid_level >= 3 ? 1 : 0;

// Cap the DRL depth for a fresh single-ref NEWMV search; reuse the
// nearest searched result beyond the cap.
Expand Down Expand Up @@ -699,14 +701,14 @@ static void set_good_speed_features_framesize_independent(
sf->rd_sf.perform_coeff_opt = is_boosted_arf2_bwd_type ? 4 : 6;

sf->winner_mode_sf.multi_winner_mode_type = MULTI_WINNER_MODE_OFF;

sf->inter_sf.enable_four_param_warp_in_winner_mode = 1;
sf->inter_sf.enable_six_param_warp_in_winner_mode_by_tid = 1;
}

if (enable_warp_search_in_winner_mode(&sf->inter_sf))
if (enable_warp_search_in_winner_mode(&sf->inter_sf)) {
sf->winner_mode_sf.motion_mode_for_winner_cand = 2;

if (sf->inter_sf.enable_six_param_warp_in_winner_mode) {
sf->inter_sf.enable_six_param_warp_in_winner_mode_by_tid =
cm->current_frame.pyramid_level >= 3 ? 1 : 0;
if (speed == 6) sf->winner_mode_sf.motion_mode_for_winner_cand = 3;
}
}

Expand Down
4 changes: 3 additions & 1 deletion av2/encoder/speed_features.h
Original file line number Diff line number Diff line change
Expand Up @@ -608,8 +608,10 @@ typedef struct INTER_MODE_SPEED_FEATURES {
int prune_inter_modes_if_skippable;
// Enable six param warp in winner mode
int enable_six_param_warp_in_winner_mode;

// Enable six parameter warp in winner mode by tid. If set to 1, enable six
// parameter warp in winner mode by tid threshold.
// parameter warp in winner mode by tid threshold for speed >= 1.
// Enable six param in winner all tid level for speed 6
int enable_six_param_warp_in_winner_mode_by_tid;

// Disable the 4 parameter warp delta refinement during initial mode search
Expand Down
Loading