From 540a2497d2385f94a661a6bbe0f088636d972783 Mon Sep 17 00:00:00 2001 From: Frank Plowman Date: Sat, 21 Jun 2025 13:05:14 +0100 Subject: [PATCH] lavc/vvc: Fix condition for using default scaling factor Add handling here for sps_scaling_matrix_for_alternative_colour_space_disabled_flag. Also add parentheses to make behaviour a little more explicit, where &&'s precedence over || was relied on previously. Reported-by: Michael Niedermayer Signed-off-by: Frank Plowman --- libavcodec/vvc/intra.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/vvc/intra.c b/libavcodec/vvc/intra.c index f56b43be66..45fafdb117 100644 --- a/libavcodec/vvc/intra.c +++ b/libavcodec/vvc/intra.c @@ -367,10 +367,10 @@ static const uint8_t* derive_scale_m(const VVCLocalContext *lc, const TransformB const int log2_matrix_size = (id < 2) ? 1 : (id < 8) ? 2 : 3; uint8_t *p = scale_m; - av_assert0(!sps->r->sps_scaling_matrix_for_alternative_colour_space_disabled_flag); - if (!rsh->sh_explicit_scaling_list_used_flag || tb->ts || - sps->r->sps_scaling_matrix_for_lfnst_disabled_flag && cu->apply_lfnst_flag[tb->c_idx]) + (sps->r->sps_scaling_matrix_for_lfnst_disabled_flag && cu->apply_lfnst_flag[tb->c_idx]) || + (sps->r->sps_scaling_matrix_for_alternative_colour_space_disabled_flag && + sps->r->sps_scaling_matrix_designated_colour_space_flag == cu->act_enabled_flag)) return ff_vvc_default_scale_m; if (!sl) {