1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Part I. 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 1. 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 I. Video for Linux Two API Specification</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pr01.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <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 I. Video for Linux Two API Specification</h1></div><div><h2 class="subtitle">Revision 4.4</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	    <code class="email">&lt;<a class="email" href="mailto:mschimek@gmx.at">mschimek@gmx.at</a>&gt;</code><br>
3	  </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> </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> <div class="affiliation"><div class="address"><p><br>
7	    <code class="email">&lt;<a class="email" href="mailto:hverkuil@xs4all.nl">hverkuil@xs4all.nl</a>&gt;</code><br>
8	  </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> </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> <div class="affiliation"><div class="address"><p><br>
12	    <code class="email">&lt;<a class="email" href="mailto:awalls@md.metrocast.net">awalls@md.metrocast.net</a>&gt;</code><br>
13	  </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> <div class="affiliation"><div class="address"><p><br>
15	    <code class="email">&lt;<a class="email" href="mailto:m.chehab@samsung.com">m.chehab@samsung.com</a>&gt;</code><br>
16	  </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> <div class="affiliation"><div class="address"><p><br>
17	    <code class="email">&lt;<a class="email" href="mailto:m-karicheri2@ti.com">m-karicheri2@ti.com</a>&gt;</code><br>
18	  </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> <div class="affiliation"><div class="address"><p><br>
19	    <code class="email">&lt;<a class="email" href="mailto:pawel%20AT%20osciak.com">pawel AT osciak.com</a>&gt;</code><br>
20	  </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> <div class="affiliation"><div class="address"><p><br>
21	    <code class="email">&lt;<a class="email" href="mailto:sakari.ailus@iki.fi">sakari.ailus@iki.fi</a>&gt;</code><br>
22	  </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> <div class="affiliation"><div class="address"><p><br>
23	    <code class="email">&lt;<a class="email" href="mailto:crope@iki.fi">crope@iki.fi</a>&gt;</code><br>
24	  </p></div></div></div></div></div><div><p class="copyright">Copyright © 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="id-1.4.1.3"></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 4.4</td><td align="left">2015-05-26</td><td align="left">ap</td></tr><tr><td align="left" colspan="3">Renamed V4L2_TUNER_ADC to V4L2_TUNER_SDR.
28Added V4L2_CID_RF_TUNER_RF_GAIN control.
29Added transmitter support for Software Defined Radio (SDR) Interface.
30	</td></tr><tr><td align="left">Revision 4.1</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.
31Add support for Tuner sub-device.
32	</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 <a class="link" href="ch02s05.html#v4l2-ycbcr-encoding" title="Table 2.6. V4L2 Y'CbCr Encodings">v4l2_ycbcr_encoding</a> and enum <a class="link" href="ch02s05.html#v4l2-quantization" title="Table 2.7. V4L2 Quantization Methods">v4l2_quantization</a> fields
33to struct <a class="link" href="pixfmt.html#v4l2-pix-format" title="Table 2.1. struct v4l2_pix_format">v4l2_pix_format</a>, struct <a class="link" href="ch02s02.html#v4l2-pix-format-mplane" title="Table 2.3. struct v4l2_pix_format_mplane">v4l2_pix_format_mplane</a> and struct <a class="link" href="subdev.html#v4l2-mbus-framefmt" title="Table 4.20. struct v4l2_mbus_framefmt">v4l2_mbus_framefmt</a>.
34	</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 <a class="link" href="pixfmt.html#v4l2-pix-format" title="Table 2.1. struct v4l2_pix_format">v4l2_pix_format</a>. Added format flags. Added compound control types
35and VIDIOC_QUERY_EXT_CTRL.
36	</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"
37"Querying Capabilities", "Application Priority", "Video Inputs and Outputs", "Audio Inputs and Outputs"
38"Tuners and Modulators", "Video Standards" and "Digital Video (DV) Timings". Added SDR API.
39	</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.
40	</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.
41	</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:
42	VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET, VIDIOC_QUERY_DV_PRESET and
43	VIDIOC_ENUM_DV_PRESET. Remove the related v4l2_input/output capability
44	flags V4L2_IN_CAP_PRESETS and V4L2_OUT_CAP_PRESETS. Added VIDIOC_DBG_G_CHIP_INFO.
45	</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.
46	Added V4L2_EVENT_CTRL_CH_RANGE control event changes flag.
47	</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.
48	</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
49	    selections API. Improved the description of V4L2_CID_COLORFX
50	    control, added V4L2_CID_COLORFX_CBCR control.
51	    Added camera controls V4L2_CID_AUTO_EXPOSURE_BIAS,
52	    V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE, V4L2_CID_IMAGE_STABILIZATION,
53	    V4L2_CID_ISO_SENSITIVITY, V4L2_CID_ISO_SENSITIVITY_AUTO,
54	    V4L2_CID_EXPOSURE_METERING, V4L2_CID_SCENE_MODE,
55	    V4L2_CID_3A_LOCK, V4L2_CID_AUTO_FOCUS_START,
56	    V4L2_CID_AUTO_FOCUS_STOP, V4L2_CID_AUTO_FOCUS_STATUS
57	    and V4L2_CID_AUTO_FOCUS_RANGE.
58	    Added VIDIOC_ENUM_DV_TIMINGS, VIDIOC_QUERY_DV_TIMINGS and
59	    VIDIOC_DV_TIMINGS_CAP.
60	</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
61	    control class.</a>
62	</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.
63		   Standardize an error code for invalid ioctl.
64		   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
65the V4L2 API changes will be used by the Linux Kernel.
66Also 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;
67added 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
68capabilities. 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
69the debug ioctls VIDIOC_DBG_G/S_REGISTER and VIDIOC_DBG_G_CHIP_IDENT.
70Added camera controls V4L2_CID_ZOOM_ABSOLUTE, V4L2_CID_ZOOM_RELATIVE,
71V4L2_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
72and 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.
73Clarified 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
74controls, V4L2_FIELD_INTERLACED_TB and V4L2_FIELD_INTERLACED_BT,
75VIDIOC_DBG_G/S_REGISTER, VIDIOC_(TRY_)ENCODER_CMD,
76VIDIOC_G_CHIP_IDENT, VIDIOC_G_ENC_INDEX, new pixel formats.
77Clarifications in the cropping chapter, about RGB pixel formats, the
78mmap(), poll(), select(), read() and write() functions. Typographical
79fixes.</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
80struct 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
81Verkuil. 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
82VIDIOC_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
83BT.1119. capture.c/start_capturing() for user pointer I/O did not
84initialize the buffer index. Documented the V4L MPEG and MJPEG
85VID_TYPEs and V4L2_PIX_FMT_SBGGR8. Updated the list of reserved pixel
86formats. 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
87VIDIOC_ENUM_FRAMEINTERVALS proposal for frame format enumeration of
88digital 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
89clips. New V4L2_STD_ and V4L2_TUNER_MODE_LANG1_LANG2
90defines.</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
91v4l2_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
92v4l2_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
93clarifications.</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
94Verkuil and I rewrote the sliced VBI section. He also contributed a
95VIDIOC_LOG_STATUS page. Fixed VIDIOC_S_STD call in the video standard
96selection 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
97example, 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
98enumeration, downscaling and aspect example. Added read and user
99pointer 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,
100various 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.
101SGML fixes. Added latest API changes. Closed gaps in the history
102chapter.</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
103Knorr.</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
104and 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#id-1.4.4.5.2">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#id-1.4.4.5.4">Multiple Opens</a></span></dt><dt><span class="section"><a href="common.html#id-1.4.4.5.5">Shared Data Streams</a></span></dt><dt><span class="section"><a href="common.html#id-1.4.4.5.6">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#id-1.4.4.10.2">Tuners</a></span></dt><dt><span class="section"><a href="tuner.html#id-1.4.4.10.3">Modulators</a></span></dt><dt><span class="section"><a href="tuner.html#id-1.4.4.10.4">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#id-1.4.4.14.2">Introduction</a></span></dt><dt><span class="section"><a href="extended-controls.html#id-1.4.4.14.3">The Extended Control API</a></span></dt><dt><span class="section"><a href="extended-controls.html#id-1.4.4.14.4">Enumerating Extended Controls</a></span></dt><dt><span class="section"><a href="extended-controls.html#id-1.4.4.14.5">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#id-1.4.4.15.2">Data Format Negotiation</a></span></dt><dt><span class="section"><a href="format.html#id-1.4.4.15.3">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#id-1.4.4.16.5">Multi-planar formats</a></span></dt><dt><span class="section"><a href="planar-apis.html#id-1.4.4.16.6">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#id-1.4.4.17.7">Cropping Structures</a></span></dt><dt><span class="section"><a href="crop.html#id-1.4.4.17.8">Scaling Adjustments</a></span></dt><dt><span class="section"><a href="crop.html#id-1.4.4.17.9">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#id-1.4.4.18.3">Introduction</a></span></dt><dt><span class="section"><a href="selection-api.html#id-1.4.4.18.4">Selection targets</a></span></dt><dt><span class="section"><a href="selection-api.html#id-1.4.4.18.5">Configuration</a></span></dt><dt><span class="section"><a href="selection-api.html#id-1.4.4.18.6">Comparison with old cropping API</a></span></dt><dt><span class="section"><a href="selection-api.html#id-1.4.4.18.7">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#id-1.4.5.3">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-dcip3">Colorspace DCI-P3 (<code class="constant">V4L2_COLORSPACE_DCI_P3</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="ch02s07.html">Detailed Transfer Function Descriptions</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s07.html#xf-smpte-2084">Transfer Function SMPTE 2084 (<code class="constant">V4L2_XFER_FUNC_SMPTE2084</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"> — 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"> — 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"> — 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"> — 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"> — 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"> — Bayer RGB format</span></dt><dt><span class="refentrytitle"><a href="pixfmt-srggb10.html">V4L2_PIX_FMT_SRGGB10 ('RG10'),
105	 V4L2_PIX_FMT_SGRBG10 ('BA10'),
106	 V4L2_PIX_FMT_SGBRG10 ('GB10'),
107	 V4L2_PIX_FMT_SBGGR10 ('BG10'),
108	 </a></span><span class="refpurpose"> — 10-bit Bayer formats expanded to 16 bits</span></dt><dt><span class="refentrytitle"><a href="pixfmt-srggb10p.html">V4L2_PIX_FMT_SRGGB10P ('pRAA'),
109	 V4L2_PIX_FMT_SGRBG10P ('pgAA'),
110	 V4L2_PIX_FMT_SGBRG10P ('pGAA'),
111	 V4L2_PIX_FMT_SBGGR10P ('pBAA'),
112	 </a></span><span class="refpurpose"> — 10-bit packed Bayer formats</span></dt><dt><span class="refentrytitle"><a href="re09.html">
113	      V4L2_PIX_FMT_SBGGR10ALAW8 ('aBA8'),
114	      V4L2_PIX_FMT_SGBRG10ALAW8 ('aGA8'),
115	      V4L2_PIX_FMT_SGRBG10ALAW8 ('agA8'),
116	      V4L2_PIX_FMT_SRGGB10ALAW8 ('aRA8'),
117	    </a></span><span class="refpurpose"> — 10-bit Bayer formats compressed to 8 bits</span></dt><dt><span class="refentrytitle"><a href="pixfmt-srggb10dpcm8.html">
118	 V4L2_PIX_FMT_SBGGR10DPCM8 ('bBA8'),
119	 V4L2_PIX_FMT_SGBRG10DPCM8 ('bGA8'),
120	 V4L2_PIX_FMT_SGRBG10DPCM8 ('BD10'),
121	 V4L2_PIX_FMT_SRGGB10DPCM8 ('bRA8'),
122	 </a></span><span class="refpurpose"> — 10-bit Bayer formats compressed to 8 bits</span></dt><dt><span class="refentrytitle"><a href="re11.html">V4L2_PIX_FMT_SRGGB12 ('RG12'),
123	 V4L2_PIX_FMT_SGRBG12 ('BA12'),
124	 V4L2_PIX_FMT_SGBRG12 ('GB12'),
125	 V4L2_PIX_FMT_SBGGR12 ('BG12'),
126	 </a></span><span class="refpurpose"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — Grey-scale image</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-Y16-BE.html">V4L2_PIX_FMT_Y16_BE ('Y16 ' | (1 &lt;&lt; 31))</a></span><span class="refpurpose"> — 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"> — 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"> — Packed format with ½ horizontal chroma
127resolution, 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"> — Variation of
128<code class="constant">V4L2_PIX_FMT_YUYV</code> with different order of samples
129in memory</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-YVYU.html">V4L2_PIX_FMT_YVYU ('YVYU')</a></span><span class="refpurpose"> — Variation of
130<code class="constant">V4L2_PIX_FMT_YUYV</code> with different order of samples
131in memory</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-VYUY.html">V4L2_PIX_FMT_VYUY ('VYUY')</a></span><span class="refpurpose"> — Variation of
132<code class="constant">V4L2_PIX_FMT_YUYV</code> with different order of samples
133in memory</span></dt><dt><span class="refentrytitle"><a href="V4L2-PIX-FMT-Y41P.html">V4L2_PIX_FMT_Y41P ('Y41P')</a></span><span class="refpurpose"> — Format with ¼ horizontal chroma
134resolution, also known as YUV 4:1:1</span></dt><dt><span class="refentrytitle"><a href="re25.html">V4L2_PIX_FMT_YVU420 ('YV12'), V4L2_PIX_FMT_YUV420 ('YU12')</a></span><span class="refpurpose"> — Planar formats with ½ horizontal and
135vertical 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"> — Variation of <code class="constant">V4L2_PIX_FMT_YUV420</code>
136	  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"> — Variation of <code class="constant">V4L2_PIX_FMT_YVU420</code>
137	  with planes non contiguous in memory. </span></dt><dt><span class="refentrytitle"><a href="re28.html">V4L2_PIX_FMT_YVU410 ('YVU9'), V4L2_PIX_FMT_YUV410 ('YUV9')</a></span><span class="refpurpose"> — Planar formats with ¼ horizontal and
138vertical 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"> — Format with ½ horizontal chroma resolution,
139also known as YUV 4:2:2. Planar layout as opposed to
140<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"> — Format with ¼ horizontal chroma resolution,
141also known as YUV 4:1:1. Planar layout as opposed to
142<code class="constant">V4L2_PIX_FMT_Y41P</code></span></dt><dt><span class="refentrytitle"><a href="re31.html">V4L2_PIX_FMT_NV12 ('NV12'), V4L2_PIX_FMT_NV21 ('NV21')</a></span><span class="refpurpose"> — Formats with ½ horizontal and vertical
143chroma resolution, also known as YUV 4:2:0. One luminance and one
144chrominance plane with alternating chroma samples as opposed to
145<code class="constant">V4L2_PIX_FMT_YVU420</code></span></dt><dt><span class="refentrytitle"><a href="re32.html">V4L2_PIX_FMT_NV12M ('NM12'), V4L2_PIX_FMT_NV21M ('NM21'), V4L2_PIX_FMT_NV12MT_16X16</a></span><span class="refpurpose"> — Variation of <code class="constant">V4L2_PIX_FMT_NV12</code> and <code class="constant">V4L2_PIX_FMT_NV21</code> with planes
146	  non contiguous in memory. </span></dt><dt><span class="refentrytitle"><a href="re33.html">V4L2_PIX_FMT_NV12MT ('TM12')</a></span><span class="refpurpose"> — Formats with ½ horizontal and vertical
147chroma resolution. This format has two planes - one for luminance and one for
148chrominance. Chroma samples are interleaved. The difference to
149<code class="constant">V4L2_PIX_FMT_NV12</code> is the memory layout. Pixels are
150grouped in macroblocks of 64x32 size. The order of macroblocks in memory is
151also not standard.
152	</span></dt><dt><span class="refentrytitle"><a href="re34.html">V4L2_PIX_FMT_NV16 ('NV16'), V4L2_PIX_FMT_NV61 ('NV61')</a></span><span class="refpurpose"> — Formats with ½ horizontal
153chroma resolution, also known as YUV 4:2:2. One luminance and one
154chrominance plane with alternating chroma samples as opposed to
155<code class="constant">V4L2_PIX_FMT_YVU420</code></span></dt><dt><span class="refentrytitle"><a href="re35.html">V4L2_PIX_FMT_NV16M ('NM16'), V4L2_PIX_FMT_NV61M ('NM61')</a></span><span class="refpurpose"> — Variation of <code class="constant">V4L2_PIX_FMT_NV16</code> and <code class="constant">V4L2_PIX_FMT_NV61</code> with planes
156	  non contiguous in memory. </span></dt><dt><span class="refentrytitle"><a href="re36.html">V4L2_PIX_FMT_NV24 ('NV24'), V4L2_PIX_FMT_NV42 ('NV42')</a></span><span class="refpurpose"> — Formats with full horizontal and vertical
157chroma resolutions, also known as YUV 4:4:4. One luminance and one
158chrominance plane with alternating chroma samples as opposed to
159<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"> — Format with ½ horizontal and vertical chroma
160	resolution, also known as YUV 4:2:0. Hybrid plane line-interleaved
161	layout.</span></dt></dl></dd><dt><span class="section"><a href="ch02s11.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"> — 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"> — 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"> — 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"> — 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"> — 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#id-1.4.6.14.9">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#id-1.4.7.2.4">Querying Capabilities</a></span></dt><dt><span class="section"><a href="devices.html#id-1.4.7.2.5">Supplemental Functions</a></span></dt><dt><span class="section"><a href="devices.html#id-1.4.7.2.6">Image Format Negotiation</a></span></dt><dt><span class="section"><a href="devices.html#id-1.4.7.2.7">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#id-1.4.7.3.7">Querying Capabilities</a></span></dt><dt><span class="section"><a href="overlay.html#id-1.4.7.3.8">Supplemental Functions</a></span></dt><dt><span class="section"><a href="overlay.html#id-1.4.7.3.9">Setup</a></span></dt><dt><span class="section"><a href="overlay.html#id-1.4.7.3.10">Overlay Window</a></span></dt><dt><span class="section"><a href="overlay.html#id-1.4.7.3.11">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#id-1.4.7.4.4">Querying Capabilities</a></span></dt><dt><span class="section"><a href="output.html#id-1.4.7.4.5">Supplemental Functions</a></span></dt><dt><span class="section"><a href="output.html#id-1.4.7.4.6">Image Format Negotiation</a></span></dt><dt><span class="section"><a href="output.html#id-1.4.7.4.7">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#id-1.4.7.5.5">Querying Capabilities</a></span></dt><dt><span class="section"><a href="osd.html#id-1.4.7.5.6">Framebuffer</a></span></dt><dt><span class="section"><a href="osd.html#id-1.4.7.5.7">Overlay Window and Scaling</a></span></dt><dt><span class="section"><a href="osd.html#id-1.4.7.5.8">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#id-1.4.7.8.6">Querying Capabilities</a></span></dt><dt><span class="section"><a href="raw-vbi.html#id-1.4.7.8.7">Supplemental Functions</a></span></dt><dt><span class="section"><a href="raw-vbi.html#id-1.4.7.8.8">Raw VBI Format Negotiation</a></span></dt><dt><span class="section"><a href="raw-vbi.html#id-1.4.7.8.9">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#id-1.4.7.9.5">Querying Capabilities</a></span></dt><dt><span class="section"><a href="sliced.html#id-1.4.7.9.6">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#id-1.4.7.9.8">Reading and writing sliced VBI data</a></span></dt><dt><span class="section"><a href="sliced.html#id-1.4.7.9.9">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#id-1.4.7.11.4">Querying Capabilities</a></span></dt><dt><span class="section"><a href="radio.html#id-1.4.7.11.5">Supplemental Functions</a></span></dt><dt><span class="section"><a href="radio.html#id-1.4.7.11.6">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#id-1.4.7.12.6">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#id-1.4.7.12.9">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#id-1.4.7.13.5">Querying Capabilities</a></span></dt><dt><span class="section"><a href="sdr.html#id-1.4.7.13.6">Supplemental Functions</a></span></dt><dt><span class="section"><a href="sdr.html#id-1.4.7.13.7">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#id-1.4.7.15.7">Controls</a></span></dt><dt><span class="section"><a href="subdev.html#id-1.4.7.15.8">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#id-1.4.9.2.5">libv4lconvert</a></span></dt><dt><span class="section"><a href="libv4l.html#id-1.4.9.2.6">libv4l1</a></span></dt><dt><span class="section"><a href="libv4l.html#id-1.4.9.2.7">libv4l2</a></span></dt><dt><span class="section"><a href="libv4l.html#id-1.4.9.2.8">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#id-1.4.10.3.3">Opening and Closing Devices</a></span></dt><dt><span class="section"><a href="compat.html#id-1.4.10.3.4">Querying Capabilities</a></span></dt><dt><span class="section"><a href="compat.html#id-1.4.10.3.5">Video Sources</a></span></dt><dt><span class="section"><a href="compat.html#id-1.4.10.3.6">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#id-1.4.10.3.8">Audio</a></span></dt><dt><span class="section"><a href="compat.html#id-1.4.10.3.9">Frame Buffer Overlay</a></span></dt><dt><span class="section"><a href="compat.html#id-1.4.10.3.10">Cropping</a></span></dt><dt><span class="section"><a href="compat.html#id-1.4.10.3.11">Reading Images, Memory Mapping</a></span></dt><dt><span class="section"><a href="compat.html#id-1.4.10.3.12">Reading Raw VBI Data</a></span></dt><dt><span class="section"><a href="compat.html#id-1.4.10.3.13">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#id-1.4.10.4.3">Early Versions</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.4">V4L2 Version 0.16 1999-01-31</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.5">V4L2 Version 0.18 1999-03-16</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.6">V4L2 Version 0.19 1999-06-05</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.7">V4L2 Version 0.20 (1999-09-10)</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.8">V4L2 Version 0.20 incremental changes</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.9">V4L2 Version 0.20 2000-11-23</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.10">V4L2 Version 0.20 2002-07-25</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.11">V4L2 in Linux 2.5.46, 2002-10</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.12">V4L2 2003-06-19</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.13">V4L2 2003-11-05</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.14">V4L2 in Linux 2.6.6, 2004-05-09</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.15">V4L2 in Linux 2.6.8</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.16">V4L2 spec erratum 2004-08-01</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.17">V4L2 in Linux 2.6.14</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.18">V4L2 in Linux 2.6.15</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.19">V4L2 spec erratum 2005-11-27</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.20">V4L2 spec erratum 2006-01-10</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.21">V4L2 spec erratum 2006-02-03</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.22">V4L2 spec erratum 2006-02-04</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.23">V4L2 in Linux 2.6.17</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.24">V4L2 spec erratum 2006-09-23 (Draft 0.15)</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.25">V4L2 in Linux 2.6.18</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.26">V4L2 in Linux 2.6.19</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.27">V4L2 spec erratum 2006-10-12 (Draft 0.17)</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.28">V4L2 in Linux 2.6.21</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.29">V4L2 in Linux 2.6.22</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.30">V4L2 in Linux 2.6.24</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.31">V4L2 in Linux 2.6.25</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.32">V4L2 in Linux 2.6.26</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.33">V4L2 in Linux 2.6.27</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.34">V4L2 in Linux 2.6.28</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.35">V4L2 in Linux 2.6.29</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.36">V4L2 in Linux 2.6.30</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.37">V4L2 in Linux 2.6.32</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.38">V4L2 in Linux 2.6.33</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.39">V4L2 in Linux 2.6.34</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.40">V4L2 in Linux 2.6.37</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.41">V4L2 in Linux 2.6.39</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.42">V4L2 in Linux 3.1</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.43">V4L2 in Linux 3.2</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.44">V4L2 in Linux 3.3</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.45">V4L2 in Linux 3.4</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.46">V4L2 in Linux 3.5</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.47">V4L2 in Linux 3.6</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.48">V4L2 in Linux 3.9</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.49">V4L2 in Linux 3.10</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.50">V4L2 in Linux 3.11</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.51">V4L2 in Linux 3.14</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.52">V4L2 in Linux 3.15</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.53">V4L2 in Linux 3.16</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.54">V4L2 in Linux 3.17</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.55">V4L2 in Linux 3.18</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.56">V4L2 in Linux 3.19</a></span></dt><dt><span class="section"><a href="hist-v4l2.html#id-1.4.10.4.57">V4L2 in Linux 4.4</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"> — Close a V4L2 device</span></dt><dt><span class="refentrytitle"><a href="func-ioctl.html">V4L2 ioctl()</a></span><span class="refpurpose"> — 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"> — Create buffers for Memory Mapped or User Pointer or DMA Buffer
162    I/O</span></dt><dt><span class="refentrytitle"><a href="vidioc-cropcap.html">ioctl VIDIOC_CROPCAP</a></span><span class="refpurpose"> — 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"> — 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"> — 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"> — Execute an decoder command</span></dt><dt><span class="refentrytitle"><a href="vidioc-dqevent.html">ioctl VIDIOC_DQEVENT</a></span><span class="refpurpose"> — 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"> — 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"> — Execute an encoder command</span></dt><dt><span class="refentrytitle"><a href="vidioc-enumaudio.html">ioctl VIDIOC_ENUMAUDIO</a></span><span class="refpurpose"> — Enumerate audio inputs</span></dt><dt><span class="refentrytitle"><a href="vidioc-enumaudioout.html">ioctl VIDIOC_ENUMAUDOUT</a></span><span class="refpurpose"> — 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"> — 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"> — Enumerate image formats</span></dt><dt><span class="refentrytitle"><a href="vidioc-enum-framesizes.html">ioctl VIDIOC_ENUM_FRAMESIZES</a></span><span class="refpurpose"> — Enumerate frame sizes</span></dt><dt><span class="refentrytitle"><a href="vidioc-enum-frameintervals.html">ioctl VIDIOC_ENUM_FRAMEINTERVALS</a></span><span class="refpurpose"> — 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"> — Enumerate supported frequency bands</span></dt><dt><span class="refentrytitle"><a href="vidioc-enuminput.html">ioctl VIDIOC_ENUMINPUT</a></span><span class="refpurpose"> — Enumerate video inputs</span></dt><dt><span class="refentrytitle"><a href="vidioc-enumoutput.html">ioctl VIDIOC_ENUMOUTPUT</a></span><span class="refpurpose"> — Enumerate video outputs</span></dt><dt><span class="refentrytitle"><a href="vidioc-enumstd.html">ioctl VIDIOC_ENUMSTD</a></span><span class="refpurpose"> — Enumerate supported video standards</span></dt><dt><span class="refentrytitle"><a href="vidioc-expbuf.html">ioctl VIDIOC_EXPBUF</a></span><span class="refpurpose"> — 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"> — Query or select the current audio input and its
163attributes</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-audioout.html">ioctl VIDIOC_G_AUDOUT, VIDIOC_S_AUDOUT</a></span><span class="refpurpose"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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,
164VIDIOC_TRY_EXT_CTRLS</a></span><span class="refpurpose"> — Get or set the value of several controls, try control
165values</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-fbuf.html">ioctl VIDIOC_G_FBUF, VIDIOC_S_FBUF</a></span><span class="refpurpose"> — 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,
166VIDIOC_TRY_FMT</a></span><span class="refpurpose"> — 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"> — Get or set tuner or modulator radio
167frequency</span></dt><dt><span class="refentrytitle"><a href="vidioc-g-input.html">ioctl VIDIOC_G_INPUT, VIDIOC_S_INPUT</a></span><span class="refpurpose"> — 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"> — 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"> — 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"> — 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"> — Query or request the access priority associated with a
168file 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"> — 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"> — 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"> — 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"> — 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"> — Log driver status information</span></dt><dt><span class="refentrytitle"><a href="vidioc-overlay.html">ioctl VIDIOC_OVERLAY</a></span><span class="refpurpose"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — Sense the DV preset received by the current
169input</span></dt><dt><span class="refentrytitle"><a href="vidioc-querystd.html">ioctl VIDIOC_QUERYSTD</a></span><span class="refpurpose"> — Sense the video standard received by the current
170input</span></dt><dt><span class="refentrytitle"><a href="vidioc-reqbufs.html">ioctl VIDIOC_REQBUFS</a></span><span class="refpurpose"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — Subscribe or unsubscribe event</span></dt><dt><span class="refentrytitle"><a href="func-mmap.html">V4L2 mmap()</a></span><span class="refpurpose"> — 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"> — Unmap device memory</span></dt><dt><span class="refentrytitle"><a href="func-open.html">V4L2 open()</a></span><span class="refpurpose"> — Open a V4L2 device</span></dt><dt><span class="refentrytitle"><a href="func-poll.html">V4L2 poll()</a></span><span class="refpurpose"> — 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"> — Read from a V4L2 device</span></dt><dt><span class="refentrytitle"><a href="func-select.html">V4L2 select()</a></span><span class="refpurpose"> — Synchronous I/O multiplexing</span></dt><dt><span class="refentrytitle"><a href="func-write.html">V4L2 write()</a></span><span class="refpurpose"> — 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> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="common.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Introduction </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 1. Common API Elements</td></tr></table></div></body></html>
171