From 3f18b08397674e4fe5b327c735f4945cb1892c41 Mon Sep 17 00:00:00 2001 From: Marco Paniconi Date: Tue, 23 Jun 2020 19:20:01 -0700 Subject: vp9-svc: Allow scale_references for single layer svc This is needed to allow for newmv search in nonrd_pickmode for resize/scaled frame, and for int_pro_motion_estimation on resized/scaled frame. Change-Id: I5e2fdbc4706a10813c1b00f6194e2442f648905a --- vp9/encoder/vp9_encoder.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'vp9/encoder') diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index ae7b47b52..2780c7384 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -4040,8 +4040,11 @@ static int encode_without_recode_loop(VP9_COMP *cpi, size_t *size, // For 1 pass CBR SVC, only ZEROMV is allowed for spatial reference frame // when svc->force_zero_mode_spatial_ref = 1. Under those conditions we can // avoid this frame-level upsampling (for non intra_only frames). + // For SVC single_layer mode, dynamic resize is allowed and we need to + // scale references for this case. if (frame_is_intra_only(cm) == 0 && - !(is_one_pass_cbr_svc(cpi) && svc->force_zero_mode_spatial_ref)) { + ((svc->single_layer_svc && cpi->oxcf.resize_mode == RESIZE_DYNAMIC) || + !(is_one_pass_cbr_svc(cpi) && svc->force_zero_mode_spatial_ref))) { vp9_scale_references(cpi); } -- cgit v1.2.3