1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-02-15 04:42:02 +00:00
openmptcprouter/root/target/linux/bcm27xx/patches-5.15/950-0202-media-uapi-hevc-Add-segment-address-field.patch

60 lines
2 KiB
Diff
Raw Normal View History

2022-04-22 15:00:47 +00:00
From 0280fee1ca9b68e8485c51c4a3d9a0474691a194 Mon Sep 17 00:00:00 2001
2021-11-24 17:32:01 +00:00
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Fri, 13 Dec 2019 17:04:27 +0100
2022-04-22 15:00:47 +00:00
Subject: [PATCH 202/828] media: uapi: hevc: Add segment address field
2021-11-24 17:32:01 +00:00
From https://patchwork.linuxtv.org/patch/60725/
Changes requested, but mainly docs.
If HEVC frame consists of multiple slices, segment address has to be
known in order to properly decode it.
Add segment address field to slice parameters.
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
---
.../userspace-api/media/v4l/ext-ctrls-codec.rst | 3 +++
include/media/hevc-ctrls.h | 9 +++++++--
2 files changed, 10 insertions(+), 2 deletions(-)
--- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
+++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
2022-04-22 15:00:47 +00:00
@@ -2961,6 +2961,9 @@ enum v4l2_mpeg_video_hevc_size_of_length
2021-11-24 17:32:01 +00:00
* - __u32
- ``data_bit_offset``
- Offset (in bits) to the video data in the current slice data.
+ * - __u32
+ - ``slice_segment_addr``
+ -
* - __u8
- ``nal_unit_type``
-
--- a/include/media/hevc-ctrls.h
+++ b/include/media/hevc-ctrls.h
@@ -173,6 +173,10 @@ struct v4l2_ctrl_hevc_slice_params {
__u32 bit_size;
__u32 data_bit_offset;
+ /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */
+ __u32 slice_segment_addr;
+ __u32 num_entry_point_offsets;
+
/* ISO/IEC 23008-2, ITU-T Rec. H.265: NAL unit header */
__u8 nal_unit_type;
__u8 nuh_temporal_id_plus1;
@@ -198,11 +202,12 @@ struct v4l2_ctrl_hevc_slice_params {
__u8 pic_struct;
/* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */
- __u32 slice_segment_addr;
__u8 ref_idx_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
__u8 ref_idx_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
- __u8 padding;
+ __u8 padding[5];
+
+ __u32 entry_point_offset_minus1[256];
/* ISO/IEC 23008-2, ITU-T Rec. H.265: Weighted prediction parameter */
struct v4l2_hevc_pred_weight_table pred_weight_table;