xref: /openbmc/linux/Documentation/userspace-api/media/v4l/ext-ctrls-image-source.rst (revision 54f38fcae536ea202ce7d6a359521492fba30c1f)
1*54f38fcaSMauro Carvalho Chehab.. Permission is granted to copy, distribute and/or modify this
2*54f38fcaSMauro Carvalho Chehab.. document under the terms of the GNU Free Documentation License,
3*54f38fcaSMauro Carvalho Chehab.. Version 1.1 or any later version published by the Free Software
4*54f38fcaSMauro Carvalho Chehab.. Foundation, with no Invariant Sections, no Front-Cover Texts
5*54f38fcaSMauro Carvalho Chehab.. and no Back-Cover Texts. A copy of the license is included at
6*54f38fcaSMauro Carvalho Chehab.. Documentation/userspace-api/media/fdl-appendix.rst.
7*54f38fcaSMauro Carvalho Chehab..
8*54f38fcaSMauro Carvalho Chehab.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
9*54f38fcaSMauro Carvalho Chehab
10*54f38fcaSMauro Carvalho Chehab.. _image-source-controls:
11*54f38fcaSMauro Carvalho Chehab
12*54f38fcaSMauro Carvalho Chehab******************************
13*54f38fcaSMauro Carvalho ChehabImage Source Control Reference
14*54f38fcaSMauro Carvalho Chehab******************************
15*54f38fcaSMauro Carvalho Chehab
16*54f38fcaSMauro Carvalho ChehabThe Image Source control class is intended for low-level control of
17*54f38fcaSMauro Carvalho Chehabimage source devices such as image sensors. The devices feature an
18*54f38fcaSMauro Carvalho Chehabanalogue to digital converter and a bus transmitter to transmit the
19*54f38fcaSMauro Carvalho Chehabimage data out of the device.
20*54f38fcaSMauro Carvalho Chehab
21*54f38fcaSMauro Carvalho Chehab
22*54f38fcaSMauro Carvalho Chehab.. _image-source-control-id:
23*54f38fcaSMauro Carvalho Chehab
24*54f38fcaSMauro Carvalho ChehabImage Source Control IDs
25*54f38fcaSMauro Carvalho Chehab========================
26*54f38fcaSMauro Carvalho Chehab
27*54f38fcaSMauro Carvalho Chehab``V4L2_CID_IMAGE_SOURCE_CLASS (class)``
28*54f38fcaSMauro Carvalho Chehab    The IMAGE_SOURCE class descriptor.
29*54f38fcaSMauro Carvalho Chehab
30*54f38fcaSMauro Carvalho Chehab``V4L2_CID_VBLANK (integer)``
31*54f38fcaSMauro Carvalho Chehab    Vertical blanking. The idle period after every frame during which no
32*54f38fcaSMauro Carvalho Chehab    image data is produced. The unit of vertical blanking is a line.
33*54f38fcaSMauro Carvalho Chehab    Every line has length of the image width plus horizontal blanking at
34*54f38fcaSMauro Carvalho Chehab    the pixel rate defined by ``V4L2_CID_PIXEL_RATE`` control in the
35*54f38fcaSMauro Carvalho Chehab    same sub-device.
36*54f38fcaSMauro Carvalho Chehab
37*54f38fcaSMauro Carvalho Chehab``V4L2_CID_HBLANK (integer)``
38*54f38fcaSMauro Carvalho Chehab    Horizontal blanking. The idle period after every line of image data
39*54f38fcaSMauro Carvalho Chehab    during which no image data is produced. The unit of horizontal
40*54f38fcaSMauro Carvalho Chehab    blanking is pixels.
41*54f38fcaSMauro Carvalho Chehab
42*54f38fcaSMauro Carvalho Chehab``V4L2_CID_ANALOGUE_GAIN (integer)``
43*54f38fcaSMauro Carvalho Chehab    Analogue gain is gain affecting all colour components in the pixel
44*54f38fcaSMauro Carvalho Chehab    matrix. The gain operation is performed in the analogue domain
45*54f38fcaSMauro Carvalho Chehab    before A/D conversion.
46*54f38fcaSMauro Carvalho Chehab
47*54f38fcaSMauro Carvalho Chehab``V4L2_CID_TEST_PATTERN_RED (integer)``
48*54f38fcaSMauro Carvalho Chehab    Test pattern red colour component.
49*54f38fcaSMauro Carvalho Chehab
50*54f38fcaSMauro Carvalho Chehab``V4L2_CID_TEST_PATTERN_GREENR (integer)``
51*54f38fcaSMauro Carvalho Chehab    Test pattern green (next to red) colour component.
52*54f38fcaSMauro Carvalho Chehab
53*54f38fcaSMauro Carvalho Chehab``V4L2_CID_TEST_PATTERN_BLUE (integer)``
54*54f38fcaSMauro Carvalho Chehab    Test pattern blue colour component.
55*54f38fcaSMauro Carvalho Chehab
56*54f38fcaSMauro Carvalho Chehab``V4L2_CID_TEST_PATTERN_GREENB (integer)``
57*54f38fcaSMauro Carvalho Chehab    Test pattern green (next to blue) colour component.
58*54f38fcaSMauro Carvalho Chehab
59*54f38fcaSMauro Carvalho Chehab``V4L2_CID_UNIT_CELL_SIZE (struct)``
60*54f38fcaSMauro Carvalho Chehab    This control returns the unit cell size in nanometers. The struct
61*54f38fcaSMauro Carvalho Chehab    :c:type:`v4l2_area` provides the width and the height in separate
62*54f38fcaSMauro Carvalho Chehab    fields to take into consideration asymmetric pixels.
63*54f38fcaSMauro Carvalho Chehab    This control does not take into consideration any possible hardware
64*54f38fcaSMauro Carvalho Chehab    binning.
65*54f38fcaSMauro Carvalho Chehab    The unit cell consists of the whole area of the pixel, sensitive and
66*54f38fcaSMauro Carvalho Chehab    non-sensitive.
67*54f38fcaSMauro Carvalho Chehab    This control is required for automatic calibration of sensors/cameras.
68