From a8d8f37d3c2aff2412a46daf9211e1a3c0189c6a Mon Sep 17 00:00:00 2001 From: Marco Paniconi Date: Sun, 2 Sep 2018 22:17:32 -0700 Subject: [PATCH] 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 --- vp9/encoder/vp9_svc_layercontext.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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] == -- 2.40.0