summaryrefslogtreecommitdiff
path: root/libavcodec/cbs_h266_syntax_template.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2023-07-06 12:04:50 -0300
committerJames Almer <jamrial@gmail.com>2023-07-07 11:56:37 -0300
commit0f008a0ffa5c1a863e4c78c640135a3693ff1d9c (patch)
tree9d8afecf8167823e34a21c74351441d91f81e294 /libavcodec/cbs_h266_syntax_template.c
parent7eeef72c67d1292472c7923f7e0c59dd9780ff5c (diff)
avcodec/cbs_h266: fix use of uninitialized value
And fix the allowed range for ph_log2_diff_max_bt_min_qt_intra_slice_luma while at it. Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/cbs_h266_syntax_template.c')
-rw-r--r--libavcodec/cbs_h266_syntax_template.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libavcodec/cbs_h266_syntax_template.c b/libavcodec/cbs_h266_syntax_template.c
index b984a12d8f..a39efe588e 100644
--- a/libavcodec/cbs_h266_syntax_template.c
+++ b/libavcodec/cbs_h266_syntax_template.c
@@ -2731,8 +2731,13 @@ static int FUNC(picture_header) (CodedBitstreamContext *ctx, RWContext *rw,
ue(ph_max_mtt_hierarchy_depth_intra_slice_luma,
0, 2 * (ctb_log2_size_y - min_cb_log2_size_y));
if (current->ph_max_mtt_hierarchy_depth_intra_slice_luma != 0) {
+ min_qt_log2_size_intra_y =
+ current->ph_log2_diff_min_qt_min_cb_intra_slice_luma +
+ min_cb_log2_size_y;
ue(ph_log2_diff_max_bt_min_qt_intra_slice_luma,
- 0, ctb_log2_size_y - min_qt_log2_size_intra_y);
+ 0, (sps->sps_qtbtt_dual_tree_intra_flag ?
+ FFMIN(6, ctb_log2_size_y) :
+ ctb_log2_size_y) - min_qt_log2_size_intra_y);
ue(ph_log2_diff_max_tt_min_qt_intra_slice_luma,
0, FFMIN(6, ctb_log2_size_y) - min_qt_log2_size_intra_y);
} else {