]> granicus.if.org Git - libvpx/commitdiff
vp9-svc: Fix condition for pattern constraints
authorMarco Paniconi <marpan@google.com>
Mon, 3 Sep 2018 05:17:32 +0000 (22:17 -0700)
committerMarco Paniconi <marpan@google.com>
Mon, 3 Sep 2018 05:24:09 +0000 (22:24 -0700)
For fixed/non-flexible SVC mode: on non-key spatial
enhancement layers modify constraint on the inter-layer
prediction to include the first_spatial_layer_to_encode.

Change-Id: I6a59174976ad72d555653704dcd3b03c52e31b6f

vp9/encoder/vp9_svc_layercontext.c

index 818b04c19da5f9e1f29a35976fd68b381a19a40b..b0871780cf892bdaf9d469dce74728f954eaff96 100644 (file)
@@ -1060,7 +1060,8 @@ void vp9_svc_assert_constraints_pattern(VP9_COMP *const cpi) {
         // Non-base temporal only predicts from lower temporal layer.
         assert(svc->fb_idx_temporal_layer_id[cpi->lst_fb_idx] <
                svc->temporal_layer_id);
-      if (svc->spatial_layer_id > 0) {
+      if (svc->spatial_layer_id > 0 && cpi->ref_frame_flags & VP9_GOLD_FLAG &&
+          svc->first_spatial_layer_to_encode >= svc->spatial_layer_id - 1) {
         // Non-base spatial only predicts from lower spatial layer with same
         // temporal_id.
         assert(svc->fb_idx_spatial_layer_id[cpi->gld_fb_idx] ==