diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-21 14:10:30 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-21 14:10:30 -0500 |
commit | e695e10bc996d6f83df7d85f1011c8d00573f68b (patch) | |
tree | 3d0ba107ea8fe7d0090e3cfd5e36cdb4abcaab99 /include/linux | |
parent | 3a5f10e3708e00c406f154bae412652ec3eb2b48 (diff) | |
parent | f6982d59480953a8f5a84c237a9dabff39f788ce (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (196 commits)
V4L/DVB (5253): Qt1010: whitespace / 80 column cleanups
V4L/DVB (5252): Qt1010: use ARRAY_SIZE macro when appropriate
V4L/DVB (5251): Qt1010: fix compiler warning
V4L/DVB (5249): Fix compiler warning in vivi.c
V4L/DVB (5247): Stv0297: Enable BER/UNC counting
V4L/DVB (5246): Budget-ci: IR handling fixups
V4L/DVB (5245): Dvb-ttpci: use i2c gate ctrl from stv0297 frontend driver
V4L/DVB (5244): Dvbdev: fix illegal re-usage of fileoperations struct
V4L/DVB (5178): Avoid race when deregistering the IR control for dvb-usb
V4L/DVB (5240): Qt1010: use i2c_gate_ctrl where appropriate
V4L/DVB (5239): Whitespace / 80-column cleanups
V4L/DVB (5238): Kconfig: qt1010 should be selected by gl861 and au6610
V4L/DVB (5237): Dvb: add new qt1010 tuner module
V4L/DVB (5236): Initial support for Sigmatek DVB-110 DVB-T
V4L/DVB (5235): Gl861: use parallel_ts
V4L/DVB (5234): Gl861: remove unneeded declaration
V4L/DVB (5233): Gl861: correct address of the bulk endpoint
V4L/DVB (5232): Gl861: correct oops when loading module
V4L/DVB (5231): Gl861: whitespace cleanups
V4L/DVB (5230): Gl861: remove NULL entry from gl861_properties
...
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/videodev2.h | 71 |
1 files changed, 57 insertions, 14 deletions
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index d94e2683be52..65a165f918c9 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
@@ -1,5 +1,45 @@ | |||
1 | /* | 1 | /* |
2 | * Video for Linux Two | 2 | * Video for Linux Two header file |
3 | * | ||
4 | * Copyright (C) 1999-2007 the contributors | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * Alternatively you can redistribute this file under the terms of the | ||
17 | * BSD license as stated below: | ||
18 | * | ||
19 | * Redistribution and use in source and binary forms, with or without | ||
20 | * modification, are permitted provided that the following conditions | ||
21 | * are met: | ||
22 | * 1. Redistributions of source code must retain the above copyright | ||
23 | * notice, this list of conditions and the following disclaimer. | ||
24 | * 2. Redistributions in binary form must reproduce the above copyright | ||
25 | * notice, this list of conditions and the following disclaimer in | ||
26 | * the documentation and/or other materials provided with the | ||
27 | * distribution. | ||
28 | * 3. The names of its contributors may not be used to endorse or promote | ||
29 | * products derived from this software without specific prior written | ||
30 | * permission. | ||
31 | * | ||
32 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
33 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
34 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
35 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
36 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
37 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | ||
38 | * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | ||
39 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
40 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
41 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
42 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
3 | * | 43 | * |
4 | * Header file for v4l or V4L2 drivers and applications | 44 | * Header file for v4l or V4L2 drivers and applications |
5 | * with public API. | 45 | * with public API. |
@@ -8,8 +48,9 @@ | |||
8 | * | 48 | * |
9 | * See http://linuxtv.org for more info | 49 | * See http://linuxtv.org for more info |
10 | * | 50 | * |
11 | * Author: Bill Dirks <bdirks@pacbell.net> | 51 | * Author: Bill Dirks <bill@thedirks.org> |
12 | * Justin Schoeman | 52 | * Justin Schoeman |
53 | * Hans Verkuil <hverkuil@xs4all.nl> | ||
13 | * et al. | 54 | * et al. |
14 | */ | 55 | */ |
15 | #ifndef __LINUX_VIDEODEV2_H | 56 | #ifndef __LINUX_VIDEODEV2_H |
@@ -90,11 +131,8 @@ enum v4l2_buf_type { | |||
90 | V4L2_BUF_TYPE_VIDEO_OVERLAY = 3, | 131 | V4L2_BUF_TYPE_VIDEO_OVERLAY = 3, |
91 | V4L2_BUF_TYPE_VBI_CAPTURE = 4, | 132 | V4L2_BUF_TYPE_VBI_CAPTURE = 4, |
92 | V4L2_BUF_TYPE_VBI_OUTPUT = 5, | 133 | V4L2_BUF_TYPE_VBI_OUTPUT = 5, |
93 | #if 1 | ||
94 | /* Experimental Sliced VBI */ | ||
95 | V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6, | 134 | V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6, |
96 | V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7, | 135 | V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7, |
97 | #endif | ||
98 | V4L2_BUF_TYPE_PRIVATE = 0x80, | 136 | V4L2_BUF_TYPE_PRIVATE = 0x80, |
99 | }; | 137 | }; |
100 | 138 | ||
@@ -186,10 +224,8 @@ struct v4l2_capability | |||
186 | #define V4L2_CAP_VIDEO_OVERLAY 0x00000004 /* Can do video overlay */ | 224 | #define V4L2_CAP_VIDEO_OVERLAY 0x00000004 /* Can do video overlay */ |
187 | #define V4L2_CAP_VBI_CAPTURE 0x00000010 /* Is a raw VBI capture device */ | 225 | #define V4L2_CAP_VBI_CAPTURE 0x00000010 /* Is a raw VBI capture device */ |
188 | #define V4L2_CAP_VBI_OUTPUT 0x00000020 /* Is a raw VBI output device */ | 226 | #define V4L2_CAP_VBI_OUTPUT 0x00000020 /* Is a raw VBI output device */ |
189 | #if 1 | ||
190 | #define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040 /* Is a sliced VBI capture device */ | 227 | #define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040 /* Is a sliced VBI capture device */ |
191 | #define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */ | 228 | #define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */ |
192 | #endif | ||
193 | #define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */ | 229 | #define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */ |
194 | 230 | ||
195 | #define V4L2_CAP_TUNER 0x00010000 /* has a tuner */ | 231 | #define V4L2_CAP_TUNER 0x00010000 /* has a tuner */ |
@@ -1179,7 +1215,6 @@ struct v4l2_vbi_format | |||
1179 | #define V4L2_VBI_UNSYNC (1<< 0) | 1215 | #define V4L2_VBI_UNSYNC (1<< 0) |
1180 | #define V4L2_VBI_INTERLACED (1<< 1) | 1216 | #define V4L2_VBI_INTERLACED (1<< 1) |
1181 | 1217 | ||
1182 | #if 1 | ||
1183 | /* Sliced VBI | 1218 | /* Sliced VBI |
1184 | * | 1219 | * |
1185 | * This implements is a proposal V4L2 API to allow SLICED VBI | 1220 | * This implements is a proposal V4L2 API to allow SLICED VBI |
@@ -1212,7 +1247,6 @@ struct v4l2_sliced_vbi_format | |||
1212 | #define V4L2_SLICED_VBI_525 (V4L2_SLICED_CAPTION_525) | 1247 | #define V4L2_SLICED_VBI_525 (V4L2_SLICED_CAPTION_525) |
1213 | #define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625) | 1248 | #define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625) |
1214 | 1249 | ||
1215 | |||
1216 | struct v4l2_sliced_vbi_cap | 1250 | struct v4l2_sliced_vbi_cap |
1217 | { | 1251 | { |
1218 | __u16 service_set; | 1252 | __u16 service_set; |
@@ -1233,7 +1267,6 @@ struct v4l2_sliced_vbi_data | |||
1233 | __u32 reserved; /* must be 0 */ | 1267 | __u32 reserved; /* must be 0 */ |
1234 | __u8 data[48]; | 1268 | __u8 data[48]; |
1235 | }; | 1269 | }; |
1236 | #endif | ||
1237 | 1270 | ||
1238 | /* | 1271 | /* |
1239 | * A G G R E G A T E S T R U C T U R E S | 1272 | * A G G R E G A T E S T R U C T U R E S |
@@ -1249,9 +1282,7 @@ struct v4l2_format | |||
1249 | struct v4l2_pix_format pix; // V4L2_BUF_TYPE_VIDEO_CAPTURE | 1282 | struct v4l2_pix_format pix; // V4L2_BUF_TYPE_VIDEO_CAPTURE |
1250 | struct v4l2_window win; // V4L2_BUF_TYPE_VIDEO_OVERLAY | 1283 | struct v4l2_window win; // V4L2_BUF_TYPE_VIDEO_OVERLAY |
1251 | struct v4l2_vbi_format vbi; // V4L2_BUF_TYPE_VBI_CAPTURE | 1284 | struct v4l2_vbi_format vbi; // V4L2_BUF_TYPE_VBI_CAPTURE |
1252 | #if 1 | ||
1253 | struct v4l2_sliced_vbi_format sliced; // V4L2_BUF_TYPE_SLICED_VBI_CAPTURE | 1285 | struct v4l2_sliced_vbi_format sliced; // V4L2_BUF_TYPE_SLICED_VBI_CAPTURE |
1254 | #endif | ||
1255 | __u8 raw_data[200]; // user-defined | 1286 | __u8 raw_data[200]; // user-defined |
1256 | } fmt; | 1287 | } fmt; |
1257 | }; | 1288 | }; |
@@ -1271,6 +1302,17 @@ struct v4l2_streamparm | |||
1271 | }; | 1302 | }; |
1272 | 1303 | ||
1273 | /* | 1304 | /* |
1305 | * A D V A N C E D D E B U G G I N G | ||
1306 | */ | ||
1307 | |||
1308 | /* VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER */ | ||
1309 | struct v4l2_register { | ||
1310 | __u64 reg; | ||
1311 | __u32 i2c_id; /* I2C driver ID of the I2C chip, or 0 for the host */ | ||
1312 | __u32 val; | ||
1313 | }; | ||
1314 | |||
1315 | /* | ||
1274 | * I O C T L C O D E S F O R V I D E O D E V I C E S | 1316 | * I O C T L C O D E S F O R V I D E O D E V I C E S |
1275 | * | 1317 | * |
1276 | */ | 1318 | */ |
@@ -1328,9 +1370,7 @@ struct v4l2_streamparm | |||
1328 | #define VIDIOC_ENUMAUDOUT _IOWR ('V', 66, struct v4l2_audioout) | 1370 | #define VIDIOC_ENUMAUDOUT _IOWR ('V', 66, struct v4l2_audioout) |
1329 | #define VIDIOC_G_PRIORITY _IOR ('V', 67, enum v4l2_priority) | 1371 | #define VIDIOC_G_PRIORITY _IOR ('V', 67, enum v4l2_priority) |
1330 | #define VIDIOC_S_PRIORITY _IOW ('V', 68, enum v4l2_priority) | 1372 | #define VIDIOC_S_PRIORITY _IOW ('V', 68, enum v4l2_priority) |
1331 | #if 1 | ||
1332 | #define VIDIOC_G_SLICED_VBI_CAP _IOWR ('V', 69, struct v4l2_sliced_vbi_cap) | 1373 | #define VIDIOC_G_SLICED_VBI_CAP _IOWR ('V', 69, struct v4l2_sliced_vbi_cap) |
1333 | #endif | ||
1334 | #define VIDIOC_LOG_STATUS _IO ('V', 70) | 1374 | #define VIDIOC_LOG_STATUS _IO ('V', 70) |
1335 | #define VIDIOC_G_EXT_CTRLS _IOWR ('V', 71, struct v4l2_ext_controls) | 1375 | #define VIDIOC_G_EXT_CTRLS _IOWR ('V', 71, struct v4l2_ext_controls) |
1336 | #define VIDIOC_S_EXT_CTRLS _IOWR ('V', 72, struct v4l2_ext_controls) | 1376 | #define VIDIOC_S_EXT_CTRLS _IOWR ('V', 72, struct v4l2_ext_controls) |
@@ -1339,6 +1379,9 @@ struct v4l2_streamparm | |||
1339 | #define VIDIOC_ENUM_FRAMESIZES _IOWR ('V', 74, struct v4l2_frmsizeenum) | 1379 | #define VIDIOC_ENUM_FRAMESIZES _IOWR ('V', 74, struct v4l2_frmsizeenum) |
1340 | #define VIDIOC_ENUM_FRAMEINTERVALS _IOWR ('V', 75, struct v4l2_frmivalenum) | 1380 | #define VIDIOC_ENUM_FRAMEINTERVALS _IOWR ('V', 75, struct v4l2_frmivalenum) |
1341 | #endif | 1381 | #endif |
1382 | /* only implemented if CONFIG_VIDEO_ADV_DEBUG is defined */ | ||
1383 | #define VIDIOC_DBG_S_REGISTER _IOW ('d', 100, struct v4l2_register) | ||
1384 | #define VIDIOC_DBG_G_REGISTER _IOWR('d', 101, struct v4l2_register) | ||
1342 | 1385 | ||
1343 | #ifdef __OLD_VIDIOC_ | 1386 | #ifdef __OLD_VIDIOC_ |
1344 | /* for compatibility, will go away some day */ | 1387 | /* for compatibility, will go away some day */ |