summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2020-04-08 18:39:41 -0700
committerMarco Paniconi <marpan@google.com>2020-04-08 19:09:16 -0700
commitbf073d996b26ca430c3aefe6f1fac907147e69f9 (patch)
treef5a1b93eed6d0b094b5b80ed3adde4bee101a15d
parent8dc6f353c6d04329cf59529f41a6f46d9dbfcafa (diff)
downloadlibvpx-bf073d996b26ca430c3aefe6f1fac907147e69f9.tar.gz
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
-rw-r--r--vp9/encoder/vp9_speed_features.c5
1 files changed, 4 insertions, 1 deletions
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;