summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2018-09-02 22:17:32 -0700
committerMarco Paniconi <marpan@google.com>2018-09-02 22:24:09 -0700
commita8d8f37d3c2aff2412a46daf9211e1a3c0189c6a (patch)
tree1f948e5a283abb34a7ff7a15df2ba05261644b80 /vp9
parentd748cfdad2378fc488fb5df4411adf5f2d5b99c9 (diff)
downloadlibvpx-a8d8f37d3c2aff2412a46daf9211e1a3c0189c6a.tar
libvpx-a8d8f37d3c2aff2412a46daf9211e1a3c0189c6a.tar.gz
libvpx-a8d8f37d3c2aff2412a46daf9211e1a3c0189c6a.tar.bz2
libvpx-a8d8f37d3c2aff2412a46daf9211e1a3c0189c6a.zip
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
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_svc_layercontext.c3
1 files changed, 2 insertions, 1 deletions
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] ==