From: Marco Paniconi Date: Mon, 3 Sep 2018 17:15:38 +0000 (-0700) Subject: vp9-svc: Add bypass flag to constrain inter_layer. X-Git-Tag: v1.8.0~370^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a2f78c7c9793292bb3793e18317e8ef920c1105e;p=libvpx 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 --- 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;