82 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
 | |
| 
 | |
| .. _v4l2-meta-fmt-params:
 | |
| .. _v4l2-meta-fmt-stat-3a:
 | |
| 
 | |
| ******************************************************************
 | |
| V4L2_META_FMT_IPU3_PARAMS ('ip3p'), V4L2_META_FMT_IPU3_3A ('ip3s')
 | |
| ******************************************************************
 | |
| 
 | |
| .. ipu3_uapi_stats_3a
 | |
| 
 | |
| 3A statistics
 | |
| =============
 | |
| 
 | |
| The IPU3 ImgU 3A statistics accelerators collect different statistics over
 | |
| an input Bayer frame. Those statistics are obtained from the "ipu3-imgu [01] 3a
 | |
| stat" metadata capture video nodes, using the :c:type:`v4l2_meta_format`
 | |
| interface. They are formatted as described by the :c:type:`ipu3_uapi_stats_3a`
 | |
| structure.
 | |
| 
 | |
| The statistics collected are AWB (Auto-white balance) RGBS (Red, Green, Blue and
 | |
| Saturation measure) cells, AWB filter response, AF (Auto-focus) filter response,
 | |
| and AE (Auto-exposure) histogram.
 | |
| 
 | |
| The struct :c:type:`ipu3_uapi_4a_config` saves all configurable parameters.
 | |
| 
 | |
| .. code-block:: c
 | |
| 
 | |
| 	struct ipu3_uapi_stats_3a {
 | |
| 		struct ipu3_uapi_awb_raw_buffer awb_raw_buffer;
 | |
| 		struct ipu3_uapi_ae_raw_buffer_aligned ae_raw_buffer[IPU3_UAPI_MAX_STRIPES];
 | |
| 		struct ipu3_uapi_af_raw_buffer af_raw_buffer;
 | |
| 		struct ipu3_uapi_awb_fr_raw_buffer awb_fr_raw_buffer;
 | |
| 		struct ipu3_uapi_4a_config stats_4a_config;
 | |
| 		__u32 ae_join_buffers;
 | |
| 		__u8 padding[28];
 | |
| 		struct ipu3_uapi_stats_3a_bubble_info_per_stripe stats_3a_bubble_per_stripe;
 | |
| 		struct ipu3_uapi_ff_status stats_3a_status;
 | |
| 	};
 | |
| 
 | |
| .. ipu3_uapi_params
 | |
| 
 | |
| Pipeline parameters
 | |
| ===================
 | |
| 
 | |
| The pipeline parameters are passed to the "ipu3-imgu [01] parameters" metadata
 | |
| output video nodes, using the :c:type:`v4l2_meta_format` interface. They are
 | |
| formatted as described by the :c:type:`ipu3_uapi_params` structure.
 | |
| 
 | |
| Both 3A statistics and pipeline parameters described here are closely tied to
 | |
| the underlying camera sub-system (CSS) APIs. They are usually consumed and
 | |
| produced by dedicated user space libraries that comprise the important tuning
 | |
| tools, thus freeing the developers from being bothered with the low level
 | |
| hardware and algorithm details.
 | |
| 
 | |
| .. code-block:: c
 | |
| 
 | |
| 	struct ipu3_uapi_params {
 | |
| 		/* Flags which of the settings below are to be applied */
 | |
| 		struct ipu3_uapi_flags use;
 | |
| 
 | |
| 		/* Accelerator cluster parameters */
 | |
| 		struct ipu3_uapi_acc_param acc_param;
 | |
| 
 | |
| 		/* ISP vector address space parameters */
 | |
| 		struct ipu3_uapi_isp_lin_vmem_params lin_vmem_params;
 | |
| 		struct ipu3_uapi_isp_tnr3_vmem_params tnr3_vmem_params;
 | |
| 		struct ipu3_uapi_isp_xnr3_vmem_params xnr3_vmem_params;
 | |
| 
 | |
| 		/* ISP data memory (DMEM) parameters */
 | |
| 		struct ipu3_uapi_isp_tnr3_params tnr3_dmem_params;
 | |
| 		struct ipu3_uapi_isp_xnr3_params xnr3_dmem_params;
 | |
| 
 | |
| 		/* Optical black level compensation */
 | |
| 		struct ipu3_uapi_obgrid_param obgrid_param;
 | |
| 	};
 | |
| 
 | |
| Intel IPU3 ImgU uAPI data types
 | |
| ===============================
 | |
| 
 | |
| .. kernel-doc:: drivers/staging/media/ipu3/include/uapi/intel-ipu3.h
 |