vulkan/video: Fix H.265 short-term reference picture set handling

An H.265 SPS can contain multiple short-term reference picture sets.
Fix the code to properly store and copy all sets instead of just one.

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/38571>
This commit is contained in:
Hyunjun Ko 2025-11-20 07:52:11 +01:00 committed by Marge Bot
parent fc534ed209
commit 0fd0b76922
2 changed files with 5 additions and 3 deletions

View file

@ -232,8 +232,10 @@ vk_video_deep_copy_h265_sps(struct vk_video_h265_sps *dst,
dst->base.pScalingLists = &dst->scaling_lists;
}
copy_or_zero_init(&dst->short_term_ref_pic_set, src->pShortTermRefPicSet, sizeof(StdVideoH265ShortTermRefPicSet));
dst->base.pShortTermRefPicSet = &dst->short_term_ref_pic_set;
copy_or_zero_init(&dst->short_term_ref_pic_set, src->pShortTermRefPicSet,
sizeof(StdVideoH265ShortTermRefPicSet) * src->num_short_term_ref_pic_sets);
dst->base.pShortTermRefPicSet = dst->short_term_ref_pic_set;
copy_or_zero_init(&dst->long_term_ref_pics_sps, src->pLongTermRefPicsSps, sizeof(StdVideoH265LongTermRefPicsSps));
dst->base.pLongTermRefPicsSps = &dst->long_term_ref_pics_sps;

View file

@ -56,7 +56,7 @@ struct vk_video_h265_sps {
StdVideoH265ProfileTierLevel tier_level;
StdVideoH265DecPicBufMgr dec_pic_buf_mgr;
StdVideoH265ScalingLists scaling_lists;
StdVideoH265ShortTermRefPicSet short_term_ref_pic_set;
StdVideoH265ShortTermRefPicSet short_term_ref_pic_set[STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS];
StdVideoH265LongTermRefPicsSps long_term_ref_pics_sps;
StdVideoH265SubLayerHrdParameters hrd_parameters_nal;
StdVideoH265SubLayerHrdParameters hrd_parameters_vcl;