1 From 8ed873d6e26bc706b0af3bef29f87e2975046222 Mon Sep 17 00:00:00 2001
2 From: Jernej Skrabec <jernej.skrabec@siol.net>
3 Date: Fri, 13 Dec 2019 17:04:27 +0100
4 Subject: [PATCH] media: uapi: hevc: Add segment address field
6 From https://patchwork.linuxtv.org/patch/60725/
7 Changes requested, but mainly docs.
9 If HEVC frame consists of multiple slices, segment address has to be
10 known in order to properly decode it.
12 Add segment address field to slice parameters.
14 Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
16 .../userspace-api/media/v4l/ext-ctrls-codec.rst | 3 +++
17 include/media/hevc-ctrls.h | 9 +++++++--
18 2 files changed, 10 insertions(+), 2 deletions(-)
20 --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
21 +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
22 @@ -2961,6 +2961,9 @@ enum v4l2_mpeg_video_hevc_size_of_length
25 - Offset (in bits) to the video data in the current slice data.
27 + - ``slice_segment_addr``
32 --- a/include/media/hevc-ctrls.h
33 +++ b/include/media/hevc-ctrls.h
34 @@ -173,6 +173,10 @@ struct v4l2_ctrl_hevc_slice_params {
36 __u32 data_bit_offset;
38 + /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */
39 + __u32 slice_segment_addr;
40 + __u32 num_entry_point_offsets;
42 /* ISO/IEC 23008-2, ITU-T Rec. H.265: NAL unit header */
44 __u8 nuh_temporal_id_plus1;
45 @@ -198,11 +202,12 @@ struct v4l2_ctrl_hevc_slice_params {
48 /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */
49 - __u32 slice_segment_addr;
50 __u8 ref_idx_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
51 __u8 ref_idx_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
56 + __u32 entry_point_offset_minus1[256];
58 /* ISO/IEC 23008-2, ITU-T Rec. H.265: Weighted prediction parameter */
59 struct v4l2_hevc_pred_weight_table pred_weight_table;