 <partinfo>
    <authorgroup>
      <author>
	<firstname>Michael</firstname>
	<surname>Schimek</surname>
	<othername role="mi">H</othername>
	<affiliation>
	  <address>
	    <email>mschimek@gmx.at</email>
	  </address>
	</affiliation>
      </author>

      <author>
	<firstname>Bill</firstname>
	<surname>Dirks</surname>
	<!-- Commented until Bill opts in to be spammed.
	<affiliation>
	  <address>
	    <email>bill@thedirks.org</email>
	  </address>
	</affiliation> -->
	<contrib>Original author of the V4L2 API and
documentation.</contrib>
      </author>

      <author>
	<firstname>Hans</firstname>
	<surname>Verkuil</surname>
	<contrib>Designed and documented the VIDIOC_LOG_STATUS ioctl,
the extended control ioctls and major parts of the sliced VBI
API.</contrib>
	<affiliation>
	  <address>
	    <email>hverkuil@xs4all.nl</email>
	  </address>
	</affiliation>
      </author>

      <author>
	<firstname>Martin</firstname>
	<surname>Rubli</surname>
	<!--
	<affiliation>
	  <address>
	    <email>martin_rubli@logitech.com</email>
	  </address>
	</affiliation> -->
	<contrib>Designed and documented the VIDIOC_ENUM_FRAMESIZES
and VIDIOC_ENUM_FRAMEINTERVALS ioctls.</contrib>
      </author>

      <author>
	<firstname>Andy</firstname>
	<surname>Walls</surname>
	<contrib>Documented the fielded V4L2_MPEG_STREAM_VBI_FMT_IVTV
MPEG stream embedded, sliced VBI data format in this specification.
</contrib>
	<affiliation>
	  <address>
	    <email>awalls@md.metrocast.net</email>
	  </address>
	</affiliation>
      </author>

      <author>
	<firstname>Mauro</firstname>
	<surname>Carvalho Chehab</surname>
	<contrib>Documented libv4l, designed and added v4l2grab example,
Remote Controller chapter.</contrib>
	<affiliation>
	  <address>
	    <email>mchehab@redhat.com</email>
	  </address>
	</affiliation>
      </author>

      <author>
	<firstname>Muralidharan</firstname>
	<surname>Karicheri</surname>
	<contrib>Documented the Digital Video timings API.</contrib>
	<affiliation>
	  <address>
	    <email>m-karicheri2@ti.com</email>
	  </address>
	</affiliation>
      </author>

      <author>
	<firstname>Pawel</firstname>
	<surname>Osciak</surname>
	<contrib>Designed and documented the multi-planar API.</contrib>
	<affiliation>
	  <address>
	    <email>pawel AT osciak.com</email>
	  </address>
	</affiliation>
      </author>
    </authorgroup>

    <copyright>
      <year>1999</year>
      <year>2000</year>
      <year>2001</year>
      <year>2002</year>
      <year>2003</year>
      <year>2004</year>
      <year>2005</year>
      <year>2006</year>
      <year>2007</year>
      <year>2008</year>
      <year>2009</year>
      <year>2010</year>
      <year>2011</year>
      <holder>Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin
Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab,
	Pawel Osciak</holder>
    </copyright>
    <legalnotice>
    <para>Except when explicitly stated as GPL, programming examples within
	    this part can be used and distributed without restrictions.</para>
    </legalnotice>
    <revhistory>
      <!-- Put document revisions here, newest first. -->
      <!-- API revisions (changes and additions of defines, enums,
structs, ioctls) must be noted in more detail in the history chapter
(compat.xml), along with the possible impact on existing drivers and
applications. -->

      <revision>
	<revnumber>3.1</revnumber>
	<date>2011-06-27</date>
	<authorinitials>mcc, po, hv</authorinitials>
	<revremark>Documented that VIDIOC_QUERYCAP now returns a per-subsystem version instead of a per-driver one.
		   Standardize an error code for invalid ioctl.
		   Added V4L2_CTRL_TYPE_BITMASK.</revremark>
      </revision>

      <revision>
	<revnumber>2.6.39</revnumber>
	<date>2011-03-01</date>
	<authorinitials>mcc, po</authorinitials>
	<revremark>Removed VIDIOC_*_OLD from videodev2.h header and update it to reflect latest changes. Added the <link linkend="planar-apis">multi-planar API</link>.</revremark>
      </revision>

      <revision>
	<revnumber>2.6.37</revnumber>
	<date>2010-08-06</date>
	<authorinitials>hv</authorinitials>
	<revremark>Removed obsolete vtx (videotext) API.</revremark>
      </revision>

      <revision>
	<revnumber>2.6.33</revnumber>
	<date>2009-12-03</date>
	<authorinitials>mk</authorinitials>
	<revremark>Added documentation for the Digital Video timings API.</revremark>
      </revision>

      <revision>
	<revnumber>2.6.32</revnumber>
	<date>2009-08-31</date>
	<authorinitials>mcc</authorinitials>
	<revremark>Now, revisions will match the kernel version where
