Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > 2c51d8eb79f8810ada971ee8c30ce1e5 > files > 2693

kernel-doc-2.6.32-71.14.1.el6.noarch.rpm

<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><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.75.2" /><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="ch01.html" title="Chapter&#160;1.&#160;Common API Elements" /></head><body><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="ch01.html">Next</a></td></tr></table><hr /></div><div class="part" title="Part&#160;I.&#160;Video for Linux Two API Specification"><div class="titlepage"><div><div><h1 class="title"><a id="v4l2spec"></a>Part&#160;I.&#160;Video for Linux Two API Specification</h1></div><div><h2 class="subtitle">Revision 2.6.32</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 />
	&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:mschimek@gmx.at">mschimek@gmx.at</a>&gt;</code><br />
	&#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
documentation.</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,
the extended control ioctls and major parts of the sliced VBI
API.</span>&#160;<div class="affiliation"><div class="address"><p><br />
	&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:hverkuil@xs4all.nl">hverkuil@xs4all.nl</a>&gt;</code><br />
	&#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
and 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
MPEG stream embedded, sliced VBI data format in this specification.
</span>&#160;<div class="affiliation"><div class="address"><p><br />
	&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:awalls@radix.net">awalls@radix.net</a>&gt;</code><br />
	&#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,
Remote Controller chapter.</span>&#160;<div class="affiliation"><div class="address"><p><br />
	&#160;&#160;&#160;&#160;<code class="email">&lt;<a class="email" href="mailto:mchehab@redhat.com">mchehab@redhat.com</a>&gt;</code><br />
	&#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 Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin
Rubli, Andy Walls, Mauro Carvalho Chehab</p></div><div><div class="legalnotice" title="Legal Notice"><a id="id2525161"></a><p>Except when explicitly stated as GPL, programming examples within
	    this part can be used and distributed without restrictions.</p></div></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="3"><b>Revision History</b></th></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
