summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2020-04-08 18:23:45 -0700
committerMarco Paniconi <marpan@google.com>2020-04-08 18:34:59 -0700
commit80de626f9fdbe3ffe6672b203b0c8233beb6ccea (patch)
tree9c9f9c0e00948275bf4cc9c612113b085cb0a186
parent8dc6f353c6d04329cf59529f41a6f46d9dbfcafa (diff)
downloadlibvpx-80de626f9fdbe3ffe6672b203b0c8233beb6ccea.tar.gz
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
-rw-r--r--vp9/encoder/vp9_speed_features.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c
index 7a26c4176..ce58cf204 100644
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -787,6 +787,13 @@ static void set_rt_speed_feature_framesize_independent(
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;