Avoid scaling last_source, unless needed.

Save some encoding time, for the case of spatial layers
or under dynamic resizing mode.

Change-Id: If4a8eb6f0376c3d2dde8465fde6bfd86ab704920
This commit is contained in:
Marco 2015-09-11 11:23:26 -07:00
Родитель 6ddbc845cc
Коммит e8a4a3e2b1
1 изменённых файлов: 7 добавлений и 1 удалений

Просмотреть файл

@ -3201,7 +3201,13 @@ static void encode_without_recode_loop(VP9_COMP *cpi,
cpi->Source = vp9_scale_if_required(cm, cpi->Source = vp9_scale_if_required(cm,
cpi->un_scaled_source, cpi->un_scaled_source,
&cpi->scaled_source); &cpi->scaled_source);
if (cpi->unscaled_last_source != NULL)
// Avoid scaling last_source unless its needed.
// Last source is currently only used for screen-content mode,
// or if partition_search_type == SOURCE_VAR_BASED_PARTITION.
if (cpi->unscaled_last_source != NULL &&
(cpi->oxcf.content == VP9E_CONTENT_SCREEN ||
cpi->sf.partition_search_type == SOURCE_VAR_BASED_PARTITION))
cpi->Last_Source = vp9_scale_if_required(cm, cpi->Last_Source = vp9_scale_if_required(cm,
cpi->unscaled_last_source, cpi->unscaled_last_source,
&cpi->scaled_last_source); &cpi->scaled_last_source);