diff options
author | Marco Paniconi <marpan@google.com> | 2020-04-08 18:23:45 -0700 |
---|---|---|
committer | Marco Paniconi <marpan@google.com> | 2020-04-08 18:34:59 -0700 |
commit | 80de626f9fdbe3ffe6672b203b0c8233beb6ccea (patch) | |
tree | 9c9f9c0e00948275bf4cc9c612113b085cb0a186 /vp9/encoder | |
parent | 8dc6f353c6d04329cf59529f41a6f46d9dbfcafa (diff) | |
download | libvpx-80de626f9fdbe3ffe6672b203b0c8233beb6ccea.tar libvpx-80de626f9fdbe3ffe6672b203b0c8233beb6ccea.tar.gz libvpx-80de626f9fdbe3ffe6672b203b0c8233beb6ccea.tar.bz2 libvpx-80de626f9fdbe3ffe6672b203b0c8233beb6ccea.zip |
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
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/vp9_speed_features.c | 7 |
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; |