ref: 80de626f9fdbe3ffe6672b203b0c8233beb6ccea
parent: 8dc6f353c6d04329cf59529f41a6f46d9dbfcafa
author: Marco Paniconi <marpan@google.com>
date: Wed Apr 8 14:23:45 EDT 2020
vp9-rtc: Set disable_16x16part for low-resoln high Q Only affects variance partition at low-resoln, speed 6,7 real-time mode. At very high Q better to save bits from the split to 8x8. bdrate gain ~3% on rtc_derf at very low bitrates Change-Id: I94ee58e67d5ba6277cbab8f8dd9ea45b035c82b5
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -787,6 +787,13 @@
if (cm->width * cm->height >= 640 * 360) sf->variance_part_thresh_mult = 2;
}
+ // Disable split to 8x8 for low-resolution at very high Q.
+ // For variance partition (speed >= 6).
+ if (cm->frame_type != KEY_FRAME && cm->width * cm->height <= 320 * 240 &&
+ sf->partition_search_type == VAR_BASED_PARTITION &&
+ cpi->rc.avg_frame_qindex[INTER_FRAME] > 208)
+ sf->disable_16x16part_nonkey = 1;
+
if (sf->nonrd_use_ml_partition)
sf->partition_search_type = ML_BASED_PARTITION;