the V4L2 API changes will be used by the Linux Kernel.
Also added Remote Controller chapter.</revremark>
      </revision>

      <revision>
	<revnumber>0.29</revnumber>
	<date>2009-08-26</date>
	<authorinitials>ev</authorinitials>
	<revremark>Added documentation for string controls and for FM Transmitter controls.</revremark>
      </revision>

      <revision>
	<revnumber>0.28</revnumber>
	<date>2009-08-26</date>
	<authorinitials>gl</authorinitials>
	<revremark>Added V4L2_CID_BAND_STOP_FILTER documentation.</revremark>
      </revision>

      <revision>
	<revnumber>0.27</revnumber>
	<date>2009-08-15</date>
	<authorinitials>mcc</authorinitials>
	<revremark>Added libv4l and Remote Controller documentation;
added v4l2grab and keytable application examples.</revremark>
      </revision>

      <revision>
	<revnumber>0.26</revnumber>
	<date>2009-07-23</date>
	<authorinitials>hv</authorinitials>
	<revremark>Finalized the RDS capture API. Added modulator and RDS encoder
capabilities. Added support for string controls.</revremark>
      </revision>

      <revision>
	<revnumber>0.25</revnumber>
	<date>2009-01-18</date>
	<authorinitials>hv</authorinitials>
	<revremark>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.</revremark>
      </revision>

      <revision>
	<revnumber>0.24</revnumber>
	<date>2008-03-04</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Added pixel formats Y16 and SBGGR16, new controls
and a camera controls class. Removed VIDIOC_G/S_MPEGCOMP.</revremark>
      </revision>

      <revision>
	<revnumber>0.23</revnumber>
	<date>2007-08-30</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Fixed a typo in VIDIOC_DBG_G/S_REGISTER.
Clarified the byte order of packed pixel formats.</revremark>
      </revision>

      <revision>
	<revnumber>0.22</revnumber>
	<date>2007-08-29</date>
	<authorinitials>mhs</authorinitials>
	<revremark>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.</revremark>
      </revision>

      <revision>
	<revnumber>0.21</revnumber>
	<date>2006-12-19</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Fixed a link in the VIDIOC_G_EXT_CTRLS section.</revremark>
      </revision>

      <revision>
	<revnumber>0.20</revnumber>
	<date>2006-11-24</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Clarified the purpose of the audioset field in
struct v4l2_input and v4l2_output.</revremark>
      </revision>

      <revision>
	<revnumber>0.19</revnumber>
	<date>2006-10-19</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Documented V4L2_PIX_FMT_RGB444.</revremark>
      </revision>

      <revision>
	<revnumber>0.18</revnumber>
	<date>2006-10-18</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Added the description of extended controls by Hans
