mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
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 <zzoon@igalia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23688>
This commit is contained in:
parent
b10631865d
commit
6f2e260d2b
1 changed files with 29 additions and 29 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue