aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Plowman <post@frankplowman.com>2025-06-21 13:05:14 +0100
committerFrank Plowman <post@frankplowman.com>2025-06-27 06:06:14 +0900
commit540a2497d2385f94a661a6bbe0f088636d972783 (patch)
tree7610e450ad1c92daf580c77e80a22be4b4219373
parentf8a9d9473b0af9e5769a669f5418361d6ac26ad8 (diff)
downloadffmpeg-540a2497d2385f94a661a6bbe0f088636d972783.tar.gz
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 <michael@niedermayer.cc> Signed-off-by: Frank Plowman <post@frankplowman.com>
-rw-r--r--libavcodec/vvc/intra.c6
1 files 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) {