From: Hui Su Date: Wed, 17 Oct 2018 15:40:26 +0000 (-0700) Subject: Enable rect partition search for HBD at speed 1 X-Git-Tag: v1.8.0~220^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8d5461eb0aaeca4c5e51b8f142cf7f4d281d8afe;p=libvpx Enable rect partition search for HBD at speed 1 This patch enables rectangular partition search on speed 1 for high bit depth encoding. The encoding speed loss is reduced thanks to recently added speed features. This only affects speed 1 high bit-depth encoding. Coding gains: avg_psnr ovr_psnr lowres_bd10(480p) 1.34% 1.40% midres_bd10(720p) 1.28% 1.33% Average speed loss: QP=30 QP=40 QP=50 average 480p 2.5% 2.3% 2.6% 2.5% 720p 4.0% 3.9% 3.2% 3.7% Change-Id: Id9cac4eea0769d94e093c9d170194659b3342d89 --- diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c index 87b417a4b..1af7434f8 100644 --- a/vp9/encoder/vp9_speed_features.c +++ b/vp9/encoder/vp9_speed_features.c @@ -116,17 +116,13 @@ static void set_good_speed_feature_framesize_dependent(VP9_COMP *cpi, sf->ml_partition_search_breakout_thresh[1] = -1.0f; sf->ml_partition_search_breakout_thresh[2] = -1.0f; } - #if CONFIG_VP9_HIGHBITDEPTH if (cpi->Source->flags & YV12_FLAG_HIGHBITDEPTH) { - sf->use_square_only_thresh_high = BLOCK_4X4; - sf->use_square_only_thresh_low = BLOCK_SIZES; - if (is_720p_or_larger) { - sf->partition_search_breakout_thr.dist = (1 << 23); - sf->use_ml_partition_search_breakout = 0; - } + sf->ml_partition_search_breakout_thresh[0] -= 1.0f; + sf->ml_partition_search_breakout_thresh[1] -= 1.0f; + sf->ml_partition_search_breakout_thresh[2] -= 1.0f; } -#endif +#endif // CONFIG_VP9_HIGHBITDEPTH } if (speed >= 2) { @@ -246,10 +242,6 @@ static void set_good_speed_feature_framesize_independent(VP9_COMP *cpi, sf->ml_prune_rect_partition_threhold[1] = 200; sf->ml_prune_rect_partition_threhold[2] = 200; sf->ml_prune_rect_partition_threhold[3] = 200; -#if CONFIG_VP9_HIGHBITDEPTH - if (cpi->Source->flags & YV12_FLAG_HIGHBITDEPTH) - sf->prune_ref_frame_for_rect_partitions = 0; -#endif // CONFIG_VP9_HIGHBITDEPTH if (oxcf->pass == 2) { TWO_PASS *const twopass = &cpi->twopass;