the V4L2 API changes will be used by the Linux Kernel.
Also 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;
added 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
capabilities. 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
the debug ioctls VIDIOC_DBG_G/S_REGISTER and VIDIOC_DBG_G_CHIP_IDENT.
Added camera controls V4L2_CID_ZOOM_ABSOLUTE, V4L2_CID_ZOOM_RELATIVE,
V4L2_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
and 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.
Clarified 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
controls, V4L2_FIELD_INTERLACED_TB and V4L2_FIELD_INTERLACED_BT,
VIDIOC_DBG_G/S_REGISTER, VIDIOC_(TRY_)ENCODER_CMD,
VIDIOC_G_CHIP_IDENT, VIDIOC_G_ENC_INDEX, new pixel formats.
Clarifications in the cropping chapter, about RGB pixel formats, the
mmap(), poll(), select(), read() and write() functions. Typographical
fixes.</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
struct 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
Verkuil. 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
VIDIOC_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
BT.1119. capture.c/start_capturing() for user pointer I/O did not
initialize the buffer index. Documented the V4L MPEG and MJPEG
VID_TYPEs and V4L2_PIX_FMT_SBGGR8. Updated the list of reserved pixel
formats. 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
VIDIOC_ENUM_FRAMEINTERVALS proposal for frame format enumeration of
digital 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
clips. New V4L2_STD_ and V4L2_TUNER_MODE_LANG1_LANG2
defines.</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
v4l2_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
v4l2_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
clarifications.</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
Verkuil and I rewrote the sliced VBI section. He also contributed a
VIDIOC_LOG_STATUS page. Fixed VIDIOC_S_STD call in the video standard
selection 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
example, 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
enumeration, downscaling and aspect example. Added read and user
pointer 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,
various 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.
SGML fixes. Added latest API changes. Closed gaps in the history
chapter.</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
Knorr.</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
and discussions on the V4L mailing list.</td></tr></table></div></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Common API Elements</a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#open">Opening and Closing Devices</a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#id2576619">Device Naming</a></span></dt><dt><span class="section"><a href="ch01.html#related">Related Devices</a></span></dt><dt><span class="section"><a href="ch01.html#id2576962">Multiple Opens</a></span></dt><dt><span class="section"><a href="ch01.html#id2577060">Shared Data Streams</a></span></dt><dt><span class="section"><a href="ch01.html#id2577074">Functions</a></span></dt></dl></dd><dt><span class="section"><a href="ch01s02.html">Querying Capabilities</a></span></dt><dt><span class="section"><a href="ch01s03.html">Application Priority</a></span></dt><dt><span class="section"><a href="ch01s04.html">Video Inputs and Outputs</a></span></dt><dt><span class="section"><a href="ch01s05.html">Audio Inputs and Outputs</a></span></dt><dt><span class="section"><a href="ch01s06.html">Tuners and Modulators</a></span></dt><dd><dl><dt><span class="section"><a href="ch01s06.html#id2577704">Tuners</a></span></dt><dt><span class="section"><a href="ch01s06.html#id2577804">Modulators</a></span></dt><dt><span class="section"><a href="ch01s06.html#id2577858">Radio Frequency</a></span></dt></dl></dd><dt><span class="section"><a href="ch01s07.html">Video Standards</a></span></dt><dt><span class="section"><a href="ch01s08.html">User Controls</a></span></dt><dt><span class="section"><a href="ch01s09.html">Extended Controls</a></span></dt><dd><dl><dt><span class="section"><a href="ch01s09.html#id2580152">Introduction</a></span></dt><dt><span class="section"><a href="ch01s09.html#id2578974">The Extended Control API</a></span></dt><dt><span class="section"><a href="ch01s09.html#id2580473">Enumerating Extended Controls</a></span></dt><dt><span class="section"><a href="ch01s09.html#id2580599">Creating Control Panels</a></span></dt><dt><span class="section"><a href="ch01s09.html#mpeg-controls">MPEG Control Reference</a></span></dt><dt><span class="section"><a href="ch01s09.html#camera-controls">Camera Control Reference</a></span></dt><dt><span class="section"><a href="ch01s09.html#fm-tx-controls">FM Transmitter Control Reference</a></span></dt></dl></dd><dt><span class="section"><a href="ch01s10.html">Data Formats</a></span></dt><dd><dl><dt><span class="section"><a href="ch01s10.html#id2590642">Data Format Negotiation</a></span></dt><dt><span class="section"><a href="ch01s10.html#id2590818">Image Format Enumeration</a></span></dt></dl></dd><dt><span class="section"><a href="ch01s11.html">Image Cropping, Insertion and Scaling</a></span></dt><dd><dl><dt><span class="section"><a href="ch01s11.html#id2576445">Cropping Structures</a></span></dt><dt><span class="section"><a href="ch01s11.html#id2591261">Scaling Adjustments</a></span></dt><dt><span class="section"><a href="ch01s11.html#id2591340">Examples</a></span></dt></dl></dd><dt><span class="section"><a href="ch01s12.html">Streaming Parameters</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2. Image Formats</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#id2601583">Standard Image Formats</a></span></dt><dt><span class="section"><a href="ch02s02.html">Colorspaces</a></span></dt><dt><span class="section"><a href="ch02s03.html">Indexed Format</a></span></dt><dt><span class="section"><a href="ch02s04.html">RGB Formats</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="re01.html">Packed RGB formats</a></span><span class="refpurpose"> &#8212; Packed RGB formats</span></dt><dt><span class="refentrytitle"><a href="re02.html">V4L2_PIX_FMT_SBGGR8 ('BA81')</a></span><span class="refpurpose"> &#8212; Bayer RGB format</span></dt><dt><span class="refentrytitle"><a href="re03.html">V4L2_PIX_FMT_SGBRG8 ('GBRG')</a></span><span class="refpurpose"> &#8212; Bayer RGB format</span></dt><dt><span class="refentrytitle"><a href="re04.html">V4L2_PIX_FMT_SGRBG8 ('GRBG')</a></span><span class="refpurpose"> &#8212; Bayer RGB format</span></dt><dt><span class="refentrytitle"><a href="re05.html">V4L2_PIX_FMT_SBGGR16 ('BYR2')</a></span><span class="refpurpose"> &#8212; Bayer RGB format</span></dt></dl></dd><dt><span class="section"><a href="ch02s05.html">YUV Formats</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="re06.html">Packed YUV formats</a></span><span class="refpurpose"> &#8212; Packed YUV formats</span></dt><dt><span class="refentrytitle"><a href="re07.html">V4L2_PIX_FMT_GREY ('GREY')</a></span><span class="refpurpose"> &#8212; Grey-scale image</span></dt><dt><span class="refentrytitle"><a href="re08.html">V4L2_PIX_FMT_Y16 ('Y16 ')</a></span><span class="refpurpose"> &#8212; Grey-scale image</span></dt><dt><span class="refentrytitle"><a href="re09.html">V4L2_PIX_FMT_YUYV ('YUYV')</a></span><span class="refpurpose"> &#8212; Packed format with &#189; horizontal chroma
resolution, also known as YUV 4:2:2</span></dt><dt><span class="refentrytitle"><a href="re10.html">V4L2_PIX_FMT_UYVY ('UYVY')</a></span><span class="refpurpose"> &#8212; Variation of
<code class="constant">V4L2_PIX_FMT_YUYV</code> with different order of samples
in memory</span></dt><dt><span class="refentrytitle"><a href="re11.html">V4L2_PIX_FMT_YVYU ('YVYU')</a></span><span class="refpurpose"> &#8212; Variation of
<code class="constant">V4L2_PIX_FMT_YUYV</code> with different order of samples
in memory</span></dt><dt><span class="refentrytitle"><a href="re12.html">V4L2_PIX_FMT_VYUY ('VYUY')</a></span><span class="refpurpose"> &#8212; Variation of
<code class="constant">V4L2_PIX_FMT_YUYV</code> with different order of samples
in memory</span></dt><dt><span class="refentrytitle"><a href="re13.html">V4L2_PIX_FMT_Y41P ('Y41P')</a></span><span class="refpurpose"> &#8212; Format with &#188; horizontal chroma
resolution, also known as YUV 4:1:1</span></dt><dt><span class="refentrytitle"><a href="re14.html">V4L2_PIX_FMT_YVU420 ('YV12'), V4L2_PIX_FMT_YUV420 ('YU12')</a></span><span class="refpurpose"> &#8212; Planar formats with &#189; horizontal and
vertical chroma resolution, also known as YUV 4:2:0</span></dt><dt><span class="refentrytitle"><a href="re15.html">V4L2_PIX_FMT_YVU410 ('YVU9'), V4L2_PIX_FMT_YUV410 ('YUV9')</a></span><span class="refpurpose"> &#8212; Planar formats with &#188; horizontal and
vertical chroma resolution, also known as YUV 4:1:0</span></dt><dt><span class="refentrytitle"><a href="re16.html">V4L2_PIX_FMT_YUV422P ('422P')</a></span><span class="refpurpose"> &#8212; Format with &#189; horizontal chroma resolution,
also known as YUV 4:2:2. Planar layout as opposed to
<code class="constant">V4L2_PIX_FMT_YUYV</code></span></dt><dt><span class="refentrytitle"><a href="re17.html">V4L2_PIX_FMT_YUV411P ('411P')</a></span><span class="refpurpose"> &#8212; Format with &#188; horizontal chroma resolution,
also known as YUV 4:1:1. Planar layout as opposed to
<code class="constant">V4L2_PIX_FMT_Y41P</code></span></dt><dt><span class="refentrytitle"><a href="re18.html">V4L2_PIX_FMT_NV12 ('NV12'), V4L2_PIX_FMT_NV21 ('NV21')</a></span><span class="refpurpose"> &#8212; Formats with &#189; horizontal and vertical
chroma resolution, also known as YUV 4:2:0. One luminance and one
chrominance plane with alternating chroma samples as opposed to
<code class="constant">V4L2_PIX_FMT_YVU420</code></span></dt><dt><span class="refentrytitle"><a href="re19.html">V4L2_PIX_FMT_NV16 ('NV16'), V4L2_PIX_FMT_NV61 ('NV61')</a></span><span class="refpurpose"> &#8212; Formats with &#189; horizontal
chroma resolution, also known as YUV 4:2:2. One luminance and one
chrominance plane with alternating chroma samples as opposed to
<code class="constant">V4L2_PIX_FMT_YVU420</code></span></dt></dl></dd><dt><span class="section"><a href="ch02s06.html">Compressed Formats</a></span></dt><dt><span class="section"><a href="ch02s07.html">Reserved Format Identifiers</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Input/Output</a></span></dt><dd><dl><dt><span class="section"><a href="ch03.html#rw">Read/Write</a></span></dt><dt><span class="section"><a href="ch03s02.html">Streaming I/O (Memory Mapping)</a></span></dt><dt><span class="section"><a href="ch03s03.html">Streaming I/O (User Pointers)</a></span></dt><dt><span class="section"><a href="ch03s04.html">Asynchronous I/O</a></span></dt><dt><span class="section"><a href="ch03s05.html">Buffers</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s05.html#id2647246">Timecodes</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s06.html">Field Order</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Interfaces</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#capture">Video Capture Interface</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#id2650920">Querying Capabilities</a></span></dt><dt><span class="section"><a href="ch04.html#id2651594">Supplemental Functions</a></span></dt><dt><span class="section"><a href="ch04.html#id2651658">Image Format Negotiation</a></span></dt><dt><span class="section"><a href="ch04.html#id2651862">Reading Images</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s02.html">Video Overlay Interface</a></span></dt><dd><dl><dt><span class="section"><a href="ch04s02.html#id2651328">Querying Capabilities</a></span></dt><dt><span class="section"><a href="ch04s02.html#id2651364">Supplemental Functions</a></span></dt><dt><span class="section"><a href="ch04s02.html#id2652514">Setup</a></span></dt><dt><span class="section"><a href="ch04s02.html#id2652661">Overlay Window</a></span></dt><dt><span class="section"><a href="ch04s02.html#id2653512">Enabling Overlay</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s03.html">Video Output Interface</a></span></dt><dd><dl><dt><span class="section"><a href="ch04s03.html#id2654206">Querying Capabilities</a></span></dt><dt><span class="section"><a href="ch04s03.html#id2654867">Supplemental Functions</a></span></dt><dt><span class="section"><a href="ch04s03.html#id2654928">Image Format Negotiation</a></span></dt><dt><span class="section"><a href="ch04s03.html#id2655131">Writing Images</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s04.html">Video Output Overlay Interface</a></span></dt><dd><dl><dt><span class="section"><a href="ch04s04.html#id2655641">Querying Capabilities</a></span></dt><dt><span class="section"><a href="ch04s04.html#id2655678">Framebuffer</a></span></dt><dt><span class="section"><a href="ch04s04.html#id2655812">Overlay Window and Scaling</a></span></dt><dt><span class="section"><a href="ch04s04.html#id2655987">Enabling Overlay</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s05.html">Codec Interface</a></span></dt><dt><span class="section"><a href="ch04s06.html">Effect Devices Interface</a></span></dt><dt><span class="section"><a href="ch04s07.html">Raw VBI Data Interface</a></span></dt><dd><dl><dt><span class="section"><a href="ch04s07.html#id2656750">Querying Capabilities</a></span></dt><dt><span class="section"><a href="ch04s07.html#id2656791">Supplemental Functions</a></span></dt><dt><span class="section"><a href="ch04s07.html#id2656831">Raw VBI Format Negotiation</a></span></dt><dt><span class="section"><a href="ch04s07.html#id2657629">Reading and writing VBI images</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s08.html">Sliced VBI Data Interface</a></span></dt><dd><dl><dt><span class="section"><a href="ch04s08.html#id2658885">Querying Capabilities</a></span></dt><dt><span class="section"><a href="ch04s08.html#id2658932">Supplemental Functions</a></span></dt><dt><span class="section"><a href="ch04s08.html#sliced-vbi-format-negotitation">Sliced VBI Format Negotiation</a></span></dt><dt><span class="section"><a href="ch04s08.html#id2659926">Reading and writing sliced VBI data</a></span></dt><dt><span class="section"><a href="ch04s08.html#id2660280">Sliced VBI Data in MPEG Streams</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s09.html">Teletext Interface</a></span></dt><dt><span class="section"><a href="ch04s10.html">Radio Interface</a></span></dt><dd><dl><dt><span class="section"><a href="ch04s10.html#id2664131">Querying Capabilities</a></span></dt><dt><span class="section"><a href="ch04s10.html#id2664424">Supplemental Functions</a></span></dt><dt><span class="section"><a href="ch04s10.html#id2664456">Programming</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s11.html">RDS Interface</a></span></dt><dd><dl><dt><span class="section"><a href="ch04s11.html#id2663624">Querying Capabilities</a></span></dt><dt><span class="section"><a href="ch04s11.html#id2664843">Reading RDS data</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch05.html">5. V4L2 Driver Programming</a></span></dt><dt><span class="chapter"><a href="ch06.html">6. Libv4l Userspace Library</a></span></dt><dd><dl><dt><span class="section"><a href="ch06.html#libv4l-introduction">Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="ch06.html#id2665936">libv4lconvert</a></span></dt><dt><span class="section"><a href="ch06.html#id2666316">libv4l1</a></span></dt><dt><span class="section"><a href="ch06.html#id2666336">libv4l2</a></span></dt><dt><span class="section"><a href="ch06.html#id2666595">v4l1compat.so wrapper library</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch07.html">7. Changes</a></span></dt><dd><dl><dt><span class="section"><a href="ch07.html#diff-v4l">Differences between V4L and V4L2</a></span></dt><dd><dl><dt><span class="section"><a href="ch07.html#id2665771">Opening and Closing Devices</a></span></dt><dt><span class="section"><a href="ch07.html#id2667495">Querying Capabilities</a></span></dt><dt><span class="section"><a href="ch07.html#id2668054">Video Sources</a></span></dt><dt><span class="section"><a href="ch07.html#id2668280">Tuning</a></span></dt><dt><span class="section"><a href="ch07.html#v4l-image-properties">Image Properties</a></span></dt><dt><span class="section"><a href="ch07.html#id2669086">Audio</a></span></dt><dt><span class="section"><a href="ch07.html#id2669409">Frame Buffer Overlay</a></span></dt><dt><span class="section"><a href="ch07.html#id2669683">Cropping</a></span></dt><dt><span class="section"><a href="ch07.html#id2669828">Reading Images, Memory Mapping</a></span></dt><dt><span class="section"><a href="ch07.html#id2670176">Reading Raw VBI Data</a></span></dt><dt><span class="section"><a href="ch07.html#id2670390">Miscellaneous</a></span></dt></dl></dd><dt><span class="section"><a href="ch07s02.html">Changes of the V4L2 API</a></span></dt><dd><dl><dt><span class="section"><a href="ch07s02.html#id2670451">Early Versions</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2670665">V4L2 Version 0.16 1999-01-31</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2670680">V4L2 Version 0.18 1999-03-16</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2670696">V4L2 Version 0.19 1999-06-05</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2670741">V4L2 Version 0.20 (1999-09-10)</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2671044">V4L2 Version 0.20 incremental changes</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2671293">V4L2 Version 0.20 2000-11-23</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2671440">V4L2 Version 0.20 2002-07-25</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2671451">V4L2 in Linux 2.5.46, 2002-10</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673058">V4L2 2003-06-19</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673241">V4L2 2003-11-05</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673398">V4L2 in Linux 2.6.6, 2004-05-09</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673433">V4L2 in Linux 2.6.8</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673480">V4L2 spec erratum 2004-08-01</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673559">V4L2 in Linux 2.6.14</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673599">V4L2 in Linux 2.6.15</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673710">V4L2 spec erratum 2005-11-27</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673750">V4L2 spec erratum 2006-01-10</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673800">V4L2 spec erratum 2006-02-03</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673842">V4L2 spec erratum 2006-02-04</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673890">V4L2 in Linux 2.6.17</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2673969">V4L2 spec erratum 2006-09-23 (Draft 0.15)</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2674140">V4L2 in Linux 2.6.18</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2674234">V4L2 in Linux 2.6.19</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2674320">V4L2 spec erratum 2006-10-12 (Draft 0.17)</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2674351">V4L2 in Linux 2.6.21</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2674381">V4L2 in Linux 2.6.22</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2674505">V4L2 in Linux 2.6.24</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2674545">V4L2 in Linux 2.6.25</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2674723">V4L2 in Linux 2.6.26</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2674767">V4L2 in Linux 2.6.27</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2674836">V4L2 in Linux 2.6.28</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2674894">V4L2 in Linux 2.6.29</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2674986">V4L2 in Linux 2.6.30</a></span></dt><dt><span class="section"><a href="ch07s02.html#id2675021">V4L2 in Linux 2.6.32</a></span></dt></dl></dd><dt><span class="section"><a href="ch07s03.html">Relation of V4L2 to other Linux multimedia APIs</a></span></dt><dd><dl><dt><span class="section"><a href="ch07s03.html#xvideo">X Video Extension</a></span></dt><dt><span class="section"><a href="ch07s03.html#id2675221">Digital Video</a></span></dt><dt><span class="section"><a href="ch07s03.html#id2675242">Audio Interfaces</a></span></dt></dl></dd><dt><span class="section"><a href="ch07s04.html">Experimental API Elements</a></span></dt><dt><span class="section"><a href="ch07s05.html">Obsolete API Elements</a></span></dt></dl></dd><dt><span class="appendix"><a href="apa.html">A. Function Reference</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="re20.html">V4L2 close()</a></span><span class="refpurpose"> &#8212; Close a V4L2 device</span></dt><dt><span class="refentrytitle"><a href="re21.html">V4L2 ioctl()</a></span><span class="refpurpose"> &#8212; Program a V4L2 device</span></dt><dt><span class="refentrytitle"><a href="re22.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="re23.html">ioctl VIDIOC_DBG_G_CHIP_IDENT</a></span><span class="refpurpose"> &#8212; Identify the chips on a TV card</span></dt><dt><span class="refentrytitle"><a href="re24.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="re25.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="re26.html">ioctl VIDIOC_ENUMAUDIO</a></span><span class="refpurpose"> &#8212; Enumerate audio inputs</span></dt><dt><span class="refentrytitle"><a href="re27.html">ioctl VIDIOC_ENUMAUDOUT</a></span><span class="refpurpose"> &#8212; Enumerate audio outputs</span></dt><dt><span class="refentrytitle"><a href="re28.html">ioctl VIDIOC_ENUM_FMT</a></span><span class="refpurpose"> &#8212; Enumerate image formats</span></dt><dt><span class="refentrytitle"><a href="re29.html">ioctl VIDIOC_ENUM_FRAMESIZES</a></span><span class="refpurpose"> &#8212; Enumerate frame sizes</span></dt><dt><span class="refentrytitle"><a href="re30.html">ioctl VIDIOC_ENUM_FRAMEINTERVALS</a></span><span class="refpurpose"> &#8212; Enumerate frame intervals</span></dt><dt><span class="refentrytitle"><a href="re31.html">ioctl VIDIOC_ENUMINPUT</a></span><span class="refpurpose"> &#8212; Enumerate video inputs</span></dt><dt><span class="refentrytitle"><a href="re32.html">ioctl VIDIOC_ENUMOUTPUT</a></span><span class="refpurpose"> &#8212; Enumerate video outputs</span></dt><dt><span class="refentrytitle"><a href="re33.html">ioctl VIDIOC_ENUMSTD</a></span><span class="refpurpose"> &#8212; Enumerate supported video standards</span></dt><dt><span class="refentrytitle"><a href="re34.html">ioctl VIDIOC_G_AUDIO, VIDIOC_S_AUDIO</a></span><span class="refpurpose"> &#8212; Query or select the current audio input and its
attributes</span></dt><dt><span class="refentrytitle"><a href="re35.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="re36.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="re37.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="re38.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="re39.html">ioctl VIDIOC_G_EXT_CTRLS, VIDIOC_S_EXT_CTRLS,
VIDIOC_TRY_EXT_CTRLS</a></span><span class="refpurpose"> &#8212; Get or set the value of several controls, try control
values</span></dt><dt><span class="refentrytitle"><a href="re40.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="re41.html">ioctl VIDIOC_G_FMT, VIDIOC_S_FMT,
VIDIOC_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="re42.html">ioctl VIDIOC_G_FREQUENCY, VIDIOC_S_FREQUENCY</a></span><span class="refpurpose"> &#8212; Get or set tuner or modulator radio
frequency</span></dt><dt><span class="refentrytitle"><a href="re43.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="re44.html">ioctl VIDIOC_G_JPEGCOMP, VIDIOC_S_JPEGCOMP</a></span><span class="refpurpose"></span></dt><dt><span class="refentrytitle"><a href="re45.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="re46.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="re47.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="re48.html">ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY</a></span><span class="refpurpose"> &#8212; Query or request the access priority associated with a
file descriptor</span></dt><dt><span class="refentrytitle"><a href="re49.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="re50.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="re51.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="re52.html">ioctl VIDIOC_LOG_STATUS</a></span><span class="refpurpose"> &#8212; Log driver status information</span></dt><dt><span class="refentrytitle"><a href="re53.html">ioctl VIDIOC_OVERLAY</a></span><span class="refpurpose"> &#8212; Start or stop video overlay</span></dt><dt><span class="refentrytitle"><a href="re54.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="re55.html">ioctl VIDIOC_QUERYBUF</a></span><span class="refpurpose"> &#8212; Query the status of a buffer</span></dt><dt><span class="refentrytitle"><a href="re56.html">ioctl VIDIOC_QUERYCAP</a></span><span class="refpurpose"> &#8212; Query device capabilities</span></dt><dt><span class="refentrytitle"><a href="re57.html">ioctl VIDIOC_QUERYCTRL, VIDIOC_QUERYMENU</a></span><span class="refpurpose"> &#8212; Enumerate controls and menu control items</span></dt><dt><span class="refentrytitle"><a href="re58.html">ioctl VIDIOC_QUERYSTD</a></span><span class="refpurpose"> &#8212; Sense the video standard received by the current
input</span></dt><dt><span class="refentrytitle"><a href="re59.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="re60.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="re61.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="re62.html">V4L2 mmap()</a></span><span class="refpurpose"> &#8212; Map device memory into application address space</span></dt><dt><span class="refentrytitle"><a href="re63.html">V4L2 munmap()</a></span><span class="refpurpose"> &#8212; Unmap device memory</span></dt><dt><span class="refentrytitle"><a href="re64.html">V4L2 open()</a></span><span class="refpurpose"> &#8212; Open a V4L2 device</span></dt><dt><span class="refentrytitle"><a href="re65.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="re66.html">V4L2 read()</a></span><span class="refpurpose"> &#8212; Read from a V4L2 device</span></dt><dt><span class="refentrytitle"><a href="re67.html">V4L2 select()</a></span><span class="refpurpose"> &#8212; Synchronous I/O multiplexing</span></dt><dt><span class="refentrytitle"><a href="re68.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. Video For Linux Two Header File</a></span></dt><dt><span class="appendix"><a href="apc.html">C. Video Capture Example</a></span></dt><dt><span class="appendix"><a href="apd.html">D. 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="ch01.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>