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.
Unified · Split
| @@ -367,10 +367,10 @@ static const uint8_t* derive_scale_m(const VVCLocalContext *lc, const TransformB · 366 unmodified lines | |||
| 367 | const int log2_matrix_size = (id < 2) ? 1 : (id < 8) ? 2 : 3; | 367 | const int log2_matrix_size = (id < 2) ? 1 : (id < 8) ? 2 : 3; |
| 368 | uint8_t *p = scale_m; | 368 | uint8_t *p = scale_m; |
| 369 | 369 | ||
| 370 | av_assert0(!sps->r->sps_scaling_matrix_for_alternative_colour_space_disabled_flag); | ||
| 371 | |||
| 372 | if (!rsh->sh_explicit_scaling_list_used_flag || tb->ts || | 370 | if (!rsh->sh_explicit_scaling_list_used_flag || tb->ts || |
| 373 | sps->r->sps_scaling_matrix_for_lfnst_disabled_flag && cu->apply_lfnst_flag[tb->c_idx]) | 371 | (sps->r->sps_scaling_matrix_for_lfnst_disabled_flag && cu->apply_lfnst_flag[tb->c_idx]) || |
| 372 | (sps->r->sps_scaling_matrix_for_alternative_colour_space_disabled_flag && | ||
| 373 | sps->r->sps_scaling_matrix_designated_colour_space_flag == cu->act_enabled_flag)) | ||
| 374 | return ff_vvc_default_scale_m; | 374 | return ff_vvc_default_scale_m; |
| 375 | 375 | ||
| 376 | if (!sl) { | 376 | if (!sl) { |