diff mbox series

[FFmpeg-devel,1/2] avcodec/cbs_h266: fix use of uninitialized value

Message ID 20230706150608.1265-1-jamrial@gmail.com
State New
Headers show
Series [FFmpeg-devel,1/2] avcodec/cbs_h266: fix use of uninitialized value | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

James Almer July 6, 2023, 3:06 p.m. UTC
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>
---
 libavcodec/cbs_h266_syntax_template.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/libavcodec/cbs_h266_syntax_template.c b/libavcodec/cbs_h266_syntax_template.c
index b984a12d8f..f6aae3ac51 100644
--- a/libavcodec/cbs_h266_syntax_template.c
+++ b/libavcodec/cbs_h266_syntax_template.c
@@ -2730,9 +2730,14 @@  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_luma,
                0, 2 * (ctb_log2_size_y - min_cb_log2_size_y));
+            min_qt_log2_size_intra_y =
+                current->ph_log2_diff_min_qt_min_cb_intra_slice_luma +
+                min_cb_log2_size_y;
             if (current->ph_max_mtt_hierarchy_depth_intra_slice_luma != 0) {
                 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 {
@@ -2780,9 +2785,6 @@  static int FUNC(picture_header) (CodedBitstreamContext *ctx, RWContext *rw,
                   sps->sps_log2_diff_max_tt_min_qt_intra_slice_chroma);
         }
 
-        min_qt_log2_size_intra_y =
-            current->ph_log2_diff_min_qt_min_cb_intra_slice_luma +
-            min_cb_log2_size_y;
         if (pps->pps_cu_qp_delta_enabled_flag)
             ue(ph_cu_qp_delta_subdiv_intra_slice, 0,
                2 * (ctb_log2_size_y - min_qt_log2_size_intra_y +