From a2f78c7c9793292bb3793e18317e8ef920c1105e Mon Sep 17 00:00:00 2001 From: Marco Paniconi Date: Mon, 3 Sep 2018 10:15:38 -0700 Subject: vp9-svc: Add bypass flag to constrain inter_layer. The additional constraint imposed on inter-layer prediction should only be done for non-bypass (fixed) svc mode. Change-Id: Ia22cdb7bc21684776c9a13397e177a1e1c3d55a2 --- vp9/encoder/vp9_svc_layercontext.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'vp9/encoder') diff --git a/vp9/encoder/vp9_svc_layercontext.c b/vp9/encoder/vp9_svc_layercontext.c index 818b04c19..1504e2d8b 100644 --- a/vp9/encoder/vp9_svc_layercontext.c +++ b/vp9/encoder/vp9_svc_layercontext.c @@ -1005,11 +1005,13 @@ void vp9_svc_constrain_inter_layer_pred(VP9_COMP *const cpi) { } } } - // Check for disabling inter-layer prediction if the reference for inter-layer - // prediction (the reference that is scaled) is not the previous spatial layer - // from the same superframe, then we disable inter-layer prediction. - // Only need to check when inter_layer prediction is not set to OFF mode. - if (svc->disable_inter_layer_pred != INTER_LAYER_PRED_OFF) { + // For fixed/non-flexible SVC: check for disabling inter-layer prediction. + // If the reference for inter-layer prediction (the reference that is scaled) + // is not the previous spatial layer from the same superframe, then we disable + // inter-layer prediction. Only need to check when inter_layer prediction is + // not set to OFF mode. + if (svc->temporal_layering_mode != VP9E_TEMPORAL_LAYERING_MODE_BYPASS && + svc->disable_inter_layer_pred != INTER_LAYER_PRED_OFF) { // We only use LAST and GOLDEN for prediction in real-time mode, so we // check both here. MV_REFERENCE_FRAME ref_frame; -- cgit v1.2.3