From b567cb8d0b664775201d843ab985f49fefeb25d5 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. --- 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 240fa188e4..3a832c3ca0 100644 --- a/libavcodec/cbs_av1_syntax_template.c +++ b/libavcodec/cbs_av1_syntax_template.c @@ -1388,7 +1388,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); }