diff options
author | Jerome Jiang <jianj@google.com> | 2019-05-10 23:15:04 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-05-10 23:15:04 +0000 |
commit | 4d0fe85c1957cea215085e7da41ee797e6a51f01 (patch) | |
tree | 3757c028ed95fb44585db3e1da9c67ab145ca508 /vp9 | |
parent | 7877b911a425ad7e1c829d86eeac0c334f19de39 (diff) | |
parent | 152358da777d45613b386be3a116719b8b16bd6d (diff) | |
download | libvpx-4d0fe85c1957cea215085e7da41ee797e6a51f01.tar libvpx-4d0fe85c1957cea215085e7da41ee797e6a51f01.tar.gz libvpx-4d0fe85c1957cea215085e7da41ee797e6a51f01.tar.bz2 libvpx-4d0fe85c1957cea215085e7da41ee797e6a51f01.zip |
Merge "Revert "vp9: Enable ml based partition for speed>=8 low res.""
Diffstat (limited to 'vp9')
-rw-r--r-- | vp9/encoder/vp9_speed_features.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c index 18130dded..f3fb73e36 100644 --- a/vp9/encoder/vp9_speed_features.c +++ b/vp9/encoder/vp9_speed_features.c @@ -569,6 +569,14 @@ 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 (sf->nonrd_use_ml_partition) { + if (!frame_is_intra_only(cm) && cm->width >= 360 && cm->height >= 360) + sf->partition_search_type = ML_BASED_PARTITION; +#if CONFIG_VP9_HIGHBITDEPTH + if (cpi->Source->flags & YV12_FLAG_HIGHBITDEPTH) + sf->partition_search_type = REFERENCE_PARTITION; +#endif // CONFIG_VP9_HIGHBITDEPTH + } 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; @@ -633,7 +641,10 @@ static void set_rt_speed_feature_framesize_independent( sf->use_altref_onepass = 1; sf->use_compound_nonrd_pickmode = 1; } - sf->partition_search_type = VAR_BASED_PARTITION; + + if (!sf->nonrd_use_ml_partition) + sf->partition_search_type = VAR_BASED_PARTITION; + sf->mv.search_method = NSTEP; sf->mv.reduce_first_step_size = 1; sf->skip_encode_sb = 0; @@ -721,10 +732,6 @@ static void set_rt_speed_feature_framesize_independent( if (!cpi->use_svc) cpi->max_copied_frame = 4; if (cpi->row_mt && cpi->oxcf.max_threads > 1) sf->adaptive_rd_thresh_row_mt = 1; - // Enable ML based partition for low res. - if (!frame_is_intra_only(cm) && cm->width * cm->height <= 352 * 288) { - sf->nonrd_use_ml_partition = 1; - } if (content == VP9E_CONTENT_SCREEN) sf->mv.subpel_force_stop = HALF_PEL; // Only keep INTRA_DC mode for speed 8. if (!is_keyframe) { @@ -771,9 +778,6 @@ static void set_rt_speed_feature_framesize_independent( if (cm->width * cm->height >= 640 * 360) sf->variance_part_thresh_mult = 2; } - if (sf->nonrd_use_ml_partition) - sf->partition_search_type = ML_BASED_PARTITION; - if (sf->use_altref_onepass) { if (cpi->rc.is_src_frame_alt_ref && cm->frame_type != KEY_FRAME) { sf->partition_search_type = FIXED_PARTITION; |