Disable interinter_wedge at speed 5
Disabled interinter_wedge at speed 5 for fast encoding.
Borg test result:
avg_psnr: ovr_psnr: ssim: avg speedup:
objective-1-fast(fixed-q): 0.057 0.06 0.026 1.2%
lowres(vbr): 0.232 0.228 0.239 2.3%
midres(vbr): 0.240 0.252 0.296 2.3%
STATS_CHANGED
Change-Id: Ia82e8b8782d625bbb4d1efacd8234beb40828fce
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index d6ff46a..85dc74a 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -9459,7 +9459,8 @@
static INLINE bool enable_wedge_interinter_search(MACROBLOCK *const x,
const AV1_COMP *const cpi) {
- return enable_wedge_search(x, cpi) && cpi->oxcf.enable_interinter_wedge;
+ return enable_wedge_search(x, cpi) && cpi->oxcf.enable_interinter_wedge &&
+ !cpi->sf.disable_interinter_wedge;
}
static INLINE bool enable_wedge_interintra_search(MACROBLOCK *const x,
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index ce40491..809d1e8 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -468,6 +468,7 @@
if (speed >= 5) {
sf->disable_lr_filter = 1;
sf->disable_obmc = 1;
+ sf->disable_interinter_wedge = 1;
}
}
@@ -929,6 +930,7 @@
sf->prune_obmc_prob_thresh = 0;
sf->disable_obmc = 0;
sf->nonrd_merge_partition = 0;
+ sf->disable_interinter_wedge = 0;
if (oxcf->mode == GOOD)
set_good_speed_features_framesize_independent(cpi, sf, speed);
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 027020d..71222d0 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -817,6 +817,9 @@
// Disable loop restoration filter
int disable_lr_filter;
+
+ // Disable interinter_wedge
+ int disable_interinter_wedge;
} SPEED_FEATURES;
struct AV1_COMP;