diff options
-rw-r--r-- | staging-specs/dvb/dvbapi.xml | 54 | ||||
-rw-r--r-- | staging-specs/media.xml | 145 | ||||
-rw-r--r-- | staging-specs/v4l/v4l2.xml | 384 |
3 files changed, 444 insertions, 139 deletions
diff --git a/staging-specs/dvb/dvbapi.xml b/staging-specs/dvb/dvbapi.xml index 48eb900e9..d63a94fd2 100644 --- a/staging-specs/dvb/dvbapi.xml +++ b/staging-specs/dvb/dvbapi.xml @@ -1,5 +1,53 @@ -<part id="dvbapi"> - <title>DVB API Specification</title> +<partinfo> +<authorgroup> +<author> +<firstname>Ralph</firstname> +<surname>Metzler</surname> +<othername role="mi">J. K.</othername> +<affiliation><address><email>rjkm@metzlerbros.de</email></address></affiliation> +</author> +<author> +<firstname>Marcus</firstname> +<surname>Metzler</surname> +<othername role="mi">O. C.</othername> +<affiliation><address><email>rjkm@metzlerbros.de</email></address></affiliation> +</author> +<author> +<firstname>Mauro</firstname> +<surname>Chehab</surname> +<othername role="mi">Carvalho</othername> +<affiliation><address><email>mchehab@infradead.org</email></address></affiliation> +<contrib>Ported document to Docbook XML.</contrib> +</author> +</authorgroup> +<copyright> + <year>2002</year> + <year>2003</year> + <year>2009</year> + <holder>Convergence GmbH</holder> +</copyright> + +<revhistory> +<!-- Put document revisions here, newest first. --> +<revision> +<revnumber>2.0.0</revnumber> +<date>2009-09-06</date> +<authorinitials>mcc</authorinitials> +<revremark>Conversion from LaTex to DocBook XML. The + contents is the same as the original LaTex version.</revremark> +</revision> +<revision> +<revnumber>1.0.0</revnumber> +<date>2003-07-24</date> +<authorinitials>rjkm</authorinitials> +<revremark>Initial revision on LaTEX.</revremark> +</revision> +</revhistory> +</partinfo> + + +<title>LINUX DVB API</title> +<subtitle>Version 3</subtitle> <!-- ADD THE CHAPTERS HERE --> <chapter id="dvb_introdution"> &sub-intro; @@ -32,5 +80,3 @@ &sub-fdl; </appendix> <!-- END OF CHAPTERS --> - -</part> diff --git a/staging-specs/media.xml b/staging-specs/media.xml index e8f260e1c..ec734edb7 100644 --- a/staging-specs/media.xml +++ b/staging-specs/media.xml @@ -26,114 +26,21 @@ <book id="media_api"> <bookinfo> <title>LINUX MEDIA INFRASTRUCTURE API</title> -<subtitle>Version 1.0</subtitle> <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@radix.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> - <!-- FIXME: Add the V4L authors --> - <firstname>Ralph</firstname> - <surname>Metzler</surname> - <othername role="mi">J. K.</othername> - <affiliation><address><email>rjkm@metzlerbros.de</email></address></affiliation> - </author> - <author> - <firstname>Marcus</firstname> - <surname>Metzler</surname> - <othername role="mi">O. C.</othername> - <affiliation><address><email>rjkm@metzlerbros.de</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> - <holder>Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin - Rubli, Andy Walls, Mauro Carvalho Chehab, Ralph Metzler, Marcus Metzler</holder> - </copyright> +<author> +<firstname>Mauro</firstname> +<surname>Carvalho Chehab</surname> +<contrib>Grouped V4L and DVB API on this compendium</contrib> +<affiliation> +<address><email>mchehab@redhat.com</email></address> +</affiliation> +</author> +</authorgroup> +<copyright> + <year>2009</year> + <holder>Mauro Carvalho Chehab</holder> +</copyright> <legalnotice> @@ -149,6 +56,32 @@ Foundation. A copy of the license is included in the chapter entitled </bookinfo> <toc></toc> <!-- autogenerated --> + +<preface> + <title>Introduction</title> + + <para>This document covers the Linux Kernel to Userspace API's used by + video and radio straming devices, including video cameras, + analog and digital TV receiver cards, AM/FM receiver cards, + streaming capture devices.</para> + <para>It is divided into two parts. The first part covers radio, capture, + cameras and analog TV devices, while the second part covers the + API used for digital TV and Internet reception via one of the + several digital tv standards. While it is called as DVB API, + in fact it covers several different video standards including + DVB-T, DVB-S, DVB-C and ATSC. The API is currently being updated + to documment support also for DVB-S2, ISDB-T and ISDB-S.</para> + + <para>For additional information and for the latest development code, + see: <ulink url="http://linuxtv.org">http://linuxtv.org</ulink>.</para> + <para>For discussing improvements, reporting troubles, sending new drivers, etc, please mail to: <ulink url="http://vger.kernel.org/vger-lists.html#linux-media">Linux Media Mailing List (LMML).</ulink>.</para> + +</preface> + +<part id="v4l2spec"> &sub-v4l2; +</part> +<part id="dvbapi"> &sub-dvbapi; +</part> </book> diff --git a/staging-specs/v4l/v4l2.xml b/staging-specs/v4l/v4l2.xml index cde691231..be1717bff 100644 --- a/staging-specs/v4l/v4l2.xml +++ b/staging-specs/v4l/v4l2.xml @@ -1,31 +1,358 @@ -<part id="v4l2spec"> - <title>Video for Linux Two API Specification</title> - <preface> - <title>Introduction</title> - - <para>Video For Linux Two is the second version of the Video For -Linux API, a kernel interface for analog radio and video capture and -output drivers.</para> - - <para>Early drivers used ad-hoc interfaces. These were replaced in -Linux 2.2 by Alan Cox' V4L API, based on the interface of the bttv -driver. In 1999 Bill Dirks started the development of V4L2 to fix some -shortcomings of V4L and to support a wider range of devices. The API -was revised again in 2002 prior to its inclusion in Linux 2.5/2.6, and -work continues on improvements and additions while maintaining -compatibility with existing drivers and applications. In 2006/2007 -efforts began on FreeBSD drivers with a V4L2 interface.</para> - - <para>This book documents the V4L2 API. Intended audience are -driver and application writers.</para> - - <para>If you have questions or ideas regarding the API, please -write to the linux-media mailing list: &v4l-ml;.</para> - - <para>The latest version of this document and the DocBook SGML -sources are part of the &v4l-dvb; repository. The online version is -available here: <ulink url="http://linuxtv.org/downloads/video4linux/API/V4L2_API">http://linuxtv.org/downloads/video4linux/API/V4L2_API</ulink>.</para> - </preface> + <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@radix.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> + </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> + <holder>Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin +Rubli, Andy Walls, Mauro Carvalho Chehab</holder> + </copyright> + <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.sgml), along with the possible impact on existing drivers and +applications. --> + + <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 2.6.32</subtitle> <chapter id="common"> &sub-common; @@ -153,4 +480,3 @@ with any V4L2 driver.</para> &sub-biblio; -</part> |