⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 videodev2.h

📁 V4l driver for DVB HD
💻 H
📖 第 1 页 / 共 3 页
字号:
#define V4L2_CID_SATURATION		(V4L2_CID_BASE+2)#define V4L2_CID_HUE			(V4L2_CID_BASE+3)#define V4L2_CID_AUDIO_VOLUME		(V4L2_CID_BASE+5)#define V4L2_CID_AUDIO_BALANCE		(V4L2_CID_BASE+6)#define V4L2_CID_AUDIO_BASS		(V4L2_CID_BASE+7)#define V4L2_CID_AUDIO_TREBLE		(V4L2_CID_BASE+8)#define V4L2_CID_AUDIO_MUTE		(V4L2_CID_BASE+9)#define V4L2_CID_AUDIO_LOUDNESS		(V4L2_CID_BASE+10)#define V4L2_CID_BLACK_LEVEL		(V4L2_CID_BASE+11)#define V4L2_CID_AUTO_WHITE_BALANCE	(V4L2_CID_BASE+12)#define V4L2_CID_DO_WHITE_BALANCE	(V4L2_CID_BASE+13)#define V4L2_CID_RED_BALANCE		(V4L2_CID_BASE+14)#define V4L2_CID_BLUE_BALANCE		(V4L2_CID_BASE+15)#define V4L2_CID_GAMMA			(V4L2_CID_BASE+16)#define V4L2_CID_WHITENESS		(V4L2_CID_GAMMA) /* ? Not sure */#define V4L2_CID_EXPOSURE		(V4L2_CID_BASE+17)#define V4L2_CID_AUTOGAIN		(V4L2_CID_BASE+18)#define V4L2_CID_GAIN			(V4L2_CID_BASE+19)#define V4L2_CID_HFLIP			(V4L2_CID_BASE+20)#define V4L2_CID_VFLIP			(V4L2_CID_BASE+21)#define V4L2_CID_HCENTER		(V4L2_CID_BASE+22)#define V4L2_CID_VCENTER		(V4L2_CID_BASE+23)#define V4L2_CID_LASTP1			(V4L2_CID_BASE+24) /* last CID + 1 *//* *	T U N I N G */struct v4l2_tuner{	__u32                   index;	__u8			name[32];	enum v4l2_tuner_type    type;	__u32			capability;	__u32			rangelow;	__u32			rangehigh;	__u32			rxsubchans;	__u32			audmode;	__s32			signal;	__s32			afc;	__u32			reserved[4];};struct v4l2_modulator{	__u32			index;	__u8			name[32];	__u32			capability;	__u32			rangelow;	__u32			rangehigh;	__u32			txsubchans;	__u32			reserved[4];};/*  Flags for the 'capability' field */#define V4L2_TUNER_CAP_LOW		0x0001#define V4L2_TUNER_CAP_NORM		0x0002#define V4L2_TUNER_CAP_STEREO		0x0010#define V4L2_TUNER_CAP_LANG2		0x0020#define V4L2_TUNER_CAP_SAP		0x0020#define V4L2_TUNER_CAP_LANG1		0x0040/*  Flags for the 'rxsubchans' field */#define V4L2_TUNER_SUB_MONO		0x0001#define V4L2_TUNER_SUB_STEREO		0x0002#define V4L2_TUNER_SUB_LANG2		0x0004#define V4L2_TUNER_SUB_SAP		0x0004#define V4L2_TUNER_SUB_LANG1		0x0008/*  Values for the 'audmode' field */#define V4L2_TUNER_MODE_MONO		0x0000#define V4L2_TUNER_MODE_STEREO		0x0001#define V4L2_TUNER_MODE_LANG2		0x0002#define V4L2_TUNER_MODE_SAP		0x0002#define V4L2_TUNER_MODE_LANG1		0x0003#define V4L2_TUNER_MODE_LANG1_LANG2	0x0004struct v4l2_frequency{	__u32		      tuner;	enum v4l2_tuner_type  type;	__u32		      frequency;	__u32		      reserved[8];};/* *	A U D I O */struct v4l2_audio{	__u32	index;	__u8	name[32];	__u32	capability;	__u32	mode;	__u32	reserved[2];};/*  Flags for the 'capability' field */#define V4L2_AUDCAP_STEREO		0x00001#define V4L2_AUDCAP_AVL			0x00002/*  Flags for the 'mode' field */#define V4L2_AUDMODE_AVL		0x00001struct v4l2_audioout{	__u32	index;	__u8	name[32];	__u32	capability;	__u32	mode;	__u32	reserved[2];};/* *	D A T A   S E R V I C E S   ( V B I ) * *	Data services API by Michael Schimek *//* Raw VBI */struct v4l2_vbi_format{	__u32	sampling_rate;		/* in 1 Hz */	__u32	offset;	__u32	samples_per_line;	__u32	sample_format;		/* V4L2_PIX_FMT_* */	__s32	start[2];	__u32	count[2];	__u32	flags;			/* V4L2_VBI_* */	__u32	reserved[2];		/* must be zero */};/*  VBI flags  */#define V4L2_VBI_UNSYNC		(1<< 0)#define V4L2_VBI_INTERLACED	(1<< 1)#if 1 /*KEEP*//* Sliced VBI * *    This implements is a proposal V4L2 API to allow SLICED VBI * required for some hardware encoders. It should change without * notice in the definitive implementation. */struct v4l2_sliced_vbi_format{	__u16   service_set;	/* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field	   service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field				 (equals frame lines 313-336 for 625 line video				  standards, 263-286 for 525 line standards) */	__u16   service_lines[2][24];	__u32   io_size;	__u32   reserved[2];            /* must be zero */};/* Teletext World System Teletext   (WST), defined on ITU-R BT.653-2 */#define V4L2_SLICED_TELETEXT_B          (0x0001)/* Video Program System, defined on ETS 300 231*/#define V4L2_SLICED_VPS                 (0x0400)/* Closed Caption, defined on EIA-608 */#define V4L2_SLICED_CAPTION_525         (0x1000)/* Wide Screen System, defined on ITU-R BT1119.1 */#define V4L2_SLICED_WSS_625             (0x4000)#define V4L2_SLICED_VBI_525             (V4L2_SLICED_CAPTION_525)#define V4L2_SLICED_VBI_625             (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625)#if 0/* FIXME: Currently unused defines, needs to be discussed further *//* Teletext World System Teletext   (WST), defined on ITU-R BT.653-2 */#define V4L2_SLICED_TELETEXT_PAL_B      (0x000001)#define V4L2_SLICED_TELETEXT_PAL_C      (0x000002)#define V4L2_SLICED_TELETEXT_NTSC_B     (0x000010)#define V4L2_SLICED_TELETEXT_SECAM      (0x000020)/* Teletext North American Broadcast Teletext Specification   (NABTS), defined on ITU-R BT.653-2 */#define V4L2_SLICED_TELETEXT_NTSC_C     (0x000040)#define V4L2_SLICED_TELETEXT_NTSC_D     (0x000080)/* Video Program System, defined on ETS 300 231*/#define V4L2_SLICED_VPS                 (0x000400)/* Closed Caption, defined on EIA-608 */#define V4L2_SLICED_CAPTION_525         (0x001000)#define V4L2_SLICED_CAPTION_625         (0x002000)/* Wide Screen System, defined on ITU-R BT1119.1 */#define V4L2_SLICED_WSS_625             (0x004000)/* Wide Screen System, defined on IEC 61880 */#define V4L2_SLICED_WSS_525             (0x008000)/* Vertical Interval Timecode (VITC), defined on SMPTE 12M */#define V4l2_SLICED_VITC_625		(0x010000)#define V4l2_SLICED_VITC_525		(0x020000)#define V4L2_SLICED_TELETEXT_B		(V4L2_SLICED_TELETEXT_PAL_B  |\					 V4L2_SLICED_TELETEXT_NTSC_B)#define V4L2_SLICED_TELETEXT		(V4L2_SLICED_TELETEXT_PAL_B  |\					 V4L2_SLICED_TELETEXT_PAL_C  |\					 V4L2_SLICED_TELETEXT_SECAM  |\					 V4L2_SLICED_TELETEXT_NTSC_B |\					 V4L2_SLICED_TELETEXT_NTSC_C |\					 V4L2_SLICED_TELETEXT_NTSC_D)#define V4L2_SLICED_CAPTION		(V4L2_SLICED_CAPTION_525     |\					 V4L2_SLICED_CAPTION_625)#define V4L2_SLICED_WSS			(V4L2_SLICED_WSS_525         |\					 V4L2_SLICED_WSS_625)#define V4L2_SLICED_VITC		(V4L2_SLICED_VITC_525        |\					 V4L2_SLICED_VITC_625)#define V4L2_SLICED_VBI_525             (V4L2_SLICED_TELETEXT_NTSC_B |\					 V4L2_SLICED_TELETEXT_NTSC_C |\					 V4L2_SLICED_TELETEXT_NTSC_D |\					 V4L2_SLICED_CAPTION_525     |\					 V4L2_SLICED_WSS_525         |\					 V4l2_SLICED_VITC_525)#define V4L2_SLICED_VBI_625             (V4L2_SLICED_TELETEXT_PAL_B  |\					 V4L2_SLICED_TELETEXT_PAL_C  |\					 V4L2_SLICED_TELETEXT_SECAM  |\					 V4L2_SLICED_VPS             |\					 V4L2_SLICED_CAPTION_625     |\					 V4L2_SLICED_WSS_625         |\					 V4l2_SLICED_VITC_625)#endifstruct v4l2_sliced_vbi_cap{	__u16   service_set;	/* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field	   service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field				 (equals frame lines 313-336 for 625 line video				  standards, 263-286 for 525 line standards) */	__u16   service_lines[2][24];	__u32   reserved[4];    /* must be 0 */};struct v4l2_sliced_vbi_data{	__u32   id;	__u32   field;          /* 0: first field, 1: second field */	__u32   line;           /* 1-23 */	__u32   reserved;       /* must be 0 */	__u8    data[48];};#endif/* *	A G G R E G A T E   S T R U C T U R E S *//*	Stream data format */struct v4l2_format{	enum v4l2_buf_type type;	union	{		struct v4l2_pix_format		pix;     // V4L2_BUF_TYPE_VIDEO_CAPTURE		struct v4l2_window		win;     // V4L2_BUF_TYPE_VIDEO_OVERLAY		struct v4l2_vbi_format		vbi;     // V4L2_BUF_TYPE_VBI_CAPTURE#if 1 /*KEEP*/		struct v4l2_sliced_vbi_format	sliced;  // V4L2_BUF_TYPE_SLICED_VBI_CAPTURE#endif		__u8	raw_data[200];                   // user-defined	} fmt;};/*	Stream type-dependent parameters */struct v4l2_streamparm{	enum v4l2_buf_type type;	union	{		struct v4l2_captureparm	capture;		struct v4l2_outputparm	output;		__u8	raw_data[200];  /* user-defined */	} parm;};/* *	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 * */#define VIDIOC_QUERYCAP		_IOR  ('V',  0, struct v4l2_capability)#define VIDIOC_RESERVED		_IO   ('V',  1)#define VIDIOC_ENUM_FMT         _IOWR ('V',  2, struct v4l2_fmtdesc)#define VIDIOC_G_FMT		_IOWR ('V',  4, struct v4l2_format)#define VIDIOC_S_FMT		_IOWR ('V',  5, struct v4l2_format)#if 1 /* experimental */#define VIDIOC_G_MPEGCOMP       _IOR  ('V',  6, struct v4l2_mpeg_compression)#define VIDIOC_S_MPEGCOMP     	_IOW  ('V',  7, struct v4l2_mpeg_compression)#endif#define VIDIOC_REQBUFS		_IOWR ('V',  8, struct v4l2_requestbuffers)#define VIDIOC_QUERYBUF		_IOWR ('V',  9, struct v4l2_buffer)#define VIDIOC_G_FBUF		_IOR  ('V', 10, struct v4l2_framebuffer)#define VIDIOC_S_FBUF		_IOW  ('V', 11, struct v4l2_framebuffer)#define VIDIOC_OVERLAY		_IOW  ('V', 14, int)#define VIDIOC_QBUF		_IOWR ('V', 15, struct v4l2_buffer)#define VIDIOC_DQBUF		_IOWR ('V', 17, struct v4l2_buffer)#define VIDIOC_STREAMON		_IOW  ('V', 18, int)#define VIDIOC_STREAMOFF	_IOW  ('V', 19, int)#define VIDIOC_G_PARM		_IOWR ('V', 21, struct v4l2_streamparm)#define VIDIOC_S_PARM		_IOWR ('V', 22, struct v4l2_streamparm)#define VIDIOC_G_STD		_IOR  ('V', 23, v4l2_std_id)#define VIDIOC_S_STD		_IOW  ('V', 24, v4l2_std_id)#define VIDIOC_ENUMSTD		_IOWR ('V', 25, struct v4l2_standard)#define VIDIOC_ENUMINPUT	_IOWR ('V', 26, struct v4l2_input)#define VIDIOC_G_CTRL		_IOWR ('V', 27, struct v4l2_control)#define VIDIOC_S_CTRL		_IOWR ('V', 28, struct v4l2_control)#define VIDIOC_G_TUNER		_IOWR ('V', 29, struct v4l2_tuner)#define VIDIOC_S_TUNER		_IOW  ('V', 30, struct v4l2_tuner)#define VIDIOC_G_AUDIO		_IOR  ('V', 33, struct v4l2_audio)#define VIDIOC_S_AUDIO		_IOW  ('V', 34, struct v4l2_audio)#define VIDIOC_QUERYCTRL	_IOWR ('V', 36, struct v4l2_queryctrl)#define VIDIOC_QUERYMENU	_IOWR ('V', 37, struct v4l2_querymenu)#define VIDIOC_G_INPUT		_IOR  ('V', 38, int)#define VIDIOC_S_INPUT		_IOWR ('V', 39, int)#define VIDIOC_G_OUTPUT		_IOR  ('V', 46, int)#define VIDIOC_S_OUTPUT		_IOWR ('V', 47, int)#define VIDIOC_ENUMOUTPUT	_IOWR ('V', 48, struct v4l2_output)#define VIDIOC_G_AUDOUT		_IOR  ('V', 49, struct v4l2_audioout)#define VIDIOC_S_AUDOUT		_IOW  ('V', 50, struct v4l2_audioout)#define VIDIOC_G_MODULATOR	_IOWR ('V', 54, struct v4l2_modulator)#define VIDIOC_S_MODULATOR	_IOW  ('V', 55, struct v4l2_modulator)#define VIDIOC_G_FREQUENCY	_IOWR ('V', 56, struct v4l2_frequency)#define VIDIOC_S_FREQUENCY	_IOW  ('V', 57, struct v4l2_frequency)#define VIDIOC_CROPCAP		_IOWR ('V', 58, struct v4l2_cropcap)#define VIDIOC_G_CROP		_IOWR ('V', 59, struct v4l2_crop)#define VIDIOC_S_CROP		_IOW  ('V', 60, struct v4l2_crop)#define VIDIOC_G_JPEGCOMP	_IOR  ('V', 61, struct v4l2_jpegcompression)#define VIDIOC_S_JPEGCOMP	_IOW  ('V', 62, struct v4l2_jpegcompression)#define VIDIOC_QUERYSTD      	_IOR  ('V', 63, v4l2_std_id)#define VIDIOC_TRY_FMT      	_IOWR ('V', 64, struct v4l2_format)#define VIDIOC_ENUMAUDIO	_IOWR ('V', 65, struct v4l2_audio)#define VIDIOC_ENUMAUDOUT	_IOWR ('V', 66, struct v4l2_audioout)#define VIDIOC_G_PRIORITY       _IOR  ('V', 67, enum v4l2_priority)#define VIDIOC_S_PRIORITY       _IOW  ('V', 68, enum v4l2_priority)#if 1 /*KEEP*/#define VIDIOC_G_SLICED_VBI_CAP _IOR  ('V', 69, struct v4l2_sliced_vbi_cap)#endif#define VIDIOC_LOG_STATUS       _IO   ('V', 70)/* for compatibility, will go away some day */#define VIDIOC_OVERLAY_OLD     	_IOWR ('V', 14, int)#define VIDIOC_S_PARM_OLD      	_IOW  ('V', 22, struct v4l2_streamparm)#define VIDIOC_S_CTRL_OLD      	_IOW  ('V', 28, struct v4l2_control)#define VIDIOC_G_AUDIO_OLD     	_IOWR ('V', 33, struct v4l2_audio)#define VIDIOC_G_AUDOUT_OLD    	_IOWR ('V', 49, struct v4l2_audioout)#define VIDIOC_CROPCAP_OLD     	_IOR  ('V', 58, struct v4l2_cropcap)#define BASE_VIDIOC_PRIVATE	192		/* 192-255 are private */#ifdef __KERNEL__/* * *	V 4 L 2   D R I V E R   H E L P E R   A P I * *	Some commonly needed functions for drivers (v4l2-common.o module) */#include <linux/fs.h>/*  Video standard functions  */extern unsigned int v4l2_video_std_fps(struct v4l2_standard *vs);extern int v4l2_video_std_construct(struct v4l2_standard *vs,				    int id, char *name);/* prority handling */struct v4l2_prio_state {	atomic_t prios[4];};int v4l2_prio_init(struct v4l2_prio_state *global);int v4l2_prio_change(struct v4l2_prio_state *global, enum v4l2_priority *local,		     enum v4l2_priority new);int v4l2_prio_open(struct v4l2_prio_state *global, enum v4l2_priority *local);int v4l2_prio_close(struct v4l2_prio_state *global, enum v4l2_priority *local);enum v4l2_priority v4l2_prio_max(struct v4l2_prio_state *global);int v4l2_prio_check(struct v4l2_prio_state *global, enum v4l2_priority *local);/* names for fancy debug output */extern char *v4l2_field_names[];extern char *v4l2_type_names[];/*  Compatibility layer interface  --  v4l1-compat module */typedef int (*v4l2_kioctl)(struct inode *inode, struct file *file,			   unsigned int cmd, void *arg);#ifdef CONFIG_VIDEO_V4L1_COMPATint v4l_compat_translate_ioctl(struct inode *inode, struct file *file,			       int cmd, void *arg, v4l2_kioctl driver_ioctl);#else#define v4l_compat_translate_ioctl(inode,file,cmd,arg,ioctl) -EINVAL#endif/* 32 Bits compatibility layer for 64 bits processors */extern long v4l_compat_ioctl32(struct file *file, unsigned int cmd,				unsigned long arg);#endif /* __KERNEL__ */#endif /* __LINUX_VIDEODEV2_H *//* * Local variables: * c-basic-offset: 8 * End: */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -