v4l2codecs: Extend the API with num_delta_pocs_of_ref_rps_idx

This value is an alternative to short_term_ref_pic_set_size and can be used
to parse the RPS portion of a slice header, instead of skipping over it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4413>
This commit is contained in:
Nicolas Dufresne 2023-04-13 15:31:50 -04:00 committed by GStreamer Marge Bot
parent e7cfc1f5bd
commit 6a7835e106

View file

@ -2402,6 +2402,10 @@ struct v4l2_ctrl_hevc_slice_params {
* @poc_st_curr_after: provides the index of the short term after references
* in DPB array
* @poc_lt_curr: provides the index of the long term references in DPB array
* @num_delta_pocs_of_ref_rps_idx: same as the derived value
* NumDeltaPocs[RefRpsIdx], can be used to parse
* the RPS data in slice headers instead of
* skipping it with @short_term_ref_pic_set_size
* @reserved: padding field. Should be zeroed by applications.
* @dpb: the decoded picture buffer, for meta-data about reference frames
* @flags: see V4L2_HEVC_DECODE_PARAM_FLAG_{}
@ -2417,7 +2421,8 @@ struct v4l2_ctrl_hevc_decode_params {
__u8 poc_st_curr_before[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
__u8 poc_st_curr_after[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
__u8 poc_lt_curr[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
__u8 reserved[4];
__u8 num_delta_pocs_of_ref_rps_idx;
__u8 reserved[3];
struct v4l2_hevc_dpb_entry dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
__u64 flags;
};