ref: 132c0af3525dd4c26cc86ebe73bcf67d02cdc3ec
parent: f7ea14c80a15146f9061ee292d29c75d028737d1
parent: 715c30f034fda8d005935308567ec0efb8f2ab2c
author: Jerome Jiang <[email protected]>
date: Sun Dec 9 20:44:43 EST 2018
Merge "vp9 screen: Update motion search offset when set to NSTEP."
--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -3873,6 +3873,9 @@
set_size_independent_vars(cpi);
set_size_dependent_vars(cpi, &q, &bottom_index, &top_index);
+ // search method and step parameter might be changed in speed settings.
+ init_motion_estimation(cpi);
+
if (cpi->sf.copy_partition_flag) alloc_copy_partition_data(cpi);
if (cpi->sf.svc_use_lowres_part &&
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -796,18 +796,11 @@
}
// Special case for screen content: increase motion search on base spatial
// layer when high motion is detected or previous SL0 frame was dropped.
- // Avoid speed 5 for as there is an issue with SVC datarate test.
- // TODO(marpan/jianj): Investigate issue at speed 5.
- if (cpi->oxcf.content == VP9E_CONTENT_SCREEN && cpi->oxcf.speed > 5 &&
+ if (cpi->oxcf.content == VP9E_CONTENT_SCREEN && cpi->oxcf.speed >= 5 &&
cpi->svc.spatial_layer_id == 0 &&
(cpi->rc.high_num_blocks_with_motion || cpi->svc.last_layer_dropped[0])) {
sf->mv.search_method = NSTEP;
sf->mv.fullpel_search_step_param = 2;
- // TODO(marpan/jianj): Investigate issue for lower setting of step_param
- // for spatial layers (namely on lower layers).
- if (cpi->use_svc && cm->width != cpi->oxcf.width &&
- cm->height != cpi->oxcf.height)
- sf->mv.fullpel_search_step_param = 4;
}
}