V4L2结构体手册(1)

enum v4l2_frmsizetypes {

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

V4L2_FRMSIZE_TYPE_DISCRETE = 1,

V4L2_FRMSIZE_TYPE_CONTINUOUS = 2,

V4L2_FRMSIZE_TYPE_STEPWISE = 3,

};

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

struct v4l2_frmsize_discrete {

__u32 width;

__u32 height;

};

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

struct v4l2_frmsize_stepwise {

__u32 min_width;

__u32 max_width;

__u32 step_width;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u32 min_height;

__u32 max_height;

__u32 step_height;

};

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

struct v4l2_frmsizeenum {

__u32 index;

__u32 pixel_format;

__u32 type;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

union {

struct v4l2_frmsize_discrete discrete;

struct v4l2_frmsize_stepwise stepwise;

};

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u32 reserved[2];

};

enum v4l2_frmivaltypes {

V4L2_FRMIVAL_TYPE_DISCRETE = 1,

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

V4L2_FRMIVAL_TYPE_CONTINUOUS = 2,

V4L2_FRMIVAL_TYPE_STEPWISE = 3,

};

struct v4l2_frmival_stepwise {

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

struct v4l2_fract min;

struct v4l2_fract max;

struct v4l2_fract step;

};

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

struct v4l2_frmivalenum {

__u32 index;

__u32 pixel_format;

__u32 width;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u32 height;

__u32 type;

union {

struct v4l2_fract discrete;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

struct v4l2_frmival_stepwise stepwise;

};

__u32 reserved[2];

};

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

struct v4l2_timecode {

__u32 type;

__u32 flags;

__u8 frames;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u8 seconds;

__u8 minutes;

__u8 hours;

__u8 userbits[4];

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

};

#define V4L2_TC_TYPE_24FPS 1

#define V4L2_TC_TYPE_25FPS 2

#define V4L2_TC_TYPE_30FPS 3

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

#define V4L2_TC_TYPE_50FPS 4

#define V4L2_TC_TYPE_60FPS 5

#define V4L2_TC_FLAG_DROPFRAME 0x0001

#define V4L2_TC_FLAG_COLORFRAME 0x0002

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

#define V4L2_TC_USERBITS_field 0x000C

#define V4L2_TC_USERBITS_USERDEFINED 0x0000

#define V4L2_TC_USERBITS_8BITCHARS 0x0008

struct v4l2_jpegcompression {

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

int quality;

int APPn;

int APP_len;

char APP_data[60];

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

int COM_len;

char COM_data[60];

__u32 jpeg_markers;

#define V4L2_JPEG_MARKER_DHT (1 << 3)

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

#define V4L2_JPEG_MARKER_DQT (1 << 4)

#define V4L2_JPEG_MARKER_DRI (1 << 5)

#define V4L2_JPEG_MARKER_COM (1 << 6)

#define V4L2_JPEG_MARKER_APP (1 << 7)

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

};

struct v4l2_requestbuffers {

__u32 count;

__u32 type;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u32 memory;

__u32 reserved[2];

};

struct v4l2_plane {

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u32 bytesused;

__u32 length;

union {

__u32 mem_offset;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

unsigned long userptr;

__s32 fd;

} m;

__u32 data_offset;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u32 reserved[11];

};

struct v4l2_buffer {

__u32 index;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u32 type;

__u32 bytesused;

__u32 flags;

__u32 field;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

struct timeval timestamp;

struct v4l2_timecode timecode;

__u32 sequence;

__u32 memory;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

union {

__u32 offset;

unsigned long userptr;

struct v4l2_plane * planes;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__s32 fd;

} m;

__u32 length;

__u32 reserved2;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u32 reserved;

};

#define V4L2_BUF_FLAG_MAPPED 0x00000001

#define V4L2_BUF_FLAG_QUEUED 0x00000002

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

#define V4L2_BUF_FLAG_DONE 0x00000004

#define V4L2_BUF_FLAG_KEYFRAME 0x00000008

#define V4L2_BUF_FLAG_PFRAME 0x00000010

#define V4L2_BUF_FLAG_BFRAME 0x00000020

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

#define V4L2_BUF_FLAG_ERROR 0x00000040

#define V4L2_BUF_FLAG_TIMECODE 0x00000100

#define V4L2_BUF_FLAG_PREPARED 0x00000400

#define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x00000800

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

#define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x00001000

#define V4L2_BUF_FLAG_TIMESTAMP_MASK 0x0000e000

#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x00000000

#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x00002000

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

#define V4L2_BUF_FLAG_TIMESTAMP_COPY 0x00004000

#define V4L2_BUF_FLAG_TSTAMP_SRC_MASK 0x00070000

#define V4L2_BUF_FLAG_TSTAMP_SRC_EOF 0x00000000

#define V4L2_BUF_FLAG_TSTAMP_SRC_SOE 0x00010000

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

struct v4l2_exportbuffer {

__u32 type;

__u32 index;

__u32 plane;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u32 flags;

__s32 fd;

__u32 reserved[11];

};

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

struct v4l2_framebuffer {

__u32 capability;

__u32 flags;

void * base;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

struct {

__u32 width;

__u32 height;

__u32 pixelformat;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u32 field;

__u32 bytesperline;

__u32 sizeimage;

__u32 colorspace;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u32 priv;

} fmt;

};

#define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

#define V4L2_FBUF_CAP_CHROMAKEY 0x0002

#define V4L2_FBUF_CAP_LIST_CLIPPING 0x0004

#define V4L2_FBUF_CAP_BITMAP_CLIPPING 0x0008

#define V4L2_FBUF_CAP_LOCAL_ALPHA 0x0010

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

#define V4L2_FBUF_CAP_GLOBAL_ALPHA 0x0020

#define V4L2_FBUF_CAP_LOCAL_INV_ALPHA 0x0040

#define V4L2_FBUF_CAP_SRC_CHROMAKEY 0x0080

#define V4L2_FBUF_FLAG_PRIMARY 0x0001

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

#define V4L2_FBUF_FLAG_OVERLAY 0x0002

#define V4L2_FBUF_FLAG_CHROMAKEY 0x0004

#define V4L2_FBUF_FLAG_LOCAL_ALPHA 0x0008

#define V4L2_FBUF_FLAG_GLOBAL_ALPHA 0x0010

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

#define V4L2_FBUF_FLAG_LOCAL_INV_ALPHA 0x0020

#define V4L2_FBUF_FLAG_SRC_CHROMAKEY 0x0040

struct v4l2_clip {

struct v4l2_rect c;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

struct v4l2_clip __user * next;

};

struct v4l2_window {

struct v4l2_rect w;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

__u32 field;

__u32 chromakey;

struct v4l2_clip __user * clips;

__u32 clipcount;

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

void __user * bitmap;

__u8 global_alpha;

};

struct v4l2_captureparm {

/* WARNIN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值