ref: c216c8d6f29c74f58bebc11701b762fbfd74c55a
parent: 507204316aaaca39da9ccfa93645302be4a3fd70
author: Marco <marpan@google.com>
date: Sun Mar 12 18:38:52 EDT 2017
vp9: Speed >= 8: Enable simple_block_yrd speed feature. Enable speed feature for resolutions > VGA. avgPSNR on RTC down by ~1.7%. Speedup on ARM: ~5%. Change-Id: I7a3fe5f7425aa8df3f4a2eced1afa355bc0d4c95
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -652,7 +652,7 @@
#endif
if (cpi->sf.use_simple_block_yrd && cpi->common.frame_type != KEY_FRAME &&
- !cyclic_refresh_segment_id_boosted(xd->mi[0]->segment_id)) {
+ bsize < BLOCK_32X32) {
unsigned int var_y, sse_y;
(void)tx_size;
model_rd_for_sb_y(cpi, bsize, x, xd, &this_rdc->rate, &this_rdc->dist,
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -568,7 +568,7 @@
sf->adaptive_rd_thresh = 2;
}
sf->limit_newmv_early_exit = 0;
- sf->use_simple_block_yrd = 0;
+ if (cm->width > 640 && cm->height > 480) sf->use_simple_block_yrd = 1;
}
// Turn off adaptive_rd_thresh if row_mt is on for all the non-rd paths. This
// causes too many locks in realtime mode in certain platforms (Android ARM,