Skip certain ALTREF inter modes in ARF coding
This commit enables the encoder to skip checking ALTREF inter modes in ARF coding, if the predicted motion vectors suggest that the GOLDEN_FRAME provides higher prediction accuracy than ALTREF_FRAME. It improves the speed 3 encoding speed by about 5%, at the expense of compression performance loss -0.041% and -0.225% for derf and stdhd, respectively. pedestrian_area 1080p 2000 kbps 66705 b/f, 40.909 dB, 118738 ms -> 66732 b/f, 40.908 dB, 113688 ms old_town_cross 720p 1500 kbps 14427 b/f, 36.256 dB, 62746 ms -> 14412 b/f, 36.252 dB, 60690 ms blue_sky 1080p 1500 kbps 51026 b/f, 35.897 dB, 73310 ms -> 50921 b/f, 35.893 dB, 70406 ms bus CIF 1000 kbps 21301 b/f, 34.841 dB, 7326 ms -> 21248 b/f, 34.837 dB, 7196 ms Change-Id: I76cf88b4d655e1ee3c0cb03c8a5745493040e8d2
This commit is contained in:
parent
6989e81d61
commit
ccdb518ff8
@ -2674,6 +2674,11 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
}
|
||||
}
|
||||
|
||||
if (cpi->sf.alt_ref_search_fp)
|
||||
if (!cm->show_frame)
|
||||
if (x->pred_mv_sad[ALTREF_FRAME] > (x->pred_mv_sad[GOLDEN_FRAME] << 1))
|
||||
mode_skip_mask[ALTREF_FRAME] |= INTER_ALL;
|
||||
|
||||
if (bsize > cpi->sf.max_intra_bsize) {
|
||||
ref_frame_skip_mask[0] |= (1 << INTRA_FRAME);
|
||||
ref_frame_skip_mask[1] |= (1 << INTRA_FRAME);
|
||||
|
Loading…
x
Reference in New Issue
Block a user