From: Marco Date: Fri, 25 Aug 2017 16:59:57 +0000 (-0700) Subject: vp9: SVC: Modify mv search condition in speed features. X-Git-Tag: v1.7.0~206^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a74593b30c1472cf8e9c61d5a0d39fa3b9cdf4df;p=libvpx vp9: SVC: Modify mv search condition in speed features. For SVC at speed >= 7: only use the improved mv search on base spatial layer, if top layer resolution is above 640x360. ~2.3% speedup Small/negligible loss in avgPSNR metrics on rtc set. Change-Id: Iaef75a57ebf1c248931bc1aa28d20b7fecac1851 --- diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c index 43ef4254d..02ce2de1d 100644 --- a/vp9/encoder/vp9_speed_features.c +++ b/vp9/encoder/vp9_speed_features.c @@ -560,8 +560,12 @@ static void set_rt_speed_feature_framesize_independent( sf->adaptive_rd_thresh = 3; sf->mv.search_method = FAST_DIAMOND; sf->mv.fullpel_search_step_param = 10; + // For SVC: use better mv search on base temporal layer, and only + // on base spatial layer if highest resolution is above 640x360. if (cpi->svc.number_temporal_layers > 2 && - cpi->svc.temporal_layer_id == 0) { + cpi->svc.temporal_layer_id == 0 && + (cpi->svc.spatial_layer_id == 0 || + cpi->oxcf.width * cpi->oxcf.height <= 640 * 360)) { sf->mv.search_method = NSTEP; sf->mv.fullpel_search_step_param = 6; }