Merge "Chessboard pattern prediction filter type search in non-RD coding"
This commit is contained in:
commit
ace194a059
@ -238,6 +238,9 @@ int64_t vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
// Mode index conversion form THR_MODES to PREDICTION_MODE for a ref frame.
|
||||
int mode_idx[MB_MODE_COUNT] = {0};
|
||||
INTERP_FILTER filter_ref = SWITCHABLE;
|
||||
int bsl = mi_width_log2_lookup[bsize];
|
||||
int pred_filter_search = (((mi_row + mi_col) >> bsl) +
|
||||
cpi->sf.chessboard_index) & 0x01;
|
||||
|
||||
x->skip_encode = cpi->sf.skip_encode_frame && x->q_index < QIDX_SKIP_THRESH;
|
||||
|
||||
@ -338,6 +341,7 @@ int64_t vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
// motion vector is at sub-pixel accuracy level for luma component, i.e.,
|
||||
// the last three bits are all zeros.
|
||||
if ((this_mode == NEWMV || filter_ref == SWITCHABLE) &&
|
||||
pred_filter_search &&
|
||||
((mbmi->mv[0].as_mv.row & 0x07) != 0 ||
|
||||
(mbmi->mv[0].as_mv.col & 0x07) != 0)) {
|
||||
int64_t tmp_rdcost1 = INT64_MAX;
|
||||
|
@ -268,6 +268,7 @@ static void set_rt_speed_feature(VP9_COMMON *cm, SPEED_FEATURES *sf,
|
||||
sf->use_nonrd_pick_mode = 1;
|
||||
sf->search_method = FAST_DIAMOND;
|
||||
sf->allow_skip_recode = 0;
|
||||
sf->chessboard_index = cm->current_video_frame & 0x01;
|
||||
}
|
||||
|
||||
if (speed >= 6) {
|
||||
|
@ -274,6 +274,9 @@ typedef struct {
|
||||
// encoding process for RTC.
|
||||
int partition_check;
|
||||
|
||||
// Chessboard pattern index
|
||||
int chessboard_index;
|
||||
|
||||
// Use finer quantizer in every other few frames that run variable block
|
||||
// partition type search.
|
||||
int force_frame_boost;
|
||||
|
Loading…
x
Reference in New Issue
Block a user