Disable OBMC + compound
Disable OBMC mode if the current block uses compound prediction. Results if we only disable this combination for small block sizes are also listed. Loss of gain (lowres/midres/AWCYHL) no compound : 0.230%/0.105%/0.15% no compound <= 8x8: 0.043%/-0.016%/0% no compound <= 16x16: 0.153%/0.029%/0.05% Change-Id: I94c9d704172dd02e53f3b2004a8032a4f1265057
This commit is contained in:
Родитель
1c2479747c
Коммит
8636da613b
|
@ -1082,6 +1082,14 @@ static INLINE int is_motion_variation_allowed_bsize(BLOCK_SIZE bsize) {
|
|||
return (bsize >= BLOCK_8X8);
|
||||
}
|
||||
|
||||
static INLINE int is_motion_variation_allowed_compound(
|
||||
const MB_MODE_INFO *mbmi) {
|
||||
if (!has_second_ref(mbmi))
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if CONFIG_MOTION_VAR
|
||||
// input: log2 of length, 0(4), 1(8), ...
|
||||
static const int max_neighbor_obmc[6] = { 0, 1, 2, 3, 4, 4 };
|
||||
|
@ -1104,10 +1112,11 @@ static INLINE MOTION_MODE motion_mode_allowed(
|
|||
#endif // CONFIG_GLOBAL_MOTION && SEPARATE_GLOBAL_MOTION
|
||||
#if CONFIG_EXT_INTER
|
||||
if (is_motion_variation_allowed_bsize(mbmi->sb_type) &&
|
||||
is_inter_mode(mbmi->mode) && mbmi->ref_frame[1] != INTRA_FRAME) {
|
||||
is_inter_mode(mbmi->mode) && mbmi->ref_frame[1] != INTRA_FRAME &&
|
||||
is_motion_variation_allowed_compound(mbmi)) {
|
||||
#else
|
||||
if (is_motion_variation_allowed_bsize(mbmi->sb_type) &&
|
||||
is_inter_mode(mbmi->mode)) {
|
||||
is_inter_mode(mbmi->mode) && is_motion_variation_allowed_compound(mbmi)) {
|
||||
#endif // CONFIG_EXT_INTER
|
||||
#if CONFIG_MOTION_VAR
|
||||
if (!check_num_overlappable_neighbors(mbmi)) return SIMPLE_TRANSLATION;
|
||||
|
|
Загрузка…
Ссылка в новой задаче