summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2020-06-23 19:20:01 -0700
committerMarco Paniconi <marpan@google.com>2020-06-25 13:53:04 -0700
commit3f18b08397674e4fe5b327c735f4945cb1892c41 (patch)
treedcbbab40b9fa90b4901b5576aef23ae52575ee8a /vp9
parentd9a69a1e2967920afbeee2a76ce978d3e210298c (diff)
downloadlibvpx-3f18b08397674e4fe5b327c735f4945cb1892c41.tar
libvpx-3f18b08397674e4fe5b327c735f4945cb1892c41.tar.gz
libvpx-3f18b08397674e4fe5b327c735f4945cb1892c41.tar.bz2
libvpx-3f18b08397674e4fe5b327c735f4945cb1892c41.zip
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
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_encoder.c5
1 files changed, 4 insertions, 1 deletions
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);
}