From 66f028accbcc88d56716065f7a40a681a798064a Mon Sep 17 00:00:00 2001 From: James Almer Date: Mon, 29 Jan 2024 20:41:34 -0300 Subject: [PATCH] avcodec/cbs_h266: fix logic setting num_layers_in_ols when vps_ols_mode_idc is 2 The old code did not follow the syntax from the spec. Reviewed-by: Frank Plowman Signed-off-by: James Almer --- libavcodec/cbs_h266_syntax_template.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavcodec/cbs_h266_syntax_template.c b/libavcodec/cbs_h266_syntax_template.c index 549d021211..2f3478e5e1 100644 --- a/libavcodec/cbs_h266_syntax_template.c +++ b/libavcodec/cbs_h266_syntax_template.c @@ -902,11 +902,10 @@ static int FUNC(vps) (CodedBitstreamContext *ctx, RWContext *rw, current->vps_ols_mode_idc == 1) { num_layers_in_ols = i + 1; } else if (current->vps_ols_mode_idc == 2) { - for (k = 0, j = 0; k <= current->vps_max_layers_minus1; k++) { + for (k = 0, j = 0; k <= current->vps_max_layers_minus1; k++) if (layer_included_in_ols_flag[i][k]) j++; - num_layers_in_ols = j; - } + num_layers_in_ols = j; } if (num_layers_in_ols > 1) { num_multi_layer_olss++;