Verkuil. Linked V4L2_PIX_FMT_MPEG to V4L2_CID_MPEG_STREAM_TYPE.</revremark>
      </revision>

      <revision>
	<revnumber>0.17</revnumber>
	<date>2006-10-12</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Corrected V4L2_PIX_FMT_HM12 description.</revremark>
      </revision>

      <revision>
	<revnumber>0.16</revnumber>
	<date>2006-10-08</date>
	<authorinitials>mhs</authorinitials>
	<revremark>VIDIOC_ENUM_FRAMESIZES and
VIDIOC_ENUM_FRAMEINTERVALS are now part of the API.</revremark>
      </revision>

      <revision>
	<revnumber>0.15</revnumber>
	<date>2006-09-23</date>
	<authorinitials>mhs</authorinitials>
	<revremark>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.</revremark>
      </revision>

      <revision>
	<revnumber>0.14</revnumber>
	<date>2006-09-14</date>
	<authorinitials>mr</authorinitials>
	<revremark>Added VIDIOC_ENUM_FRAMESIZES and
VIDIOC_ENUM_FRAMEINTERVALS proposal for frame format enumeration of
digital devices.</revremark>
      </revision>

      <revision>
	<revnumber>0.13</revnumber>
	<date>2006-04-07</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Corrected the description of struct v4l2_window
clips. New V4L2_STD_ and V4L2_TUNER_MODE_LANG1_LANG2
defines.</revremark>
      </revision>

      <revision>
	<revnumber>0.12</revnumber>
	<date>2006-02-03</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Corrected the description of struct
v4l2_captureparm and v4l2_outputparm.</revremark>
      </revision>

      <revision>
	<revnumber>0.11</revnumber>
	<date>2006-01-27</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Improved the description of struct
v4l2_tuner.</revremark>
      </revision>

      <revision>
	<revnumber>0.10</revnumber>
	<date>2006-01-10</date>
	<authorinitials>mhs</authorinitials>
	<revremark>VIDIOC_G_INPUT and VIDIOC_S_PARM
clarifications.</revremark>
      </revision>

      <revision>
	<revnumber>0.9</revnumber>
	<date>2005-11-27</date>
	<authorinitials>mhs</authorinitials>
	<revremark>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.</revremark>
      </revision>

      <revision>
	<revnumber>0.8</revnumber>
	<date>2004-10-04</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Somehow a piece of junk slipped into the capture
example, removed.</revremark>
      </revision>

      <revision>
	<revnumber>0.7</revnumber>
	<date>2004-09-19</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Fixed video standard selection, control
enumeration, downscaling and aspect example. Added read and user
pointer i/o to video capture example.</revremark>
      </revision>

      <revision>
	<revnumber>0.6</revnumber>
	<date>2004-08-01</date>
	<authorinitials>mhs</authorinitials>
	<revremark>v4l2_buffer changes, added video capture example,
various corrections.</revremark>
      </revision>

      <revision>
	<revnumber>0.5</revnumber>
	<date>2003-11-05</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Pixel format erratum.</revremark>
      </revision>

      <revision>
	<revnumber>0.4</revnumber>
	<date>2003-09-17</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Corrected source and Makefile to generate a PDF.
SGML fixes. Added latest API changes. Closed gaps in the history
chapter.</revremark>
      </revision>

      <revision>
	<revnumber>0.3</revnumber>
	<date>2003-02-05</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Another draft, more corrections.</revremark>
      </revision>

      <revision>
	<revnumber>0.2</revnumber>
	<date>2003-01-15</date>
	<authorinitials>mhs</authorinitials>
	<revremark>Second draft, with corrections pointed out by Gerd
Knorr.</revremark>
      </revision>

      <revision>
	<revnumber>0.1</revnumber>
	<date>2002-12-01</date>
	<authorinitials>mhs</authorinitials>
	<revremark>First draft, based on documentation by Bill Dirks
and discussions on the V4L mailing list.</revremark>
      </revision>
    </revhistory>
</partinfo>

