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