1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1. 1 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later 2 2 3 .. _v4l2-meta-fmt-params: 3 .. _v4l2-meta-fmt-params: 4 .. _v4l2-meta-fmt-stat-3a: 4 .. _v4l2-meta-fmt-stat-3a: 5 5 6 ********************************************** 6 ****************************************************************** 7 V4L2_META_FMT_IPU3_PARAMS ('ip3p'), V4L2_META_ 7 V4L2_META_FMT_IPU3_PARAMS ('ip3p'), V4L2_META_FMT_IPU3_3A ('ip3s') 8 ********************************************** 8 ****************************************************************** 9 9 10 .. ipu3_uapi_stats_3a 10 .. ipu3_uapi_stats_3a 11 11 12 3A statistics 12 3A statistics 13 ============= 13 ============= 14 14 15 The IPU3 ImgU 3A statistics accelerators colle 15 The IPU3 ImgU 3A statistics accelerators collect different statistics over 16 an input Bayer frame. Those statistics are obt 16 an input Bayer frame. Those statistics are obtained from the "ipu3-imgu [01] 3a 17 stat" metadata capture video nodes, using the 17 stat" metadata capture video nodes, using the :c:type:`v4l2_meta_format` 18 interface. They are formatted as described by 18 interface. They are formatted as described by the :c:type:`ipu3_uapi_stats_3a` 19 structure. 19 structure. 20 20 21 The statistics collected are AWB (Auto-white b 21 The statistics collected are AWB (Auto-white balance) RGBS (Red, Green, Blue and 22 Saturation measure) cells, AWB filter response 22 Saturation measure) cells, AWB filter response, AF (Auto-focus) filter response, 23 and AE (Auto-exposure) histogram. 23 and AE (Auto-exposure) histogram. 24 24 25 The struct :c:type:`ipu3_uapi_4a_config` saves 25 The struct :c:type:`ipu3_uapi_4a_config` saves all configurable parameters. 26 26 27 .. code-block:: c 27 .. code-block:: c 28 28 29 struct ipu3_uapi_stats_3a { 29 struct ipu3_uapi_stats_3a { 30 struct ipu3_uapi_awb_raw_buffe 30 struct ipu3_uapi_awb_raw_buffer awb_raw_buffer; 31 struct ipu3_uapi_ae_raw_buffer 31 struct ipu3_uapi_ae_raw_buffer_aligned ae_raw_buffer[IPU3_UAPI_MAX_STRIPES]; 32 struct ipu3_uapi_af_raw_buffer 32 struct ipu3_uapi_af_raw_buffer af_raw_buffer; 33 struct ipu3_uapi_awb_fr_raw_bu 33 struct ipu3_uapi_awb_fr_raw_buffer awb_fr_raw_buffer; 34 struct ipu3_uapi_4a_config sta 34 struct ipu3_uapi_4a_config stats_4a_config; 35 __u32 ae_join_buffers; 35 __u32 ae_join_buffers; 36 __u8 padding[28]; 36 __u8 padding[28]; 37 struct ipu3_uapi_stats_3a_bubb 37 struct ipu3_uapi_stats_3a_bubble_info_per_stripe stats_3a_bubble_per_stripe; 38 struct ipu3_uapi_ff_status sta 38 struct ipu3_uapi_ff_status stats_3a_status; 39 }; 39 }; 40 40 41 .. ipu3_uapi_params 41 .. ipu3_uapi_params 42 42 43 Pipeline parameters 43 Pipeline parameters 44 =================== 44 =================== 45 45 46 The pipeline parameters are passed to the "ipu 46 The pipeline parameters are passed to the "ipu3-imgu [01] parameters" metadata 47 output video nodes, using the :c:type:`v4l2_me 47 output video nodes, using the :c:type:`v4l2_meta_format` interface. They are 48 formatted as described by the :c:type:`ipu3_ua 48 formatted as described by the :c:type:`ipu3_uapi_params` structure. 49 49 50 Both 3A statistics and pipeline parameters des 50 Both 3A statistics and pipeline parameters described here are closely tied to 51 the underlying camera sub-system (CSS) APIs. T 51 the underlying camera sub-system (CSS) APIs. They are usually consumed and 52 produced by dedicated user space libraries tha 52 produced by dedicated user space libraries that comprise the important tuning 53 tools, thus freeing the developers from being 53 tools, thus freeing the developers from being bothered with the low level 54 hardware and algorithm details. 54 hardware and algorithm details. 55 55 56 .. code-block:: c 56 .. code-block:: c 57 57 58 struct ipu3_uapi_params { 58 struct ipu3_uapi_params { 59 /* Flags which of the settings 59 /* Flags which of the settings below are to be applied */ 60 struct ipu3_uapi_flags use; 60 struct ipu3_uapi_flags use; 61 61 62 /* Accelerator cluster paramet 62 /* Accelerator cluster parameters */ 63 struct ipu3_uapi_acc_param acc 63 struct ipu3_uapi_acc_param acc_param; 64 64 65 /* ISP vector address space pa 65 /* ISP vector address space parameters */ 66 struct ipu3_uapi_isp_lin_vmem_ 66 struct ipu3_uapi_isp_lin_vmem_params lin_vmem_params; 67 struct ipu3_uapi_isp_tnr3_vmem 67 struct ipu3_uapi_isp_tnr3_vmem_params tnr3_vmem_params; 68 struct ipu3_uapi_isp_xnr3_vmem 68 struct ipu3_uapi_isp_xnr3_vmem_params xnr3_vmem_params; 69 69 70 /* ISP data memory (DMEM) para 70 /* ISP data memory (DMEM) parameters */ 71 struct ipu3_uapi_isp_tnr3_para 71 struct ipu3_uapi_isp_tnr3_params tnr3_dmem_params; 72 struct ipu3_uapi_isp_xnr3_para 72 struct ipu3_uapi_isp_xnr3_params xnr3_dmem_params; 73 73 74 /* Optical black level compens 74 /* Optical black level compensation */ 75 struct ipu3_uapi_obgrid_param 75 struct ipu3_uapi_obgrid_param obgrid_param; 76 }; 76 }; 77 77 78 Intel IPU3 ImgU uAPI data types 78 Intel IPU3 ImgU uAPI data types 79 =============================== 79 =============================== 80 80 81 .. kernel-doc:: drivers/staging/media/ipu3/inc 81 .. kernel-doc:: drivers/staging/media/ipu3/include/uapi/intel-ipu3.h
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.