aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-21 14:10:30 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-02-21 14:10:30 -0500
commite695e10bc996d6f83df7d85f1011c8d00573f68b (patch)
tree3d0ba107ea8fe7d0090e3cfd5e36cdb4abcaab99 /include/linux
parent3a5f10e3708e00c406f154bae412652ec3eb2b48 (diff)
parentf6982d59480953a8f5a84c237a9dabff39f788ce (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.h71
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
1216struct v4l2_sliced_vbi_cap 1250struct 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 */
1309struct 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 */