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 ...
This commit is contained in:
@@ -158,8 +158,6 @@ header-y += ultrasound.h
|
||||
header-y += un.h
|
||||
header-y += utime.h
|
||||
header-y += veth.h
|
||||
header-y += video_decoder.h
|
||||
header-y += video_encoder.h
|
||||
header-y += videotext.h
|
||||
header-y += x25.h
|
||||
|
||||
|
@@ -71,6 +71,7 @@
|
||||
#define I2C_DRIVERID_VP27SMPX 93 /* Panasonic VP27s tuner internal MPX */
|
||||
#define I2C_DRIVERID_M52790 95 /* Mitsubishi M52790SP/FP AV switch */
|
||||
#define I2C_DRIVERID_CS5345 96 /* cs5345 audio processor */
|
||||
#define I2C_DRIVERID_AU8522 97 /* Auvitek au8522 */
|
||||
|
||||
#define I2C_DRIVERID_OV7670 1048 /* Omnivision 7670 camera */
|
||||
|
||||
@@ -87,6 +88,7 @@
|
||||
#define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */
|
||||
#define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */
|
||||
#define I2C_HW_B_AU0828 0x010023 /* auvitek au0828 usb bridge */
|
||||
#define I2C_HW_B_HDPVR 0x010025 /* Hauppauge HD PVR */
|
||||
|
||||
/* --- SGI adapters */
|
||||
#define I2C_HW_SGI_VINO 0x160000
|
||||
|
@@ -60,10 +60,10 @@ struct ivtv_dma_frame {
|
||||
|
||||
#define IVTV_IOC_DMA_FRAME _IOW ('V', BASE_VIDIOC_PRIVATE+0, struct ivtv_dma_frame)
|
||||
|
||||
/* These are the VBI types as they appear in the embedded VBI private packets. */
|
||||
#define IVTV_SLICED_TYPE_TELETEXT_B (1)
|
||||
#define IVTV_SLICED_TYPE_CAPTION_525 (4)
|
||||
#define IVTV_SLICED_TYPE_WSS_625 (5)
|
||||
#define IVTV_SLICED_TYPE_VPS (7)
|
||||
/* Deprecated defines: applications should use the defines from videodev2.h */
|
||||
#define IVTV_SLICED_TYPE_TELETEXT_B V4L2_MPEG_VBI_IVTV_TELETEXT_B
|
||||
#define IVTV_SLICED_TYPE_CAPTION_525 V4L2_MPEG_VBI_IVTV_CAPTION_525
|
||||
#define IVTV_SLICED_TYPE_WSS_625 V4L2_MPEG_VBI_IVTV_WSS_625
|
||||
#define IVTV_SLICED_TYPE_VPS V4L2_MPEG_VBI_IVTV_VPS
|
||||
|
||||
#endif /* _LINUX_IVTV_H */
|
||||
|
@@ -1,48 +0,0 @@
|
||||
#ifndef _LINUX_VIDEO_DECODER_H
|
||||
#define _LINUX_VIDEO_DECODER_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define HAVE_VIDEO_DECODER 1
|
||||
|
||||
struct video_decoder_capability { /* this name is too long */
|
||||
__u32 flags;
|
||||
#define VIDEO_DECODER_PAL 1 /* can decode PAL signal */
|
||||
#define VIDEO_DECODER_NTSC 2 /* can decode NTSC */
|
||||
#define VIDEO_DECODER_SECAM 4 /* can decode SECAM */
|
||||
#define VIDEO_DECODER_AUTO 8 /* can autosense norm */
|
||||
#define VIDEO_DECODER_CCIR 16 /* CCIR-601 pixel rate (720 pixels per line) instead of square pixel rate */
|
||||
int inputs; /* number of inputs */
|
||||
int outputs; /* number of outputs */
|
||||
};
|
||||
|
||||
/*
|
||||
DECODER_GET_STATUS returns the following flags. The only one you need is
|
||||
DECODER_STATUS_GOOD, the others are just nice things to know.
|
||||
*/
|
||||
#define DECODER_STATUS_GOOD 1 /* receiving acceptable input */
|
||||
#define DECODER_STATUS_COLOR 2 /* receiving color information */
|
||||
#define DECODER_STATUS_PAL 4 /* auto detected */
|
||||
#define DECODER_STATUS_NTSC 8 /* auto detected */
|
||||
#define DECODER_STATUS_SECAM 16 /* auto detected */
|
||||
|
||||
struct video_decoder_init {
|
||||
unsigned char len;
|
||||
const unsigned char *data;
|
||||
};
|
||||
|
||||
#define DECODER_GET_CAPABILITIES _IOR('d', 1, struct video_decoder_capability)
|
||||
#define DECODER_GET_STATUS _IOR('d', 2, int)
|
||||
#define DECODER_SET_NORM _IOW('d', 3, int)
|
||||
#define DECODER_SET_INPUT _IOW('d', 4, int) /* 0 <= input < #inputs */
|
||||
#define DECODER_SET_OUTPUT _IOW('d', 5, int) /* 0 <= output < #outputs */
|
||||
#define DECODER_ENABLE_OUTPUT _IOW('d', 6, int) /* boolean output enable control */
|
||||
#define DECODER_SET_PICTURE _IOW('d', 7, struct video_picture)
|
||||
#define DECODER_SET_GPIO _IOW('d', 8, int) /* switch general purpose pin */
|
||||
#define DECODER_INIT _IOW('d', 9, struct video_decoder_init) /* init internal registers at once */
|
||||
#define DECODER_SET_VBI_BYPASS _IOW('d', 10, int) /* switch vbi bypass */
|
||||
|
||||
#define DECODER_DUMP _IO('d', 192) /* debug hook */
|
||||
|
||||
|
||||
#endif
|
@@ -1,23 +0,0 @@
|
||||
#ifndef _LINUX_VIDEO_ENCODER_H
|
||||
#define _LINUX_VIDEO_ENCODER_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct video_encoder_capability { /* this name is too long */
|
||||
__u32 flags;
|
||||
#define VIDEO_ENCODER_PAL 1 /* can encode PAL signal */
|
||||
#define VIDEO_ENCODER_NTSC 2 /* can encode NTSC */
|
||||
#define VIDEO_ENCODER_SECAM 4 /* can encode SECAM */
|
||||
#define VIDEO_ENCODER_CCIR 16 /* CCIR-601 pixel rate (720 pixels per line) instead of square pixel rate */
|
||||
int inputs; /* number of inputs */
|
||||
int outputs; /* number of outputs */
|
||||
};
|
||||
|
||||
#define ENCODER_GET_CAPABILITIES _IOR('e', 1, struct video_encoder_capability)
|
||||
#define ENCODER_SET_NORM _IOW('e', 2, int)
|
||||
#define ENCODER_SET_INPUT _IOW('e', 3, int) /* 0 <= input < #inputs */
|
||||
#define ENCODER_SET_OUTPUT _IOW('e', 4, int) /* 0 <= output < #outputs */
|
||||
#define ENCODER_ENABLE_OUTPUT _IOW('e', 5, int) /* boolean output enable control */
|
||||
|
||||
|
||||
#endif
|
@@ -16,6 +16,23 @@
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/videodev2.h>
|
||||
|
||||
#if defined(__MIN_V4L1) && defined (__KERNEL__)
|
||||
|
||||
/*
|
||||
* Used by those V4L2 core functions that need a minimum V4L1 support,
|
||||
* in order to allow V4L1 Compatibilty code compilation.
|
||||
*/
|
||||
|
||||
struct video_mbuf
|
||||
{
|
||||
int size; /* Total memory to map */
|
||||
int frames; /* Frames */
|
||||
int offsets[VIDEO_MAX_FRAME];
|
||||
};
|
||||
|
||||
#define VIDIOCGMBUF _IOR('v',20, struct video_mbuf) /* Memory map buffer info */
|
||||
|
||||
#else
|
||||
#if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__)
|
||||
|
||||
#define VID_TYPE_CAPTURE 1 /* Can capture */
|
||||
@@ -312,6 +329,7 @@ struct video_code
|
||||
#define VID_PLAY_END_MARK 14
|
||||
|
||||
#endif /* CONFIG_VIDEO_V4L1_COMPAT */
|
||||
#endif /* __MIN_V4L1 */
|
||||
|
||||
#endif /* __LINUX_VIDEODEV_H */
|
||||
|
||||
|
@@ -344,6 +344,8 @@ struct v4l2_pix_format {
|
||||
#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */
|
||||
#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */
|
||||
#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */
|
||||
#define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */
|
||||
#define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */
|
||||
#define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */
|
||||
#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */
|
||||
|
||||
@@ -829,6 +831,7 @@ struct v4l2_querymenu {
|
||||
#define V4L2_CTRL_FLAG_UPDATE 0x0008
|
||||
#define V4L2_CTRL_FLAG_INACTIVE 0x0010
|
||||
#define V4L2_CTRL_FLAG_SLIDER 0x0020
|
||||
#define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040
|
||||
|
||||
/* Query flag, to be ORed with the control ID */
|
||||
#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000
|
||||
@@ -879,8 +882,15 @@ enum v4l2_power_line_frequency {
|
||||
#define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28)
|
||||
#define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29)
|
||||
#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30)
|
||||
#define V4L2_CID_COLORFX (V4L2_CID_BASE+31)
|
||||
enum v4l2_colorfx {
|
||||
V4L2_COLORFX_NONE = 0,
|
||||
V4L2_COLORFX_BW = 1,
|
||||
V4L2_COLORFX_SEPIA = 2,
|
||||
};
|
||||
|
||||
/* last CID + 1 */
|
||||
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+31)
|
||||
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+32)
|
||||
|
||||
/* MPEG-class control IDs defined by V4L2 */
|
||||
#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
|
||||
@@ -1338,6 +1348,53 @@ struct v4l2_sliced_vbi_data {
|
||||
__u8 data[48];
|
||||
};
|
||||
|
||||
/*
|
||||
* Sliced VBI data inserted into MPEG Streams
|
||||
*/
|
||||
|
||||
/*
|
||||
* V4L2_MPEG_STREAM_VBI_FMT_IVTV:
|
||||
*
|
||||
* Structure of payload contained in an MPEG 2 Private Stream 1 PES Packet in an
|
||||
* MPEG-2 Program Pack that contains V4L2_MPEG_STREAM_VBI_FMT_IVTV Sliced VBI
|
||||
* data
|
||||
*
|
||||
* Note, the MPEG-2 Program Pack and Private Stream 1 PES packet header
|
||||
* definitions are not included here. See the MPEG-2 specifications for details
|
||||
* on these headers.
|
||||
*/
|
||||
|
||||
/* Line type IDs */
|
||||
#define V4L2_MPEG_VBI_IVTV_TELETEXT_B (1)
|
||||
#define V4L2_MPEG_VBI_IVTV_CAPTION_525 (4)
|
||||
#define V4L2_MPEG_VBI_IVTV_WSS_625 (5)
|
||||
#define V4L2_MPEG_VBI_IVTV_VPS (7)
|
||||
|
||||
struct v4l2_mpeg_vbi_itv0_line {
|
||||
__u8 id; /* One of V4L2_MPEG_VBI_IVTV_* above */
|
||||
__u8 data[42]; /* Sliced VBI data for the line */
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct v4l2_mpeg_vbi_itv0 {
|
||||
__le32 linemask[2]; /* Bitmasks of VBI service lines present */
|
||||
struct v4l2_mpeg_vbi_itv0_line line[35];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct v4l2_mpeg_vbi_ITV0 {
|
||||
struct v4l2_mpeg_vbi_itv0_line line[36];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
#define V4L2_MPEG_VBI_IVTV_MAGIC0 "itv0"
|
||||
#define V4L2_MPEG_VBI_IVTV_MAGIC1 "ITV0"
|
||||
|
||||
struct v4l2_mpeg_vbi_fmt_ivtv {
|
||||
__u8 magic[4];
|
||||
union {
|
||||
struct v4l2_mpeg_vbi_itv0 itv0;
|
||||
struct v4l2_mpeg_vbi_ITV0 ITV0;
|
||||
};
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/*
|
||||
* A G G R E G A T E S T R U C T U R E S
|
||||
*/
|
||||
@@ -1403,14 +1460,6 @@ struct v4l2_dbg_chip_ident {
|
||||
__u32 revision; /* chip revision, chip specific */
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/* VIDIOC_G_CHIP_IDENT_OLD: Deprecated, do not use */
|
||||
struct v4l2_chip_ident_old {
|
||||
__u32 match_type; /* Match type */
|
||||
__u32 match_chip; /* Match this chip, meaning determined by match_type */
|
||||
__u32 ident; /* chip identifier as specified in <media/v4l2-chip-ident.h> */
|
||||
__u32 revision; /* chip revision, chip specific */
|
||||
};
|
||||
|
||||
/*
|
||||
* 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
|
||||
*
|
||||
@@ -1488,8 +1537,6 @@ struct v4l2_chip_ident_old {
|
||||
/* Experimental, meant for debugging, testing and internal use.
|
||||
Never use this ioctl in applications! */
|
||||
#define VIDIOC_DBG_G_CHIP_IDENT _IOWR('V', 81, struct v4l2_dbg_chip_ident)
|
||||
/* This is deprecated and will go away in 2.6.30 */
|
||||
#define VIDIOC_G_CHIP_IDENT_OLD _IOWR('V', 81, struct v4l2_chip_ident_old)
|
||||
#endif
|
||||
|
||||
#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek)
|
||||
|
Reference in New Issue
Block a user