Merge tag 'next-media-rkisp1-20240814' of git://git.kernel.org/pub/scm/linux/kernel/git/pinchartl/linux.git
Extensible parameters support for the rkisp1 driver. Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
@@ -1,28 +1,67 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. _v4l2-meta-fmt-rk-isp1-params:
|
||||
|
||||
.. _v4l2-meta-fmt-rk-isp1-stat-3a:
|
||||
|
||||
*****************************************************************************
|
||||
V4L2_META_FMT_RK_ISP1_PARAMS ('rk1p'), V4L2_META_FMT_RK_ISP1_STAT_3A ('rk1s')
|
||||
*****************************************************************************
|
||||
************************************************************************************************************************
|
||||
V4L2_META_FMT_RK_ISP1_PARAMS ('rk1p'), V4L2_META_FMT_RK_ISP1_STAT_3A ('rk1s'), V4L2_META_FMT_RK_ISP1_EXT_PARAMS ('rk1e')
|
||||
************************************************************************************************************************
|
||||
|
||||
========================
|
||||
Configuration parameters
|
||||
========================
|
||||
|
||||
The configuration parameters are passed to the
|
||||
The configuration of the RkISP1 ISP is performed by userspace by providing
|
||||
parameters for the ISP to the driver using the :c:type:`v4l2_meta_format`
|
||||
interface.
|
||||
|
||||
There are two methods that allow to configure the ISP, the `fixed parameters`
|
||||
configuration format and the `extensible parameters` configuration
|
||||
format.
|
||||
|
||||
.. _v4l2-meta-fmt-rk-isp1-params:
|
||||
|
||||
Fixed parameters configuration format
|
||||
=====================================
|
||||
|
||||
When using the fixed configuration format, parameters are passed to the
|
||||
:ref:`rkisp1_params <rkisp1_params>` metadata output video node, using
|
||||
the :c:type:`v4l2_meta_format` interface. The buffer contains
|
||||
a single instance of the C structure :c:type:`rkisp1_params_cfg` defined in
|
||||
``rkisp1-config.h``. So the structure can be obtained from the buffer by:
|
||||
the `V4L2_META_FMT_RK_ISP1_PARAMS` meta format.
|
||||
|
||||
The buffer contains a single instance of the C structure
|
||||
:c:type:`rkisp1_params_cfg` defined in ``rkisp1-config.h``. So the structure can
|
||||
be obtained from the buffer by:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
struct rkisp1_params_cfg *params = (struct rkisp1_params_cfg*) buffer;
|
||||
|
||||
This method supports a subset of the ISP features only, new applications should
|
||||
use the extensible parameters method.
|
||||
|
||||
.. _v4l2-meta-fmt-rk-isp1-ext-params:
|
||||
|
||||
Extensible parameters configuration format
|
||||
==========================================
|
||||
|
||||
When using the extensible configuration format, parameters are passed to the
|
||||
:ref:`rkisp1_params <rkisp1_params>` metadata output video node, using
|
||||
the `V4L2_META_FMT_RK_ISP1_EXT_PARAMS` meta format.
|
||||
|
||||
The buffer contains a single instance of the C structure
|
||||
:c:type:`rkisp1_ext_params_cfg` defined in ``rkisp1-config.h``. The
|
||||
:c:type:`rkisp1_ext_params_cfg` structure is designed to allow userspace to
|
||||
populate the data buffer with only the configuration data for the ISP blocks it
|
||||
intends to configure. The extensible parameters format design allows developers
|
||||
to define new block types to support new configuration parameters, and defines a
|
||||
versioning scheme so that it can be extended and versioned without breaking
|
||||
compatibility with existing applications.
|
||||
|
||||
For these reasons, this configuration method is preferred over the `fixed
|
||||
parameters` format alternative.
|
||||
|
||||
.. rkisp1_stat_buffer
|
||||
|
||||
===========================
|
||||
3A and histogram statistics
|
||||
===========================
|
||||
|
||||
|
||||
Reference in New Issue
Block a user