This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

The following commit(s) were added to refs/heads/master by this push:
     new 28ecb07e55 avcodec/cbs_h266: fix wrong condition for chroma MTT depth 
in PH
28ecb07e55 is described below

commit 28ecb07e55eabb481082c869b4bef3e36e1e0621
Author:     牟凡 <[email protected]>
AuthorDate: Wed Apr 29 15:17:32 2026 +0800
Commit:     Frank Plowman <[email protected]>
CommitDate: Thu May 7 10:42:44 2026 +0100

    avcodec/cbs_h266: fix wrong condition for chroma MTT depth in PH
    
    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;

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

Reply via email to