ref: 5f39262dccb82a46cbce7a51c255432d22ef4049
parent: b937f1c839b15fa7329ae815cab744eb830fe4c4
author: Marco <marpan@google.com>
date: Fri Apr 14 06:16:44 EDT 2017
vp9: Adjust speed features for speed 8 at low resoln. For low resolutions (<= CIF): use quarter-pixel and simple_block_yrd. ~5% gain on RTC_derf. ~6-7% slowdown on ARM. Change-Id: I4439ebd1116b9decac04786503f978840b68a60c
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -533,7 +533,11 @@
if (cpi->row_mt && cpi->oxcf.max_threads > 1)
sf->adaptive_rd_thresh_row_mt = 1;
- sf->mv.subpel_force_stop = (content == VP9E_CONTENT_SCREEN) ? 3 : 2;
+ if (content == VP9E_CONTENT_SCREEN)
+ sf->mv.subpel_force_stop = 3;
+ else if (cm->width > 352 && cm->height > 288)
+ sf->mv.subpel_force_stop = 2;
+
if (content == VP9E_CONTENT_SCREEN) sf->lpf_pick = LPF_PICK_MINIMAL_LPF;
// Only keep INTRA_DC mode for speed 8.
if (!is_keyframe) {
@@ -555,13 +559,13 @@
}
// Since the short_circuit_low_temp_var is used, reduce the
// adaptive_rd_thresh level.
- if (cm->width > 320 && cm->height > 240)
+ if (cm->width > 352 && cm->height > 288)
sf->adaptive_rd_thresh = 1;
else
sf->adaptive_rd_thresh = 2;
}
sf->limit_newmv_early_exit = 0;
- if (cm->width > 320 && cm->height > 240) sf->use_simple_block_yrd = 1;
+ sf->use_simple_block_yrd = 1;
}
// Turn off adaptive_rd_thresh if row_mt is on for speed 5, 6, 7.
if (speed >= 5 && speed < 8 && cpi->row_mt && cpi->num_workers > 1) {
--
⑨