mirror of
https://github.com/torvalds/linux.git
synced 2024-11-17 09:31:50 +00:00
[media] v4l: Image source control class
Add image source control class. This control class is intended to contain low level controls which deal with control of the image capture process --- the A/D converter in image sensors, for example. Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
6016af82ea
commit
8c9d236ec6
@ -3599,4 +3599,90 @@ interface and may change in the future.</para>
|
||||
to <xref linkend="itu-t81"/>, <xref linkend="jfif"/>,
|
||||
<xref linkend="w3c-jpeg-jfif"/>.</para>
|
||||
</section>
|
||||
|
||||
<section id="image-source-controls">
|
||||
<title>Image Source Control Reference</title>
|
||||
|
||||
<note>
|
||||
<title>Experimental</title>
|
||||
|
||||
<para>This is an <link
|
||||
linkend="experimental">experimental</link> interface and may
|
||||
change in the future.</para>
|
||||
</note>
|
||||
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
|
||||
<table pgwide="1" frame="none" id="image-source-control-id">
|
||||
<title>Image Source Control IDs</title>
|
||||
|
||||
<tgroup cols="4">
|
||||
<colspec colname="c1" colwidth="1*" />
|
||||
<colspec colname="c2" colwidth="6*" />
|
||||
<colspec colname="c3" colwidth="2*" />
|
||||
<colspec colname="c4" colwidth="6*" />
|
||||
<spanspec namest="c1" nameend="c2" spanname="id" />
|
||||
<spanspec namest="c2" nameend="c4" spanname="descr" />
|
||||
<thead>
|
||||
<row>
|
||||
<entry spanname="id" align="left">ID</entry>
|
||||
<entry align="left">Type</entry>
|
||||
</row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody valign="top">
|
||||
<row><entry></entry></row>
|
||||
<row>
|
||||
<entry spanname="id"><constant>V4L2_CID_IMAGE_SOURCE_CLASS</constant></entry>
|
||||
<entry>class</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry spanname="descr">The IMAGE_SOURCE class descriptor.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry spanname="id"><constant>V4L2_CID_VBLANK</constant></entry>
|
||||
<entry>integer</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry spanname="descr">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
|
||||
<constant>V4L2_CID_PIXEL_RATE</constant> control in the
|
||||
same sub-device.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry spanname="id"><constant>V4L2_CID_HBLANK</constant></entry>
|
||||
<entry>integer</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry spanname="descr">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.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry spanname="id"><constant>V4L2_CID_ANALOGUE_GAIN</constant></entry>
|
||||
<entry>integer</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry spanname="descr">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.
|
||||
</entry>
|
||||
</row>
|
||||
<row><entry></entry></row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
</section>
|
||||
|
||||
</section>
|
||||
|
@ -272,6 +272,12 @@ These controls are described in <xref
|
||||
These controls are described in <xref
|
||||
linkend="jpeg-controls" />.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><constant>V4L2_CTRL_CLASS_IMAGE_SOURCE</constant></entry>
|
||||
<entry>0x9e0000</entry> <entry>The class containing image
|
||||
source controls. These controls are described in <xref
|
||||
linkend="image-source-controls" />.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
@ -644,6 +644,12 @@ const char *v4l2_ctrl_get_name(u32 id)
|
||||
case V4L2_CID_JPEG_COMPRESSION_QUALITY: return "Compression Quality";
|
||||
case V4L2_CID_JPEG_ACTIVE_MARKER: return "Active Markers";
|
||||
|
||||
/* Image source controls */
|
||||
case V4L2_CID_IMAGE_SOURCE_CLASS: return "Image Source Controls";
|
||||
case V4L2_CID_VBLANK: return "Vertical Blanking";
|
||||
case V4L2_CID_HBLANK: return "Horizontal Blanking";
|
||||
case V4L2_CID_ANALOGUE_GAIN: return "Analogue Gain";
|
||||
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
@ -745,6 +751,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
|
||||
case V4L2_CID_FM_TX_CLASS:
|
||||
case V4L2_CID_FLASH_CLASS:
|
||||
case V4L2_CID_JPEG_CLASS:
|
||||
case V4L2_CID_IMAGE_SOURCE_CLASS:
|
||||
*type = V4L2_CTRL_TYPE_CTRL_CLASS;
|
||||
/* You can neither read not write these */
|
||||
*flags |= V4L2_CTRL_FLAG_READ_ONLY | V4L2_CTRL_FLAG_WRITE_ONLY;
|
||||
|
@ -1139,6 +1139,7 @@ struct v4l2_ext_controls {
|
||||
#define V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator control class */
|
||||
#define V4L2_CTRL_CLASS_FLASH 0x009c0000 /* Camera flash controls */
|
||||
#define V4L2_CTRL_CLASS_JPEG 0x009d0000 /* JPEG-compression controls */
|
||||
#define V4L2_CTRL_CLASS_IMAGE_SOURCE 0x009e0000 /* Image source controls */
|
||||
|
||||
#define V4L2_CTRL_ID_MASK (0x0fffffff)
|
||||
#define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL)
|
||||
@ -1788,6 +1789,14 @@ enum v4l2_jpeg_chroma_subsampling {
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17)
|
||||
#define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18)
|
||||
|
||||
/* Image source controls */
|
||||
#define V4L2_CID_IMAGE_SOURCE_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900)
|
||||
#define V4L2_CID_IMAGE_SOURCE_CLASS (V4L2_CTRL_CLASS_IMAGE_SOURCE | 1)
|
||||
|
||||
#define V4L2_CID_VBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1)
|
||||
#define V4L2_CID_HBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2)
|
||||
#define V4L2_CID_ANALOGUE_GAIN (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3)
|
||||
|
||||
/*
|
||||
* T U N I N G
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user