]> granicus.if.org Git - libvpx/commitdiff
vp9-svc: Add bypass flag to constrain inter_layer.
authorMarco Paniconi <marpan@google.com>
Mon, 3 Sep 2018 17:15:38 +0000 (10:15 -0700)
committerMarco Paniconi <marpan@google.com>
Mon, 3 Sep 2018 17:18:01 +0000 (10:18 -0700)
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

index 818b04c19da5f9e1f29a35976fd68b381a19a40b..1504e2d8bc53d79d454f8f8f0c3659e5021e60bc 100644 (file)
@@ -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;