aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-03-30 13:09:14 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-03-30 13:09:14 -0400
commitb94d10e7f6fce9af7d5054845511a00575c4b4f5 (patch)
tree8be617e5d9cfc8a1fe232ac2b6454caec7ca466a /include/linux
parentb80e0d271606a0f5b35c85b11f9014ce09cbc415 (diff)
parentfd3a019534e0a9ada11bcc357a8faa9251029cbb (diff)
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (707 commits) V4L/DVB (11316): saa7191: tuner ops wasn't set. V4L/DVB (11315): cx25840: fix 'unused variable' warning. V4L/DVB (11314): au8522: remove unused I2C_DRIVERID V4L/DVB (11313): v4l2-subdev: add enum_framesizes and enum_frameintervals. V4L/DVB (11312): tuner: remove V4L1 code from this driver. V4L/DVB (11311): v4l: replace 'ioctl' references in v4l i2c drivers V4L/DVB (11310): cx18: remove intermediate 'ioctl' step V4L/DVB (11309): cx25840: cleanup: remove intermediate 'ioctl' step V4L/DVB (11308): msp3400: use the V4L2 header since no V4L1 code is there V4L/DVB (11305): cx88: prevent probing rtc and ir devices V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed. V4L/DVB (11303): tda7432: remove legacy code for old-style i2c API V4L/DVB (11302): tda9875: remove legacy code for old-style i2c API V4L/DVB (11301): wm8775: remove legacy code for old-style i2c API V4L/DVB (11300): cx88: convert to v4l2_subdev. V4L/DVB (11298): cx25840: remove legacy code for old-style i2c API V4L/DVB (11297): cx23885: convert to v4l2_subdev. V4L/DVB (11296): cx23885: bugfix error message if firmware is not found V4L/DVB (11295): cx23885: convert to v4l2_device. V4L/DVB (11293): uvcvideo: Add zero fill for VIDIOC_ENUM_FMT ...
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/Kbuild2
-rw-r--r--include/linux/i2c-id.h2
-rw-r--r--include/linux/ivtv.h10
-rw-r--r--include/linux/video_decoder.h48
-rw-r--r--include/linux/video_encoder.h23
-rw-r--r--include/linux/videodev.h18
-rw-r--r--include/linux/videodev2.h69
7 files changed, 83 insertions, 89 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index e9581fd9fb66..a67b6227d272 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -158,8 +158,6 @@ header-y += ultrasound.h
158header-y += un.h 158header-y += un.h
159header-y += utime.h 159header-y += utime.h
160header-y += veth.h 160header-y += veth.h
161header-y += video_decoder.h
162header-y += video_encoder.h
163header-y += videotext.h 161header-y += videotext.h
164header-y += x25.h 162header-y += x25.h
165 163
diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h
index 1ffc23bc5d1e..f27604af8378 100644
--- a/include/linux/i2c-id.h
+++ b/include/linux/i2c-id.h
@@ -71,6 +71,7 @@
71#define I2C_DRIVERID_VP27SMPX 93 /* Panasonic VP27s tuner internal MPX */ 71#define I2C_DRIVERID_VP27SMPX 93 /* Panasonic VP27s tuner internal MPX */
72#define I2C_DRIVERID_M52790 95 /* Mitsubishi M52790SP/FP AV switch */ 72#define I2C_DRIVERID_M52790 95 /* Mitsubishi M52790SP/FP AV switch */
73#define I2C_DRIVERID_CS5345 96 /* cs5345 audio processor */ 73#define I2C_DRIVERID_CS5345 96 /* cs5345 audio processor */
74#define I2C_DRIVERID_AU8522 97 /* Auvitek au8522 */
74 75
75#define I2C_DRIVERID_OV7670 1048 /* Omnivision 7670 camera */ 76#define I2C_DRIVERID_OV7670 1048 /* Omnivision 7670 camera */
76 77
@@ -87,6 +88,7 @@
87#define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */ 88#define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */
88#define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */ 89#define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */
89#define I2C_HW_B_AU0828 0x010023 /* auvitek au0828 usb bridge */ 90#define I2C_HW_B_AU0828 0x010023 /* auvitek au0828 usb bridge */
91#define I2C_HW_B_HDPVR 0x010025 /* Hauppauge HD PVR */
90 92
91/* --- SGI adapters */ 93/* --- SGI adapters */
92#define I2C_HW_SGI_VINO 0x160000 94#define I2C_HW_SGI_VINO 0x160000
diff --git a/include/linux/ivtv.h b/include/linux/ivtv.h
index f2720280b9ec..062d20f74322 100644
--- a/include/linux/ivtv.h
+++ b/include/linux/ivtv.h
@@ -60,10 +60,10 @@ struct ivtv_dma_frame {
60 60
61#define IVTV_IOC_DMA_FRAME _IOW ('V', BASE_VIDIOC_PRIVATE+0, struct ivtv_dma_frame) 61#define IVTV_IOC_DMA_FRAME _IOW ('V', BASE_VIDIOC_PRIVATE+0, struct ivtv_dma_frame)
62 62
63/* These are the VBI types as they appear in the embedded VBI private packets. */ 63/* Deprecated defines: applications should use the defines from videodev2.h */
64#define IVTV_SLICED_TYPE_TELETEXT_B (1) 64#define IVTV_SLICED_TYPE_TELETEXT_B V4L2_MPEG_VBI_IVTV_TELETEXT_B
65#define IVTV_SLICED_TYPE_CAPTION_525 (4) 65#define IVTV_SLICED_TYPE_CAPTION_525 V4L2_MPEG_VBI_IVTV_CAPTION_525
66#define IVTV_SLICED_TYPE_WSS_625 (5) 66#define IVTV_SLICED_TYPE_WSS_625 V4L2_MPEG_VBI_IVTV_WSS_625
67#define IVTV_SLICED_TYPE_VPS (7) 67#define IVTV_SLICED_TYPE_VPS V4L2_MPEG_VBI_IVTV_VPS
68 68
69#endif /* _LINUX_IVTV_H */ 69#endif /* _LINUX_IVTV_H */
diff --git a/include/linux/video_decoder.h b/include/linux/video_decoder.h
deleted file mode 100644
index e26c0c86a6ea..000000000000
--- a/include/linux/video_decoder.h
+++ /dev/null
@@ -1,48 +0,0 @@
1#ifndef _LINUX_VIDEO_DECODER_H
2#define _LINUX_VIDEO_DECODER_H
3
4#include <linux/types.h>
5
6#define HAVE_VIDEO_DECODER 1
7
8struct video_decoder_capability { /* this name is too long */
9 __u32 flags;
10#define VIDEO_DECODER_PAL 1 /* can decode PAL signal */
11#define VIDEO_DECODER_NTSC 2 /* can decode NTSC */
12#define VIDEO_DECODER_SECAM 4 /* can decode SECAM */
13#define VIDEO_DECODER_AUTO 8 /* can autosense norm */
14#define VIDEO_DECODER_CCIR 16 /* CCIR-601 pixel rate (720 pixels per line) instead of square pixel rate */
15 int inputs; /* number of inputs */
16 int outputs; /* number of outputs */
17};
18
19/*
20DECODER_GET_STATUS returns the following flags. The only one you need is
21DECODER_STATUS_GOOD, the others are just nice things to know.
22*/
23#define DECODER_STATUS_GOOD 1 /* receiving acceptable input */
24#define DECODER_STATUS_COLOR 2 /* receiving color information */
25#define DECODER_STATUS_PAL 4 /* auto detected */
26#define DECODER_STATUS_NTSC 8 /* auto detected */
27#define DECODER_STATUS_SECAM 16 /* auto detected */
28
29struct video_decoder_init {
30 unsigned char len;
31 const unsigned char *data;
32};
33
34#define DECODER_GET_CAPABILITIES _IOR('d', 1, struct video_decoder_capability)
35#define DECODER_GET_STATUS _IOR('d', 2, int)
36#define DECODER_SET_NORM _IOW('d', 3, int)
37#define DECODER_SET_INPUT _IOW('d', 4, int) /* 0 <= input < #inputs */
38#define DECODER_SET_OUTPUT _IOW('d', 5, int) /* 0 <= output < #outputs */
39#define DECODER_ENABLE_OUTPUT _IOW('d', 6, int) /* boolean output enable control */
40#define DECODER_SET_PICTURE _IOW('d', 7, struct video_picture)
41#define DECODER_SET_GPIO _IOW('d', 8, int) /* switch general purpose pin */
42#define DECODER_INIT _IOW('d', 9, struct video_decoder_init) /* init internal registers at once */
43#define DECODER_SET_VBI_BYPASS _IOW('d', 10, int) /* switch vbi bypass */
44
45#define DECODER_DUMP _IO('d', 192) /* debug hook */
46
47
48#endif
diff --git a/include/linux/video_encoder.h b/include/linux/video_encoder.h
deleted file mode 100644
index b7b6423bbb8a..000000000000
--- a/include/linux/video_encoder.h
+++ /dev/null
@@ -1,23 +0,0 @@
1#ifndef _LINUX_VIDEO_ENCODER_H
2#define _LINUX_VIDEO_ENCODER_H
3
4#include <linux/types.h>
5
6struct video_encoder_capability { /* this name is too long */
7 __u32 flags;
8#define VIDEO_ENCODER_PAL 1 /* can encode PAL signal */
9#define VIDEO_ENCODER_NTSC 2 /* can encode NTSC */
10#define VIDEO_ENCODER_SECAM 4 /* can encode SECAM */
11#define VIDEO_ENCODER_CCIR 16 /* CCIR-601 pixel rate (720 pixels per line) instead of square pixel rate */
12 int inputs; /* number of inputs */
13 int outputs; /* number of outputs */
14};
15
16#define ENCODER_GET_CAPABILITIES _IOR('e', 1, struct video_encoder_capability)
17#define ENCODER_SET_NORM _IOW('e', 2, int)
18#define ENCODER_SET_INPUT _IOW('e', 3, int) /* 0 <= input < #inputs */
19#define ENCODER_SET_OUTPUT _IOW('e', 4, int) /* 0 <= output < #outputs */
20#define ENCODER_ENABLE_OUTPUT _IOW('e', 5, int) /* boolean output enable control */
21
22
23#endif
diff --git a/include/linux/videodev.h b/include/linux/videodev.h
index 837f392fbe97..b19eab140977 100644
--- a/include/linux/videodev.h
+++ b/include/linux/videodev.h
@@ -16,6 +16,23 @@
16#include <linux/ioctl.h> 16#include <linux/ioctl.h>
17#include <linux/videodev2.h> 17#include <linux/videodev2.h>
18 18
19#if defined(__MIN_V4L1) && defined (__KERNEL__)
20
21/*
22 * Used by those V4L2 core functions that need a minimum V4L1 support,
23 * in order to allow V4L1 Compatibilty code compilation.
24 */
25
26struct video_mbuf
27{
28 int size; /* Total memory to map */
29 int frames; /* Frames */
30 int offsets[VIDEO_MAX_FRAME];
31};
32
33#define VIDIOCGMBUF _IOR('v',20, struct video_mbuf) /* Memory map buffer info */
34
35#else
19#if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__) 36#if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__)
20 37
21#define VID_TYPE_CAPTURE 1 /* Can capture */ 38#define VID_TYPE_CAPTURE 1 /* Can capture */
@@ -312,6 +329,7 @@ struct video_code
312#define VID_PLAY_END_MARK 14 329#define VID_PLAY_END_MARK 14
313 330
314#endif /* CONFIG_VIDEO_V4L1_COMPAT */ 331#endif /* CONFIG_VIDEO_V4L1_COMPAT */
332#endif /* __MIN_V4L1 */
315 333
316#endif /* __LINUX_VIDEODEV_H */ 334#endif /* __LINUX_VIDEODEV_H */
317 335
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 5571dbe1c0ad..139d234923cd 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -344,6 +344,8 @@ struct v4l2_pix_format {
344#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */ 344#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */
345#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */ 345#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */
346#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */ 346#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */
347#define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */
348#define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */
347#define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */ 349#define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */
348#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */ 350#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */
349 351
@@ -829,6 +831,7 @@ struct v4l2_querymenu {
829#define V4L2_CTRL_FLAG_UPDATE 0x0008 831#define V4L2_CTRL_FLAG_UPDATE 0x0008
830#define V4L2_CTRL_FLAG_INACTIVE 0x0010 832#define V4L2_CTRL_FLAG_INACTIVE 0x0010
831#define V4L2_CTRL_FLAG_SLIDER 0x0020 833#define V4L2_CTRL_FLAG_SLIDER 0x0020
834#define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040
832 835
833/* Query flag, to be ORed with the control ID */ 836/* Query flag, to be ORed with the control ID */
834#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000 837#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000
@@ -879,8 +882,15 @@ enum v4l2_power_line_frequency {
879#define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28) 882#define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28)
880#define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29) 883#define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29)
881#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30) 884#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30)
885#define V4L2_CID_COLORFX (V4L2_CID_BASE+31)
886enum v4l2_colorfx {
887 V4L2_COLORFX_NONE = 0,
888 V4L2_COLORFX_BW = 1,
889 V4L2_COLORFX_SEPIA = 2,
890};
891
882/* last CID + 1 */ 892/* last CID + 1 */
883#define V4L2_CID_LASTP1 (V4L2_CID_BASE+31) 893#define V4L2_CID_LASTP1 (V4L2_CID_BASE+32)
884 894
885/* MPEG-class control IDs defined by V4L2 */ 895/* MPEG-class control IDs defined by V4L2 */
886#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) 896#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
@@ -1339,6 +1349,53 @@ struct v4l2_sliced_vbi_data {
1339}; 1349};
1340 1350
1341/* 1351/*
1352 * Sliced VBI data inserted into MPEG Streams
1353 */
1354
1355/*
1356 * V4L2_MPEG_STREAM_VBI_FMT_IVTV:
1357 *
1358 * Structure of payload contained in an MPEG 2 Private Stream 1 PES Packet in an
1359 * MPEG-2 Program Pack that contains V4L2_MPEG_STREAM_VBI_FMT_IVTV Sliced VBI
1360 * data
1361 *
1362 * Note, the MPEG-2 Program Pack and Private Stream 1 PES packet header
1363 * definitions are not included here. See the MPEG-2 specifications for details
1364 * on these headers.
1365 */
1366
1367/* Line type IDs */
1368#define V4L2_MPEG_VBI_IVTV_TELETEXT_B (1)
1369#define V4L2_MPEG_VBI_IVTV_CAPTION_525 (4)
1370#define V4L2_MPEG_VBI_IVTV_WSS_625 (5)
1371#define V4L2_MPEG_VBI_IVTV_VPS (7)
1372
1373struct v4l2_mpeg_vbi_itv0_line {
1374 __u8 id; /* One of V4L2_MPEG_VBI_IVTV_* above */
1375 __u8 data[42]; /* Sliced VBI data for the line */
1376} __attribute__ ((packed));
1377
1378struct v4l2_mpeg_vbi_itv0 {
1379 __le32 linemask[2]; /* Bitmasks of VBI service lines present */
1380 struct v4l2_mpeg_vbi_itv0_line line[35];
1381} __attribute__ ((packed));
1382
1383struct v4l2_mpeg_vbi_ITV0 {
1384 struct v4l2_mpeg_vbi_itv0_line line[36];
1385} __attribute__ ((packed));
1386
1387#define V4L2_MPEG_VBI_IVTV_MAGIC0 "itv0"
1388#define V4L2_MPEG_VBI_IVTV_MAGIC1 "ITV0"
1389
1390struct v4l2_mpeg_vbi_fmt_ivtv {
1391 __u8 magic[4];
1392 union {
1393 struct v4l2_mpeg_vbi_itv0 itv0;
1394 struct v4l2_mpeg_vbi_ITV0 ITV0;
1395 };
1396} __attribute__ ((packed));
1397
1398/*
1342 * A G G R E G A T E S T R U C T U R E S 1399 * A G G R E G A T E S T R U C T U R E S
1343 */ 1400 */
1344 1401
@@ -1403,14 +1460,6 @@ struct v4l2_dbg_chip_ident {
1403 __u32 revision; /* chip revision, chip specific */ 1460 __u32 revision; /* chip revision, chip specific */
1404} __attribute__ ((packed)); 1461} __attribute__ ((packed));
1405 1462
1406/* VIDIOC_G_CHIP_IDENT_OLD: Deprecated, do not use */
1407struct v4l2_chip_ident_old {
1408 __u32 match_type; /* Match type */
1409 __u32 match_chip; /* Match this chip, meaning determined by match_type */
1410 __u32 ident; /* chip identifier as specified in <media/v4l2-chip-ident.h> */
1411 __u32 revision; /* chip revision, chip specific */
1412};
1413
1414/* 1463/*
1415 * 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 1464 * 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
1416 * 1465 *
@@ -1488,8 +1537,6 @@ struct v4l2_chip_ident_old {
1488/* Experimental, meant for debugging, testing and internal use. 1537/* Experimental, meant for debugging, testing and internal use.
1489 Never use this ioctl in applications! */ 1538 Never use this ioctl in applications! */
1490#define VIDIOC_DBG_G_CHIP_IDENT _IOWR('V', 81, struct v4l2_dbg_chip_ident) 1539#define VIDIOC_DBG_G_CHIP_IDENT _IOWR('V', 81, struct v4l2_dbg_chip_ident)
1491/* This is deprecated and will go away in 2.6.30 */
1492#define VIDIOC_G_CHIP_IDENT_OLD _IOWR('V', 81, struct v4l2_chip_ident_old)
1493#endif 1540#endif
1494 1541
1495#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek) 1542#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek)