From 6a7835e106d97e84a5957de275491e365b163c91 Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Thu, 13 Apr 2023 15:31:50 -0400 Subject: [PATCH] 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: --- .../gst-plugins-bad/sys/v4l2codecs/linux/v4l2-controls.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/linux/v4l2-controls.h b/subprojects/gst-plugins-bad/sys/v4l2codecs/linux/v4l2-controls.h index 79625ee05c..423a0d9f76 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/linux/v4l2-controls.h +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/linux/v4l2-controls.h @@ -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; };