summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_encodeframe.c
diff options
context:
space:
mode:
Diffstat (limited to 'vp9/encoder/vp9_encodeframe.c')
-rw-r--r--vp9/encoder/vp9_encodeframe.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index 4d39520dd..c2669b03f 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -1354,6 +1354,11 @@ static int choose_partitioning(VP9_COMP *cpi, const TileInfo *const tile,
} else {
set_vbp_thresholds(cpi, thresholds, cm->base_qindex, content_state);
}
+ // Decrease 32x32 split threshold for screen on base layer, for scene
+ // change/high motion frames.
+ if (cpi->oxcf.content == VP9E_CONTENT_SCREEN &&
+ cpi->svc.spatial_layer_id == 0 && force_64_split)
+ thresholds[1] = 3 * thresholds[1] >> 2;
// For non keyframes, disable 4x4 average for low resolution when speed = 8
threshold_4x4avg = (cpi->oxcf.speed < 8) ? thresholds[1] << 1 : INT64_MAX;