~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/metafmt-rkisp1.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 
  3 .. _v4l2-meta-fmt-rk-isp1-stat-3a:
  4 
  5 ************************************************************************************************************************
  6 V4L2_META_FMT_RK_ISP1_PARAMS ('rk1p'), V4L2_META_FMT_RK_ISP1_STAT_3A ('rk1s'), V4L2_META_FMT_RK_ISP1_EXT_PARAMS ('rk1e')
  7 ************************************************************************************************************************
  8 
  9 ========================
 10 Configuration parameters
 11 ========================
 12 
 13 The configuration of the RkISP1 ISP is performed by userspace by providing
 14 parameters for the ISP to the driver using the :c:type:`v4l2_meta_format`
 15 interface.
 16 
 17 There are two methods that allow to configure the ISP, the `fixed parameters`
 18 configuration format and the `extensible parameters` configuration
 19 format.
 20 
 21 .. _v4l2-meta-fmt-rk-isp1-params:
 22 
 23 Fixed parameters configuration format
 24 =====================================
 25 
 26 When using the fixed configuration format, parameters are passed to the
 27 :ref:`rkisp1_params <rkisp1_params>` metadata output video node, using
 28 the `V4L2_META_FMT_RK_ISP1_PARAMS` meta format.
 29 
 30 The buffer contains a single instance of the C structure
 31 :c:type:`rkisp1_params_cfg` defined in ``rkisp1-config.h``. So the structure can
 32 be obtained from the buffer by:
 33 
 34 .. code-block:: c
 35 
 36         struct rkisp1_params_cfg *params = (struct rkisp1_params_cfg*) buffer;
 37 
 38 This method supports a subset of the ISP features only, new applications should
 39 use the extensible parameters method.
 40 
 41 .. _v4l2-meta-fmt-rk-isp1-ext-params:
 42 
 43 Extensible parameters configuration format
 44 ==========================================
 45 
 46 When using the extensible configuration format, parameters are passed to the
 47 :ref:`rkisp1_params <rkisp1_params>` metadata output video node, using
 48 the `V4L2_META_FMT_RK_ISP1_EXT_PARAMS` meta format.
 49 
 50 The buffer contains a single instance of the C structure
 51 :c:type:`rkisp1_ext_params_cfg` defined in ``rkisp1-config.h``. The
 52 :c:type:`rkisp1_ext_params_cfg` structure is designed to allow userspace to
 53 populate the data buffer with only the configuration data for the ISP blocks it
 54 intends to configure. The extensible parameters format design allows developers
 55 to define new block types to support new configuration parameters, and defines a
 56 versioning scheme so that it can be extended and versioned without breaking
 57 compatibility with existing applications.
 58 
 59 For these reasons, this configuration method is preferred over the `fixed
 60 parameters` format alternative.
 61 
 62 .. rkisp1_stat_buffer
 63 
 64 ===========================
 65 3A and histogram statistics
 66 ===========================
 67 
 68 The ISP1 device collects different statistics over an input Bayer frame.
 69 Those statistics are obtained from the :ref:`rkisp1_stats <rkisp1_stats>`
 70 metadata capture video node,
 71 using the :c:type:`v4l2_meta_format` interface. The buffer contains a single
 72 instance of the C structure :c:type:`rkisp1_stat_buffer` defined in
 73 ``rkisp1-config.h``. So the structure can be obtained from the buffer by:
 74 
 75 .. code-block:: c
 76 
 77         struct rkisp1_stat_buffer *stats = (struct rkisp1_stat_buffer*) buffer;
 78 
 79 The statistics collected are Exposure, AWB (Auto-white balance), Histogram and
 80 AF (Auto-focus). See :c:type:`rkisp1_stat_buffer` for details of the statistics.
 81 
 82 The 3A statistics and configuration parameters described here are usually
 83 consumed and produced by dedicated user space libraries that comprise the
 84 important tuning tools using software control loop.
 85 
 86 rkisp1 uAPI data types
 87 ======================
 88 
 89 .. kernel-doc:: include/uapi/linux/rkisp1-config.h

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php