On 29/04/2026 08:17, Mou Fan via ffmpeg-devel wrote:
> In the picture header parser, the chroma branch incorrectly tested
> sps_max_mtt_hierarchy_depth_intra_slice_chroma to decide whether to
> parse ph_log2_diff_max_{bt,tt}_min_qt_intra_slice_chroma.
> 
> Per ITU-T H.266 (V4, 01/2026) section 7.3.2.8 "Picture header
> structure syntax", the condition is on the just-parsed
> ph_max_mtt_hierarchy_depth_intra_slice_chroma, exactly mirroring the
> luma branch a few lines above and the inter-slice branch below.
> sps_partition_constraints_override_enabled_flag allows the picture
> header to override the SPS values, so testing the SPS field is
> incorrect and desynchronises the parser whenever the PH override
> changes the chroma MTT depth from/to zero.
> 
> Signed-off-by: Mou Fan <[email protected]>
> ---
>  libavcodec/cbs_h266_syntax_template.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/cbs_h266_syntax_template.c 
> b/libavcodec/cbs_h266_syntax_template.c
> index 98a8954943..fc79ba46c7 100644
> --- a/libavcodec/cbs_h266_syntax_template.c
> +++ b/libavcodec/cbs_h266_syntax_template.c
> @@ -2819,7 +2819,7 @@ static int FUNC(picture_header) (CodedBitstreamContext 
> *ctx, RWContext *rw,
>                     0, FFMIN(6, ctb_log2_size_y) - min_cb_log2_size_y);
>                  ue(ph_max_mtt_hierarchy_depth_intra_slice_chroma,
>                     0, 2 * (ctb_log2_size_y - min_cb_log2_size_y));
> -                if (sps->sps_max_mtt_hierarchy_depth_intra_slice_chroma != 
> 0) {
> +                if (current->ph_max_mtt_hierarchy_depth_intra_slice_chroma 
> != 0) {
>                      unsigned int min_qt_log2_size_intra_c =
>                          
> current->ph_log2_diff_min_qt_min_cb_intra_slice_chroma +
>                          min_cb_log2_size_y;

LGTM.

When you say it "desynchronises the parser", what downstream issues were
you observing: mismatches or crashes?  Do we need to backport this?

-- 
Frank

Attachment: OpenPGP_0x03A84C6A098F2C6B.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to