diff options
author | Marco Paniconi <marpan@google.com> | 2018-09-02 22:17:32 -0700 |
---|---|---|
committer | Marco Paniconi <marpan@google.com> | 2018-09-02 22:24:09 -0700 |
commit | a8d8f37d3c2aff2412a46daf9211e1a3c0189c6a (patch) | |
tree | 1f948e5a283abb34a7ff7a15df2ba05261644b80 /vp9 | |
parent | d748cfdad2378fc488fb5df4411adf5f2d5b99c9 (diff) | |
download | libvpx-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.c | 3 |
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] == |