<title>Video for Linux Two API Specification</title>
 <subtitle>Revision 3.1</subtitle>

  <chapter id="common">
    &sub-common;
  </chapter>

  <chapter id="pixfmt">
    &sub-pixfmt;
  </chapter>

  <chapter id="io">
    &sub-io;
  </chapter>

  <chapter id="devices">
    <title>Interfaces</title>

    <section id="capture"> &sub-dev-capture; </section>
    <section id="overlay"> &sub-dev-overlay; </section>
    <section id="output"> &sub-dev-output; </section>
    <section id="osd"> &sub-dev-osd; </section>
    <section id="codec"> &sub-dev-codec; </section>
    <section id="effect"> &sub-dev-effect; </section>
    <section id="raw-vbi"> &sub-dev-raw-vbi; </section>
    <section id="sliced"> &sub-dev-sliced-vbi; </section>
    <section id="ttx"> &sub-dev-teletext; </section>
    <section id="radio"> &sub-dev-radio; </section>
    <section id="rds"> &sub-dev-rds; </section>
    <section id="event"> &sub-dev-event; </section>
    <section id="subdev"> &sub-dev-subdev; </section>
  </chapter>

  <chapter id="driver">
	  &sub-driver;
  </chapter>

  <chapter id="libv4l">
	  &sub-libv4l;
  </chapter>

  <chapter id="compat">
	  &sub-compat;
  </chapter>

  <appendix id="user-func">
  <title>Function Reference</title>

    <!-- Keep this alphabetically sorted. -->

    &sub-close;
    &sub-ioctl;
    <!-- All ioctls go here. -->
    &sub-cropcap;
    &sub-dbg-g-chip-ident;
    &sub-dbg-g-register;
    &sub-dqevent;
    &sub-encoder-cmd;
    &sub-enumaudio;
    &sub-enumaudioout;
    &sub-enum-dv-presets;
    &sub-enum-fmt;
    &sub-enum-framesizes;
    &sub-enum-frameintervals;
    &sub-enuminput;
    &sub-enumoutput;
    &sub-enumstd;
    &sub-g-audio;
    &sub-g-audioout;
    &sub-g-crop;
    &sub-g-ctrl;
    &sub-g-dv-preset;
    &sub-g-dv-timings;
    &sub-g-enc-index;
    &sub-g-ext-ctrls;
    &sub-g-fbuf;
    &sub-g-fmt;
    &sub-g-frequency;
    &sub-g-input;
    &sub-g-jpegcomp;
    &sub-g-modulator;
    &sub-g-output;
    &sub-g-parm;
    &sub-g-priority;
    &sub-g-sliced-vbi-cap;
    &sub-g-std;
    &sub-g-tuner;
    &sub-log-status;
    &sub-overlay;
    &sub-qbuf;
    &sub-querybuf;
    &sub-querycap;
    &sub-queryctrl;
    &sub-query-dv-preset;
    &sub-querystd;
    &sub-reqbufs;
    &sub-s-hw-freq-seek;
    &sub-streamon;
    &sub-subdev-enum-frame-interval;
    &sub-subdev-enum-frame-size;
    &sub-subdev-enum-mbus-code;
    &sub-subdev-g-crop;
    &sub-subdev-g-fmt;
    &sub-subdev-g-frame-interval;
    &sub-subscribe-event;
    <!-- End of ioctls. -->
    &sub-mmap;
    &sub-munmap;
    &sub-open;
    &sub-poll;
    &sub-read;
    &sub-select;
    &sub-write;
  </appendix>

  <appendix id="videodev">
    <title>Video For Linux Two Header File</title>
    &sub-videodev2-h;
  </appendix>

  <appendix id="capture-example">
    <title>Video Capture Example</title>
    &sub-capture-c;
  </appendix>

  <appendix id="v4l2grab-example">
    <title>Video Grabber example using libv4l</title>
    <para>This program demonstrates how to grab V4L2 images in ppm format by
using libv4l handlers. The advantage is that this grabber can potentially work
with any V4L2 driver.</para>
    &sub-v4l2grab-c;
  </appendix>

  &sub-media-indices;

  &sub-biblio;

