From bf073d996b26ca430c3aefe6f1fac907147e69f9 Mon Sep 17 00:00:00 2001 From: Marco Paniconi Date: Wed, 8 Apr 2020 18:39:41 -0700 Subject: [PATCH] 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 --- vp9/encoder/vp9_speed_features.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c index 7a26c41..7b0a4a7 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; -- 2.7.4