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

📄 videodev2.h

📁 Webcam Linux driver for Quickcam
💻 H
📖 第 1 页 / 共 3 页
字号:
{	__u32	x;	__u32	y;	__u32	width;	__u32	height;	__u32	reserved;};/* *      A N A L O G   V I D E O   S T A N D A R D */struct v4l2_standard{	__u8		name[24];	struct {		__u32	numerator;		__u32	denominator;	/* >= 1 */	} framerate;			/* Frames, not fields */	__u32		framelines;	__u32		reserved1;	__u32		colorstandard;	union {						struct {			__u32		colorsubcarrier; /* Hz */		} 		pal;		struct {								__u32		colorsubcarrier; /* Hz */		} 		ntsc;		struct {			__u32		f0b;	/* Hz (blue) */			__u32		f0r;	/* Hz (red)  */		} 		secam;		__u8		reserved[12];	} colorstandard_data;	__u32		transmission;	/* Bit field. Must be zero for					   non-modulators/demodulators. */	__u32		reserved2;	/* Must be set to zero */};/*  Values for the 'colorstandard' field  */#define V4L2_COLOR_STD_PAL		1#define V4L2_COLOR_STD_NTSC		2#define V4L2_COLOR_STD_SECAM		3/*  Values for the color subcarrier fields  */#define V4L2_COLOR_SUBC_PAL	4433619		/* PAL BGHI, NTSC-44 */#define V4L2_COLOR_SUBC_PAL_M	3575611		/* PAL M (Brazil) */#define V4L2_COLOR_SUBC_PAL_N	3582056		/* PAL N */#define V4L2_COLOR_SUBC_NTSC	3579545		/* NTSC M, NTSC-Japan */#define V4L2_COLOR_SUBC_SECAMB	4250000		/* SECAM B - Y carrier */#define V4L2_COLOR_SUBC_SECAMR	4406250		/* SECAM R - Y carrier *//*  Flags for the 'transmission' field  */#define V4L2_TRANSM_STD_B		(1<<1)#define V4L2_TRANSM_STD_D		(1<<3)#define V4L2_TRANSM_STD_G		(1<<6)#define V4L2_TRANSM_STD_H		(1<<7)#define V4L2_TRANSM_STD_I		(1<<8)#define V4L2_TRANSM_STD_K		(1<<10)#define V4L2_TRANSM_STD_K1		(1<<11)#define V4L2_TRANSM_STD_L		(1<<12)#define V4L2_TRANSM_STD_M		(1<<13)#define V4L2_TRANSM_STD_N		(1<<14)/*  Used in the VIDIOC_ENUMSTD ioctl for querying supported standards  */struct v4l2_enumstd{	int			index;	struct v4l2_standard	std;	__u32			inputs;  /* set of inputs that */					 /* support this standard */	__u32			outputs; /* set of outputs that */					 /* support this standard */	__u32			reserved[2];};/* *	V I D E O   I N P U T S */struct v4l2_input{	int	index;		/*  Which input */	char	name[32];	/*  Label */	int	type;		/*  Type of input */	__u32	capability;	/*  Capability flags */	int	assoc_audio;	/*  Associated audio input */	__u32	reserved[4];};/*  Values for the 'type' field */#define V4L2_INPUT_TYPE_TUNER		1#define V4L2_INPUT_TYPE_CAMERA		2/*  Flags for the 'capability' field */#define V4L2_INPUT_CAP_AUDIO		0x0001	/* assoc_audio *//* *	V I D E O   O U T P U T S */struct v4l2_output{	int	index;		/*  Which output */	char	name[32];	/*  Label */	int	type;		/*  Type of output */	__u32	capability;	/*  Capability flags */	int	assoc_audio;	/*  Associated audio */	__u32	reserved[4];};/*  Values for the 'type' field */#define V4L2_OUTPUT_TYPE_MODULATOR		1#define V4L2_OUTPUT_TYPE_ANALOG			2#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY	3/*  Flags for the 'capability' field */#define V4L2_OUTPUT_CAP_AUDIO		0x0001	/* assoc_audio *//* *	C O N T R O L S */struct v4l2_control{	__u32		id;	int		value;};/*  Used in the VIDIOC_QUERYCTRL ioctl for querying controls */struct v4l2_queryctrl{	__u32		id;	__u8		name[32];	/* Whatever */	int		minimum;	/* Note signedness */	int		maximum;	unsigned int	step;	int		default_value;	__u32		type;	__u32		flags;	__u32		category;	/* Automatically filled in by V4L2 */	__u8		group[32];	/*   for pre-defined controls      */	__u32		reserved[2];};/*  Used in the VIDIOC_QUERYMENU ioctl for querying menu items */struct v4l2_querymenu{	__u32		id;	int		index;	__u8		name[32];	/* Whatever */	int		reserved;};/*  Used in V4L2_BUF_TYPE_FXCONTROL buffers  */struct v4l2_fxcontrol{	__u32	id;	__u32	value;};/*  Control types  */#define V4L2_CTRL_TYPE_INTEGER		0#define V4L2_CTRL_TYPE_BOOLEAN		1#define V4L2_CTRL_TYPE_MENU		2#define V4L2_CTRL_TYPE_BUTTON		3/*  Control flags  */#define V4L2_CTRL_FLAG_DISABLED		0x0001#define V4L2_CTRL_FLAG_GRABBED		0x0002/*  Control categories	*/#define V4L2_CTRL_CAT_VIDEO		1  /*  "Video"   */#define V4L2_CTRL_CAT_AUDIO		2  /*  "Audio"   */#define V4L2_CTRL_CAT_EFFECT		3  /*  "Effect"  *//*  Control IDs defined by V4L2 */#define V4L2_CID_BASE			0x00980900/*  IDs reserved for driver specific controls */#define V4L2_CID_PRIVATE_BASE		0x08000000/*  IDs reserved for effect-specific controls on effects devices  */#define V4L2_CID_EFFECT_BASE		0x0A00B000#define V4L2_CID_BRIGHTNESS		(V4L2_CID_BASE+0)#define V4L2_CID_CONTRAST		(V4L2_CID_BASE+1)#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 *//*  Remember to change fill_ctrl_category() in videodev.c  *//* *	T U N I N G */struct v4l2_tuner{	int			input;	char			name[32];	struct v4l2_standard	std;	__u32			capability;	__u32			rangelow;	__u32			rangehigh;	__u32			rxsubchans;	__u32			audmode;	int			signal;	int			afc;	__u32			reserved[4];};struct v4l2_modulator{	int			output;	char			name[32];	struct v4l2_standard	std;	__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		0x0003struct v4l2_frequency{	int	port;	__u32	frequency;	__u32	reserved[2];};/* *	A U D I O */struct v4l2_audio{	int	audio;	char	name[32];	__u32	capability;	__u32	mode;	__u32	reserved[2];};/*  Flags for the 'capability' field */#define V4L2_AUDCAP_EFFECTS		0x0020#define V4L2_AUDCAP_LOUDNESS		0x0040#define V4L2_AUDCAP_AVL			0x0080/*  Flags for the 'mode' field */#define V4L2_AUDMODE_LOUDNESS		0x00002#define V4L2_AUDMODE_AVL		0x00004#define V4L2_AUDMODE_STEREO_field	0x0FF00#define V4L2_AUDMODE_STEREO_LINEAR	0x00100#define V4L2_AUDMODE_STEREO_PSEUDO	0x00200#define V4L2_AUDMODE_STEREO_SPATIAL30	0x00300#define V4L2_AUDMODE_STEREO_SPATIAL50	0x00400struct v4l2_audioout{	int	audio;	char	name[32];	__u32	capability;	__u32	mode;	__u32	reserved[2];};/* *	D A T A   S E R V I C E S   ( V B I ) */struct v4l2_vbi_format{	__u32	sampling_rate;		/* in 1 Hz */	__u32	reserved1;		/* must be zero */	__u32	samples_per_line;	__u32	sample_format;		/* V4L2_VBI_SF_* */	__s32	start[2];	__u32	count[2];	__u32	flags;			/* V4L2_VBI_* */	__u32	reserved2;		/* must be zero */};/*  VBI sampling formats */#define V4L2_VBI_SF_UBYTE	1/*  VBI flags  */#define V4L2_VBI_UNSYNC		(1<< 0)#define V4L2_VBI_INTERLACED	(1<< 1)/* *	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{	__u32	type;	union	{		struct v4l2_pix_format	pix;	/*  image format  */		struct v4l2_vbi_format	vbi;	/*  VBI data  */		/*  add more  */		__u8	raw_data[200];  /* user-defined */	} fmt;};/*	Stream type-dependent parameters */struct v4l2_streamparm{	__u32	type;	union	{		struct v4l2_captureparm	capture;		struct v4l2_outputparm	output;		/*  add more  */		__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_PIXFMT	_IOWR ('V',  2, struct v4l2_fmtdesc)#define VIDIOC_ENUM_FBUFFMT	_IOWR ('V',  3, struct v4l2_fmtdesc)#define VIDIOC_G_FMT		_IOWR ('V',  4, struct v4l2_format)#define VIDIOC_S_FMT		_IOWR ('V',  5, struct v4l2_format)#define VIDIOC_G_COMP		_IOR  ('V',  6, struct v4l2_compression)#define VIDIOC_S_COMP		_IOW  ('V',  7, struct v4l2_compression)#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_G_WIN		_IOR  ('V', 12, struct v4l2_window)#define VIDIOC_S_WIN		_IOW  ('V', 13, struct v4l2_window)#define VIDIOC_PREVIEW		_IOWR ('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_PERF		_IOR  ('V', 20, struct v4l2_performance)#define VIDIOC_G_PARM		_IOWR ('V', 21, struct v4l2_streamparm)#define VIDIOC_S_PARM		_IOW  ('V', 22, struct v4l2_streamparm)

⌨️ 快捷键说明

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