95 lines
3.3 KiB
ReStructuredText
95 lines
3.3 KiB
ReStructuredText
|
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
|
||
|
|
||
|
.. _image-source-controls:
|
||
|
|
||
|
******************************
|
||
|
Image Source Control Reference
|
||
|
******************************
|
||
|
|
||
|
The Image Source control class is intended for low-level control of
|
||
|
image source devices such as image sensors. The devices feature an
|
||
|
analogue to digital converter and a bus transmitter to transmit the
|
||
|
image data out of the device.
|
||
|
|
||
|
|
||
|
.. _image-source-control-id:
|
||
|
|
||
|
Image Source Control IDs
|
||
|
========================
|
||
|
|
||
|
``V4L2_CID_IMAGE_SOURCE_CLASS (class)``
|
||
|
The IMAGE_SOURCE class descriptor.
|
||
|
|
||
|
``V4L2_CID_VBLANK (integer)``
|
||
|
Vertical blanking. The idle period after every frame during which no
|
||
|
image data is produced. The unit of vertical blanking is a line.
|
||
|
Every line has length of the image width plus horizontal blanking at
|
||
|
the pixel rate defined by ``V4L2_CID_PIXEL_RATE`` control in the
|
||
|
same sub-device.
|
||
|
|
||
|
``V4L2_CID_HBLANK (integer)``
|
||
|
Horizontal blanking. The idle period after every line of image data
|
||
|
during which no image data is produced. The unit of horizontal
|
||
|
blanking is pixels.
|
||
|
|
||
|
``V4L2_CID_ANALOGUE_GAIN (integer)``
|
||
|
Analogue gain is gain affecting all colour components in the pixel
|
||
|
matrix. The gain operation is performed in the analogue domain
|
||
|
before A/D conversion.
|
||
|
|
||
|
``V4L2_CID_TEST_PATTERN_RED (integer)``
|
||
|
Test pattern red colour component.
|
||
|
|
||
|
``V4L2_CID_TEST_PATTERN_GREENR (integer)``
|
||
|
Test pattern green (next to red) colour component.
|
||
|
|
||
|
``V4L2_CID_TEST_PATTERN_BLUE (integer)``
|
||
|
Test pattern blue colour component.
|
||
|
|
||
|
``V4L2_CID_TEST_PATTERN_GREENB (integer)``
|
||
|
Test pattern green (next to blue) colour component.
|
||
|
|
||
|
``V4L2_CID_UNIT_CELL_SIZE (struct)``
|
||
|
This control returns the unit cell size in nanometers. The struct
|
||
|
:c:type:`v4l2_area` provides the width and the height in separate
|
||
|
fields to take into consideration asymmetric pixels.
|
||
|
This control does not take into consideration any possible hardware
|
||
|
binning.
|
||
|
The unit cell consists of the whole area of the pixel, sensitive and
|
||
|
non-sensitive.
|
||
|
This control is required for automatic calibration of sensors/cameras.
|
||
|
|
||
|
.. c:type:: v4l2_area
|
||
|
|
||
|
.. flat-table:: struct v4l2_area
|
||
|
:header-rows: 0
|
||
|
:stub-columns: 0
|
||
|
:widths: 1 1 2
|
||
|
|
||
|
* - __u32
|
||
|
- ``width``
|
||
|
- Width of the area.
|
||
|
* - __u32
|
||
|
- ``height``
|
||
|
- Height of the area.
|
||
|
|
||
|
``V4L2_CID_NOTIFY_GAINS (integer array)``
|
||
|
The sensor is notified what gains will be applied to the different
|
||
|
colour channels by subsequent processing (such as by an ISP). The
|
||
|
sensor is merely informed of these values in case it performs
|
||
|
processing that requires them, but it does not apply them itself to
|
||
|
the output pixels.
|
||
|
|
||
|
Currently it is defined only for Bayer sensors, and is an array
|
||
|
control taking 4 gain values, being the gains for each of the
|
||
|
Bayer channels. The gains are always in the order B, Gb, Gr and R,
|
||
|
irrespective of the exact Bayer order of the sensor itself.
|
||
|
|
||
|
The use of an array allows this control to be extended to sensors
|
||
|
with, for example, non-Bayer CFAs (colour filter arrays).
|
||
|
|
||
|
The units for the gain values are linear, with the default value
|
||
|
representing a gain of exactly 1.0. For example, if this default value
|
||
|
is reported as being (say) 128, then a value of 192 would represent
|
||
|
a gain of exactly 1.5.
|