1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Part&#160;I.&#160;Video for Linux Two API Specification</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="LINUX MEDIA INFRASTRUCTURE API"><link rel="up" href="index.html" title="LINUX MEDIA INFRASTRUCTURE API"><link rel="prev" href="pr01.html" title="Introduction"><link rel="next" href="common.html" title="Chapter&#160;1.&#160;Common API Elements"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part&#160;I.&#160;Video for Linux Two API Specification</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pr01.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="common.html">Next</a></td></tr></table><hr></div><div class="part"><div class="titlepage"><div><div><h1 class="title"><a name="v4l2spec"></a>Part&#160;I.&#160;Video for Linux Two API Specification</h1></div><div><h2 class="subtitle">Revision 3.19</h2></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">Michael</span> <span class="othername">H</span> <span class="surname">Schimek</span></h3><div class="affiliation"><div class="address"><p><br>
2	&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:mschimek@gmx.at">mschimek@gmx.at</a>&gt;</code><br>
3	&#160;&#160;</p></div></div></div><div class="author"><h3 class="author"><span class="firstname">Bill</span> <span class="surname">Dirks</span></h3><span class="contrib">Original author of the V4L2 API and
4documentation.</span>&#160;</div><div class="author"><h3 class="author"><span class="firstname">Hans</span> <span class="surname">Verkuil</span></h3><span class="contrib">Designed and documented the VIDIOC_LOG_STATUS ioctl,
5the extended control ioctls, major parts of the sliced VBI API, the
6MPEG encoder and decoder APIs and the DV Timings API.</span>&#160;<div class="affiliation"><div class="address"><p><br>
7	&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:hverkuil@xs4all.nl">hverkuil@xs4all.nl</a>&gt;</code><br>
8	&#160;&#160;</p></div></div></div><div class="author"><h3 class="author"><span class="firstname">Martin</span> <span class="surname">Rubli</span></h3><span class="contrib">Designed and documented the VIDIOC_ENUM_FRAMESIZES
9and VIDIOC_ENUM_FRAMEINTERVALS ioctls.</span>&#160;</div><div class="author"><h3 class="author"><span class="firstname">Andy</span> <span class="surname">Walls</span></h3><span class="contrib">Documented the fielded V4L2_MPEG_STREAM_VBI_FMT_IVTV
10MPEG stream embedded, sliced VBI data format in this specification.
11</span>&#160;<div class="affiliation"><div class="address"><p><br>
12	&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:awalls@md.metrocast.net">awalls@md.metrocast.net</a>&gt;</code><br>
13	&#160;&#160;</p></div></div></div><div class="author"><h3 class="author"><span class="firstname">Mauro</span> <span class="surname">Carvalho Chehab</span></h3><span class="contrib">Documented libv4l, designed and added v4l2grab example,
14Remote Controller chapter.</span>&#160;<div class="affiliation"><div class="address"><p><br>
15	&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:m.chehab@samsung.com">m.chehab@samsung.com</a>&gt;</code><br>
16	&#160;&#160;</p></div></div></div><div class="author"><h3 class="author"><span class="firstname">Muralidharan</span> <span class="surname">Karicheri</span></h3><span class="contrib">Documented the Digital Video timings API.</span>&#160;<div class="affiliation"><div class="address"><p><br>
17	&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:m-karicheri2@ti.com">m-karicheri2@ti.com</a>&gt;</code><br>
18	&#160;&#160;</p></div></div></div><div class="author"><h3 class="author"><span class="firstname">Pawel</span> <span class="surname">Osciak</span></h3><span class="contrib">Designed and documented the multi-planar API.</span>&#160;<div class="affiliation"><div class="address"><p><br>
19	&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:pawel%20AT%20osciak.com">pawel&#160;AT&#160;osciak.com</a>&gt;</code><br>
20	&#160;&#160;</p></div></div></div><div class="author"><h3 class="author"><span class="firstname">Sakari</span> <span class="surname">Ailus</span></h3><span class="contrib">Subdev selections API.</span>&#160;<div class="affiliation"><div class="address"><p><br>
21	&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:sakari.ailus@iki.fi">sakari.ailus@iki.fi</a>&gt;</code><br>
22	&#160;&#160;</p></div></div></div><div class="author"><h3 class="author"><span class="firstname">Antti</span> <span class="surname">Palosaari</span></h3><span class="contrib">SDR API.</span>&#160;<div class="affiliation"><div class="address"><p><br>
23	&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:crope@iki.fi">crope@iki.fi</a>&gt;</code><br>
24	&#160;&#160;</p></div></div></div></div></div><div><p class="copyright">Copyright &#169; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin
25Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab,
26	Pawel Osciak</p></div><div><div class="legalnotice"><a name="idp1093909548"></a><p>Except when explicitly stated as GPL, programming examples within
27	    this part can be used and distributed without restrictions.</p></div></div><div><div class="revhistory"><table style="border-style:solid; width:100%;" summary="Revision History"><tr><th align="left" valign="top" colspan="3"><b>Revision History</b></th></tr><tr><td align="left">Revision 3.21</td><td align="left">2015-02-13</td><td align="left">mcc</td></tr><tr><td align="left" colspan="3">Fix documentation for media controller device nodes and add support for DVB device nodes.
28Add support for Tuner sub-device.
29	</td></tr><tr><td align="left">Revision 3.19</td><td align="left">2014-12-05</td><td align="left">hv</td></tr><tr><td align="left" colspan="3">Rewrote Colorspace chapter, added new enum&#160;<a class="link" href="ch02s05.html#v4l2-ycbcr-encoding" title="Table&#160;2.5.&#160;V4L2 Y'CbCr Encodings">v4l2_ycbcr_encoding</a> and enum&#160;<a class="link" href="ch02s05.html#v4l2-quantization" title="Table&#160;2.6.&#160;V4L2 Quantization Methods">v4l2_quantization</a> fields
30to struct&#160;<a class="link" href="pixfmt.html#v4l2-pix-format" title="Table&#160;2.1.&#160;struct v4l2_pix_format">v4l2_pix_format</a>, struct&#160;<a class="link" href="ch02s02.html#v4l2-pix-format-mplane" title="Table&#160;2.3.&#160;struct v4l2_pix_format_mplane">v4l2_pix_format_mplane</a> and struct&#160;<a class="link" href="subdev.html#v4l2-mbus-framefmt" title="Table&#160;4.20.&#160;struct v4l2_mbus_framefmt">v4l2_mbus_framefmt</a>.
31	</td></tr><tr><td align="left">Revision 3.17</td><td align="left">2014-08-04</td><td align="left">lp, hv</td></tr><tr><td align="left" colspan="3">Extended struct&#160;<a class="link" href="pixfmt.html#v4l2-pix-format" title="Table&#160;2.1.&#160;struct v4l2_pix_format">v4l2_pix_format</a>. Added format flags. Added compound control types
32and VIDIOC_QUERY_EXT_CTRL.
33	</td></tr><tr><td align="left">Revision 3.15</td><td align="left">2014-02-03</td><td align="left">hv, ap</td></tr><tr><td align="left" colspan="3">Update several sections of "Common API Elements": "Opening and Closing Devices"
34"Querying Capabilities", "Application Priority", "Video Inputs and Outputs", "Audio Inputs and Outputs"
35"Tuners and Modulators", "Video Standards" and "Digital Video (DV) Timings". Added SDR API.
36	</td></tr><tr><td align="left">Revision 3.14</td><td align="left">2013-11-25</td><td align="left">rr</td></tr><tr><td align="left" colspan="3">Set width and height as unsigned on v4l2_rect.
37	</td></tr><tr><td align="left">Revision 3.11</td><td align="left">2013-05-26</td><td align="left">hv</td></tr><tr><td align="left" colspan="3">Remove obsolete VIDIOC_DBG_G_CHIP_IDENT ioctl.
38	</td></tr><tr><td align="left">Revision 3.10</td><td align="left">2013-03-25</td><td align="left">hv</td></tr><tr><td align="left" colspan="3">Remove obsolete and unused DV_PRESET ioctls:
39	VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET, VIDIOC_QUERY_DV_PRESET and
40	VIDIOC_ENUM_DV_PRESET. Remove the related v4l2_input/output capability
41	flags V4L2_IN_CAP_PRESETS and V4L2_OUT_CAP_PRESETS. Added VIDIOC_DBG_G_CHIP_INFO.
42	</td></tr><tr><td align="left">Revision 3.9</td><td align="left">2012-12-03</td><td align="left">sa, sn</td></tr><tr><td align="left" colspan="3">Added timestamp types to v4l2_buffer.
43	Added V4L2_EVENT_CTRL_CH_RANGE control event changes flag.
44	</td></tr><tr><td align="left">Revision 3.6</td><td align="left">2012-07-02</td><td align="left">hv</td></tr><tr><td align="left" colspan="3">Added VIDIOC_ENUM_FREQ_BANDS.
45	</td></tr><tr><td align="left">Revision 3.5</td><td align="left">2012-05-07</td><td align="left">sa, sn, hv</td></tr><tr><td align="left" colspan="3">Added V4L2_CTRL_TYPE_INTEGER_MENU and V4L2 subdev
46	    selections API. Improved the description of V4L2_CID_COLORFX
47	    control, added V4L2_CID_COLORFX_CBCR control.
48	    Added camera controls V4L2_CID_AUTO_EXPOSURE_BIAS,
49	    V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE, V4L2_CID_IMAGE_STABILIZATION,
50	    V4L2_CID_ISO_SENSITIVITY, V4L2_CID_ISO_SENSITIVITY_AUTO,
51	    V4L2_CID_EXPOSURE_METERING, V4L2_CID_SCENE_MODE,
52	    V4L2_CID_3A_LOCK, V4L2_CID_AUTO_FOCUS_START,
53	    V4L2_CID_AUTO_FOCUS_STOP, V4L2_CID_AUTO_FOCUS_STATUS
54	    and V4L2_CID_AUTO_FOCUS_RANGE.
55	    Added VIDIOC_ENUM_DV_TIMINGS, VIDIOC_QUERY_DV_TIMINGS and
56	    VIDIOC_DV_TIMINGS_CAP.
57	</td></tr><tr><td align="left">Revision 3.4</td><td align="left">2012-01-25</td><td align="left">sn</td></tr><tr><td align="left" colspan="3">Added <a class="link" href="extended-controls.html#jpeg-controls" title="JPEG Control Reference">JPEG compression
58	    control class.</a>
59	</td></tr><tr><td align="left">Revision 3.3</td><td align="left">2012-01-11</td><td align="left">hv</td></tr><tr><td align="left" colspan="3">Added device_caps field to struct v4l2_capabilities.</td></tr><tr><td align="left">Revision 3.2</td><td align="left">2011-08-26</td><td align="left">hv</td></tr><tr><td align="left" colspan="3">Added V4L2_CTRL_FLAG_VOLATILE.</td></tr><tr><td align="left">Revision 3.1</td><td align="left">2011-06-27</td><td align="left">mcc, po, hv</td></tr><tr><td align="left" colspan="3">Documented that VIDIOC_QUERYCAP now returns a per-subsystem version instead of a per-driver one.
60		   Standardize an error code for invalid ioctl.
61		   Added V4L2_CTRL_TYPE_BITMASK.</td></tr><tr><td align="left">Revision 2.6.39</td><td align="left">2011-03-01</td><td align="left">mcc, po</td></tr><tr><td align="left" colspan="3">Removed VIDIOC_*_OLD from videodev2.h header and update it to reflect latest changes. Added the <a class="link" href="planar-apis.html" title="Single- and multi-planar APIs">multi-planar API</a>.</td></tr><tr><td align="left">Revision 2.6.37</td><td align="left">2010-08-06</td><td align="left">hv</td></tr><tr><td align="left" colspan="3">Removed obsolete vtx (videotext) API.</td></tr><tr><td align="left">Revision 2.6.33</td><td align="left">2009-12-03</td><td align="left">mk</td></tr><tr><td align="left" colspan="3">Added documentation for the Digital Video timings API.</td></tr><tr><td align="left">Revision 2.6.32</td><td align="left">2009-08-31</td><td align="left">mcc</td></tr><tr><td align="left" colspan="3">Now, revisions will match the kernel version where
62the V4L2 API changes will be used by the Linux Kernel.
63Also added Remote Controller chapter.</td></tr><tr><td align="left">Revision 0.29</td><td align="left">2009-08-26</td><td align="left">ev</td></tr><tr><td align="left" colspan="3">Added documentation for string controls and for FM Transmitter controls.</td></tr><tr><td align="left">Revision 0.28</td><td align="left">2009-08-26</td><td align="left">gl</td></tr><tr><td align="left" colspan="3">Added V4L2_CID_BAND_STOP_FILTER documentation.</td></tr><tr><td align="left">Revision 0.27</td><td align="left">2009-08-15</td><td align="left">mcc</td></tr><tr><td align="left" colspan="3">Added libv4l and Remote Controller documentation;
64added v4l2grab and keytable application examples.</td></tr><tr><td align="left">Revision 0.26</td><td align="left">2009-07-23</td><td align="left">hv</td></tr><tr><td align="left" colspan="3">Finalized the RDS capture API. Added modulator and RDS encoder
65capabilities. Added support for string controls.</td></tr><tr><td align="left">Revision 0.25</td><td align="left">2009-01-18</td><td align="left">hv</td></tr><tr><td align="left" colspan="3">Added pixel formats VYUY, NV16 and NV61, and changed
66the debug ioctls VIDIOC_DBG_G/S_REGISTER and VIDIOC_DBG_G_CHIP_IDENT.
67Added camera controls V4L2_CID_ZOOM_ABSOLUTE, V4L2_CID_ZOOM_RELATIVE,
68V4L2_CID_ZOOM_CONTINUOUS and V4L2_CID_PRIVACY.</td></tr><tr><td align="left">Revision 0.24</td><td align="left">2008-03-04</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Added pixel formats Y16 and SBGGR16, new controls
69and a camera controls class. Removed VIDIOC_G/S_MPEGCOMP.</td></tr><tr><td align="left">Revision 0.23</td><td align="left">2007-08-30</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Fixed a typo in VIDIOC_DBG_G/S_REGISTER.
70Clarified the byte order of packed pixel formats.</td></tr><tr><td align="left">Revision 0.22</td><td align="left">2007-08-29</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Added the Video Output Overlay interface, new MPEG
71controls, V4L2_FIELD_INTERLACED_TB and V4L2_FIELD_INTERLACED_BT,
72VIDIOC_DBG_G/S_REGISTER, VIDIOC_(TRY_)ENCODER_CMD,
73VIDIOC_G_CHIP_IDENT, VIDIOC_G_ENC_INDEX, new pixel formats.
74Clarifications in the cropping chapter, about RGB pixel formats, the
75mmap(), poll(), select(), read() and write() functions. Typographical
76fixes.</td></tr><tr><td align="left">Revision 0.21</td><td align="left">2006-12-19</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Fixed a link in the VIDIOC_G_EXT_CTRLS section.</td></tr><tr><td align="left">Revision 0.20</td><td align="left">2006-11-24</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Clarified the purpose of the audioset field in
77struct v4l2_input and v4l2_output.</td></tr><tr><td align="left">Revision 0.19</td><td align="left">2006-10-19</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Documented V4L2_PIX_FMT_RGB444.</td></tr><tr><td align="left">Revision 0.18</td><td align="left">2006-10-18</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Added the description of extended controls by Hans
78Verkuil. Linked V4L2_PIX_FMT_MPEG to V4L2_CID_MPEG_STREAM_TYPE.</td></tr><tr><td align="left">Revision 0.17</td><td align="left">2006-10-12</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Corrected V4L2_PIX_FMT_HM12 description.</td></tr><tr><td align="left">Revision 0.16</td><td align="left">2006-10-08</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">VIDIOC_ENUM_FRAMESIZES and
79VIDIOC_ENUM_FRAMEINTERVALS are now part of the API.</td></tr><tr><td align="left">Revision 0.15</td><td align="left">2006-09-23</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Cleaned up the bibliography, added BT.653 and
80BT.1119. capture.c/start_capturing() for user pointer I/O did not
81initialize the buffer index. Documented the V4L MPEG and MJPEG
82VID_TYPEs and V4L2_PIX_FMT_SBGGR8. Updated the list of reserved pixel
83formats. See the history chapter for API changes.</td></tr><tr><td align="left">Revision 0.14</td><td align="left">2006-09-14</td><td align="left">mr</td></tr><tr><td align="left" colspan="3">Added VIDIOC_ENUM_FRAMESIZES and
84VIDIOC_ENUM_FRAMEINTERVALS proposal for frame format enumeration of
85digital devices.</td></tr><tr><td align="left">Revision 0.13</td><td align="left">2006-04-07</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Corrected the description of struct v4l2_window
86clips. New V4L2_STD_ and V4L2_TUNER_MODE_LANG1_LANG2
87defines.</td></tr><tr><td align="left">Revision 0.12</td><td align="left">2006-02-03</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Corrected the description of struct
88v4l2_captureparm and v4l2_outputparm.</td></tr><tr><td align="left">Revision 0.11</td><td align="left">2006-01-27</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Improved the description of struct
89v4l2_tuner.</td></tr><tr><td align="left">Revision 0.10</td><td align="left">2006-01-10</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">VIDIOC_G_INPUT and VIDIOC_S_PARM
90clarifications.</td></tr><tr><td align="left">Revision 0.9</td><td align="left">2005-11-27</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Improved the 525 line numbering diagram. Hans
91Verkuil and I rewrote the sliced VBI section. He also contributed a
92VIDIOC_LOG_STATUS page. Fixed VIDIOC_S_STD call in the video standard
93selection example. Various updates.</td></tr><tr><td align="left">Revision 0.8</td><td align="left">2004-10-04</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Somehow a piece of junk slipped into the capture
94example, removed.</td></tr><tr><td align="left">Revision 0.7</td><td align="left">2004-09-19</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Fixed video standard selection, control
95enumeration, downscaling and aspect example. Added read and user
96pointer i/o to video capture example.</td></tr><tr><td align="left">Revision 0.6</td><td align="left">2004-08-01</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">v4l2_buffer changes, added video capture example,
97various corrections.</td></tr><tr><td align="left">Revision 0.5</td><td align="left">2003-11-05</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Pixel format erratum.</td></tr><tr><td align="left">Revision 0.4</td><td align="left">2003-09-17</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Corrected source and Makefile to generate a PDF.
98SGML fixes. Added latest API changes. Closed gaps in the history
99chapter.</td></tr><tr><td align="left">Revision 0.3</td><td align="left">2003-02-05</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Another draft, more corrections.</td></tr><tr><td align="left">Revision 0.2</td><td align="left">2003-01-15</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">Second draft, with corrections pointed out by Gerd
100Knorr.</td></tr><tr><td align="left">Revision 0.1</td><td align="left">2002-12-01</td><td align="left">mhs</td></tr><tr><td align="left" colspan="3">First draft, based on documentation by Bill Dirks
101and discussions on the V4L mailing list.</td></tr></table></div></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="common.html">1. Common API Elements</a></span></dt><dd><dl><dt><span class="section"><a href="common.html#open">Opening and Closing Devices</a></span></dt><dd><dl><dt><span class="section"><a href="common.html#idp1096767692">Device Naming</a></span></dt><dt><span class="section"><a href="common.html#related">Related Devices</a></span></dt><dt><span class="section"><a href="common.html#idp1096777404">Multiple Opens</a></span></dt><dt><span class="section"><a href="common.html#idp1096789052">Shared Data Streams</a></span></dt><dt><span class="section"><a href="common.html#idp1096789860">Functions</a></span></dt></dl></dd><dt><span class="section"><a href="querycap.html">Querying Capabilities</a></span></dt><dt><span class="section"><a href="app-pri.html">Application Priority</a></span></dt><dt><span class="section"><a href="video.html">Video Inputs and Outputs</a></span></dt><dt><span class="section"><a href="audio.html">Audio Inputs and Outputs</a></span></dt><dt><span class="section"><a href="tuner.html">Tuners and Modulators</a></span></dt><dd><dl><dt><span class="section"><a href="tuner.html#idp1096834708">Tuners</a></span></dt><dt><span class="section"><a href="tuner.html#idp1096841868">Modulators</a></span></dt><dt><span class="section"><a href="tuner.html#idp1096849292">Radio Frequency</a></span></dt></dl></dd><dt><span class="section"><a href="standard.html">Video Standards</a></span></dt><dt><span class="section"><a href="dv-timings.html">Digital Video (DV) Timings</a></span></dt><dt><span class="section"><a href="control.html">User Controls</a></span></dt><dt><span class="section"><a href="extended-controls.html">Extended Controls</a></span></dt><dd><dl><dt><span class="section"><a href="extended-controls.html#idp1097023452">Introduction</a></span></dt><dt><span class="section"><a href="extended-controls.html#idp1097025916">The Extended Control API</a></span></dt><dt><span class="section"><a href="extended-controls.html#idp1097037444">Enumerating Extended Controls</a></span></dt><dt><span class="section"><a href="extended-controls.html#idp1096896148">Creating Control Panels</a></span></dt><dt><span class="section"><a href="extended-controls.html#mpeg-controls">Codec Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#camera-controls">Camera Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#fm-tx-controls">FM Transmitter Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#flash-controls">Flash Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#jpeg-controls">JPEG Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#image-source-controls">Image Source Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#image-process-controls">Image Process Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#dv-controls">Digital Video Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#fm-rx-controls">FM Receiver Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#detect-controls">Detect Control Reference</a></span></dt><dt><span class="section"><a href="extended-controls.html#rf-tuner-controls">RF Tuner Control Reference</a></span></dt></dl></dd><dt><span class="section"><a href="format.html">Data Formats</a></span></dt><dd><dl><dt><span class="section"><a href="format.html#idp1098923212">Data Format Negotiation</a></span></dt><dt><span class="section"><a href="format.html#idp1098942900">Image Format Enumeration</a></span></dt></dl></dd><dt><span class="section"><a href="planar-apis.html">Single- and multi-planar APIs</a></span></dt><dd><dl><dt><span class="section"><a href="planar-apis.html#idp1098952028">Multi-planar formats</a></span></dt><dt><span class="section"><a href="planar-apis.html#idp1098952868">Calls that distinguish between single and multi-planar APIs</a></span></dt></dl></dd><dt><span class="section"><a href="crop.html">Image Cropping, Insertion and Scaling</a></span></dt><dd><dl><dt><span class="section"><a href="crop.html#idp1098969740">Cropping Structures</a></span></dt><dt><span class="section"><a href="crop.html#idp1098993076">Scaling Adjustments</a></span></dt><dt><span class="section"><a href="crop.html#idp1098980540">Examples</a></span></dt></dl></dd><dt><span class="section"><a href="selection-api.html">Experimental API for cropping, composing and scaling</a></span></dt><dd><dl><dt><span class="section"><a href="selection-api.html#idp1099015196">Introduction</a></span></dt><dt><span class="section"><a href="selection-api.html#idp1099060620">Selection targets</a></span></dt><dt><span class="section"><a href="selection-api.html#idp1099063868">Configuration</a></span></dt><dt><span class="section"><a href="selection-api.html#idp1099082516">Comparison with old cropping API</a></span></dt><dt><span class="section"><a href="selection-api.html#idp1099087124">Examples</a></span></dt></dl></dd><dt><span class="section"><a href="streaming-par.html">Streaming Parameters</a></span></dt></dl></dd><dt><span class="chapter"><a href="pixfmt.html">2. Image Formats</a></span></dt><dd><dl><dt><span class="section"><a href="pixfmt.html#idp1100345860">Single-planar format structure</a></span></dt><dt><span class="section"><a href="ch02s02.html">Multi-planar format structures</a></span></dt><dt><span class="section"><a href="ch02s03.html">Standard Image Formats</a></span></dt><dt><span class="section"><a href="colorspaces.html">Colorspaces</a></span></dt><dt><span class="section"><a href="ch02s05.html">Defining Colorspaces in V4L2</a></span></dt><dt><span class="section"><a href="ch02s06.html">Detailed Colorspace Descriptions</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s06.html#col-smpte-170m">Colorspace SMPTE 170M (<code class="constant">V4L2_COLORSPACE_SMPTE170M</code>)</a></span></dt><dt><span class="section"><a href="ch02s06.html#col-rec709">Colorspace Rec. 709 (<code class="constant">V4L2_COLORSPACE_REC709</code>)</a></span></dt><dt><span class="section"><a href="ch02s06.html#col-srgb">Colorspace sRGB (<code class="constant">V4L2_COLORSPACE_SRGB</code>)</a></span></dt><dt><span class="section"><a href="ch02s06.html#col-adobergb">Colorspace Adobe RGB (<code class="constant">V4L2_COLORSPACE_ADOBERGB</code>)</a></span></dt><dt><span class="section"><a href="ch02s06.html#col-bt2020">Colorspace BT.2020 (<code class="constant">V4L2_COLORSPACE_BT2020</code>)</a></span></dt><dt><span class="section"><a href="ch02s06.html#col-smpte-240m">Colorspace SMPTE 240M (<code class="constant">V4L2_COLORSPACE_SMPTE240M</code>)</a></span></dt><dt><span class="section"><a href="ch02s06.html#col-sysm">Colorspace NTSC 1953 (<code class="constant">V4L2_COLORSPACE_470_SYSTEM_M</code>)</a></span></dt><dt><span class="section"><a href="ch02s06.html#col-sysbg">Colorspace EBU Tech. 3213 (<code class="constant">V4L2_COLORSPACE_470_SYSTEM_BG</code>)</a></span></dt><dt><span class="section"><a href="ch02s06.html#col-jpeg">Colorspace JPEG (<code class="constant">V4L2_COLORSPACE_JPEG</code>)</a></span></dt></dl></dd><dt><span class="section"><a href="pixfmt-indexed.html">Indexed Format</a></span></dt><dt><span class="section"><a href="pixfmt-rgb.html">RGB Formats</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="packed-rgb.html">Packed RGB formats</a></span><span class="refpurpose"> &#8212; Packed RGB formats</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-SBGGR8.html">V4L2_PIX_FMT_SBGGR8 ('BA81')</a></span><span class="refpurpose"> &#8212; Bayer RGB format</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-SGBRG8.html">V4L2_PIX_FMT_SGBRG8 ('GBRG')</a></span><span class="refpurpose"> &#8212; Bayer RGB format</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-SGRBG8.html">V4L2_PIX_FMT_SGRBG8 ('GRBG')</a></span><span class="refpurpose"> &#8212; Bayer RGB format</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-SRGGB8.html">V4L2_PIX_FMT_SRGGB8 ('RGGB')</a></span><span class="refpurpose"> &#8212; Bayer RGB format</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-SBGGR16.html">V4L2_PIX_FMT_SBGGR16 ('BYR2')</a></span><span class="refpurpose"> &#8212; Bayer RGB format</span></dt><dt><span class="refentrytitle"><a href="pixfmt-srggb10.html">V4L2_PIX_FMT_SRGGB10 ('RG10'),
102	 V4L2_PIX_FMT_SGRBG10 ('BA10'),
103	 V4L2_PIX_FMT_SGBRG10 ('GB10'),
104	 V4L2_PIX_FMT_SBGGR10 ('BG10'),
105	 </a></span><span class="refpurpose"> &#8212; 10-bit Bayer formats expanded to 16 bits</span></dt><dt><span class="refentrytitle"><a href="pixfmt-srggb10p.html">V4L2_PIX_FMT_SRGGB10P ('pRAA'),
106	 V4L2_PIX_FMT_SGRBG10P ('pgAA'),
107	 V4L2_PIX_FMT_SGBRG10P ('pGAA'),
108	 V4L2_PIX_FMT_SBGGR10P ('pBAA'),
109	 </a></span><span class="refpurpose"> &#8212; 10-bit packed Bayer formats</span></dt><dt><span class="refentrytitle"><a href="re09.html">
110	      V4L2_PIX_FMT_SBGGR10ALAW8 ('aBA8'),
111	      V4L2_PIX_FMT_SGBRG10ALAW8 ('aGA8'),
112	      V4L2_PIX_FMT_SGRBG10ALAW8 ('agA8'),
113	      V4L2_PIX_FMT_SRGGB10ALAW8 ('aRA8'),
114	    </a></span><span class="refpurpose"> &#8212; 10-bit Bayer formats compressed to 8 bits</span></dt><dt><span class="refentrytitle"><a href="pixfmt-srggb10dpcm8.html">
115	 V4L2_PIX_FMT_SBGGR10DPCM8 ('bBA8'),
116	 V4L2_PIX_FMT_SGBRG10DPCM8 ('bGA8'),
117	 V4L2_PIX_FMT_SGRBG10DPCM8 ('BD10'),
118	 V4L2_PIX_FMT_SRGGB10DPCM8 ('bRA8'),
119	 </a></span><span class="refpurpose"> &#8212; 10-bit Bayer formats compressed to 8 bits</span></dt><dt><span class="refentrytitle"><a href="re11.html">V4L2_PIX_FMT_SRGGB12 ('RG12'),
120	 V4L2_PIX_FMT_SGRBG12 ('BA12'),
121	 V4L2_PIX_FMT_SGBRG12 ('GB12'),
122	 V4L2_PIX_FMT_SBGGR12 ('BG12'),
123	 </a></span><span class="refpurpose"> &#8212; 12-bit Bayer formats expanded to 16 bits</span></dt></dl></dd><dt><span class="section"><a href="yuv-formats.html">YUV Formats</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="packed-yuv.html">Packed YUV formats</a></span><span class="refpurpose"> &#8212; Packed YUV formats</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-GREY.html">V4L2_PIX_FMT_GREY ('GREY')</a></span><span class="refpurpose"> &#8212; Grey-scale image</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-Y10.html">V4L2_PIX_FMT_Y10 ('Y10 ')</a></span><span class="refpurpose"> &#8212; Grey-scale image</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-Y12.html">V4L2_PIX_FMT_Y12 ('Y12 ')</a></span><span class="refpurpose"> &#8212; Grey-scale image</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-Y10BPACK.html">V4L2_PIX_FMT_Y10BPACK ('Y10B')</a></span><span class="refpurpose"> &#8212; Grey-scale image as a bit-packed array</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-Y16.html">V4L2_PIX_FMT_Y16 ('Y16 ')</a></span><span class="refpurpose"> &#8212; Grey-scale image</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-UV8.html">V4L2_PIX_FMT_UV8  ('UV8')</a></span><span class="refpurpose"> &#8212; UV plane interleaved</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-YUYV.html">V4L2_PIX_FMT_YUYV ('YUYV')</a></span><span class="refpurpose"> &#8212; Packed format with &#189; horizontal chroma
124resolution, also known as YUV 4:2:2</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-UYVY.html">V4L2_PIX_FMT_UYVY ('UYVY')</a></span><span class="refpurpose"> &#8212; Variation of
125<code class="constant">V4L2_PIX_FMT_YUYV</code> with different order of samples
126in memory</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-YVYU.html">V4L2_PIX_FMT_YVYU ('YVYU')</a></span><span class="refpurpose"> &#8212; Variation of
127<code class="constant">V4L2_PIX_FMT_YUYV</code> with different order of samples
128in memory</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-VYUY.html">V4L2_PIX_FMT_VYUY ('VYUY')</a></span><span class="refpurpose"> &#8212; Variation of
129<code class="constant">V4L2_PIX_FMT_YUYV</code> with different order of samples
130in memory</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-Y41P.html">V4L2_PIX_FMT_Y41P ('Y41P')</a></span><span class="refpurpose"> &#8212; Format with &#188; horizontal chroma
131resolution, also known as YUV 4:1:1</span></dt><dt><span class="refentrytitle"><a href="re24.html">V4L2_PIX_FMT_YVU420 ('YV12'), V4L2_PIX_FMT_YUV420 ('YU12')</a></span><span class="refpurpose"> &#8212; Planar formats with &#189; horizontal and
132vertical chroma resolution, also known as YUV 4:2:0</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-YUV420M.html">V4L2_PIX_FMT_YUV420M ('YM12')</a></span><span class="refpurpose"> &#8212; Variation of <code class="constant">V4L2_PIX_FMT_YUV420</code>
133	  with planes non contiguous in memory. </span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-YVU420M.html">V4L2_PIX_FMT_YVU420M ('YM21')</a></span><span class="refpurpose"> &#8212; Variation of <code class="constant">V4L2_PIX_FMT_YVU420</code>
134	  with planes non contiguous in memory. </span></dt><dt><span class="refentrytitle"><a href="re27.html">V4L2_PIX_FMT_YVU410 ('YVU9'), V4L2_PIX_FMT_YUV410 ('YUV9')</a></span><span class="refpurpose"> &#8212; Planar formats with &#188; horizontal and
135vertical chroma resolution, also known as YUV 4:1:0</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-YUV422P.html">V4L2_PIX_FMT_YUV422P ('422P')</a></span><span class="refpurpose"> &#8212; Format with &#189; horizontal chroma resolution,
136also known as YUV 4:2:2. Planar layout as opposed to
137<code class="constant">V4L2_PIX_FMT_YUYV</code></span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-YUV411P.html">V4L2_PIX_FMT_YUV411P ('411P')</a></span><span class="refpurpose"> &#8212; Format with &#188; horizontal chroma resolution,
138also known as YUV 4:1:1. Planar layout as opposed to
139<code class="constant">V4L2_PIX_FMT_Y41P</code></span></dt><dt><span class="refentrytitle"><a href="re30.html">V4L2_PIX_FMT_NV12 ('NV12'), V4L2_PIX_FMT_NV21 ('NV21')</a></span><span class="refpurpose"> &#8212; Formats with &#189; horizontal and vertical
140chroma resolution, also known as YUV 4:2:0. One luminance and one
141chrominance plane with alternating chroma samples as opposed to
142<code class="constant">V4L2_PIX_FMT_YVU420</code></span></dt><dt><span class="refentrytitle"><a href="re31.html">V4L2_PIX_FMT_NV12M ('NM12'), V4L2_PIX_FMT_NV21M ('NM21'), V4L2_PIX_FMT_NV12MT_16X16</a></span><span class="refpurpose"> &#8212; Variation of <code class="constant">V4L2_PIX_FMT_NV12</code> and <code class="constant">V4L2_PIX_FMT_NV21</code> with planes
143	  non contiguous in memory. </span></dt><dt><span class="refentrytitle"><a href="re32.html">V4L2_PIX_FMT_NV12MT ('TM12')</a></span><span class="refpurpose"> &#8212; Formats with &#189; horizontal and vertical
144chroma resolution. This format has two planes - one for luminance and one for
145chrominance. Chroma samples are interleaved. The difference to
146<code class="constant">V4L2_PIX_FMT_NV12</code> is the memory layout. Pixels are
147grouped in macroblocks of 64x32 size. The order of macroblocks in memory is
148also not standard.
149	</span></dt><dt><span class="refentrytitle"><a href="re33.html">V4L2_PIX_FMT_NV16 ('NV16'), V4L2_PIX_FMT_NV61 ('NV61')</a></span><span class="refpurpose"> &#8212; Formats with &#189; horizontal
150chroma resolution, also known as YUV 4:2:2. One luminance and one
151chrominance plane with alternating chroma samples as opposed to
152<code class="constant">V4L2_PIX_FMT_YVU420</code></span></dt><dt><span class="refentrytitle"><a href="re34.html">V4L2_PIX_FMT_NV16M ('NM16'), V4L2_PIX_FMT_NV61M ('NM61')</a></span><span class="refpurpose"> &#8212; Variation of <code class="constant">V4L2_PIX_FMT_NV16</code> and <code class="constant">V4L2_PIX_FMT_NV61</code> with planes
153	  non contiguous in memory. </span></dt><dt><span class="refentrytitle"><a href="re35.html">V4L2_PIX_FMT_NV24 ('NV24'), V4L2_PIX_FMT_NV42 ('NV42')</a></span><span class="refpurpose"> &#8212; Formats with full horizontal and vertical
154chroma resolutions, also known as YUV 4:4:4. One luminance and one
155chrominance plane with alternating chroma samples as opposed to
156<code class="constant">V4L2_PIX_FMT_YVU420</code></span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-M420.html">V4L2_PIX_FMT_M420 ('M420')</a></span><span class="refpurpose"> &#8212; Format with &#189; horizontal and vertical chroma
157	resolution, also known as YUV 4:2:0. Hybrid plane line-interleaved
158	layout.</span></dt></dl></dd><dt><span class="section"><a href="ch02s10.html">Compressed Formats</a></span></dt><dt><span class="section"><a href="sdr-formats.html">SDR Formats</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="V4L2-SDR-FMT-CU08.html">V4L2_SDR_FMT_CU8 ('CU08')</a></span><span class="refpurpose"> &#8212; Complex unsigned 8-bit IQ sample</span></dt><dt><span class="refentrytitle"><a href="V4L2-SDR-FMT-CU16LE.html">V4L2_SDR_FMT_CU16LE ('CU16')</a></span><span class="refpurpose"> &#8212; Complex unsigned 16-bit little endian IQ sample</span></dt><dt><span class="refentrytitle"><a href="V4L2-SDR-FMT-CS08.html">V4L2_SDR_FMT_CS8 ('CS08')</a></span><span class="refpurpose"> &#8212; Complex signed 8-bit IQ sample</span></dt><dt><span class="refentrytitle"><a href="V4L2-SDR-FMT-CS14LE.html">V4L2_SDR_FMT_CS14LE ('CS14')</a></span><span class="refpurpose"> &#8212; Complex signed 14-bit little endian IQ sample</span></dt><dt><span class="refentrytitle"><a href="V4L2-SDR-FMT-RU12LE.html">V4L2_SDR_FMT_RU12LE ('RU12')</a></span><span class="refpurpose"> &#8212; Real unsigned 12-bit little endian sample</span></dt></dl></dd><dt><span class="section"><a href="pixfmt-reserved.html">Reserved Format Identifiers</a></span></dt></dl></dd><dt><span class="chapter"><a href="io.html">3. Input/Output</a></span></dt><dd><dl><dt><span class="section"><a href="io.html#rw">Read/Write</a></span></dt><dt><span class="section"><a href="mmap.html">Streaming I/O (Memory Mapping)</a></span></dt><dt><span class="section"><a href="userp.html">Streaming I/O (User Pointers)</a></span></dt><dt><span class="section"><a href="dmabuf.html">Streaming I/O (DMA buffer importing)</a></span></dt><dt><span class="section"><a href="async.html">Asynchronous I/O</a></span></dt><dt><span class="section"><a href="buffer.html">Buffers</a></span></dt><dd><dl><dt><span class="section"><a href="buffer.html#idp1104802220">Timecodes</a></span></dt></dl></dd><dt><span class="section"><a href="field-order.html">Field Order</a></span></dt></dl></dd><dt><span class="chapter"><a href="devices.html">4. Interfaces</a></span></dt><dd><dl><dt><span class="section"><a href="devices.html#capture">Video Capture Interface</a></span></dt><dd><dl><dt><span class="section"><a href="devices.html#idp1105105692">Querying Capabilities</a></span></dt><dt><span class="section"><a href="devices.html#idp1105151884">Supplemental Functions</a></span></dt><dt><span class="section"><a href="devices.html#idp1105155740">Image Format Negotiation</a></span></dt><dt><span class="section"><a href="devices.html#idp1105168876">Reading Images</a></span></dt></dl></dd><dt><span class="section"><a href="overlay.html">Video Overlay Interface</a></span></dt><dd><dl><dt><span class="section"><a href="overlay.html#idp1105202876">Querying Capabilities</a></span></dt><dt><span class="section"><a href="overlay.html#idp1105204956">Supplemental Functions</a></span></dt><dt><span class="section"><a href="overlay.html#idp1105208572">Setup</a></span></dt><dt><span class="section"><a href="overlay.html#idp1105217724">Overlay Window</a></span></dt><dt><span class="section"><a href="overlay.html#idp1105269452">Enabling Overlay</a></span></dt></dl></dd><dt><span class="section"><a href="output.html">Video Output Interface</a></span></dt><dd><dl><dt><span class="section"><a href="output.html#idp1105304604">Querying Capabilities</a></span></dt><dt><span class="section"><a href="output.html#idp1105350052">Supplemental Functions</a></span></dt><dt><span class="section"><a href="output.html#idp1105353692">Image Format Negotiation</a></span></dt><dt><span class="section"><a href="output.html#idp1105366780">Writing Images</a></span></dt></dl></dd><dt><span class="section"><a href="osd.html">Video Output Overlay Interface</a></span></dt><dd><dl><dt><span class="section"><a href="osd.html#idp1105326132">Querying Capabilities</a></span></dt><dt><span class="section"><a href="osd.html#idp1105338860">Framebuffer</a></span></dt><dt><span class="section"><a href="osd.html#idp1105406836">Overlay Window and Scaling</a></span></dt><dt><span class="section"><a href="osd.html#idp1105416860">Enabling Overlay</a></span></dt></dl></dd><dt><span class="section"><a href="codec.html">Codec Interface</a></span></dt><dt><span class="section"><a href="effect.html">Effect Devices Interface</a></span></dt><dt><span class="section"><a href="raw-vbi.html">Raw VBI Data Interface</a></span></dt><dd><dl><dt><span class="section"><a href="raw-vbi.html#idp1105460852">Querying Capabilities</a></span></dt><dt><span class="section"><a href="raw-vbi.html#idp1105463228">Supplemental Functions</a></span></dt><dt><span class="section"><a href="raw-vbi.html#idp1105465628">Raw VBI Format Negotiation</a></span></dt><dt><span class="section"><a href="raw-vbi.html#idp1105522708">Reading and writing VBI images</a></span></dt></dl></dd><dt><span class="section"><a href="sliced.html">Sliced VBI Data Interface</a></span></dt><dd><dl><dt><span class="section"><a href="sliced.html#idp1105589692">Querying Capabilities</a></span></dt><dt><span class="section"><a href="sliced.html#idp1105592452">Supplemental Functions</a></span></dt><dt><span class="section"><a href="sliced.html#sliced-vbi-format-negotitation">Sliced VBI Format Negotiation</a></span></dt><dt><span class="section"><a href="sliced.html#idp1105654204">Reading and writing sliced VBI data</a></span></dt><dt><span class="section"><a href="sliced.html#idp1105675332">Sliced VBI Data in MPEG Streams</a></span></dt></dl></dd><dt><span class="section"><a href="ttx.html">Teletext Interface</a></span></dt><dt><span class="section"><a href="radio.html">Radio Interface</a></span></dt><dd><dl><dt><span class="section"><a href="radio.html#idp1105906748">Querying Capabilities</a></span></dt><dt><span class="section"><a href="radio.html#idp1105909252">Supplemental Functions</a></span></dt><dt><span class="section"><a href="radio.html#idp1105872060">Programming</a></span></dt></dl></dd><dt><span class="section"><a href="rds.html">RDS Interface</a></span></dt><dd><dl><dt><span class="section"><a href="rds.html#idp1105886212">Querying Capabilities</a></span></dt><dt><span class="section"><a href="rds.html#reading-rds-data">Reading RDS data</a></span></dt><dt><span class="section"><a href="rds.html#writing-rds-data">Writing RDS data</a></span></dt><dt><span class="section"><a href="rds.html#idp1105953116">RDS datastructures</a></span></dt></dl></dd><dt><span class="section"><a href="sdr.html">Software Defined Radio Interface (SDR)</a></span></dt><dd><dl><dt><span class="section"><a href="sdr.html#idp1105978476">Querying Capabilities</a></span></dt><dt><span class="section"><a href="sdr.html#idp1106023364">Supplemental Functions</a></span></dt><dt><span class="section"><a href="sdr.html#idp1106026124">Data Format Negotiation</a></span></dt></dl></dd><dt><span class="section"><a href="event.html">Event Interface</a></span></dt><dt><span class="section"><a href="subdev.html">Sub-device Interface</a></span></dt><dd><dl><dt><span class="section"><a href="subdev.html#idp1106081860">Controls</a></span></dt><dt><span class="section"><a href="subdev.html#idp1106084444">Events</a></span></dt><dt><span class="section"><a href="subdev.html#pad-level-formats">Pad-level Formats</a></span></dt><dt><span class="section"><a href="subdev.html#v4l2-mbus-format">Media Bus Formats</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="driver.html">5. V4L2 Driver Programming</a></span></dt><dt><span class="chapter"><a href="libv4l.html">6. Libv4l Userspace Library</a></span></dt><dd><dl><dt><span class="section"><a href="libv4l.html#libv4l-introduction">Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="libv4l.html#idp1110684244">libv4lconvert</a></span></dt><dt><span class="section"><a href="libv4l.html#idp1110702668">libv4l1</a></span></dt><dt><span class="section"><a href="libv4l.html#idp1110703876">libv4l2</a></span></dt><dt><span class="section"><a href="libv4l.html#idp1110719444">v4l1compat.so wrapper library</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="compat.html">7. Changes</a></span></dt><dd><dl><dt><span class="section"><a href="compat.html#diff-v4l">Differences between V4L and V4L2</a></span></dt><dd><dl><dt><span class="section"><a href="compat.html#idp1110676308">Opening and Closing Devices</a></span></dt><dt><span class="section"><a href="compat.html#idp1110770580">Querying Capabilities</a></span></dt><dt><span class="section"><a href="compat.html#idp1110803716">Video Sources</a></span></dt><dt><span class="section"><a href="compat.html#idp1110817132">Tuning</a></span></dt><dt><span class="section"><a href="compat.html#v4l-image-properties">Image Properties</a></span></dt><dt><span class="section"><a href="compat.html#idp1110865172">Audio</a></span></dt><dt><span class="section"><a href="compat.html#idp1110884268">Frame Buffer Overlay</a></span></dt><dt><span class="section"><a href="compat.html#idp1110900244">Cropping</a></span></dt><dt><span class="section"><a href="compat.html#idp1110908652">Reading Images, Memory Mapping</a></span></dt><dt><span class="section"><a href="compat.html#idp1110929332">Reading Raw VBI Data</a></span></dt><dt><span class="section"><a href="compat.html#idp1110942012">Miscellaneous</a></span></dt></dl></dd><dt><span class="section"><a href="hist-v4l2.html">Changes of the V4L2 API</a></span></dt><dd><dl><dt><span class="section"><a href="hist-v4l2.html#idp1110945676">Early Versions</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1110958468">V4L2 Version 0.16 1999-01-31</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1110959340">V4L2 Version 0.18 1999-03-16</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1110960348">V4L2 Version 0.19 1999-06-05</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1110962996">V4L2 Version 0.20 (1999-09-10)</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1110980828">V4L2 Version 0.20 incremental changes</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1110995620">V4L2 Version 0.20 2000-11-23</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111004332">V4L2 Version 0.20 2002-07-25</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111004996">V4L2 in Linux 2.5.46, 2002-10</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111100852">V4L2 2003-06-19</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111111820">V4L2 2003-11-05</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111121164">V4L2 in Linux 2.6.6, 2004-05-09</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111123236">V4L2 in Linux 2.6.8</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111125988">V4L2 spec erratum 2004-08-01</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111130996">V4L2 in Linux 2.6.14</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111133420">V4L2 in Linux 2.6.15</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111140396">V4L2 spec erratum 2005-11-27</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111142844">V4L2 spec erratum 2006-01-10</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111145788">V4L2 spec erratum 2006-02-03</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111148124">V4L2 spec erratum 2006-02-04</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111150884">V4L2 in Linux 2.6.17</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111155580">V4L2 spec erratum 2006-09-23 (Draft 0.15)</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111165556">V4L2 in Linux 2.6.18</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111171276">V4L2 in Linux 2.6.19</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111177612">V4L2 spec erratum 2006-10-12 (Draft 0.17)</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111179340">V4L2 in Linux 2.6.21</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111181100">V4L2 in Linux 2.6.22</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111188468">V4L2 in Linux 2.6.24</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111190876">V4L2 in Linux 2.6.25</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111201596">V4L2 in Linux 2.6.26</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111204236">V4L2 in Linux 2.6.27</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111208412">V4L2 in Linux 2.6.28</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111211764">V4L2 in Linux 2.6.29</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111216916">V4L2 in Linux 2.6.30</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111219084">V4L2 in Linux 2.6.32</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111225356">V4L2 in Linux 2.6.33</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111226724">V4L2 in Linux 2.6.34</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111228972">V4L2 in Linux 2.6.37</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111230468">V4L2 in Linux 2.6.39</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111232748">V4L2 in Linux 3.1</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111234556">V4L2 in Linux 3.2</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111236916">V4L2 in Linux 3.3</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111239372">V4L2 in Linux 3.4</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111242884">V4L2 in Linux 3.5</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111252356">V4L2 in Linux 3.6</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111255244">V4L2 in Linux 3.9</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111259452">V4L2 in Linux 3.10</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111261356">V4L2 in Linux 3.11</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111263564">V4L2 in Linux 3.14</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111265788">V4L2 in Linux 3.15</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111267100">V4L2 in Linux 3.16</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111268356">V4L2 in Linux 3.17</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111270876">V4L2 in Linux 3.18</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#idp1111272724">V4L2 in Linux 3.19</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#other">Relation of V4L2 to other Linux multimedia APIs</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#experimental">Experimental API Elements</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#obsolete">Obsolete API Elements</a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="user-func.html">A. Function Reference</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="func-close.html">V4L2 close()</a></span><span class="refpurpose"> &#8212; Close a V4L2 device</span></dt><dt><span class="refentrytitle"><a href="func-ioctl.html">V4L2 ioctl()</a></span><span class="refpurpose"> &#8212; Program a V4L2 device</span></dt><dt><span class="refentrytitle"><a href="vidioc-create-bufs.html">ioctl VIDIOC_CREATE_BUFS</a></span><span class="refpurpose"> &#8212; Create buffers for Memory Mapped or User Pointer or DMA Buffer
159    I/O</span></dt><dt><span class="refentrytitle"><a href="vidioc-cropcap.html">ioctl VIDIOC_CROPCAP</a></span><span class="refpurpose"> &#8212; Information about the video cropping and scaling abilities</span></dt><dt><span class="refentrytitle"><a href="vidioc-dbg-g-chip-info.html">ioctl VIDIOC_DBG_G_CHIP_INFO</a></span><span class="refpurpose"> &#8212; Identify the chips on a TV card</span></dt><dt><span class="refentrytitle"><a href="vidioc-dbg-g-register.html">ioctl VIDIOC_DBG_G_REGISTER, VIDIOC_DBG_S_REGISTER</a></span><span class="refpurpose"> &#8212; Read or write hardware registers</span></dt><dt><span class="refentrytitle"><a href="vidioc-decoder-cmd.html">ioctl VIDIOC_DECODER_CMD, VIDIOC_TRY_DECODER_CMD</a></span><span class="refpurpose"> &#8212; Execute an decoder command</span></dt><dt><span class="refentrytitle"><a href="vidioc-dqevent.html">ioctl VIDIOC_DQEVENT</a></span><span class="refpurpose"> &#8212; Dequeue event</span></dt><dt><span class="refentrytitle"><a href="vidioc-dv-timings-cap.html">ioctl VIDIOC_DV_TIMINGS_CAP, VIDIOC_SUBDEV_DV_TIMINGS_CAP</a></span><span class="refpurpose"> &#8212; The capabilities of the Digital Video receiver/transmitter</span></dt><dt><span class="refentrytitle"><a href="vidioc-encoder-cmd.html">ioctl VIDIOC_ENCODER_CMD, VIDIOC_TRY_ENCODER_CMD</a></span><span class="refpurpose"> &#8212; Execute an encoder command</span></dt><dt><span class="refentrytitle"><a href="vidioc-enumaudio.html">ioctl VIDIOC_ENUMAUDIO</a></span><span class="refpurpose"> &#8212; Enumerate audio inputs</span></dt><dt><span class="refentrytitle"><a href="vidioc-enumaudioout.html">ioctl VIDIOC_ENUMAUDOUT</a></span><span class="refpurpose"> &#8212; Enumerate audio outputs</span></dt><dt><span class="refentrytitle"><a href="vidioc-enum-dv-timings.html">ioctl VIDIOC_ENUM_DV_TIMINGS, VIDIOC_SUBDEV_ENUM_DV_TIMINGS</a></span><span class="refpurpose"> &#8212; Enumerate supported Digital Video timings</span></dt><dt><span class="refentrytitle"><a href="vidioc-enum-fmt.html">ioctl VIDIOC_ENUM_FMT</a></span><span class="refpurpose"> &#8212; Enumerate image formats</span></dt><dt><span class="refentrytitle"><a href="vidioc-enum-framesizes.html">ioctl VIDIOC_ENUM_FRAMESIZES</a></span><span class="refpurpose"> &#8212; Enumerate frame sizes</span></dt><dt><span class="refentrytitle"><a href="vidioc-enum-frameintervals.html">ioctl VIDIOC_ENUM_FRAMEINTERVALS</a></span><span class="refpurpose"> &#8212; Enumerate frame intervals</span></dt><dt><span class="refentrytitle"><a href="vidioc-enum-freq-bands.html">ioctl VIDIOC_ENUM_FREQ_BANDS</a></span><span class="refpurpose"> &#8212; Enumerate supported frequency bands</span></dt><dt><span class="refentrytitle"><a href="vidioc-enuminput.html">ioctl VIDIOC_ENUMINPUT</a></span><span class="refpurpose"> &#8212; Enumerate video inputs</span></dt><dt><span class="refentrytitle"><a href="vidioc-enumoutput.html">ioctl VIDIOC_ENUMOUTPUT</a></span><span class="refpurpose"> &#8212; Enumerate video outputs</span></dt><dt><span class="refentrytitle"><a href="vidioc-enumstd.html">ioctl VIDIOC_ENUMSTD</a></span><span class="refpurpose"> &#8212; Enumerate supported video standards</span></dt><dt><span class="refentrytitle"><a href="vidioc-expbuf.html">ioctl VIDIOC_EXPBUF</a></span><span class="refpurpose"> &#8212; Export a buffer as a DMABUF file descriptor.</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-audio.html">ioctl VIDIOC_G_AUDIO, VIDIOC_S_AUDIO</a></span><span class="refpurpose"> &#8212; Query or select the current audio input and its
160attributes</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-audioout.html">ioctl VIDIOC_G_AUDOUT, VIDIOC_S_AUDOUT</a></span><span class="refpurpose"> &#8212; Query or select the current audio output</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-crop.html">ioctl VIDIOC_G_CROP, VIDIOC_S_CROP</a></span><span class="refpurpose"> &#8212; Get or set the current cropping rectangle</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-ctrl.html">ioctl VIDIOC_G_CTRL, VIDIOC_S_CTRL</a></span><span class="refpurpose"> &#8212; Get or set the value of a control</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-dv-timings.html">ioctl VIDIOC_G_DV_TIMINGS, VIDIOC_S_DV_TIMINGS</a></span><span class="refpurpose"> &#8212; Get or set DV timings for input or output</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-edid.html">ioctl VIDIOC_G_EDID, VIDIOC_S_EDID</a></span><span class="refpurpose"> &#8212; Get or set the EDID of a video receiver/transmitter</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-enc-index.html">ioctl VIDIOC_G_ENC_INDEX</a></span><span class="refpurpose"> &#8212; Get meta data about a compressed video stream</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-ext-ctrls.html">ioctl VIDIOC_G_EXT_CTRLS, VIDIOC_S_EXT_CTRLS,
161VIDIOC_TRY_EXT_CTRLS</a></span><span class="refpurpose"> &#8212; Get or set the value of several controls, try control
162values</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-fbuf.html">ioctl VIDIOC_G_FBUF, VIDIOC_S_FBUF</a></span><span class="refpurpose"> &#8212; Get or set frame buffer overlay parameters</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-fmt.html">ioctl VIDIOC_G_FMT, VIDIOC_S_FMT,
163VIDIOC_TRY_FMT</a></span><span class="refpurpose"> &#8212; Get or set the data format, try a format</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-frequency.html">ioctl VIDIOC_G_FREQUENCY, VIDIOC_S_FREQUENCY</a></span><span class="refpurpose"> &#8212; Get or set tuner or modulator radio
164frequency</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-input.html">ioctl VIDIOC_G_INPUT, VIDIOC_S_INPUT</a></span><span class="refpurpose"> &#8212; Query or select the current video input</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-jpegcomp.html">ioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP</a></span><span class="refpurpose"></span></dt><dt><span class="refentrytitle"><a href="vidioc-g-modulator.html">ioctl VIDIOC_G_MODULATOR, VIDIOC_S_MODULATOR</a></span><span class="refpurpose"> &#8212; Get or set modulator attributes</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-output.html">ioctl VIDIOC_G_OUTPUT, VIDIOC_S_OUTPUT</a></span><span class="refpurpose"> &#8212; Query or select the current video output</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-parm.html">ioctl VIDIOC_G_PARM, VIDIOC_S_PARM</a></span><span class="refpurpose"> &#8212; Get or set streaming parameters</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-priority.html">ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY</a></span><span class="refpurpose"> &#8212; Query or request the access priority associated with a
165file descriptor</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-selection.html">ioctl VIDIOC_G_SELECTION, VIDIOC_S_SELECTION</a></span><span class="refpurpose"> &#8212; Get or set one of the selection rectangles</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-sliced-vbi-cap.html">ioctl VIDIOC_G_SLICED_VBI_CAP</a></span><span class="refpurpose"> &#8212; Query sliced VBI capabilities</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-std.html">ioctl VIDIOC_G_STD, VIDIOC_S_STD</a></span><span class="refpurpose"> &#8212; Query or select the video standard of the current input</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-tuner.html">ioctl VIDIOC_G_TUNER, VIDIOC_S_TUNER</a></span><span class="refpurpose"> &#8212; Get or set tuner attributes</span></dt><dt><span class="refentrytitle"><a href="vidioc-log-status.html">ioctl VIDIOC_LOG_STATUS</a></span><span class="refpurpose"> &#8212; Log driver status information</span></dt><dt><span class="refentrytitle"><a href="vidioc-overlay.html">ioctl VIDIOC_OVERLAY</a></span><span class="refpurpose"> &#8212; Start or stop video overlay</span></dt><dt><span class="refentrytitle"><a href="vidioc-prepare-buf.html">ioctl VIDIOC_PREPARE_BUF</a></span><span class="refpurpose"> &#8212; Prepare a buffer for I/O</span></dt><dt><span class="refentrytitle"><a href="vidioc-qbuf.html">ioctl VIDIOC_QBUF, VIDIOC_DQBUF</a></span><span class="refpurpose"> &#8212; Exchange a buffer with the driver</span></dt><dt><span class="refentrytitle"><a href="vidioc-querybuf.html">ioctl VIDIOC_QUERYBUF</a></span><span class="refpurpose"> &#8212; Query the status of a buffer</span></dt><dt><span class="refentrytitle"><a href="vidioc-querycap.html">ioctl VIDIOC_QUERYCAP</a></span><span class="refpurpose"> &#8212; Query device capabilities</span></dt><dt><span class="refentrytitle"><a href="vidioc-queryctrl.html">ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERY_EXT_CTRL, VIDIOC_QUERYMENU</a></span><span class="refpurpose"> &#8212; Enumerate controls and menu control items</span></dt><dt><span class="refentrytitle"><a href="vidioc-query-dv-timings.html">ioctl VIDIOC_QUERY_DV_TIMINGS</a></span><span class="refpurpose"> &#8212; Sense the DV preset received by the current
166input</span></dt><dt><span class="refentrytitle"><a href="vidioc-querystd.html">ioctl VIDIOC_QUERYSTD</a></span><span class="refpurpose"> &#8212; Sense the video standard received by the current
167input</span></dt><dt><span class="refentrytitle"><a href="vidioc-reqbufs.html">ioctl VIDIOC_REQBUFS</a></span><span class="refpurpose"> &#8212; Initiate Memory Mapping or User Pointer I/O</span></dt><dt><span class="refentrytitle"><a href="vidioc-s-hw-freq-seek.html">ioctl VIDIOC_S_HW_FREQ_SEEK</a></span><span class="refpurpose"> &#8212; Perform a hardware frequency seek</span></dt><dt><span class="refentrytitle"><a href="vidioc-streamon.html">ioctl VIDIOC_STREAMON, VIDIOC_STREAMOFF</a></span><span class="refpurpose"> &#8212; Start or stop streaming I/O</span></dt><dt><span class="refentrytitle"><a href="vidioc-subdev-enum-frame-interval.html">ioctl VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL</a></span><span class="refpurpose"> &#8212; Enumerate frame intervals</span></dt><dt><span class="refentrytitle"><a href="vidioc-subdev-enum-frame-size.html">ioctl VIDIOC_SUBDEV_ENUM_FRAME_SIZE</a></span><span class="refpurpose"> &#8212; Enumerate media bus frame sizes</span></dt><dt><span class="refentrytitle"><a href="vidioc-subdev-enum-mbus-code.html">ioctl VIDIOC_SUBDEV_ENUM_MBUS_CODE</a></span><span class="refpurpose"> &#8212; Enumerate media bus formats</span></dt><dt><span class="refentrytitle"><a href="vidioc-subdev-g-crop.html">ioctl VIDIOC_SUBDEV_G_CROP, VIDIOC_SUBDEV_S_CROP</a></span><span class="refpurpose"> &#8212; Get or set the crop rectangle on a subdev pad</span></dt><dt><span class="refentrytitle"><a href="vidioc-subdev-g-fmt.html">ioctl VIDIOC_SUBDEV_G_FMT, VIDIOC_SUBDEV_S_FMT</a></span><span class="refpurpose"> &#8212; Get or set the data format on a subdev pad</span></dt><dt><span class="refentrytitle"><a href="vidioc-subdev-g-frame-interval.html">ioctl VIDIOC_SUBDEV_G_FRAME_INTERVAL, VIDIOC_SUBDEV_S_FRAME_INTERVAL</a></span><span class="refpurpose"> &#8212; Get or set the frame interval on a subdev pad</span></dt><dt><span class="refentrytitle"><a href="vidioc-subdev-g-selection.html">ioctl VIDIOC_SUBDEV_G_SELECTION, VIDIOC_SUBDEV_S_SELECTION</a></span><span class="refpurpose"> &#8212; Get or set selection rectangles on a subdev pad</span></dt><dt><span class="refentrytitle"><a href="vidioc-subscribe-event.html">ioctl VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</a></span><span class="refpurpose"> &#8212; Subscribe or unsubscribe event</span></dt><dt><span class="refentrytitle"><a href="func-mmap.html">V4L2 mmap()</a></span><span class="refpurpose"> &#8212; Map device memory into application address space</span></dt><dt><span class="refentrytitle"><a href="func-munmap.html">V4L2 munmap()</a></span><span class="refpurpose"> &#8212; Unmap device memory</span></dt><dt><span class="refentrytitle"><a href="func-open.html">V4L2 open()</a></span><span class="refpurpose"> &#8212; Open a V4L2 device</span></dt><dt><span class="refentrytitle"><a href="func-poll.html">V4L2 poll()</a></span><span class="refpurpose"> &#8212; Wait for some event on a file descriptor</span></dt><dt><span class="refentrytitle"><a href="func-read.html">V4L2 read()</a></span><span class="refpurpose"> &#8212; Read from a V4L2 device</span></dt><dt><span class="refentrytitle"><a href="func-select.html">V4L2 select()</a></span><span class="refpurpose"> &#8212; Synchronous I/O multiplexing</span></dt><dt><span class="refentrytitle"><a href="func-write.html">V4L2 write()</a></span><span class="refpurpose"> &#8212; Write to a V4L2 device</span></dt></dl></dd><dt><span class="appendix"><a href="apb.html">B. Common definitions for V4L2 and V4L2 subdev interfaces</a></span></dt><dd><dl><dt><span class="section"><a href="apb.html#v4l2-selections-common">Common selection definitions</a></span></dt><dd><dl><dt><span class="section"><a href="apb.html#v4l2-selection-targets">Selection targets</a></span></dt><dt><span class="section"><a href="apb.html#v4l2-selection-flags">Selection flags</a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="videodev.html">C. Video For Linux Two Header File</a></span></dt><dt><span class="appendix"><a href="capture-example.html">D. Video Capture Example</a></span></dt><dt><span class="appendix"><a href="v4l2grab-example.html">E. Video Grabber example using libv4l</a></span></dt><dt><span class="index"><a href="ix01.html">List of Types</a></span></dt><dt><span class="bibliography"><a href="bi01.html">References</a></span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="pr01.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="common.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Introduction&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;Chapter&#160;1.&#160;Common API Elements</td></tr></table></div></body></html>
168