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).
Unified · Split
| @@ -728,7 +728,10 @@ static void set_rt_speed_feature_framesize_independent( · 727 unmodified lines | |||
| 728 | if (speed >= 8) { | 728 | if (speed >= 8) { |
| 729 | sf->adaptive_rd_thresh = 4; | 729 | sf->adaptive_rd_thresh = 4; |
| 730 | sf->skip_encode_sb = 1; | 730 | sf->skip_encode_sb = 1; |
| 731 | sf->nonrd_keyframe = 1; | 731 | if (cpi->svc.number_spatial_layers > 1 && !cpi->svc.simulcast_mode) |
| 732 | sf->nonrd_keyframe = 0; | ||
| 733 | else | ||
| 734 | sf->nonrd_keyframe = 1; | ||
| 732 | if (!cpi->use_svc) cpi->max_copied_frame = 4; | 735 | if (!cpi->use_svc) cpi->max_copied_frame = 4; |
| 733 | if (cpi->row_mt && cpi->oxcf.max_threads > 1) | 736 | if (cpi->row_mt && cpi->oxcf.max_threads > 1) |
| 734 | sf->adaptive_rd_thresh_row_mt = 1; | 737 | sf->adaptive_rd_thresh_row_mt = 1; |