62 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 88eb3b015b6f61252fd214d39fc7fc0379ee0442 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/media/uapi/v4l/ext-ctrls-codec.rst | 5 ++++-
 | 
						|
 include/media/hevc-ctrls.h                       | 5 ++++-
 | 
						|
 2 files changed, 8 insertions(+), 2 deletions(-)
 | 
						|
 | 
						|
--- a/Documentation/media/uapi/v4l/ext-ctrls-codec.rst
 | 
						|
+++ b/Documentation/media/uapi/v4l/ext-ctrls-codec.rst
 | 
						|
@@ -3969,6 +3969,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``
 | 
						|
       -
 | 
						|
@@ -4046,7 +4049,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
 | 
						|
@@ -167,6 +167,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;
 | 
						|
@@ -200,7 +203,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];
 |