mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.8 KiB
81 lines
2.8 KiB
.. 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
|
|
|