From: Marco Paniconi Date: Thu, 9 Apr 2020 01:39:41 +0000 (-0700) Subject: vp9-rtc: Disable nonrd_keyframe for SVC, speed >=8 X-Git-Tag: v1.9.0-rc1~39^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bf073d996b26ca430c3aefe6f1fac907147e69f9;p=libvpx vp9-rtc: Disable nonrd_keyframe for SVC, speed >=8 For speed >= 8: disable nonrd_keyframe SVC with spatial_layers > 1. In this case having base spatial layer key frame with higher quality (hybrid mode search) is beneficial, without too much cpu cost (since its on lowest spatial layer). Change-Id: Iff7c43aed4e808603d8abdedb6eb5d2c9c8ecb8d --- diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c index 7a26c4176..7b0a4a75c 100644 --- a/vp9/encoder/vp9_speed_features.c +++ b/vp9/encoder/vp9_speed_features.c @@ -728,7 +728,10 @@ static void set_rt_speed_feature_framesize_independent( if (speed >= 8) { sf->adaptive_rd_thresh = 4; sf->skip_encode_sb = 1; - sf->nonrd_keyframe = 1; + if (cpi->svc.number_spatial_layers > 1 && !cpi->svc.simulcast_mode) + sf->nonrd_keyframe = 0; + else + sf->nonrd_keyframe = 1; 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;