From f070c53c7a5057248e6a4819dc967fa2c87600b0 Mon Sep 17 00:00:00 2001 From: Mark Thompson Date: Sun, 23 Aug 2020 17:06:06 +0100 Subject: [PATCH] cbs_av1: Fix test for presence of buffer_removal_time element The frame must be in both the spatial and temporal layers for the operating point, not just one of them. (cherry picked from commit b567cb8d0b664775201d843ab985f49fefeb25d5) --- libavcodec/cbs_av1_syntax_template.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c index a315e8868a..ce6a66823c 100644 --- a/libavcodec/cbs_av1_syntax_template.c +++ b/libavcodec/cbs_av1_syntax_template.c @@ -1381,7 +1381,7 @@ static int FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw, int in_temporal_layer = (op_pt_idc >> priv->temporal_id ) & 1; int in_spatial_layer = (op_pt_idc >> (priv->spatial_id + 8)) & 1; if (seq->operating_point_idc[i] == 0 || - in_temporal_layer || in_spatial_layer) { + (in_temporal_layer && in_spatial_layer)) { fbs(seq->decoder_model_info.buffer_removal_time_length_minus_1 + 1, buffer_removal_time[i], 1, i); }