summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_speed_features.c
diff options
context:
space:
mode:
authorHui Su <huisu@google.com>2018-10-19 16:48:40 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-10-19 16:48:40 +0000
commit137d99c91fc7f03b6b886e5ac342ee4ef7f875ec (patch)
treeb6ee1d91bf277869530313130132ddefdc052782 /vp9/encoder/vp9_speed_features.c
parentaf4cd92629d039e06a68cf3fc6cdbbf4cfcfd05a (diff)
parent0bedb351ff8e3a323b9950b72dfed7cb8154e73d (diff)
downloadlibvpx-137d99c91fc7f03b6b886e5ac342ee4ef7f875ec.tar
libvpx-137d99c91fc7f03b6b886e5ac342ee4ef7f875ec.tar.gz
libvpx-137d99c91fc7f03b6b886e5ac342ee4ef7f875ec.tar.bz2
libvpx-137d99c91fc7f03b6b886e5ac342ee4ef7f875ec.zip
Merge "ML_VAR_PARTITION: enable at speed 5"
Diffstat (limited to 'vp9/encoder/vp9_speed_features.c')
-rw-r--r--vp9/encoder/vp9_speed_features.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c
index 1af7434f8..db064d3df 100644
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -562,6 +562,16 @@ static void set_rt_speed_feature_framesize_independent(
(frames_since_key % (sf->last_partitioning_redo_frequency << 1) == 1);
sf->max_delta_qindex = is_keyframe ? 20 : 15;
sf->partition_search_type = REFERENCE_PARTITION;
+#if CONFIG_ML_VAR_PARTITION
+ if (!frame_is_intra_only(cm) && cm->width >= 360 && cm->height >= 360)
+ sf->partition_search_type = ML_BASED_PARTITION;
+ else
+ sf->partition_search_type = REFERENCE_PARTITION;
+#if CONFIG_VP9_HIGHBITDEPTH
+ if (cpi->Source->flags & YV12_FLAG_HIGHBITDEPTH)
+ sf->partition_search_type = REFERENCE_PARTITION;
+#endif // CONFIG_VP9_HIGHBITDEPTH
+#endif // CONFIG_ML_VAR_PARTITION
if (cpi->oxcf.rc_mode == VPX_VBR && cpi->oxcf.lag_in_frames > 0 &&
cpi->rc.is_src_frame_alt_ref) {
sf->partition_search_type = VAR_BASED_PARTITION;
@@ -623,9 +633,7 @@ static void set_rt_speed_feature_framesize_independent(
sf->use_compound_nonrd_pickmode = 1;
}
#if CONFIG_ML_VAR_PARTITION
- if (!frame_is_intra_only(cm) && cm->width >= 360 && cm->height >= 360)
- sf->partition_search_type = ML_BASED_PARTITION;
- else
+ if (frame_is_intra_only(cm) || cm->width < 360 || cm->height < 360)
sf->partition_search_type = VAR_BASED_PARTITION;
#if CONFIG_VP9_HIGHBITDEPTH
if (cpi->Source->flags & YV12_FLAG_HIGHBITDEPTH)