62 lines
2.1 KiB
Diff
62 lines
2.1 KiB
Diff
From 551676b89a12d9de33618c1c02b749653941fe83 Mon Sep 17 00:00:00 2001
|
|
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
|
Date: Fri, 13 Dec 2019 17:04:27 +0100
|
|
Subject: [PATCH] media: uapi: hevc: Add segment address field
|
|
|
|
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>
|
|
---
|
|
Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst | 5 ++++-
|
|
include/media/hevc-ctrls.h | 5 ++++-
|
|
2 files changed, 8 insertions(+), 2 deletions(-)
|
|
|
|
--- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
|
|
+++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
|
|
@@ -4111,6 +4111,9 @@ enum v4l2_mpeg_video_hevc_size_of_length
|
|
* - __u32
|
|
- ``data_bit_offset``
|
|
- Offset (in bits) to the video data in the current slice data.
|
|
+ * - __u32
|
|
+ - ``slice_segment_addr``
|
|
+ -
|
|
* - __u8
|
|
- ``nal_unit_type``
|
|
-
|
|
@@ -4188,7 +4191,7 @@ enum v4l2_mpeg_video_hevc_size_of_length
|
|
- ``num_rps_poc_lt_curr``
|
|
- The number of reference pictures in the long-term set.
|
|
* - __u8
|
|
- - ``padding[7]``
|
|
+ - ``padding[5]``
|
|
- Applications and drivers must set this to zero.
|
|
* - struct :c:type:`v4l2_hevc_dpb_entry`
|
|
- ``dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]``
|
|
--- a/include/media/hevc-ctrls.h
|
|
+++ b/include/media/hevc-ctrls.h
|
|
@@ -168,6 +168,9 @@ 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;
|
|
+
|
|
/* ISO/IEC 23008-2, ITU-T Rec. H.265: NAL unit header */
|
|
__u8 nal_unit_type;
|
|
__u8 nuh_temporal_id_plus1;
|
|
@@ -201,7 +204,7 @@ struct v4l2_ctrl_hevc_slice_params {
|
|
__u8 num_rps_poc_st_curr_after;
|
|
__u8 num_rps_poc_lt_curr;
|
|
|
|
- __u8 padding;
|
|
+ __u8 padding[5];
|
|
|
|
/* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */
|
|
struct v4l2_hevc_dpb_entry dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
|