ref: 6e07bf363404b95165df6c9058f3f6a7ed7fac30
parent: 9f27d1f8431189e0ffddf519ccb943fc8312a8e9
parent: f129e09529e7d9e78acc39c44714d6e5fc2f0008
author: Jerome Jiang <[email protected]>
date: Wed Jan 11 15:50:42 EST 2017
Merge "vp9: Turn on the partition copy for speed 8. Tune threshold."
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -516,6 +516,7 @@
// The thresholds below are not changed locally.
if (is_key_frame) {
cpi->vbp_threshold_sad = 0;
+ cpi->vbp_threshold_copy = 0;
cpi->vbp_bsize_min = BLOCK_8X8;
} else {
if (cm->width <= 352 && cm->height <= 288)
@@ -525,8 +526,13 @@
? (cpi->y_dequant[q][1] << 1)
: 1000;
cpi->vbp_bsize_min = BLOCK_16X16;
+ if (cm->width <= 352 && cm->height <= 288)
+ cpi->vbp_threshold_copy = 40960;
+ else
+ cpi->vbp_threshold_copy = (cpi->y_dequant[q][1] << 6) > 32000
+ ? (cpi->y_dequant[q][1] << 6)
+ : 32000;
}
- cpi->vbp_threshold_copy = cpi->vbp_thresholds[0] << 16;
cpi->vbp_threshold_minmax = 15 + (q >> 3);
}
}
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -497,8 +497,10 @@
if (speed >= 8) {
sf->adaptive_rd_thresh = 4;
- // Disabled for now until the threshold is tuned.
- sf->copy_partition_flag = 0;
+ // Enable partition copy
+ if (!cpi->use_svc && !cpi->resize_pending && !cpi->resize_state &&
+ !cpi->external_resize)
+ sf->copy_partition_flag = 1;
if (sf->copy_partition_flag) {
if (cpi->prev_partition == NULL) {
cpi->prev_partition = (BLOCK_SIZE *)vpx_calloc(