[FFmpeg-devel] [PATCH] lavc/vvc: Fix condition for using default scaling factor

Frank Plowman post at frankplowman.com
Sat Jun 21 15:05:14 EEST 2025


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 used implicitly previously.

Reported-by: Michael Niedermayer <micheal at niedermayer.cc>
Signed-off-by: Frank Plowman <post at frankplowman.com>
---
 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) {
-- 
2.47.0



More information about the ffmpeg-devel mailing list