From 6f2e260d2bf8e47cabfa9cf844125255ad8da4a6 Mon Sep 17 00:00:00 2001 From: Hyunjun Ko Date: Thu, 15 Jun 2023 15:41:20 +0900 Subject: [PATCH] vulkan/video: move parsing longterm rps in h265 slice parsing. It was just by mistake. Fixes: efdcacb230 ("vulkan/video: add to parse h265 slice.") Signed-off-by: Hyunjun Ko Reviewed-by: Dave Airlie Part-of: --- src/vulkan/runtime/vk_video.c | 58 +++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/src/vulkan/runtime/vk_video.c b/src/vulkan/runtime/vk_video.c index 703a6c6..713e4a2 100644 --- a/src/vulkan/runtime/vk_video.c +++ b/src/vulkan/runtime/vk_video.c @@ -647,35 +647,6 @@ vk_video_parse_h265_slice_header(const struct VkVideoDecodeInfoKHR *frame_info, } } - if (sps->flags.long_term_ref_pics_present_flag) { - unsigned num_lt_sps = 0; - - if (sps->num_long_term_ref_pics_sps > 0) - num_lt_sps = vl_rbsp_ue(&rbsp); - - unsigned num_lt_pics = vl_rbsp_ue(&rbsp); - unsigned num_refs = num_lt_pics + num_lt_sps; - - for (unsigned i = 0; i < num_refs; i++) { - if (i < num_lt_sps) { - if (sps->num_long_term_ref_pics_sps > 1) - /* lt_idx_sps */ - vl_rbsp_u(&rbsp, - util_logbase2_ceil(sps->num_long_term_ref_pics_sps)); - } else { - /* poc_lsb_lt */ - vl_rbsp_u(&rbsp, sps->log2_max_pic_order_cnt_lsb_minus4 + 4); - /* used_by_curr_pic_lt_flag */ - vl_rbsp_u(&rbsp, 1); - } - - /* poc_msb_present */ - if (vl_rbsp_u(&rbsp, 1)) { - /* delta_poc_msb_cycle_lt */ - vl_rbsp_ue(&rbsp); - } - } - } } else { unsigned num_st_rps = sps->num_short_term_ref_pic_sets; @@ -685,6 +656,35 @@ vk_video_parse_h265_slice_header(const struct VkVideoDecodeInfoKHR *frame_info, vl_rbsp_u(&rbsp, numbits); } + if (sps->flags.long_term_ref_pics_present_flag) { + unsigned num_lt_sps = 0; + + if (sps->num_long_term_ref_pics_sps > 0) + num_lt_sps = vl_rbsp_ue(&rbsp); + + unsigned num_lt_pics = vl_rbsp_ue(&rbsp); + unsigned num_refs = num_lt_pics + num_lt_sps; + + for (unsigned i = 0; i < num_refs; i++) { + if (i < num_lt_sps) { + if (sps->num_long_term_ref_pics_sps > 1) + /* lt_idx_sps */ + vl_rbsp_u(&rbsp, + util_logbase2_ceil(sps->num_long_term_ref_pics_sps)); + } else { + /* poc_lsb_lt */ + vl_rbsp_u(&rbsp, sps->log2_max_pic_order_cnt_lsb_minus4 + 4); + /* used_by_curr_pic_lt_flag */ + vl_rbsp_u(&rbsp, 1); + } + + /* poc_msb_present */ + if (vl_rbsp_u(&rbsp, 1)) { + /* delta_poc_msb_cycle_lt */ + vl_rbsp_ue(&rbsp); + } + } + } if (sps->flags.sps_temporal_mvp_enabled_flag) params->temporal_mvp_enable = vl_rbsp_u(&rbsp, 1); -- 2.7.4