xref: /OK3568_Linux_fs/kernel/Documentation/userspace-api/media/v4l/pixfmt-meta-rkisp1.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun.. SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun.. _v4l2-meta-fmt-params-rkisp1:
4*4882a593Smuzhiyun.. _v4l2-meta-fmt-stat-rkisp1:
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun*****************************************************************************
7*4882a593SmuzhiyunV4L2_META_FMT_RK_ISP1_PARAMS ('rk1p'), V4L2_META_FMT_RK_ISP1_STAT_3A ('rk1s')
8*4882a593Smuzhiyun*****************************************************************************
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunConfiguration parameters
11*4882a593Smuzhiyun========================
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunThe configuration parameters are passed to the
14*4882a593Smuzhiyun:ref:`rkisp1_params <rkisp1_params>` metadata output video node, using
15*4882a593Smuzhiyunthe :c:type:`v4l2_meta_format` interface. The buffer contains
16*4882a593Smuzhiyuna single instance of the C structure :c:type:`rkisp1_params_cfg` defined in
17*4882a593Smuzhiyun``rkisp1-config.h``. So the structure can be obtained from the buffer by:
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun.. code-block:: c
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	struct rkisp1_params_cfg *params = (struct rkisp1_params_cfg*) buffer;
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun.. rkisp1_stat_buffer
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun3A and histogram statistics
26*4882a593Smuzhiyun===========================
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunThe ISP1 device collects different statistics over an input Bayer frame.
29*4882a593SmuzhiyunThose statistics are obtained from the :ref:`rkisp1_stats <rkisp1_stats>`
30*4882a593Smuzhiyunmetadata capture video node,
31*4882a593Smuzhiyunusing the :c:type:`v4l2_meta_format` interface. The buffer contains a single
32*4882a593Smuzhiyuninstance of the C structure :c:type:`rkisp1_stat_buffer` defined in
33*4882a593Smuzhiyun``rkisp1-config.h``. So the structure can be obtained from the buffer by:
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun.. code-block:: c
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun	struct rkisp1_stat_buffer *stats = (struct rkisp1_stat_buffer*) buffer;
38*4882a593Smuzhiyun
39*4882a593SmuzhiyunThe statistics collected are Exposure, AWB (Auto-white balance), Histogram and
40*4882a593SmuzhiyunAF (Auto-focus). See :c:type:`rkisp1_stat_buffer` for details of the statistics.
41*4882a593Smuzhiyun
42*4882a593SmuzhiyunThe 3A statistics and configuration parameters described here are usually
43*4882a593Smuzhiyunconsumed and produced by dedicated user space libraries that comprise the
44*4882a593Smuzhiyunimportant tuning tools using software control loop.
45*4882a593Smuzhiyun
46*4882a593Smuzhiyunrkisp1 uAPI data types
47*4882a593Smuzhiyun======================
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun.. kernel-doc:: drivers/staging/media/rkisp1/uapi/rkisp1-config.h
50