vp9-rtc: Disable nonrd_keyframe for SVC, speed >=8
authorMarco Paniconi <marpan@google.com>
Thu, 9 Apr 2020 01:39:41 +0000 (18:39 -0700)
committerMarco Paniconi <marpan@google.com>
Thu, 9 Apr 2020 02:09:16 +0000 (19:09 -0700)
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

index 7a26c41..7b0a4a7 100644 (file)
@@ -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;