From: Marco Paniconi Date: Mon, 3 Sep 2018 05:17:32 +0000 (-0700) Subject: vp9-svc: Fix condition for pattern constraints X-Git-Tag: v1.8.0~371 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a8d8f37d3c2aff2412a46daf9211e1a3c0189c6a;p=libvpx vp9-svc: Fix condition for pattern constraints 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 --- diff --git a/vp9/encoder/vp9_svc_layercontext.c b/vp9/encoder/vp9_svc_layercontext.c index 818b04c19..b0871780c 100644 --- a/vp9/encoder/vp9_svc_layercontext.c +++ b/vp9/encoder/vp9_svc_layercontext.c @@ -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] ==