ref: a2f78c7c9793292bb3793e18317e8ef920c1105e
parent: d748cfdad2378fc488fb5df4411adf5f2d5b99c9
author: Marco Paniconi <marpan@google.com>
date: Mon Sep 3 06:15:38 EDT 2018
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
--- a/vp9/encoder/vp9_svc_layercontext.c
+++ b/vp9/encoder/vp9_svc_layercontext.c
@@ -1005,11 +1005,13 @@
}
}
}
- // 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;