blob: cde691231ef02058f0aa1838a3e4b2401be66005 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
<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>
<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>
</chapter>
<reference 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-encoder-cmd;
&sub-enumaudio;
&sub-enumaudioout;
&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-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-querystd;
&sub-reqbufs;
&sub-s-hw-freq-seek;
&sub-streamon;
<!-- End of ioctls. -->
&sub-mmap;
&sub-munmap;
&sub-open;
&sub-poll;
&sub-read;
&sub-select;
&sub-write;
</reference>
<chapter id="driver">
&sub-driver;
</chapter>
<chapter id="libv4l">
&sub-libv4l;
</chapter>
<chapter id="remote_controllers">
&sub-remote_controllers;
</chapter>
<chapter id="compat">
&sub-compat;
</chapter>
<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-fdl-appendix;
&sub-media-indices;
&sub-biblio;
</part>
|