 <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, major parts of the sliced VBI API, the
MPEG encoder and decoder APIs and the DV Timings 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>

      <author>
	<firstname>Sakari</firstname>
	<surname>Ailus</surname>
	<contrib>Subdev selections API.</contrib>
	<affiliation>
	  <address>
	    <email>sakari.ailus@iki.fi</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>
      <year>2012</year>
      <year>2013</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.14</revnumber>
	<date>2013-11-25</date>
	<authorinitials>rr</authorinitials>
	<revremark>Set width and height as unsigned on v4l2_rect.
	</revremark>
      </revision>

      <revision>
	<revnumber>3.11</revnumber>
	<date>2013-05-26</date>
	<authorinitials>hv</authorinitials>
	<revremark>Remove obsolete VIDIOC_DBG_G_CHIP_IDENT ioctl.
	</revremark>
      </revision>

      <revision>
	<revnumber>3.10</revnumber>
	<date>2013-03-25</date>
	<authorinitials>hv</authorinitials>
	<revremark>Remove obsolete and unused DV_PRESET ioctls:
	VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET, VIDIOC_QUERY_DV_PRESET and
	VIDIOC_ENUM_DV_PRESET. Remove the related v4l2_input/output capability
	flags V4L2_IN_CAP_PRESETS and V4L2_OUT_CAP_PRESETS. Added VIDIOC_DBG_G_CHIP_INFO.
	</revremark>
      </revision>

      <revision>
	<revnumber>3.9</revnumber>
	<date>2012-12-03</date>
	<authorinitials>sa, sn</authorinitials>
	<revremark>Added timestamp types to v4l2_buffer.
	Added V4L2_EVENT_CTRL_CH_RANGE control event changes flag.
	</revremark>
      </revision>

      <revision>
	<revnumber>3.6</revnumber>
	<date>2012-07-02</date>
	<authorinitials>hv</authorinitials>
	<revremark>Added VIDIOC_ENUM_FREQ_BANDS.
	</revremark>
      </revision>

      <revision>
	<revnumber>3.5</revnumber>
	<date>2012-05-07</date>
	<authorinitials>sa, sn, hv</authorinitials>
	<revremark>Added V4L2_CTRL_TYPE_INTEGER_MENU and V4L2 subdev
	    selections API. Improved the description of V4L2_CID_COLORFX
	    control, added V4L2_CID_COLORFX_CBCR control.
	    Added camera controls V4L2_CID_AUTO_EXPOSURE_BIAS,
	    V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE, V4L2_CID_IMAGE_STABILIZATION,
	    V4L2_CID_ISO_SENSITIVITY, V4L2_CID_ISO_SENSITIVITY_AUTO,
	    V4L2_CID_EXPOSURE_METERING, V4L2_CID_SCENE_MODE,
	    V4L2_CID_3A_LOCK, V4L2_CID_AUTO_FOCUS_START,
	    V4L2_CID_AUTO_FOCUS_STOP, V4L2_CID_AUTO_FOCUS_STATUS
	    and V4L2_CID_AUTO_FOCUS_RANGE.
	    Added VIDIOC_ENUM_DV_TIMINGS, VIDIOC_QUERY_DV_TIMINGS and
	    VIDIOC_DV_TIMINGS_CAP.
	</revremark>
      </revision>

      <revision>
	<revnumber>3.4</revnumber>
	<date>2012-01-25</date>
	<authorinitials>sn</authorinitials>
	<revremark>Added <link linkend="jpeg-controls">JPEG compression
	    control class.</link>
	</revremark>
      </revision>

      <revision>
	<revnumber>3.3</revnumber>
	<date>2012-01-11</date>
	<authorinitials>hv</authorinitials>
	<revremark>Added device_caps field to struct v4l2_capabilities.</revremark>
      </revision>

      <revision>
	<revnumber>3.2</revnumber>
	<date>2011-08-26</date>
	<authorinitials>hv</authorinitials>
	<revremark>Added V4L2_CTRL_FLAG_VOLATILE.</revremark>
      </revision>

      <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.14</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-create-bufs;
    &sub-cropcap;
    &sub-dbg-g-chip-info;
    &sub-dbg-g-register;
    &sub-decoder-cmd;
    &sub-dqevent;
    &sub-dv-timings-cap;
    &sub-encoder-cmd;
    &sub-enumaudio;
    &sub-enumaudioout;
    &sub-enum-dv-timings;
    &sub-enum-fmt;
    &sub-enum-framesizes;
    &sub-enum-frameintervals;
    &sub-enum-freq-bands;
    &sub-enuminput;
    &sub-enumoutput;
    &sub-enumstd;
    &sub-expbuf;
    &sub-g-audio;
    &sub-g-audioout;
    &sub-g-crop;
    &sub-g-ctrl;
    &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-selection;
    &sub-g-sliced-vbi-cap;
    &sub-g-std;
    &sub-g-tuner;
    &sub-log-status;
    &sub-overlay;
    &sub-prepare-buf;
    &sub-qbuf;
    &sub-querybuf;
    &sub-querycap;
    &sub-queryctrl;
    &sub-query-dv-timings;
    &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-edid;
    &sub-subdev-g-fmt;
    &sub-subdev-g-frame-interval;
    &sub-subdev-g-selection;
    &sub-subscribe-event;
    <!-- End of ioctls. -->
    &sub-mmap;
    &sub-munmap;
    &sub-open;
    &sub-poll;
    &sub-read;
    &sub-select;
    &sub-write;
  </appendix>

  <appendix>
    <title>Common definitions for V4L2 and V4L2 subdev interfaces</title>
      &sub-selections-common;
  </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;

