aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2009-11-25 14:12:01 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-12-05 15:42:14 -0500
commit533ce0464f290c74ee76dc952a9e630df38c5a7d (patch)
tree7205db631bcbc461ec60afbdc8f3654223851331 /Documentation
parentfeba2f817d87891c002739ecdb54eef56740b882 (diff)
V4L/DVB (13518): spec: regenerate videodev2.h.xml
After excluding .h.xml from the whitespace to tab conversion I had to regenerate this xml file. The only changes here are whitespace changes. If we change videodev2.h in the future, then videodev2.h.xml will only show that same change and no more unrelated whitespace changes. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/DocBook/v4l/videodev2.h.xml1104
1 files changed, 552 insertions, 552 deletions
diff --git a/Documentation/DocBook/v4l/videodev2.h.xml b/Documentation/DocBook/v4l/videodev2.h.xml
index 228277bf9f10..033ecd2a14f9 100644
--- a/Documentation/DocBook/v4l/videodev2.h.xml
+++ b/Documentation/DocBook/v4l/videodev2.h.xml
@@ -99,148 +99,148 @@
99 99
100/* Four-character-code (FOURCC) */ 100/* Four-character-code (FOURCC) */
101#define v4l2_fourcc(a, b, c, d)\ 101#define v4l2_fourcc(a, b, c, d)\
102 ((__u32)(a) | ((__u32)(b) &lt;&lt; 8) | ((__u32)(c) &lt;&lt; 16) | ((__u32)(d) &lt;&lt; 24)) 102 ((__u32)(a) | ((__u32)(b) &lt;&lt; 8) | ((__u32)(c) &lt;&lt; 16) | ((__u32)(d) &lt;&lt; 24))
103 103
104/* 104/*
105 * E N U M S 105 * E N U M S
106 */ 106 */
107enum <link linkend="v4l2-field">v4l2_field</link> { 107enum <link linkend="v4l2-field">v4l2_field</link> {
108 V4L2_FIELD_ANY = 0, /* driver can choose from none, 108 V4L2_FIELD_ANY = 0, /* driver can choose from none,
109 top, bottom, interlaced 109 top, bottom, interlaced
110 depending on whatever it thinks 110 depending on whatever it thinks
111 is approximate ... */ 111 is approximate ... */
112 V4L2_FIELD_NONE = 1, /* this device has no fields ... */ 112 V4L2_FIELD_NONE = 1, /* this device has no fields ... */
113 V4L2_FIELD_TOP = 2, /* top field only */ 113 V4L2_FIELD_TOP = 2, /* top field only */
114 V4L2_FIELD_BOTTOM = 3, /* bottom field only */ 114 V4L2_FIELD_BOTTOM = 3, /* bottom field only */
115 V4L2_FIELD_INTERLACED = 4, /* both fields interlaced */ 115 V4L2_FIELD_INTERLACED = 4, /* both fields interlaced */
116 V4L2_FIELD_SEQ_TB = 5, /* both fields sequential into one 116 V4L2_FIELD_SEQ_TB = 5, /* both fields sequential into one
117 buffer, top-bottom order */ 117 buffer, top-bottom order */
118 V4L2_FIELD_SEQ_BT = 6, /* same as above + bottom-top order */ 118 V4L2_FIELD_SEQ_BT = 6, /* same as above + bottom-top order */
119 V4L2_FIELD_ALTERNATE = 7, /* both fields alternating into 119 V4L2_FIELD_ALTERNATE = 7, /* both fields alternating into
120 separate buffers */ 120 separate buffers */
121 V4L2_FIELD_INTERLACED_TB = 8, /* both fields interlaced, top field 121 V4L2_FIELD_INTERLACED_TB = 8, /* both fields interlaced, top field
122 first and the top field is 122 first and the top field is
123 transmitted first */ 123 transmitted first */
124 V4L2_FIELD_INTERLACED_BT = 9, /* both fields interlaced, top field 124 V4L2_FIELD_INTERLACED_BT = 9, /* both fields interlaced, top field
125 first and the bottom field is 125 first and the bottom field is
126 transmitted first */ 126 transmitted first */
127}; 127};
128#define V4L2_FIELD_HAS_TOP(field) \ 128#define V4L2_FIELD_HAS_TOP(field) \
129 ((field) == V4L2_FIELD_TOP ||\ 129 ((field) == V4L2_FIELD_TOP ||\
130 (field) == V4L2_FIELD_INTERLACED ||\ 130 (field) == V4L2_FIELD_INTERLACED ||\
131 (field) == V4L2_FIELD_INTERLACED_TB ||\ 131 (field) == V4L2_FIELD_INTERLACED_TB ||\
132 (field) == V4L2_FIELD_INTERLACED_BT ||\ 132 (field) == V4L2_FIELD_INTERLACED_BT ||\
133 (field) == V4L2_FIELD_SEQ_TB ||\ 133 (field) == V4L2_FIELD_SEQ_TB ||\
134 (field) == V4L2_FIELD_SEQ_BT) 134 (field) == V4L2_FIELD_SEQ_BT)
135#define V4L2_FIELD_HAS_BOTTOM(field) \ 135#define V4L2_FIELD_HAS_BOTTOM(field) \
136 ((field) == V4L2_FIELD_BOTTOM ||\ 136 ((field) == V4L2_FIELD_BOTTOM ||\
137 (field) == V4L2_FIELD_INTERLACED ||\ 137 (field) == V4L2_FIELD_INTERLACED ||\
138 (field) == V4L2_FIELD_INTERLACED_TB ||\ 138 (field) == V4L2_FIELD_INTERLACED_TB ||\
139 (field) == V4L2_FIELD_INTERLACED_BT ||\ 139 (field) == V4L2_FIELD_INTERLACED_BT ||\
140 (field) == V4L2_FIELD_SEQ_TB ||\ 140 (field) == V4L2_FIELD_SEQ_TB ||\
141 (field) == V4L2_FIELD_SEQ_BT) 141 (field) == V4L2_FIELD_SEQ_BT)
142#define V4L2_FIELD_HAS_BOTH(field) \ 142#define V4L2_FIELD_HAS_BOTH(field) \
143 ((field) == V4L2_FIELD_INTERLACED ||\ 143 ((field) == V4L2_FIELD_INTERLACED ||\
144 (field) == V4L2_FIELD_INTERLACED_TB ||\ 144 (field) == V4L2_FIELD_INTERLACED_TB ||\
145 (field) == V4L2_FIELD_INTERLACED_BT ||\ 145 (field) == V4L2_FIELD_INTERLACED_BT ||\
146 (field) == V4L2_FIELD_SEQ_TB ||\ 146 (field) == V4L2_FIELD_SEQ_TB ||\
147 (field) == V4L2_FIELD_SEQ_BT) 147 (field) == V4L2_FIELD_SEQ_BT)
148 148
149enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> { 149enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> {
150 V4L2_BUF_TYPE_VIDEO_CAPTURE = 1, 150 V4L2_BUF_TYPE_VIDEO_CAPTURE = 1,
151 V4L2_BUF_TYPE_VIDEO_OUTPUT = 2, 151 V4L2_BUF_TYPE_VIDEO_OUTPUT = 2,
152 V4L2_BUF_TYPE_VIDEO_OVERLAY = 3, 152 V4L2_BUF_TYPE_VIDEO_OVERLAY = 3,
153 V4L2_BUF_TYPE_VBI_CAPTURE = 4, 153 V4L2_BUF_TYPE_VBI_CAPTURE = 4,
154 V4L2_BUF_TYPE_VBI_OUTPUT = 5, 154 V4L2_BUF_TYPE_VBI_OUTPUT = 5,
155 V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6, 155 V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6,
156 V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7, 156 V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7,
157#if 1 /*KEEP*/ 157#if 1 /*KEEP*/
158 /* Experimental */ 158 /* Experimental */
159 V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8, 159 V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8,
160#endif 160#endif
161 V4L2_BUF_TYPE_PRIVATE = 0x80, 161 V4L2_BUF_TYPE_PRIVATE = 0x80,
162}; 162};
163 163
164enum <link linkend="v4l2-ctrl-type">v4l2_ctrl_type</link> { 164enum <link linkend="v4l2-ctrl-type">v4l2_ctrl_type</link> {
165 V4L2_CTRL_TYPE_INTEGER = 1, 165 V4L2_CTRL_TYPE_INTEGER = 1,
166 V4L2_CTRL_TYPE_BOOLEAN = 2, 166 V4L2_CTRL_TYPE_BOOLEAN = 2,
167 V4L2_CTRL_TYPE_MENU = 3, 167 V4L2_CTRL_TYPE_MENU = 3,
168 V4L2_CTRL_TYPE_BUTTON = 4, 168 V4L2_CTRL_TYPE_BUTTON = 4,
169 V4L2_CTRL_TYPE_INTEGER64 = 5, 169 V4L2_CTRL_TYPE_INTEGER64 = 5,
170 V4L2_CTRL_TYPE_CTRL_CLASS = 6, 170 V4L2_CTRL_TYPE_CTRL_CLASS = 6,
171 V4L2_CTRL_TYPE_STRING = 7, 171 V4L2_CTRL_TYPE_STRING = 7,
172}; 172};
173 173
174enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> { 174enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> {
175 V4L2_TUNER_RADIO = 1, 175 V4L2_TUNER_RADIO = 1,
176 V4L2_TUNER_ANALOG_TV = 2, 176 V4L2_TUNER_ANALOG_TV = 2,
177 V4L2_TUNER_DIGITAL_TV = 3, 177 V4L2_TUNER_DIGITAL_TV = 3,
178}; 178};
179 179
180enum <link linkend="v4l2-memory">v4l2_memory</link> { 180enum <link linkend="v4l2-memory">v4l2_memory</link> {
181 V4L2_MEMORY_MMAP = 1, 181 V4L2_MEMORY_MMAP = 1,
182 V4L2_MEMORY_USERPTR = 2, 182 V4L2_MEMORY_USERPTR = 2,
183 V4L2_MEMORY_OVERLAY = 3, 183 V4L2_MEMORY_OVERLAY = 3,
184}; 184};
185 185
186/* see also http://vektor.theorem.ca/graphics/ycbcr/ */ 186/* see also http://vektor.theorem.ca/graphics/ycbcr/ */
187enum <link linkend="v4l2-colorspace">v4l2_colorspace</link> { 187enum <link linkend="v4l2-colorspace">v4l2_colorspace</link> {
188 /* ITU-R 601 -- broadcast NTSC/PAL */ 188 /* ITU-R 601 -- broadcast NTSC/PAL */
189 V4L2_COLORSPACE_SMPTE170M = 1, 189 V4L2_COLORSPACE_SMPTE170M = 1,
190 190
191 /* 1125-Line (US) HDTV */ 191 /* 1125-Line (US) HDTV */
192 V4L2_COLORSPACE_SMPTE240M = 2, 192 V4L2_COLORSPACE_SMPTE240M = 2,
193 193
194 /* HD and modern captures. */ 194 /* HD and modern captures. */
195 V4L2_COLORSPACE_REC709 = 3, 195 V4L2_COLORSPACE_REC709 = 3,
196 196
197 /* broken BT878 extents (601, luma range 16-253 instead of 16-235) */ 197 /* broken BT878 extents (601, luma range 16-253 instead of 16-235) */
198 V4L2_COLORSPACE_BT878 = 4, 198 V4L2_COLORSPACE_BT878 = 4,
199 199
200 /* These should be useful. Assume 601 extents. */ 200 /* These should be useful. Assume 601 extents. */
201 V4L2_COLORSPACE_470_SYSTEM_M = 5, 201 V4L2_COLORSPACE_470_SYSTEM_M = 5,
202 V4L2_COLORSPACE_470_SYSTEM_BG = 6, 202 V4L2_COLORSPACE_470_SYSTEM_BG = 6,
203 203
204 /* I know there will be cameras that send this. So, this is 204 /* I know there will be cameras that send this. So, this is
205 * unspecified chromaticities and full 0-255 on each of the 205 * unspecified chromaticities and full 0-255 on each of the
206 * Y'CbCr components 206 * Y'CbCr components
207 */ 207 */
208 V4L2_COLORSPACE_JPEG = 7, 208 V4L2_COLORSPACE_JPEG = 7,
209 209
210 /* For RGB colourspaces, this is probably a good start. */ 210 /* For RGB colourspaces, this is probably a good start. */
211 V4L2_COLORSPACE_SRGB = 8, 211 V4L2_COLORSPACE_SRGB = 8,
212}; 212};
213 213
214enum <link linkend="v4l2-priority">v4l2_priority</link> { 214enum <link linkend="v4l2-priority">v4l2_priority</link> {
215 V4L2_PRIORITY_UNSET = 0, /* not initialized */ 215 V4L2_PRIORITY_UNSET = 0, /* not initialized */
216 V4L2_PRIORITY_BACKGROUND = 1, 216 V4L2_PRIORITY_BACKGROUND = 1,
217 V4L2_PRIORITY_INTERACTIVE = 2, 217 V4L2_PRIORITY_INTERACTIVE = 2,
218 V4L2_PRIORITY_RECORD = 3, 218 V4L2_PRIORITY_RECORD = 3,
219 V4L2_PRIORITY_DEFAULT = V4L2_PRIORITY_INTERACTIVE, 219 V4L2_PRIORITY_DEFAULT = V4L2_PRIORITY_INTERACTIVE,
220}; 220};
221 221
222struct <link linkend="v4l2-rect">v4l2_rect</link> { 222struct <link linkend="v4l2-rect">v4l2_rect</link> {
223 __s32 left; 223 __s32 left;
224 __s32 top; 224 __s32 top;
225 __s32 width; 225 __s32 width;
226 __s32 height; 226 __s32 height;
227}; 227};
228 228
229struct <link linkend="v4l2-fract">v4l2_fract</link> { 229struct <link linkend="v4l2-fract">v4l2_fract</link> {
230 __u32 numerator; 230 __u32 numerator;
231 __u32 denominator; 231 __u32 denominator;
232}; 232};
233 233
234/* 234/*
235 * D R I V E R C A P A B I L I T I E S 235 * D R I V E R C A P A B I L I T I E S
236 */ 236 */
237struct <link linkend="v4l2-capability">v4l2_capability</link> { 237struct <link linkend="v4l2-capability">v4l2_capability</link> {
238 __u8 driver[16]; /* i.e.ie; "bttv" */ 238 __u8 driver[16]; /* i.e.ie; "bttv" */
239 __u8 card[32]; /* i.e.ie; "Hauppauge WinTV" */ 239 __u8 card[32]; /* i.e.ie; "Hauppauge WinTV" */
240 __u8 bus_info[32]; /* "PCI:" + pci_name(pci_dev) */ 240 __u8 bus_info[32]; /* "PCI:" + pci_name(pci_dev) */
241 __u32 version; /* should use KERNEL_VERSION() */ 241 __u32 version; /* should use KERNEL_VERSION() */
242 __u32 capabilities; /* Device capabilities */ 242 __u32 capabilities; /* Device capabilities */
243 __u32 reserved[4]; 243 __u32 reserved[4];
244}; 244};
245 245
246/* Values for 'capabilities' field */ 246/* Values for 'capabilities' field */
@@ -269,14 +269,14 @@ struct <link linkend="v4l2-capability">v4l2_capability</link> {
269 * V I D E O I M A G E F O R M A T 269 * V I D E O I M A G E F O R M A T
270 */ 270 */
271struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> { 271struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> {
272 __u32 width; 272 __u32 width;
273 __u32 height; 273 __u32 height;
274 __u32 pixelformat; 274 __u32 pixelformat;
275 enum <link linkend="v4l2-field">v4l2_field</link> field; 275 enum <link linkend="v4l2-field">v4l2_field</link> field;
276 __u32 bytesperline; /* for padding, zero if unused */ 276 __u32 bytesperline; /* for padding, zero if unused */
277 __u32 sizeimage; 277 __u32 sizeimage;
278 enum <link linkend="v4l2-colorspace">v4l2_colorspace</link> colorspace; 278 enum <link linkend="v4l2-colorspace">v4l2_colorspace</link> colorspace;
279 __u32 priv; /* private data, depends on pixelformat */ 279 __u32 priv; /* private data, depends on pixelformat */
280}; 280};
281 281
282/* Pixel format FOURCC depth Description */ 282/* Pixel format FOURCC depth Description */
@@ -331,12 +331,12 @@ struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> {
331#define <link linkend="V4L2-PIX-FMT-SGBRG8">V4L2_PIX_FMT_SGBRG8</link> v4l2_fourcc('G', 'B', 'R', 'G') /* 8 GBGB.. RGRG.. */ 331#define <link linkend="V4L2-PIX-FMT-SGBRG8">V4L2_PIX_FMT_SGBRG8</link> v4l2_fourcc('G', 'B', 'R', 'G') /* 8 GBGB.. RGRG.. */
332#define <link linkend="V4L2-PIX-FMT-SGRBG8">V4L2_PIX_FMT_SGRBG8</link> v4l2_fourcc('G', 'R', 'B', 'G') /* 8 GRGR.. BGBG.. */ 332#define <link linkend="V4L2-PIX-FMT-SGRBG8">V4L2_PIX_FMT_SGRBG8</link> v4l2_fourcc('G', 'R', 'B', 'G') /* 8 GRGR.. BGBG.. */
333#define <link linkend="V4L2-PIX-FMT-SGRBG10">V4L2_PIX_FMT_SGRBG10</link> v4l2_fourcc('B', 'A', '1', '0') /* 10bit raw bayer */ 333#define <link linkend="V4L2-PIX-FMT-SGRBG10">V4L2_PIX_FMT_SGRBG10</link> v4l2_fourcc('B', 'A', '1', '0') /* 10bit raw bayer */
334 /* 10bit raw bayer DPCM compressed to 8 bits */ 334 /* 10bit raw bayer DPCM compressed to 8 bits */
335#define <link linkend="V4L2-PIX-FMT-SGRBG10DPCM8">V4L2_PIX_FMT_SGRBG10DPCM8</link> v4l2_fourcc('B', 'D', '1', '0') 335#define <link linkend="V4L2-PIX-FMT-SGRBG10DPCM8">V4L2_PIX_FMT_SGRBG10DPCM8</link> v4l2_fourcc('B', 'D', '1', '0')
336 /* 336 /*
337 * 10bit raw bayer, expanded to 16 bits 337 * 10bit raw bayer, expanded to 16 bits
338 * xxxxrrrrrrrrrrxxxxgggggggggg xxxxggggggggggxxxxbbbbbbbbbb... 338 * xxxxrrrrrrrrrrxxxxgggggggggg xxxxggggggggggxxxxbbbbbbbbbb...
339 */ 339 */
340#define <link linkend="V4L2-PIX-FMT-SBGGR16">V4L2_PIX_FMT_SBGGR16</link> v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */ 340#define <link linkend="V4L2-PIX-FMT-SBGGR16">V4L2_PIX_FMT_SBGGR16</link> v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */
341 341
342/* compressed formats */ 342/* compressed formats */
@@ -369,83 +369,83 @@ struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> {
369 * F O R M A T E N U M E R A T I O N 369 * F O R M A T E N U M E R A T I O N
370 */ 370 */
371struct <link linkend="v4l2-fmtdesc">v4l2_fmtdesc</link> { 371struct <link linkend="v4l2-fmtdesc">v4l2_fmtdesc</link> {
372 __u32 index; /* Format number */ 372 __u32 index; /* Format number */
373 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; /* buffer type */ 373 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; /* buffer type */
374 __u32 flags; 374 __u32 flags;
375 __u8 description[32]; /* Description string */ 375 __u8 description[32]; /* Description string */
376 __u32 pixelformat; /* Format fourcc */ 376 __u32 pixelformat; /* Format fourcc */
377 __u32 reserved[4]; 377 __u32 reserved[4];
378}; 378};
379 379
380#define V4L2_FMT_FLAG_COMPRESSED 0x0001 380#define V4L2_FMT_FLAG_COMPRESSED 0x0001
381#define V4L2_FMT_FLAG_EMULATED 0x0002 381#define V4L2_FMT_FLAG_EMULATED 0x0002
382 382
383#if 1 /*KEEP*/ 383#if 1 /*KEEP*/
384 /* Experimental Frame Size and frame rate enumeration */ 384 /* Experimental Frame Size and frame rate enumeration */
385/* 385/*
386 * F R A M E S I Z E E N U M E R A T I O N 386 * F R A M E S I Z E E N U M E R A T I O N
387 */ 387 */
388enum <link linkend="v4l2-frmsizetypes">v4l2_frmsizetypes</link> { 388enum <link linkend="v4l2-frmsizetypes">v4l2_frmsizetypes</link> {
389 V4L2_FRMSIZE_TYPE_DISCRETE = 1, 389 V4L2_FRMSIZE_TYPE_DISCRETE = 1,
390 V4L2_FRMSIZE_TYPE_CONTINUOUS = 2, 390 V4L2_FRMSIZE_TYPE_CONTINUOUS = 2,
391 V4L2_FRMSIZE_TYPE_STEPWISE = 3, 391 V4L2_FRMSIZE_TYPE_STEPWISE = 3,
392}; 392};
393 393
394struct <link linkend="v4l2-frmsize-discrete">v4l2_frmsize_discrete</link> { 394struct <link linkend="v4l2-frmsize-discrete">v4l2_frmsize_discrete</link> {
395 __u32 width; /* Frame width [pixel] */ 395 __u32 width; /* Frame width [pixel] */
396 __u32 height; /* Frame height [pixel] */ 396 __u32 height; /* Frame height [pixel] */
397}; 397};
398 398
399struct <link linkend="v4l2-frmsize-stepwise">v4l2_frmsize_stepwise</link> { 399struct <link linkend="v4l2-frmsize-stepwise">v4l2_frmsize_stepwise</link> {
400 __u32 min_width; /* Minimum frame width [pixel] */ 400 __u32 min_width; /* Minimum frame width [pixel] */
401 __u32 max_width; /* Maximum frame width [pixel] */ 401 __u32 max_width; /* Maximum frame width [pixel] */
402 __u32 step_width; /* Frame width step size [pixel] */ 402 __u32 step_width; /* Frame width step size [pixel] */
403 __u32 min_height; /* Minimum frame height [pixel] */ 403 __u32 min_height; /* Minimum frame height [pixel] */
404 __u32 max_height; /* Maximum frame height [pixel] */ 404 __u32 max_height; /* Maximum frame height [pixel] */
405 __u32 step_height; /* Frame height step size [pixel] */ 405 __u32 step_height; /* Frame height step size [pixel] */
406}; 406};
407 407
408struct <link linkend="v4l2-frmsizeenum">v4l2_frmsizeenum</link> { 408struct <link linkend="v4l2-frmsizeenum">v4l2_frmsizeenum</link> {
409 __u32 index; /* Frame size number */ 409 __u32 index; /* Frame size number */
410 __u32 pixel_format; /* Pixel format */ 410 __u32 pixel_format; /* Pixel format */
411 __u32 type; /* Frame size type the device supports. */ 411 __u32 type; /* Frame size type the device supports. */
412 412
413 union { /* Frame size */ 413 union { /* Frame size */
414 struct <link linkend="v4l2-frmsize-discrete">v4l2_frmsize_discrete</link> discrete; 414 struct <link linkend="v4l2-frmsize-discrete">v4l2_frmsize_discrete</link> discrete;
415 struct <link linkend="v4l2-frmsize-stepwise">v4l2_frmsize_stepwise</link> stepwise; 415 struct <link linkend="v4l2-frmsize-stepwise">v4l2_frmsize_stepwise</link> stepwise;
416 }; 416 };
417 417
418 __u32 reserved[2]; /* Reserved space for future use */ 418 __u32 reserved[2]; /* Reserved space for future use */
419}; 419};
420 420
421/* 421/*
422 * F R A M E R A T E E N U M E R A T I O N 422 * F R A M E R A T E E N U M E R A T I O N
423 */ 423 */
424enum <link linkend="v4l2-frmivaltypes">v4l2_frmivaltypes</link> { 424enum <link linkend="v4l2-frmivaltypes">v4l2_frmivaltypes</link> {
425 V4L2_FRMIVAL_TYPE_DISCRETE = 1, 425 V4L2_FRMIVAL_TYPE_DISCRETE = 1,
426 V4L2_FRMIVAL_TYPE_CONTINUOUS = 2, 426 V4L2_FRMIVAL_TYPE_CONTINUOUS = 2,
427 V4L2_FRMIVAL_TYPE_STEPWISE = 3, 427 V4L2_FRMIVAL_TYPE_STEPWISE = 3,
428}; 428};
429 429
430struct <link linkend="v4l2-frmival-stepwise">v4l2_frmival_stepwise</link> { 430struct <link linkend="v4l2-frmival-stepwise">v4l2_frmival_stepwise</link> {
431 struct <link linkend="v4l2-fract">v4l2_fract</link> min; /* Minimum frame interval [s] */ 431 struct <link linkend="v4l2-fract">v4l2_fract</link> min; /* Minimum frame interval [s] */
432 struct <link linkend="v4l2-fract">v4l2_fract</link> max; /* Maximum frame interval [s] */ 432 struct <link linkend="v4l2-fract">v4l2_fract</link> max; /* Maximum frame interval [s] */
433 struct <link linkend="v4l2-fract">v4l2_fract</link> step; /* Frame interval step size [s] */ 433 struct <link linkend="v4l2-fract">v4l2_fract</link> step; /* Frame interval step size [s] */
434}; 434};
435 435
436struct <link linkend="v4l2-frmivalenum">v4l2_frmivalenum</link> { 436struct <link linkend="v4l2-frmivalenum">v4l2_frmivalenum</link> {
437 __u32 index; /* Frame format index */ 437 __u32 index; /* Frame format index */
438 __u32 pixel_format; /* Pixel format */ 438 __u32 pixel_format; /* Pixel format */
439 __u32 width; /* Frame width */ 439 __u32 width; /* Frame width */
440 __u32 height; /* Frame height */ 440 __u32 height; /* Frame height */
441 __u32 type; /* Frame interval type the device supports. */ 441 __u32 type; /* Frame interval type the device supports. */
442 442
443 union { /* Frame interval */ 443 union { /* Frame interval */
444 struct <link linkend="v4l2-fract">v4l2_fract</link> discrete; 444 struct <link linkend="v4l2-fract">v4l2_fract</link> discrete;
445 struct <link linkend="v4l2-frmival-stepwise">v4l2_frmival_stepwise</link> stepwise; 445 struct <link linkend="v4l2-frmival-stepwise">v4l2_frmival_stepwise</link> stepwise;
446 }; 446 };
447 447
448 __u32 reserved[2]; /* Reserved space for future use */ 448 __u32 reserved[2]; /* Reserved space for future use */
449}; 449};
450#endif 450#endif
451 451
@@ -453,13 +453,13 @@ struct <link linkend="v4l2-frmivalenum">v4l2_frmivalenum</link> {
453 * T I M E C O D E 453 * T I M E C O D E
454 */ 454 */
455struct <link linkend="v4l2-timecode">v4l2_timecode</link> { 455struct <link linkend="v4l2-timecode">v4l2_timecode</link> {
456 __u32 type; 456 __u32 type;
457 __u32 flags; 457 __u32 flags;
458 __u8 frames; 458 __u8 frames;
459 __u8 seconds; 459 __u8 seconds;
460 __u8 minutes; 460 __u8 minutes;
461 __u8 hours; 461 __u8 hours;
462 __u8 userbits[4]; 462 __u8 userbits[4];
463}; 463};
464 464
465/* Type */ 465/* Type */
@@ -478,63 +478,63 @@ struct <link linkend="v4l2-timecode">v4l2_timecode</link> {
478/* The above is based on SMPTE timecodes */ 478/* The above is based on SMPTE timecodes */
479 479
480struct <link linkend="v4l2-jpegcompression">v4l2_jpegcompression</link> { 480struct <link linkend="v4l2-jpegcompression">v4l2_jpegcompression</link> {
481 int quality; 481 int quality;
482 482
483 int APPn; /* Number of APP segment to be written, 483 int APPn; /* Number of APP segment to be written,
484 * must be 0..15 */ 484 * must be 0..15 */
485 int APP_len; /* Length of data in JPEG APPn segment */ 485 int APP_len; /* Length of data in JPEG APPn segment */
486 char APP_data[60]; /* Data in the JPEG APPn segment. */ 486 char APP_data[60]; /* Data in the JPEG APPn segment. */
487 487
488 int COM_len; /* Length of data in JPEG COM segment */ 488 int COM_len; /* Length of data in JPEG COM segment */
489 char COM_data[60]; /* Data in JPEG COM segment */ 489 char COM_data[60]; /* Data in JPEG COM segment */
490 490
491 __u32 jpeg_markers; /* Which markers should go into the JPEG 491 __u32 jpeg_markers; /* Which markers should go into the JPEG
492 * output. Unless you exactly know what 492 * output. Unless you exactly know what
493 * you do, leave them untouched. 493 * you do, leave them untouched.
494 * Inluding less markers will make the 494 * Inluding less markers will make the
495 * resulting code smaller, but there will 495 * resulting code smaller, but there will
496 * be fewer aplications which can read it. 496 * be fewer aplications which can read it.
497 * The presence of the APP and COM marker 497 * The presence of the APP and COM marker
498 * is influenced by APP_len and COM_len 498 * is influenced by APP_len and COM_len
499 * ONLY, not by this property! */ 499 * ONLY, not by this property! */
500 500
501#define V4L2_JPEG_MARKER_DHT (1&lt;&lt;3) /* Define Huffman Tables */ 501#define V4L2_JPEG_MARKER_DHT (1&lt;&lt;3) /* Define Huffman Tables */
502#define V4L2_JPEG_MARKER_DQT (1&lt;&lt;4) /* Define Quantization Tables */ 502#define V4L2_JPEG_MARKER_DQT (1&lt;&lt;4) /* Define Quantization Tables */
503#define V4L2_JPEG_MARKER_DRI (1&lt;&lt;5) /* Define Restart Interval */ 503#define V4L2_JPEG_MARKER_DRI (1&lt;&lt;5) /* Define Restart Interval */
504#define V4L2_JPEG_MARKER_COM (1&lt;&lt;6) /* Comment segment */ 504#define V4L2_JPEG_MARKER_COM (1&lt;&lt;6) /* Comment segment */
505#define V4L2_JPEG_MARKER_APP (1&lt;&lt;7) /* App segment, driver will 505#define V4L2_JPEG_MARKER_APP (1&lt;&lt;7) /* App segment, driver will
506 * allways use APP0 */ 506 * allways use APP0 */
507}; 507};
508 508
509/* 509/*
510 * M E M O R Y - M A P P I N G B U F F E R S 510 * M E M O R Y - M A P P I N G B U F F E R S
511 */ 511 */
512struct <link linkend="v4l2-requestbuffers">v4l2_requestbuffers</link> { 512struct <link linkend="v4l2-requestbuffers">v4l2_requestbuffers</link> {
513 __u32 count; 513 __u32 count;
514 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; 514 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
515 enum <link linkend="v4l2-memory">v4l2_memory</link> memory; 515 enum <link linkend="v4l2-memory">v4l2_memory</link> memory;
516 __u32 reserved[2]; 516 __u32 reserved[2];
517}; 517};
518 518
519struct <link linkend="v4l2-buffer">v4l2_buffer</link> { 519struct <link linkend="v4l2-buffer">v4l2_buffer</link> {
520 __u32 index; 520 __u32 index;
521 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; 521 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
522 __u32 bytesused; 522 __u32 bytesused;
523 __u32 flags; 523 __u32 flags;
524 enum <link linkend="v4l2-field">v4l2_field</link> field; 524 enum <link linkend="v4l2-field">v4l2_field</link> field;
525 struct timeval timestamp; 525 struct timeval timestamp;
526 struct <link linkend="v4l2-timecode">v4l2_timecode</link> timecode; 526 struct <link linkend="v4l2-timecode">v4l2_timecode</link> timecode;
527 __u32 sequence; 527 __u32 sequence;
528 528
529 /* memory location */ 529 /* memory location */
530 enum <link linkend="v4l2-memory">v4l2_memory</link> memory; 530 enum <link linkend="v4l2-memory">v4l2_memory</link> memory;
531 union { 531 union {
532 __u32 offset; 532 __u32 offset;
533 unsigned long userptr; 533 unsigned long userptr;
534 } m; 534 } m;
535 __u32 length; 535 __u32 length;
536 __u32 input; 536 __u32 input;
537 __u32 reserved; 537 __u32 reserved;
538}; 538};
539 539
540/* Flags for 'flags' field */ 540/* Flags for 'flags' field */
@@ -551,12 +551,12 @@ struct <link linkend="v4l2-buffer">v4l2_buffer</link> {
551 * O V E R L A Y P R E V I E W 551 * O V E R L A Y P R E V I E W
552 */ 552 */
553struct <link linkend="v4l2-framebuffer">v4l2_framebuffer</link> { 553struct <link linkend="v4l2-framebuffer">v4l2_framebuffer</link> {
554 __u32 capability; 554 __u32 capability;
555 __u32 flags; 555 __u32 flags;
556/* FIXME: in theory we should pass something like PCI device + memory 556/* FIXME: in theory we should pass something like PCI device + memory
557 * region + offset instead of some physical address */ 557 * region + offset instead of some physical address */
558 void *base; 558 void *base;
559 struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> fmt; 559 struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> fmt;
560}; 560};
561/* Flags for the 'capability' field. Read only */ 561/* Flags for the 'capability' field. Read only */
562#define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001 562#define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001
@@ -577,30 +577,30 @@ struct <link linkend="v4l2-framebuffer">v4l2_framebuffer</link> {
577#define V4L2_FBUF_FLAG_SRC_CHROMAKEY 0x0040 577#define V4L2_FBUF_FLAG_SRC_CHROMAKEY 0x0040
578 578
579struct <link linkend="v4l2-clip">v4l2_clip</link> { 579struct <link linkend="v4l2-clip">v4l2_clip</link> {
580 struct <link linkend="v4l2-rect">v4l2_rect</link> c; 580 struct <link linkend="v4l2-rect">v4l2_rect</link> c;
581 struct <link linkend="v4l2-clip">v4l2_clip</link> __user *next; 581 struct <link linkend="v4l2-clip">v4l2_clip</link> __user *next;
582}; 582};
583 583
584struct <link linkend="v4l2-window">v4l2_window</link> { 584struct <link linkend="v4l2-window">v4l2_window</link> {
585 struct <link linkend="v4l2-rect">v4l2_rect</link> w; 585 struct <link linkend="v4l2-rect">v4l2_rect</link> w;
586 enum <link linkend="v4l2-field">v4l2_field</link> field; 586 enum <link linkend="v4l2-field">v4l2_field</link> field;
587 __u32 chromakey; 587 __u32 chromakey;
588 struct <link linkend="v4l2-clip">v4l2_clip</link> __user *clips; 588 struct <link linkend="v4l2-clip">v4l2_clip</link> __user *clips;
589 __u32 clipcount; 589 __u32 clipcount;
590 void __user *bitmap; 590 void __user *bitmap;
591 __u8 global_alpha; 591 __u8 global_alpha;
592}; 592};
593 593
594/* 594/*
595 * C A P T U R E P A R A M E T E R S 595 * C A P T U R E P A R A M E T E R S
596 */ 596 */
597struct <link linkend="v4l2-captureparm">v4l2_captureparm</link> { 597struct <link linkend="v4l2-captureparm">v4l2_captureparm</link> {
598 __u32 capability; /* Supported modes */ 598 __u32 capability; /* Supported modes */
599 __u32 capturemode; /* Current mode */ 599 __u32 capturemode; /* Current mode */
600 struct <link linkend="v4l2-fract">v4l2_fract</link> timeperframe; /* Time per frame in .1us units */ 600 struct <link linkend="v4l2-fract">v4l2_fract</link> timeperframe; /* Time per frame in .1us units */
601 __u32 extendedmode; /* Driver-specific extensions */ 601 __u32 extendedmode; /* Driver-specific extensions */
602 __u32 readbuffers; /* # of buffers for read */ 602 __u32 readbuffers; /* # of buffers for read */
603 __u32 reserved[4]; 603 __u32 reserved[4];
604}; 604};
605 605
606/* Flags for 'capability' and 'capturemode' fields */ 606/* Flags for 'capability' and 'capturemode' fields */
@@ -608,27 +608,27 @@ struct <link linkend="v4l2-captureparm">v4l2_captureparm</link> {
608#define V4L2_CAP_TIMEPERFRAME 0x1000 /* timeperframe field is supported */ 608#define V4L2_CAP_TIMEPERFRAME 0x1000 /* timeperframe field is supported */
609 609
610struct <link linkend="v4l2-outputparm">v4l2_outputparm</link> { 610struct <link linkend="v4l2-outputparm">v4l2_outputparm</link> {
611 __u32 capability; /* Supported modes */ 611 __u32 capability; /* Supported modes */
612 __u32 outputmode; /* Current mode */ 612 __u32 outputmode; /* Current mode */
613 struct <link linkend="v4l2-fract">v4l2_fract</link> timeperframe; /* Time per frame in seconds */ 613 struct <link linkend="v4l2-fract">v4l2_fract</link> timeperframe; /* Time per frame in seconds */
614 __u32 extendedmode; /* Driver-specific extensions */ 614 __u32 extendedmode; /* Driver-specific extensions */
615 __u32 writebuffers; /* # of buffers for write */ 615 __u32 writebuffers; /* # of buffers for write */
616 __u32 reserved[4]; 616 __u32 reserved[4];
617}; 617};
618 618
619/* 619/*
620 * I N P U T I M A G E C R O P P I N G 620 * I N P U T I M A G E C R O P P I N G
621 */ 621 */
622struct <link linkend="v4l2-cropcap">v4l2_cropcap</link> { 622struct <link linkend="v4l2-cropcap">v4l2_cropcap</link> {
623 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; 623 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
624 struct <link linkend="v4l2-rect">v4l2_rect</link> bounds; 624 struct <link linkend="v4l2-rect">v4l2_rect</link> bounds;
625 struct <link linkend="v4l2-rect">v4l2_rect</link> defrect; 625 struct <link linkend="v4l2-rect">v4l2_rect</link> defrect;
626 struct <link linkend="v4l2-fract">v4l2_fract</link> pixelaspect; 626 struct <link linkend="v4l2-fract">v4l2_fract</link> pixelaspect;
627}; 627};
628 628
629struct <link linkend="v4l2-crop">v4l2_crop</link> { 629struct <link linkend="v4l2-crop">v4l2_crop</link> {
630 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; 630 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
631 struct <link linkend="v4l2-rect">v4l2_rect</link> c; 631 struct <link linkend="v4l2-rect">v4l2_rect</link> c;
632}; 632};
633 633
634/* 634/*
@@ -687,64 +687,64 @@ typedef __u64 v4l2_std_id;
687 687
688/* some common needed stuff */ 688/* some common needed stuff */
689#define V4L2_STD_PAL_BG (V4L2_STD_PAL_B |\ 689#define V4L2_STD_PAL_BG (V4L2_STD_PAL_B |\
690 V4L2_STD_PAL_B1 |\ 690 V4L2_STD_PAL_B1 |\
691 V4L2_STD_PAL_G) 691 V4L2_STD_PAL_G)
692#define V4L2_STD_PAL_DK (V4L2_STD_PAL_D |\ 692#define V4L2_STD_PAL_DK (V4L2_STD_PAL_D |\
693 V4L2_STD_PAL_D1 |\ 693 V4L2_STD_PAL_D1 |\
694 V4L2_STD_PAL_K) 694 V4L2_STD_PAL_K)
695#define V4L2_STD_PAL (V4L2_STD_PAL_BG |\ 695#define V4L2_STD_PAL (V4L2_STD_PAL_BG |\
696 V4L2_STD_PAL_DK |\ 696 V4L2_STD_PAL_DK |\
697 V4L2_STD_PAL_H |\ 697 V4L2_STD_PAL_H |\
698 V4L2_STD_PAL_I) 698 V4L2_STD_PAL_I)
699#define V4L2_STD_NTSC (V4L2_STD_NTSC_M |\ 699#define V4L2_STD_NTSC (V4L2_STD_NTSC_M |\
700 V4L2_STD_NTSC_M_JP |\ 700 V4L2_STD_NTSC_M_JP |\
701 V4L2_STD_NTSC_M_KR) 701 V4L2_STD_NTSC_M_KR)
702#define V4L2_STD_SECAM_DK (V4L2_STD_SECAM_D |\ 702#define V4L2_STD_SECAM_DK (V4L2_STD_SECAM_D |\
703 V4L2_STD_SECAM_K |\ 703 V4L2_STD_SECAM_K |\
704 V4L2_STD_SECAM_K1) 704 V4L2_STD_SECAM_K1)
705#define V4L2_STD_SECAM (V4L2_STD_SECAM_B |\ 705#define V4L2_STD_SECAM (V4L2_STD_SECAM_B |\
706 V4L2_STD_SECAM_G |\ 706 V4L2_STD_SECAM_G |\
707 V4L2_STD_SECAM_H |\ 707 V4L2_STD_SECAM_H |\
708 V4L2_STD_SECAM_DK |\ 708 V4L2_STD_SECAM_DK |\
709 V4L2_STD_SECAM_L |\ 709 V4L2_STD_SECAM_L |\
710 V4L2_STD_SECAM_LC) 710 V4L2_STD_SECAM_LC)
711 711
712#define V4L2_STD_525_60 (V4L2_STD_PAL_M |\ 712#define V4L2_STD_525_60 (V4L2_STD_PAL_M |\
713 V4L2_STD_PAL_60 |\ 713 V4L2_STD_PAL_60 |\
714 V4L2_STD_NTSC |\ 714 V4L2_STD_NTSC |\
715 V4L2_STD_NTSC_443) 715 V4L2_STD_NTSC_443)
716#define V4L2_STD_625_50 (V4L2_STD_PAL |\ 716#define V4L2_STD_625_50 (V4L2_STD_PAL |\
717 V4L2_STD_PAL_N |\ 717 V4L2_STD_PAL_N |\
718 V4L2_STD_PAL_Nc |\ 718 V4L2_STD_PAL_Nc |\
719 V4L2_STD_SECAM) 719 V4L2_STD_SECAM)
720#define V4L2_STD_ATSC (V4L2_STD_ATSC_8_VSB |\ 720#define V4L2_STD_ATSC (V4L2_STD_ATSC_8_VSB |\
721 V4L2_STD_ATSC_16_VSB) 721 V4L2_STD_ATSC_16_VSB)
722 722
723#define V4L2_STD_UNKNOWN 0 723#define V4L2_STD_UNKNOWN 0
724#define V4L2_STD_ALL (V4L2_STD_525_60 |\ 724#define V4L2_STD_ALL (V4L2_STD_525_60 |\
725 V4L2_STD_625_50) 725 V4L2_STD_625_50)
726 726
727struct <link linkend="v4l2-standard">v4l2_standard</link> { 727struct <link linkend="v4l2-standard">v4l2_standard</link> {
728 __u32 index; 728 __u32 index;
729 v4l2_std_id id; 729 v4l2_std_id id;
730 __u8 name[24]; 730 __u8 name[24];
731 struct <link linkend="v4l2-fract">v4l2_fract</link> frameperiod; /* Frames, not fields */ 731 struct <link linkend="v4l2-fract">v4l2_fract</link> frameperiod; /* Frames, not fields */
732 __u32 framelines; 732 __u32 framelines;
733 __u32 reserved[4]; 733 __u32 reserved[4];
734}; 734};
735 735
736/* 736/*
737 * V I D E O I N P U T S 737 * V I D E O I N P U T S
738 */ 738 */
739struct <link linkend="v4l2-input">v4l2_input</link> { 739struct <link linkend="v4l2-input">v4l2_input</link> {
740 __u32 index; /* Which input */ 740 __u32 index; /* Which input */
741 __u8 name[32]; /* Label */ 741 __u8 name[32]; /* Label */
742 __u32 type; /* Type of input */ 742 __u32 type; /* Type of input */
743 __u32 audioset; /* Associated audios (bitfield) */ 743 __u32 audioset; /* Associated audios (bitfield) */
744 __u32 tuner; /* Associated tuner */ 744 __u32 tuner; /* Associated tuner */
745 v4l2_std_id std; 745 v4l2_std_id std;
746 __u32 status; 746 __u32 status;
747 __u32 reserved[4]; 747 __u32 reserved[4];
748}; 748};
749 749
750/* Values for the 'type' field */ 750/* Values for the 'type' field */
@@ -779,13 +779,13 @@ struct <link linkend="v4l2-input">v4l2_input</link> {
779 * V I D E O O U T P U T S 779 * V I D E O O U T P U T S
780 */ 780 */
781struct <link linkend="v4l2-output">v4l2_output</link> { 781struct <link linkend="v4l2-output">v4l2_output</link> {
782 __u32 index; /* Which output */ 782 __u32 index; /* Which output */
783 __u8 name[32]; /* Label */ 783 __u8 name[32]; /* Label */
784 __u32 type; /* Type of output */ 784 __u32 type; /* Type of output */
785 __u32 audioset; /* Associated audios (bitfield) */ 785 __u32 audioset; /* Associated audios (bitfield) */
786 __u32 modulator; /* Associated modulator */ 786 __u32 modulator; /* Associated modulator */
787 v4l2_std_id std; 787 v4l2_std_id std;
788 __u32 reserved[4]; 788 __u32 reserved[4];
789}; 789};
790/* Values for the 'type' field */ 790/* Values for the 'type' field */
791#define V4L2_OUTPUT_TYPE_MODULATOR 1 791#define V4L2_OUTPUT_TYPE_MODULATOR 1
@@ -796,27 +796,27 @@ struct <link linkend="v4l2-output">v4l2_output</link> {
796 * C O N T R O L S 796 * C O N T R O L S
797 */ 797 */
798struct <link linkend="v4l2-control">v4l2_control</link> { 798struct <link linkend="v4l2-control">v4l2_control</link> {
799 __u32 id; 799 __u32 id;
800 __s32 value; 800 __s32 value;
801}; 801};
802 802
803struct <link linkend="v4l2-ext-control">v4l2_ext_control</link> { 803struct <link linkend="v4l2-ext-control">v4l2_ext_control</link> {
804 __u32 id; 804 __u32 id;
805 __u32 size; 805 __u32 size;
806 __u32 reserved2[1]; 806 __u32 reserved2[1];
807 union { 807 union {
808 __s32 value; 808 __s32 value;
809 __s64 value64; 809 __s64 value64;
810 char *string; 810 char *string;
811 }; 811 };
812} __attribute__ ((packed)); 812} __attribute__ ((packed));
813 813
814struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link> { 814struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link> {
815 __u32 ctrl_class; 815 __u32 ctrl_class;
816 __u32 count; 816 __u32 count;
817 __u32 error_idx; 817 __u32 error_idx;
818 __u32 reserved[2]; 818 __u32 reserved[2];
819 struct <link linkend="v4l2-ext-control">v4l2_ext_control</link> *controls; 819 struct <link linkend="v4l2-ext-control">v4l2_ext_control</link> *controls;
820}; 820};
821 821
822/* Values for ctrl_class field */ 822/* Values for ctrl_class field */
@@ -831,23 +831,23 @@ struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link> {
831 831
832/* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ 832/* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */
833struct <link linkend="v4l2-queryctrl">v4l2_queryctrl</link> { 833struct <link linkend="v4l2-queryctrl">v4l2_queryctrl</link> {
834 __u32 id; 834 __u32 id;
835 enum <link linkend="v4l2-ctrl-type">v4l2_ctrl_type</link> type; 835 enum <link linkend="v4l2-ctrl-type">v4l2_ctrl_type</link> type;
836 __u8 name[32]; /* Whatever */ 836 __u8 name[32]; /* Whatever */
837 __s32 minimum; /* Note signedness */ 837 __s32 minimum; /* Note signedness */
838 __s32 maximum; 838 __s32 maximum;
839 __s32 step; 839 __s32 step;
840 __s32 default_value; 840 __s32 default_value;
841 __u32 flags; 841 __u32 flags;
842 __u32 reserved[2]; 842 __u32 reserved[2];
843}; 843};
844 844
845/* Used in the VIDIOC_QUERYMENU ioctl for querying menu items */ 845/* Used in the VIDIOC_QUERYMENU ioctl for querying menu items */
846struct <link linkend="v4l2-querymenu">v4l2_querymenu</link> { 846struct <link linkend="v4l2-querymenu">v4l2_querymenu</link> {
847 __u32 id; 847 __u32 id;
848 __u32 index; 848 __u32 index;
849 __u8 name[32]; /* Whatever */ 849 __u8 name[32]; /* Whatever */
850 __u32 reserved; 850 __u32 reserved;
851}; 851};
852 852
853/* Control flags */ 853/* Control flags */
@@ -898,9 +898,9 @@ struct <link linkend="v4l2-querymenu">v4l2_querymenu</link> {
898 898
899#define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24) 899#define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24)
900enum <link linkend="v4l2-power-line-frequency">v4l2_power_line_frequency</link> { 900enum <link linkend="v4l2-power-line-frequency">v4l2_power_line_frequency</link> {
901 V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0, 901 V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0,
902 V4L2_CID_POWER_LINE_FREQUENCY_50HZ = 1, 902 V4L2_CID_POWER_LINE_FREQUENCY_50HZ = 1,
903 V4L2_CID_POWER_LINE_FREQUENCY_60HZ = 2, 903 V4L2_CID_POWER_LINE_FREQUENCY_60HZ = 2,
904}; 904};
905#define V4L2_CID_HUE_AUTO (V4L2_CID_BASE+25) 905#define V4L2_CID_HUE_AUTO (V4L2_CID_BASE+25)
906#define V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_BASE+26) 906#define V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_BASE+26)
@@ -910,9 +910,9 @@ enum <link linkend="v4l2-power-line-frequency">v4l2_power_line_frequency</link>
910#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30) 910#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30)
911#define V4L2_CID_COLORFX (V4L2_CID_BASE+31) 911#define V4L2_CID_COLORFX (V4L2_CID_BASE+31)
912enum <link linkend="v4l2-colorfx">v4l2_colorfx</link> { 912enum <link linkend="v4l2-colorfx">v4l2_colorfx</link> {
913 V4L2_COLORFX_NONE = 0, 913 V4L2_COLORFX_NONE = 0,
914 V4L2_COLORFX_BW = 1, 914 V4L2_COLORFX_BW = 1,
915 V4L2_COLORFX_SEPIA = 2, 915 V4L2_COLORFX_SEPIA = 2,
916}; 916};
917#define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32) 917#define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32)
918#define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33) 918#define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33)
@@ -929,12 +929,12 @@ enum <link linkend="v4l2-colorfx">v4l2_colorfx</link> {
929/* MPEG streams */ 929/* MPEG streams */
930#define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0) 930#define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0)
931enum <link linkend="v4l2-mpeg-stream-type">v4l2_mpeg_stream_type</link> { 931enum <link linkend="v4l2-mpeg-stream-type">v4l2_mpeg_stream_type</link> {
932 V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */ 932 V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */
933 V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, /* MPEG-2 transport stream */ 933 V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, /* MPEG-2 transport stream */
934 V4L2_MPEG_STREAM_TYPE_MPEG1_SS = 2, /* MPEG-1 system stream */ 934 V4L2_MPEG_STREAM_TYPE_MPEG1_SS = 2, /* MPEG-1 system stream */
935 V4L2_MPEG_STREAM_TYPE_MPEG2_DVD = 3, /* MPEG-2 DVD-compatible stream */ 935 V4L2_MPEG_STREAM_TYPE_MPEG2_DVD = 3, /* MPEG-2 DVD-compatible stream */
936 V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, /* MPEG-1 VCD-compatible stream */ 936 V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, /* MPEG-1 VCD-compatible stream */
937 V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */ 937 V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */
938}; 938};
939#define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_MPEG_BASE+1) 939#define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_MPEG_BASE+1)
940#define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_MPEG_BASE+2) 940#define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_MPEG_BASE+2)
@@ -944,139 +944,139 @@ enum <link linkend="v4l2-mpeg-stream-type">v4l2_mpeg_stream_type</link> {
944#define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_MPEG_BASE+6) 944#define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_MPEG_BASE+6)
945#define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_MPEG_BASE+7) 945#define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_MPEG_BASE+7)
946enum <link linkend="v4l2-mpeg-stream-vbi-fmt">v4l2_mpeg_stream_vbi_fmt</link> { 946enum <link linkend="v4l2-mpeg-stream-vbi-fmt">v4l2_mpeg_stream_vbi_fmt</link> {
947 V4L2_MPEG_STREAM_VBI_FMT_NONE = 0, /* No VBI in the MPEG stream */ 947 V4L2_MPEG_STREAM_VBI_FMT_NONE = 0, /* No VBI in the MPEG stream */
948 V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */ 948 V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */
949}; 949};
950 950
951/* MPEG audio */ 951/* MPEG audio */
952#define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100) 952#define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100)
953enum <link linkend="v4l2-mpeg-audio-sampling-freq">v4l2_mpeg_audio_sampling_freq</link> { 953enum <link linkend="v4l2-mpeg-audio-sampling-freq">v4l2_mpeg_audio_sampling_freq</link> {
954 V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0, 954 V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0,
955 V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1, 955 V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1,
956 V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2, 956 V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2,
957}; 957};
958#define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_MPEG_BASE+101) 958#define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_MPEG_BASE+101)
959enum <link linkend="v4l2-mpeg-audio-encoding">v4l2_mpeg_audio_encoding</link> { 959enum <link linkend="v4l2-mpeg-audio-encoding">v4l2_mpeg_audio_encoding</link> {
960 V4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0, 960 V4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0,
961 V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1, 961 V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1,
962 V4L2_MPEG_AUDIO_ENCODING_LAYER_3 = 2, 962 V4L2_MPEG_AUDIO_ENCODING_LAYER_3 = 2,
963 V4L2_MPEG_AUDIO_ENCODING_AAC = 3, 963 V4L2_MPEG_AUDIO_ENCODING_AAC = 3,
964 V4L2_MPEG_AUDIO_ENCODING_AC3 = 4, 964 V4L2_MPEG_AUDIO_ENCODING_AC3 = 4,
965}; 965};
966#define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_MPEG_BASE+102) 966#define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_MPEG_BASE+102)
967enum <link linkend="v4l2-mpeg-audio-l1-bitrate">v4l2_mpeg_audio_l1_bitrate</link> { 967enum <link linkend="v4l2-mpeg-audio-l1-bitrate">v4l2_mpeg_audio_l1_bitrate</link> {
968 V4L2_MPEG_AUDIO_L1_BITRATE_32K = 0, 968 V4L2_MPEG_AUDIO_L1_BITRATE_32K = 0,
969 V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1, 969 V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1,
970 V4L2_MPEG_AUDIO_L1_BITRATE_96K = 2, 970 V4L2_MPEG_AUDIO_L1_BITRATE_96K = 2,
971 V4L2_MPEG_AUDIO_L1_BITRATE_128K = 3, 971 V4L2_MPEG_AUDIO_L1_BITRATE_128K = 3,
972 V4L2_MPEG_AUDIO_L1_BITRATE_160K = 4, 972 V4L2_MPEG_AUDIO_L1_BITRATE_160K = 4,
973 V4L2_MPEG_AUDIO_L1_BITRATE_192K = 5, 973 V4L2_MPEG_AUDIO_L1_BITRATE_192K = 5,
974 V4L2_MPEG_AUDIO_L1_BITRATE_224K = 6, 974 V4L2_MPEG_AUDIO_L1_BITRATE_224K = 6,
975 V4L2_MPEG_AUDIO_L1_BITRATE_256K = 7, 975 V4L2_MPEG_AUDIO_L1_BITRATE_256K = 7,
976 V4L2_MPEG_AUDIO_L1_BITRATE_288K = 8, 976 V4L2_MPEG_AUDIO_L1_BITRATE_288K = 8,
977 V4L2_MPEG_AUDIO_L1_BITRATE_320K = 9, 977 V4L2_MPEG_AUDIO_L1_BITRATE_320K = 9,
978 V4L2_MPEG_AUDIO_L1_BITRATE_352K = 10, 978 V4L2_MPEG_AUDIO_L1_BITRATE_352K = 10,
979 V4L2_MPEG_AUDIO_L1_BITRATE_384K = 11, 979 V4L2_MPEG_AUDIO_L1_BITRATE_384K = 11,
980 V4L2_MPEG_AUDIO_L1_BITRATE_416K = 12, 980 V4L2_MPEG_AUDIO_L1_BITRATE_416K = 12,
981 V4L2_MPEG_AUDIO_L1_BITRATE_448K = 13, 981 V4L2_MPEG_AUDIO_L1_BITRATE_448K = 13,
982}; 982};
983#define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_MPEG_BASE+103) 983#define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_MPEG_BASE+103)
984enum <link linkend="v4l2-mpeg-audio-l2-bitrate">v4l2_mpeg_audio_l2_bitrate</link> { 984enum <link linkend="v4l2-mpeg-audio-l2-bitrate">v4l2_mpeg_audio_l2_bitrate</link> {
985 V4L2_MPEG_AUDIO_L2_BITRATE_32K = 0, 985 V4L2_MPEG_AUDIO_L2_BITRATE_32K = 0,
986 V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1, 986 V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1,
987 V4L2_MPEG_AUDIO_L2_BITRATE_56K = 2, 987 V4L2_MPEG_AUDIO_L2_BITRATE_56K = 2,
988 V4L2_MPEG_AUDIO_L2_BITRATE_64K = 3, 988 V4L2_MPEG_AUDIO_L2_BITRATE_64K = 3,
989 V4L2_MPEG_AUDIO_L2_BITRATE_80K = 4, 989 V4L2_MPEG_AUDIO_L2_BITRATE_80K = 4,
990 V4L2_MPEG_AUDIO_L2_BITRATE_96K = 5, 990 V4L2_MPEG_AUDIO_L2_BITRATE_96K = 5,
991 V4L2_MPEG_AUDIO_L2_BITRATE_112K = 6, 991 V4L2_MPEG_AUDIO_L2_BITRATE_112K = 6,
992 V4L2_MPEG_AUDIO_L2_BITRATE_128K = 7, 992 V4L2_MPEG_AUDIO_L2_BITRATE_128K = 7,
993 V4L2_MPEG_AUDIO_L2_BITRATE_160K = 8, 993 V4L2_MPEG_AUDIO_L2_BITRATE_160K = 8,
994 V4L2_MPEG_AUDIO_L2_BITRATE_192K = 9, 994 V4L2_MPEG_AUDIO_L2_BITRATE_192K = 9,
995 V4L2_MPEG_AUDIO_L2_BITRATE_224K = 10, 995 V4L2_MPEG_AUDIO_L2_BITRATE_224K = 10,
996 V4L2_MPEG_AUDIO_L2_BITRATE_256K = 11, 996 V4L2_MPEG_AUDIO_L2_BITRATE_256K = 11,
997 V4L2_MPEG_AUDIO_L2_BITRATE_320K = 12, 997 V4L2_MPEG_AUDIO_L2_BITRATE_320K = 12,
998 V4L2_MPEG_AUDIO_L2_BITRATE_384K = 13, 998 V4L2_MPEG_AUDIO_L2_BITRATE_384K = 13,
999}; 999};
1000#define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_MPEG_BASE+104) 1000#define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_MPEG_BASE+104)
1001enum <link linkend="v4l2-mpeg-audio-l3-bitrate">v4l2_mpeg_audio_l3_bitrate</link> { 1001enum <link linkend="v4l2-mpeg-audio-l3-bitrate">v4l2_mpeg_audio_l3_bitrate</link> {
1002 V4L2_MPEG_AUDIO_L3_BITRATE_32K = 0, 1002 V4L2_MPEG_AUDIO_L3_BITRATE_32K = 0,
1003 V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1, 1003 V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1,
1004 V4L2_MPEG_AUDIO_L3_BITRATE_48K = 2, 1004 V4L2_MPEG_AUDIO_L3_BITRATE_48K = 2,
1005 V4L2_MPEG_AUDIO_L3_BITRATE_56K = 3, 1005 V4L2_MPEG_AUDIO_L3_BITRATE_56K = 3,
1006 V4L2_MPEG_AUDIO_L3_BITRATE_64K = 4, 1006 V4L2_MPEG_AUDIO_L3_BITRATE_64K = 4,
1007 V4L2_MPEG_AUDIO_L3_BITRATE_80K = 5, 1007 V4L2_MPEG_AUDIO_L3_BITRATE_80K = 5,
1008 V4L2_MPEG_AUDIO_L3_BITRATE_96K = 6, 1008 V4L2_MPEG_AUDIO_L3_BITRATE_96K = 6,
1009 V4L2_MPEG_AUDIO_L3_BITRATE_112K = 7, 1009 V4L2_MPEG_AUDIO_L3_BITRATE_112K = 7,
1010 V4L2_MPEG_AUDIO_L3_BITRATE_128K = 8, 1010 V4L2_MPEG_AUDIO_L3_BITRATE_128K = 8,
1011 V4L2_MPEG_AUDIO_L3_BITRATE_160K = 9, 1011 V4L2_MPEG_AUDIO_L3_BITRATE_160K = 9,
1012 V4L2_MPEG_AUDIO_L3_BITRATE_192K = 10, 1012 V4L2_MPEG_AUDIO_L3_BITRATE_192K = 10,
1013 V4L2_MPEG_AUDIO_L3_BITRATE_224K = 11, 1013 V4L2_MPEG_AUDIO_L3_BITRATE_224K = 11,
1014 V4L2_MPEG_AUDIO_L3_BITRATE_256K = 12, 1014 V4L2_MPEG_AUDIO_L3_BITRATE_256K = 12,
1015 V4L2_MPEG_AUDIO_L3_BITRATE_320K = 13, 1015 V4L2_MPEG_AUDIO_L3_BITRATE_320K = 13,
1016}; 1016};
1017#define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_MPEG_BASE+105) 1017#define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_MPEG_BASE+105)
1018enum <link linkend="v4l2-mpeg-audio-mode">v4l2_mpeg_audio_mode</link> { 1018enum <link linkend="v4l2-mpeg-audio-mode">v4l2_mpeg_audio_mode</link> {
1019 V4L2_MPEG_AUDIO_MODE_STEREO = 0, 1019 V4L2_MPEG_AUDIO_MODE_STEREO = 0,
1020 V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1, 1020 V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1,
1021 V4L2_MPEG_AUDIO_MODE_DUAL = 2, 1021 V4L2_MPEG_AUDIO_MODE_DUAL = 2,
1022 V4L2_MPEG_AUDIO_MODE_MONO = 3, 1022 V4L2_MPEG_AUDIO_MODE_MONO = 3,
1023}; 1023};
1024#define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_MPEG_BASE+106) 1024#define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_MPEG_BASE+106)
1025enum <link linkend="v4l2-mpeg-audio-mode-extension">v4l2_mpeg_audio_mode_extension</link> { 1025enum <link linkend="v4l2-mpeg-audio-mode-extension">v4l2_mpeg_audio_mode_extension</link> {
1026 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 = 0, 1026 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 = 0,
1027 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1, 1027 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1,
1028 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2, 1028 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2,
1029 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3, 1029 V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3,
1030}; 1030};
1031#define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_MPEG_BASE+107) 1031#define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_MPEG_BASE+107)
1032enum <link linkend="v4l2-mpeg-audio-emphasis">v4l2_mpeg_audio_emphasis</link> { 1032enum <link linkend="v4l2-mpeg-audio-emphasis">v4l2_mpeg_audio_emphasis</link> {
1033 V4L2_MPEG_AUDIO_EMPHASIS_NONE = 0, 1033 V4L2_MPEG_AUDIO_EMPHASIS_NONE = 0,
1034 V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1, 1034 V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1,
1035 V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 = 2, 1035 V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 = 2,
1036}; 1036};
1037#define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_MPEG_BASE+108) 1037#define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_MPEG_BASE+108)
1038enum <link linkend="v4l2-mpeg-audio-crc">v4l2_mpeg_audio_crc</link> { 1038enum <link linkend="v4l2-mpeg-audio-crc">v4l2_mpeg_audio_crc</link> {
1039 V4L2_MPEG_AUDIO_CRC_NONE = 0, 1039 V4L2_MPEG_AUDIO_CRC_NONE = 0,
1040 V4L2_MPEG_AUDIO_CRC_CRC16 = 1, 1040 V4L2_MPEG_AUDIO_CRC_CRC16 = 1,
1041}; 1041};
1042#define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_MPEG_BASE+109) 1042#define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_MPEG_BASE+109)
1043#define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_MPEG_BASE+110) 1043#define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_MPEG_BASE+110)
1044#define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_MPEG_BASE+111) 1044#define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_MPEG_BASE+111)
1045enum <link linkend="v4l2-mpeg-audio-ac3-bitrate">v4l2_mpeg_audio_ac3_bitrate</link> { 1045enum <link linkend="v4l2-mpeg-audio-ac3-bitrate">v4l2_mpeg_audio_ac3_bitrate</link> {
1046 V4L2_MPEG_AUDIO_AC3_BITRATE_32K = 0, 1046 V4L2_MPEG_AUDIO_AC3_BITRATE_32K = 0,
1047 V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1, 1047 V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1,
1048 V4L2_MPEG_AUDIO_AC3_BITRATE_48K = 2, 1048 V4L2_MPEG_AUDIO_AC3_BITRATE_48K = 2,
1049 V4L2_MPEG_AUDIO_AC3_BITRATE_56K = 3, 1049 V4L2_MPEG_AUDIO_AC3_BITRATE_56K = 3,
1050 V4L2_MPEG_AUDIO_AC3_BITRATE_64K = 4, 1050 V4L2_MPEG_AUDIO_AC3_BITRATE_64K = 4,
1051 V4L2_MPEG_AUDIO_AC3_BITRATE_80K = 5, 1051 V4L2_MPEG_AUDIO_AC3_BITRATE_80K = 5,
1052 V4L2_MPEG_AUDIO_AC3_BITRATE_96K = 6, 1052 V4L2_MPEG_AUDIO_AC3_BITRATE_96K = 6,
1053 V4L2_MPEG_AUDIO_AC3_BITRATE_112K = 7, 1053 V4L2_MPEG_AUDIO_AC3_BITRATE_112K = 7,
1054 V4L2_MPEG_AUDIO_AC3_BITRATE_128K = 8, 1054 V4L2_MPEG_AUDIO_AC3_BITRATE_128K = 8,
1055 V4L2_MPEG_AUDIO_AC3_BITRATE_160K = 9, 1055 V4L2_MPEG_AUDIO_AC3_BITRATE_160K = 9,
1056 V4L2_MPEG_AUDIO_AC3_BITRATE_192K = 10, 1056 V4L2_MPEG_AUDIO_AC3_BITRATE_192K = 10,
1057 V4L2_MPEG_AUDIO_AC3_BITRATE_224K = 11, 1057 V4L2_MPEG_AUDIO_AC3_BITRATE_224K = 11,
1058 V4L2_MPEG_AUDIO_AC3_BITRATE_256K = 12, 1058 V4L2_MPEG_AUDIO_AC3_BITRATE_256K = 12,
1059 V4L2_MPEG_AUDIO_AC3_BITRATE_320K = 13, 1059 V4L2_MPEG_AUDIO_AC3_BITRATE_320K = 13,
1060 V4L2_MPEG_AUDIO_AC3_BITRATE_384K = 14, 1060 V4L2_MPEG_AUDIO_AC3_BITRATE_384K = 14,
1061 V4L2_MPEG_AUDIO_AC3_BITRATE_448K = 15, 1061 V4L2_MPEG_AUDIO_AC3_BITRATE_448K = 15,
1062 V4L2_MPEG_AUDIO_AC3_BITRATE_512K = 16, 1062 V4L2_MPEG_AUDIO_AC3_BITRATE_512K = 16,
1063 V4L2_MPEG_AUDIO_AC3_BITRATE_576K = 17, 1063 V4L2_MPEG_AUDIO_AC3_BITRATE_576K = 17,
1064 V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18, 1064 V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18,
1065}; 1065};
1066 1066
1067/* MPEG video */ 1067/* MPEG video */
1068#define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200) 1068#define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200)
1069enum <link linkend="v4l2-mpeg-video-encoding">v4l2_mpeg_video_encoding</link> { 1069enum <link linkend="v4l2-mpeg-video-encoding">v4l2_mpeg_video_encoding</link> {
1070 V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0, 1070 V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0,
1071 V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1, 1071 V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1,
1072 V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2, 1072 V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2,
1073}; 1073};
1074#define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_MPEG_BASE+201) 1074#define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_MPEG_BASE+201)
1075enum <link linkend="v4l2-mpeg-video-aspect">v4l2_mpeg_video_aspect</link> { 1075enum <link linkend="v4l2-mpeg-video-aspect">v4l2_mpeg_video_aspect</link> {
1076 V4L2_MPEG_VIDEO_ASPECT_1x1 = 0, 1076 V4L2_MPEG_VIDEO_ASPECT_1x1 = 0,
1077 V4L2_MPEG_VIDEO_ASPECT_4x3 = 1, 1077 V4L2_MPEG_VIDEO_ASPECT_4x3 = 1,
1078 V4L2_MPEG_VIDEO_ASPECT_16x9 = 2, 1078 V4L2_MPEG_VIDEO_ASPECT_16x9 = 2,
1079 V4L2_MPEG_VIDEO_ASPECT_221x100 = 3, 1079 V4L2_MPEG_VIDEO_ASPECT_221x100 = 3,
1080}; 1080};
1081#define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_MPEG_BASE+202) 1081#define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_MPEG_BASE+202)
1082#define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_MPEG_BASE+203) 1082#define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_MPEG_BASE+203)
@@ -1084,8 +1084,8 @@ enum <link linkend="v4l2-mpeg-video-aspect">v4l2_mpeg_video_aspect</link> {
1084#define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_MPEG_BASE+205) 1084#define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_MPEG_BASE+205)
1085#define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_MPEG_BASE+206) 1085#define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_MPEG_BASE+206)
1086enum <link linkend="v4l2-mpeg-video-bitrate-mode">v4l2_mpeg_video_bitrate_mode</link> { 1086enum <link linkend="v4l2-mpeg-video-bitrate-mode">v4l2_mpeg_video_bitrate_mode</link> {
1087 V4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0, 1087 V4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0,
1088 V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1, 1088 V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1,
1089}; 1089};
1090#define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_MPEG_BASE+207) 1090#define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_MPEG_BASE+207)
1091#define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_MPEG_BASE+208) 1091#define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_MPEG_BASE+208)
@@ -1097,36 +1097,36 @@ enum <link linkend="v4l2-mpeg-video-bitrate-mode">v4l2_mpeg_video_bitrate_mode</
1097#define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) 1097#define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000)
1098#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0) 1098#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0)
1099enum <link linkend="v4l2-mpeg-cx2341x-video-spatial-filter-mode">v4l2_mpeg_cx2341x_video_spatial_filter_mode</link> { 1099enum <link linkend="v4l2-mpeg-cx2341x-video-spatial-filter-mode">v4l2_mpeg_cx2341x_video_spatial_filter_mode</link> {
1100 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0, 1100 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0,
1101 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1, 1101 V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1,
1102}; 1102};
1103#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+1) 1103#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+1)
1104#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2) 1104#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2)
1105enum <link linkend="luma-spatial-filter-type">v4l2_mpeg_cx2341x_video_luma_spatial_filter_type</link> { 1105enum <link linkend="luma-spatial-filter-type">v4l2_mpeg_cx2341x_video_luma_spatial_filter_type</link> {
1106 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0, 1106 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0,
1107 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1, 1107 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
1108 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT = 2, 1108 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT = 2,
1109 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3, 1109 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3,
1110 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4, 1110 V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4,
1111}; 1111};
1112#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3) 1112#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3)
1113enum <link linkend="chroma-spatial-filter-type">v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type</link> { 1113enum <link linkend="chroma-spatial-filter-type">v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type</link> {
1114 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0, 1114 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0,
1115 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1, 1115 V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
1116}; 1116};
1117#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+4) 1117#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+4)
1118enum <link linkend="v4l2-mpeg-cx2341x-video-temporal-filter-mode">v4l2_mpeg_cx2341x_video_temporal_filter_mode</link> { 1118enum <link linkend="v4l2-mpeg-cx2341x-video-temporal-filter-mode">v4l2_mpeg_cx2341x_video_temporal_filter_mode</link> {
1119 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0, 1119 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0,
1120 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1, 1120 V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1,
1121}; 1121};
1122#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+5) 1122#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+5)
1123#define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+6) 1123#define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+6)
1124enum <link linkend="v4l2-mpeg-cx2341x-video-median-filter-type">v4l2_mpeg_cx2341x_video_median_filter_type</link> { 1124enum <link linkend="v4l2-mpeg-cx2341x-video-median-filter-type">v4l2_mpeg_cx2341x_video_median_filter_type</link> {
1125 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0, 1125 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0,
1126 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1, 1126 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1,
1127 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT = 2, 1127 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT = 2,
1128 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3, 1128 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3,
1129 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4, 1129 V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4,
1130}; 1130};
1131#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+7) 1131#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+7)
1132#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8) 1132#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8)
@@ -1140,10 +1140,10 @@ enum <link linkend="v4l2-mpeg-cx2341x-video-median-filter-type">v4l2_mpeg_cx2341
1140 1140
1141#define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1) 1141#define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1)
1142enum <link linkend="v4l2-exposure-auto-type">v4l2_exposure_auto_type</link> { 1142enum <link linkend="v4l2-exposure-auto-type">v4l2_exposure_auto_type</link> {
1143 V4L2_EXPOSURE_AUTO = 0, 1143 V4L2_EXPOSURE_AUTO = 0,
1144 V4L2_EXPOSURE_MANUAL = 1, 1144 V4L2_EXPOSURE_MANUAL = 1,
1145 V4L2_EXPOSURE_SHUTTER_PRIORITY = 2, 1145 V4L2_EXPOSURE_SHUTTER_PRIORITY = 2,
1146 V4L2_EXPOSURE_APERTURE_PRIORITY = 3 1146 V4L2_EXPOSURE_APERTURE_PRIORITY = 3
1147}; 1147};
1148#define V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+2) 1148#define V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+2)
1149#define V4L2_CID_EXPOSURE_AUTO_PRIORITY (V4L2_CID_CAMERA_CLASS_BASE+3) 1149#define V4L2_CID_EXPOSURE_AUTO_PRIORITY (V4L2_CID_CAMERA_CLASS_BASE+3)
@@ -1192,9 +1192,9 @@ enum <link linkend="v4l2-exposure-auto-type">v4l2_exposure_auto_type</link> {
1192 1192
1193#define V4L2_CID_TUNE_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 112) 1193#define V4L2_CID_TUNE_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 112)
1194enum <link linkend="v4l2-preemphasis">v4l2_preemphasis</link> { 1194enum <link linkend="v4l2-preemphasis">v4l2_preemphasis</link> {
1195 V4L2_PREEMPHASIS_DISABLED = 0, 1195 V4L2_PREEMPHASIS_DISABLED = 0,
1196 V4L2_PREEMPHASIS_50_uS = 1, 1196 V4L2_PREEMPHASIS_50_uS = 1,
1197 V4L2_PREEMPHASIS_75_uS = 2, 1197 V4L2_PREEMPHASIS_75_uS = 2,
1198}; 1198};
1199#define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113) 1199#define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113)
1200#define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114) 1200#define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114)
@@ -1203,27 +1203,27 @@ enum <link linkend="v4l2-preemphasis">v4l2_preemphasis</link> {
1203 * T U N I N G 1203 * T U N I N G
1204 */ 1204 */
1205struct <link linkend="v4l2-tuner">v4l2_tuner</link> { 1205struct <link linkend="v4l2-tuner">v4l2_tuner</link> {
1206 __u32 index; 1206 __u32 index;
1207 __u8 name[32]; 1207 __u8 name[32];
1208 enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> type; 1208 enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> type;
1209 __u32 capability; 1209 __u32 capability;
1210 __u32 rangelow; 1210 __u32 rangelow;
1211 __u32 rangehigh; 1211 __u32 rangehigh;
1212 __u32 rxsubchans; 1212 __u32 rxsubchans;
1213 __u32 audmode; 1213 __u32 audmode;
1214 __s32 signal; 1214 __s32 signal;
1215 __s32 afc; 1215 __s32 afc;
1216 __u32 reserved[4]; 1216 __u32 reserved[4];
1217}; 1217};
1218 1218
1219struct <link linkend="v4l2-modulator">v4l2_modulator</link> { 1219struct <link linkend="v4l2-modulator">v4l2_modulator</link> {
1220 __u32 index; 1220 __u32 index;
1221 __u8 name[32]; 1221 __u8 name[32];
1222 __u32 capability; 1222 __u32 capability;
1223 __u32 rangelow; 1223 __u32 rangelow;
1224 __u32 rangehigh; 1224 __u32 rangehigh;
1225 __u32 txsubchans; 1225 __u32 txsubchans;
1226 __u32 reserved[4]; 1226 __u32 reserved[4];
1227}; 1227};
1228 1228
1229/* Flags for the 'capability' field */ 1229/* Flags for the 'capability' field */
@@ -1252,18 +1252,18 @@ struct <link linkend="v4l2-modulator">v4l2_modulator</link> {
1252#define V4L2_TUNER_MODE_LANG1_LANG2 0x0004 1252#define V4L2_TUNER_MODE_LANG1_LANG2 0x0004
1253 1253
1254struct <link linkend="v4l2-frequency">v4l2_frequency</link> { 1254struct <link linkend="v4l2-frequency">v4l2_frequency</link> {
1255 __u32 tuner; 1255 __u32 tuner;
1256 enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> type; 1256 enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> type;
1257 __u32 frequency; 1257 __u32 frequency;
1258 __u32 reserved[8]; 1258 __u32 reserved[8];
1259}; 1259};
1260 1260
1261struct <link linkend="v4l2-hw-freq-seek">v4l2_hw_freq_seek</link> { 1261struct <link linkend="v4l2-hw-freq-seek">v4l2_hw_freq_seek</link> {
1262 __u32 tuner; 1262 __u32 tuner;
1263 enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> type; 1263 enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> type;
1264 __u32 seek_upward; 1264 __u32 seek_upward;
1265 __u32 wrap_around; 1265 __u32 wrap_around;
1266 __u32 reserved[8]; 1266 __u32 reserved[8];
1267}; 1267};
1268 1268
1269/* 1269/*
@@ -1271,9 +1271,9 @@ struct <link linkend="v4l2-hw-freq-seek">v4l2_hw_freq_seek</link> {
1271 */ 1271 */
1272 1272
1273struct <link linkend="v4l2-rds-data">v4l2_rds_data</link> { 1273struct <link linkend="v4l2-rds-data">v4l2_rds_data</link> {
1274 __u8 lsb; 1274 __u8 lsb;
1275 __u8 msb; 1275 __u8 msb;
1276 __u8 block; 1276 __u8 block;
1277} __attribute__ ((packed)); 1277} __attribute__ ((packed));
1278 1278
1279#define V4L2_RDS_BLOCK_MSK 0x7 1279#define V4L2_RDS_BLOCK_MSK 0x7
@@ -1291,11 +1291,11 @@ struct <link linkend="v4l2-rds-data">v4l2_rds_data</link> {
1291 * A U D I O 1291 * A U D I O
1292 */ 1292 */
1293struct <link linkend="v4l2-audio">v4l2_audio</link> { 1293struct <link linkend="v4l2-audio">v4l2_audio</link> {
1294 __u32 index; 1294 __u32 index;
1295 __u8 name[32]; 1295 __u8 name[32];
1296 __u32 capability; 1296 __u32 capability;
1297 __u32 mode; 1297 __u32 mode;
1298 __u32 reserved[2]; 1298 __u32 reserved[2];
1299}; 1299};
1300 1300
1301/* Flags for the 'capability' field */ 1301/* Flags for the 'capability' field */
@@ -1306,11 +1306,11 @@ struct <link linkend="v4l2-audio">v4l2_audio</link> {
1306#define V4L2_AUDMODE_AVL 0x00001 1306#define V4L2_AUDMODE_AVL 0x00001
1307 1307
1308struct <link linkend="v4l2-audioout">v4l2_audioout</link> { 1308struct <link linkend="v4l2-audioout">v4l2_audioout</link> {
1309 __u32 index; 1309 __u32 index;
1310 __u8 name[32]; 1310 __u8 name[32];
1311 __u32 capability; 1311 __u32 capability;
1312 __u32 mode; 1312 __u32 mode;
1313 __u32 reserved[2]; 1313 __u32 reserved[2];
1314}; 1314};
1315 1315
1316/* 1316/*
@@ -1325,19 +1325,19 @@ struct <link linkend="v4l2-audioout">v4l2_audioout</link> {
1325#define V4L2_ENC_IDX_FRAME_MASK (0xf) 1325#define V4L2_ENC_IDX_FRAME_MASK (0xf)
1326 1326
1327struct <link linkend="v4l2-enc-idx-entry">v4l2_enc_idx_entry</link> { 1327struct <link linkend="v4l2-enc-idx-entry">v4l2_enc_idx_entry</link> {
1328 __u64 offset; 1328 __u64 offset;
1329 __u64 pts; 1329 __u64 pts;
1330 __u32 length; 1330 __u32 length;
1331 __u32 flags; 1331 __u32 flags;
1332 __u32 reserved[2]; 1332 __u32 reserved[2];
1333}; 1333};
1334 1334
1335#define V4L2_ENC_IDX_ENTRIES (64) 1335#define V4L2_ENC_IDX_ENTRIES (64)
1336struct <link linkend="v4l2-enc-idx">v4l2_enc_idx</link> { 1336struct <link linkend="v4l2-enc-idx">v4l2_enc_idx</link> {
1337 __u32 entries; 1337 __u32 entries;
1338 __u32 entries_cap; 1338 __u32 entries_cap;
1339 __u32 reserved[4]; 1339 __u32 reserved[4];
1340 struct <link linkend="v4l2-enc-idx-entry">v4l2_enc_idx_entry</link> entry[V4L2_ENC_IDX_ENTRIES]; 1340 struct <link linkend="v4l2-enc-idx-entry">v4l2_enc_idx_entry</link> entry[V4L2_ENC_IDX_ENTRIES];
1341}; 1341};
1342 1342
1343 1343
@@ -1350,13 +1350,13 @@ struct <link linkend="v4l2-enc-idx">v4l2_enc_idx</link> {
1350#define V4L2_ENC_CMD_STOP_AT_GOP_END (1 &lt;&lt; 0) 1350#define V4L2_ENC_CMD_STOP_AT_GOP_END (1 &lt;&lt; 0)
1351 1351
1352struct <link linkend="v4l2-encoder-cmd">v4l2_encoder_cmd</link> { 1352struct <link linkend="v4l2-encoder-cmd">v4l2_encoder_cmd</link> {
1353 __u32 cmd; 1353 __u32 cmd;
1354 __u32 flags; 1354 __u32 flags;
1355 union { 1355 union {
1356 struct { 1356 struct {
1357 __u32 data[8]; 1357 __u32 data[8];
1358 } raw; 1358 } raw;
1359 }; 1359 };
1360}; 1360};
1361 1361
1362#endif 1362#endif
@@ -1370,14 +1370,14 @@ struct <link linkend="v4l2-encoder-cmd">v4l2_encoder_cmd</link> {
1370 1370
1371/* Raw VBI */ 1371/* Raw VBI */
1372struct <link linkend="v4l2-vbi-format">v4l2_vbi_format</link> { 1372struct <link linkend="v4l2-vbi-format">v4l2_vbi_format</link> {
1373 __u32 sampling_rate; /* in 1 Hz */ 1373 __u32 sampling_rate; /* in 1 Hz */
1374 __u32 offset; 1374 __u32 offset;
1375 __u32 samples_per_line; 1375 __u32 samples_per_line;
1376 __u32 sample_format; /* V4L2_PIX_FMT_* */ 1376 __u32 sample_format; /* V4L2_PIX_FMT_* */
1377 __s32 start[2]; 1377 __s32 start[2];
1378 __u32 count[2]; 1378 __u32 count[2];
1379 __u32 flags; /* V4L2_VBI_* */ 1379 __u32 flags; /* V4L2_VBI_* */
1380 __u32 reserved[2]; /* must be zero */ 1380 __u32 reserved[2]; /* must be zero */
1381}; 1381};
1382 1382
1383/* VBI flags */ 1383/* VBI flags */
@@ -1392,14 +1392,14 @@ struct <link linkend="v4l2-vbi-format">v4l2_vbi_format</link> {
1392 */ 1392 */
1393 1393
1394struct <link linkend="v4l2-sliced-vbi-format">v4l2_sliced_vbi_format</link> { 1394struct <link linkend="v4l2-sliced-vbi-format">v4l2_sliced_vbi_format</link> {
1395 __u16 service_set; 1395 __u16 service_set;
1396 /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field 1396 /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field
1397 service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field 1397 service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field
1398 (equals frame lines 313-336 for 625 line video 1398 (equals frame lines 313-336 for 625 line video
1399 standards, 263-286 for 525 line standards) */ 1399 standards, 263-286 for 525 line standards) */
1400 __u16 service_lines[2][24]; 1400 __u16 service_lines[2][24];
1401 __u32 io_size; 1401 __u32 io_size;
1402 __u32 reserved[2]; /* must be zero */ 1402 __u32 reserved[2]; /* must be zero */
1403}; 1403};
1404 1404
1405/* Teletext World System Teletext 1405/* Teletext World System Teletext
@@ -1416,22 +1416,22 @@ struct <link linkend="v4l2-sliced-vbi-format">v4l2_sliced_vbi_format</link> {
1416#define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625) 1416#define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625)
1417 1417
1418struct <link linkend="v4l2-sliced-vbi-cap">v4l2_sliced_vbi_cap</link> { 1418struct <link linkend="v4l2-sliced-vbi-cap">v4l2_sliced_vbi_cap</link> {
1419 __u16 service_set; 1419 __u16 service_set;
1420 /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field 1420 /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field
1421 service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field 1421 service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field
1422 (equals frame lines 313-336 for 625 line video 1422 (equals frame lines 313-336 for 625 line video
1423 standards, 263-286 for 525 line standards) */ 1423 standards, 263-286 for 525 line standards) */
1424 __u16 service_lines[2][24]; 1424 __u16 service_lines[2][24];
1425 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; 1425 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
1426 __u32 reserved[3]; /* must be 0 */ 1426 __u32 reserved[3]; /* must be 0 */
1427}; 1427};
1428 1428
1429struct <link linkend="v4l2-sliced-vbi-data">v4l2_sliced_vbi_data</link> { 1429struct <link linkend="v4l2-sliced-vbi-data">v4l2_sliced_vbi_data</link> {
1430 __u32 id; 1430 __u32 id;
1431 __u32 field; /* 0: first field, 1: second field */ 1431 __u32 field; /* 0: first field, 1: second field */
1432 __u32 line; /* 1-23 */ 1432 __u32 line; /* 1-23 */
1433 __u32 reserved; /* must be 0 */ 1433 __u32 reserved; /* must be 0 */
1434 __u8 data[48]; 1434 __u8 data[48];
1435}; 1435};
1436 1436
1437/* 1437/*
@@ -1457,28 +1457,28 @@ struct <link linkend="v4l2-sliced-vbi-data">v4l2_sliced_vbi_data</link> {
1457#define V4L2_MPEG_VBI_IVTV_VPS (7) 1457#define V4L2_MPEG_VBI_IVTV_VPS (7)
1458 1458
1459struct <link linkend="v4l2-mpeg-vbi-itv0-line">v4l2_mpeg_vbi_itv0_line</link> { 1459struct <link linkend="v4l2-mpeg-vbi-itv0-line">v4l2_mpeg_vbi_itv0_line</link> {
1460 __u8 id; /* One of V4L2_MPEG_VBI_IVTV_* above */ 1460 __u8 id; /* One of V4L2_MPEG_VBI_IVTV_* above */
1461 __u8 data[42]; /* Sliced VBI data for the line */ 1461 __u8 data[42]; /* Sliced VBI data for the line */
1462} __attribute__ ((packed)); 1462} __attribute__ ((packed));
1463 1463
1464struct <link linkend="v4l2-mpeg-vbi-itv0">v4l2_mpeg_vbi_itv0</link> { 1464struct <link linkend="v4l2-mpeg-vbi-itv0">v4l2_mpeg_vbi_itv0</link> {
1465 __le32 linemask[2]; /* Bitmasks of VBI service lines present */ 1465 __le32 linemask[2]; /* Bitmasks of VBI service lines present */
1466 struct <link linkend="v4l2-mpeg-vbi-itv0-line">v4l2_mpeg_vbi_itv0_line</link> line[35]; 1466 struct <link linkend="v4l2-mpeg-vbi-itv0-line">v4l2_mpeg_vbi_itv0_line</link> line[35];
1467} __attribute__ ((packed)); 1467} __attribute__ ((packed));
1468 1468
1469struct <link linkend="v4l2-mpeg-vbi-itv0-1">v4l2_mpeg_vbi_ITV0</link> { 1469struct <link linkend="v4l2-mpeg-vbi-itv0-1">v4l2_mpeg_vbi_ITV0</link> {
1470 struct <link linkend="v4l2-mpeg-vbi-itv0-line">v4l2_mpeg_vbi_itv0_line</link> line[36]; 1470 struct <link linkend="v4l2-mpeg-vbi-itv0-line">v4l2_mpeg_vbi_itv0_line</link> line[36];
1471} __attribute__ ((packed)); 1471} __attribute__ ((packed));
1472 1472
1473#define V4L2_MPEG_VBI_IVTV_MAGIC0 "itv0" 1473#define V4L2_MPEG_VBI_IVTV_MAGIC0 "itv0"
1474#define V4L2_MPEG_VBI_IVTV_MAGIC1 "ITV0" 1474#define V4L2_MPEG_VBI_IVTV_MAGIC1 "ITV0"
1475 1475
1476struct <link linkend="v4l2-mpeg-vbi-fmt-ivtv">v4l2_mpeg_vbi_fmt_ivtv</link> { 1476struct <link linkend="v4l2-mpeg-vbi-fmt-ivtv">v4l2_mpeg_vbi_fmt_ivtv</link> {
1477 __u8 magic[4]; 1477 __u8 magic[4];
1478 union { 1478 union {
1479 struct <link linkend="v4l2-mpeg-vbi-itv0">v4l2_mpeg_vbi_itv0</link> itv0; 1479 struct <link linkend="v4l2-mpeg-vbi-itv0">v4l2_mpeg_vbi_itv0</link> itv0;
1480 struct <link linkend="v4l2-mpeg-vbi-itv0-1">v4l2_mpeg_vbi_ITV0</link> ITV0; 1480 struct <link linkend="v4l2-mpeg-vbi-itv0-1">v4l2_mpeg_vbi_ITV0</link> ITV0;
1481 }; 1481 };
1482} __attribute__ ((packed)); 1482} __attribute__ ((packed));
1483 1483
1484/* 1484/*
@@ -1488,26 +1488,26 @@ struct <link linkend="v4l2-mpeg-vbi-fmt-ivtv">v4l2_mpeg_vbi_fmt_ivtv</link> {
1488/* Stream data format 1488/* Stream data format
1489 */ 1489 */
1490struct <link linkend="v4l2-format">v4l2_format</link> { 1490struct <link linkend="v4l2-format">v4l2_format</link> {
1491 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; 1491 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
1492 union { 1492 union {
1493 struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> pix; /* V4L2_BUF_TYPE_VIDEO_CAPTURE */ 1493 struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> pix; /* V4L2_BUF_TYPE_VIDEO_CAPTURE */
1494 struct <link linkend="v4l2-window">v4l2_window</link> win; /* V4L2_BUF_TYPE_VIDEO_OVERLAY */ 1494 struct <link linkend="v4l2-window">v4l2_window</link> win; /* V4L2_BUF_TYPE_VIDEO_OVERLAY */
1495 struct <link linkend="v4l2-vbi-format">v4l2_vbi_format</link> vbi; /* V4L2_BUF_TYPE_VBI_CAPTURE */ 1495 struct <link linkend="v4l2-vbi-format">v4l2_vbi_format</link> vbi; /* V4L2_BUF_TYPE_VBI_CAPTURE */
1496 struct <link linkend="v4l2-sliced-vbi-format">v4l2_sliced_vbi_format</link> sliced; /* V4L2_BUF_TYPE_SLICED_VBI_CAPTURE */ 1496 struct <link linkend="v4l2-sliced-vbi-format">v4l2_sliced_vbi_format</link> sliced; /* V4L2_BUF_TYPE_SLICED_VBI_CAPTURE */
1497 __u8 raw_data[200]; /* user-defined */ 1497 __u8 raw_data[200]; /* user-defined */
1498 } fmt; 1498 } fmt;
1499}; 1499};
1500 1500
1501 1501
1502/* Stream type-dependent parameters 1502/* Stream type-dependent parameters
1503 */ 1503 */
1504struct <link linkend="v4l2-streamparm">v4l2_streamparm</link> { 1504struct <link linkend="v4l2-streamparm">v4l2_streamparm</link> {
1505 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; 1505 enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
1506 union { 1506 union {
1507 struct <link linkend="v4l2-captureparm">v4l2_captureparm</link> capture; 1507 struct <link linkend="v4l2-captureparm">v4l2_captureparm</link> capture;
1508 struct <link linkend="v4l2-outputparm">v4l2_outputparm</link> output; 1508 struct <link linkend="v4l2-outputparm">v4l2_outputparm</link> output;
1509 __u8 raw_data[200]; /* user-defined */ 1509 __u8 raw_data[200]; /* user-defined */
1510 } parm; 1510 } parm;
1511}; 1511};
1512 1512
1513/* 1513/*
@@ -1525,25 +1525,25 @@ struct <link linkend="v4l2-streamparm">v4l2_streamparm</link> {
1525#define V4L2_CHIP_MATCH_AC97 3 /* Match against anciliary AC97 chip */ 1525#define V4L2_CHIP_MATCH_AC97 3 /* Match against anciliary AC97 chip */
1526 1526
1527struct <link linkend="v4l2-dbg-match">v4l2_dbg_match</link> { 1527struct <link linkend="v4l2-dbg-match">v4l2_dbg_match</link> {
1528 __u32 type; /* Match type */ 1528 __u32 type; /* Match type */
1529 union { /* Match this chip, meaning determined by type */ 1529 union { /* Match this chip, meaning determined by type */
1530 __u32 addr; 1530 __u32 addr;
1531 char name[32]; 1531 char name[32];
1532 }; 1532 };
1533} __attribute__ ((packed)); 1533} __attribute__ ((packed));
1534 1534
1535struct <link linkend="v4l2-dbg-register">v4l2_dbg_register</link> { 1535struct <link linkend="v4l2-dbg-register">v4l2_dbg_register</link> {
1536 struct <link linkend="v4l2-dbg-match">v4l2_dbg_match</link> match; 1536 struct <link linkend="v4l2-dbg-match">v4l2_dbg_match</link> match;
1537 __u32 size; /* register size in bytes */ 1537 __u32 size; /* register size in bytes */
1538 __u64 reg; 1538 __u64 reg;
1539 __u64 val; 1539 __u64 val;
1540} __attribute__ ((packed)); 1540} __attribute__ ((packed));
1541 1541
1542/* VIDIOC_DBG_G_CHIP_IDENT */ 1542/* VIDIOC_DBG_G_CHIP_IDENT */
1543struct <link linkend="v4l2-dbg-chip-ident">v4l2_dbg_chip_ident</link> { 1543struct <link linkend="v4l2-dbg-chip-ident">v4l2_dbg_chip_ident</link> {
1544 struct <link linkend="v4l2-dbg-match">v4l2_dbg_match</link> match; 1544 struct <link linkend="v4l2-dbg-match">v4l2_dbg_match</link> match;
1545 __u32 ident; /* chip identifier as specified in &lt;media/v4l2-chip-ident.h&gt; */ 1545 __u32 ident; /* chip identifier as specified in &lt;media/v4l2-chip-ident.h&gt; */
1546 __u32 revision; /* chip revision, chip specific */ 1546 __u32 revision; /* chip revision, chip specific */
1547} __attribute__ ((packed)); 1547} __attribute__ ((packed));
1548 1548
1549/* 1549/*