| .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later | |
| .. c:namespace:: V4L | |
| .. _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. |