 20ea6adbf1
			
		
	
	20ea6adbf1
	
	
	
		
			
			Build system: x86_64 Build-tested: bcm2708, bcm2709, bcm2710, bcm2711 Run-tested: bcm2708/RPiB+, bcm2709/RPi3B, bcm2710/RPi3B, bcm2711/RPi4B Signed-off-by: Marty Jones <mj8263788@gmail.com> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
		
			
				
	
	
		
			60 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 8ed873d6e26bc706b0af3bef29f87e2975046222 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>
 | |
| ---
 | |
|  .../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
 | |
| @@ -2961,6 +2961,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``
 | |
|        -
 | |
| --- 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;
 |