V4L2结构体手册,Android进阶之光

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

};

enum v4l2_colorspace {

V4L2_COLORSPACE_SMPTE170M = 1,

V4L2_COLORSPACE_SMPTE240M = 2,

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

V4L2_COLORSPACE_REC709 = 3,

V4L2_COLORSPACE_BT878 = 4,

V4L2_COLORSPACE_470_SYSTEM_M = 5,

V4L2_COLORSPACE_470_SYSTEM_BG = 6,

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

V4L2_COLORSPACE_JPEG = 7,

V4L2_COLORSPACE_SRGB = 8,

};

enum v4l2_priority {

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

V4L2_PRIORITY_UNSET = 0,

V4L2_PRIORITY_BACKGROUND = 1,

V4L2_PRIORITY_INTERACTIVE = 2,

V4L2_PRIORITY_RECORD = 3,

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

V4L2_PRIORITY_DEFAULT = V4L2_PRIORITY_INTERACTIVE,

};

struct v4l2_rect {

__s32 left;

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

__s32 top;

__u32 width;

__u32 height;

};

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

struct v4l2_fract {

__u32 numerator;

__u32 denominator;

};

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

struct v4l2_capability {

__u8 driver[16];

__u8 card[32];

__u8 bus_info[32];

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

__u32 version;

__u32 capabilities;

__u32 device_caps;

__u32 reserved[3];

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

};

#define V4L2_CAP_VIDEO_CAPTURE 0x00000001

#define V4L2_CAP_VIDEO_OUTPUT 0x00000002

#define V4L2_CAP_VIDEO_OVERLAY 0x00000004

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

#define V4L2_CAP_VBI_CAPTURE 0x00000010

#define V4L2_CAP_VBI_OUTPUT 0x00000020

#define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040

#define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080

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

#define V4L2_CAP_RDS_CAPTURE 0x00000100

#define V4L2_CAP_VIDEO_OUTPUT_OVERLAY 0x00000200

#define V4L2_CAP_HW_FREQ_SEEK 0x00000400

#define V4L2_CAP_RDS_OUTPUT 0x00000800

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

#define V4L2_CAP_VIDEO_CAPTURE_MPLANE 0x00001000

#define V4L2_CAP_VIDEO_OUTPUT_MPLANE 0x00002000

#define V4L2_CAP_VIDEO_M2M_MPLANE 0x00004000

#define V4L2_CAP_VIDEO_M2M 0x00008000

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

#define V4L2_CAP_TUNER 0x00010000

#define V4L2_CAP_AUDIO 0x00020000

#define V4L2_CAP_RADIO 0x00040000

#define V4L2_CAP_MODULATOR 0x00080000

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

#define V4L2_CAP_SDR_CAPTURE 0x00100000

#define V4L2_CAP_EXT_PIX_FORMAT 0x00200000

#define V4L2_CAP_READWRITE 0x01000000

#define V4L2_CAP_ASYNCIO 0x02000000

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

#define V4L2_CAP_STREAMING 0x04000000

#define V4L2_CAP_DEVICE_CAPS 0x80000000

struct v4l2_pix_format {

__u32 width;

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

__u32 height;

__u32 pixelformat;

__u32 field;

__u32 bytesperline;

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

__u32 sizeimage;

__u32 colorspace;

__u32 priv;

__u32 flags;

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

};

#define V4L2_PIX_FMT_RGB332 v4l2_fourcc(‘R’, ‘G’, ‘B’, ‘1’)

#define V4L2_PIX_FMT_RGB444 v4l2_fourcc(‘R’, ‘4’, ‘4’, ‘4’)

#define V4L2_PIX_FMT_ARGB444 v4l2_fourcc(‘A’, ‘R’, ‘1’, ‘2’)

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

#define V4L2_PIX_FMT_XRGB444 v4l2_fourcc(‘X’, ‘R’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_RGB555 v4l2_fourcc(‘R’, ‘G’, ‘B’, ‘O’)

#define V4L2_PIX_FMT_ARGB555 v4l2_fourcc(‘A’, ‘R’, ‘1’, ‘5’)

#define V4L2_PIX_FMT_XRGB555 v4l2_fourcc(‘X’, ‘R’, ‘1’, ‘5’)

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

#define V4L2_PIX_FMT_RGB565 v4l2_fourcc(‘R’, ‘G’, ‘B’, ‘P’)

#define V4L2_PIX_FMT_RGB555X v4l2_fourcc(‘R’, ‘G’, ‘B’, ‘Q’)

#define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be(‘A’, ‘R’, ‘1’, ‘5’)

#define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be(‘X’, ‘R’, ‘1’, ‘5’)

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

#define V4L2_PIX_FMT_RGB565X v4l2_fourcc(‘R’, ‘G’, ‘B’, ‘R’)

#define V4L2_PIX_FMT_BGR666 v4l2_fourcc(‘B’, ‘G’, ‘R’, ‘H’)

#define V4L2_PIX_FMT_BGR24 v4l2_fourcc(‘B’, ‘G’, ‘R’, ‘3’)

#define V4L2_PIX_FMT_RGB24 v4l2_fourcc(‘R’, ‘G’, ‘B’, ‘3’)

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

#define V4L2_PIX_FMT_BGR32 v4l2_fourcc(‘B’, ‘G’, ‘R’, ‘4’)

#define V4L2_PIX_FMT_ABGR32 v4l2_fourcc(‘A’, ‘R’, ‘2’, ‘4’)

#define V4L2_PIX_FMT_XBGR32 v4l2_fourcc(‘X’, ‘R’, ‘2’, ‘4’)

#define V4L2_PIX_FMT_RGB32 v4l2_fourcc(‘R’, ‘G’, ‘B’, ‘4’)

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

#define V4L2_PIX_FMT_ARGB32 v4l2_fourcc(‘B’, ‘A’, ‘2’, ‘4’)

#define V4L2_PIX_FMT_XRGB32 v4l2_fourcc(‘B’, ‘X’, ‘2’, ‘4’)

#define V4L2_PIX_FMT_GREY v4l2_fourcc(‘G’, ‘R’, ‘E’, ‘Y’)

#define V4L2_PIX_FMT_Y4 v4l2_fourcc(‘Y’, ‘0’, ‘4’, ’ ')

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

#define V4L2_PIX_FMT_Y6 v4l2_fourcc(‘Y’, ‘0’, ‘6’, ’ ')

#define V4L2_PIX_FMT_Y10 v4l2_fourcc(‘Y’, ‘1’, ‘0’, ’ ')

#define V4L2_PIX_FMT_Y12 v4l2_fourcc(‘Y’, ‘1’, ‘2’, ’ ')

#define V4L2_PIX_FMT_Y16 v4l2_fourcc(‘Y’, ‘1’, ‘6’, ’ ')

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

#define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc(‘Y’, ‘1’, ‘0’, ‘B’)

#define V4L2_PIX_FMT_PAL8 v4l2_fourcc(‘P’, ‘A’, ‘L’, ‘8’)

#define V4L2_PIX_FMT_UV8 v4l2_fourcc(‘U’, ‘V’, ‘8’, ’ ')

#define V4L2_PIX_FMT_YVU410 v4l2_fourcc(‘Y’, ‘V’, ‘U’, ‘9’)

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

#define V4L2_PIX_FMT_YVU420 v4l2_fourcc(‘Y’, ‘V’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_YUYV v4l2_fourcc(‘Y’, ‘U’, ‘Y’, ‘V’)

#define V4L2_PIX_FMT_YYUV v4l2_fourcc(‘Y’, ‘Y’, ‘U’, ‘V’)

#define V4L2_PIX_FMT_YVYU v4l2_fourcc(‘Y’, ‘V’, ‘Y’, ‘U’)

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

#define V4L2_PIX_FMT_UYVY v4l2_fourcc(‘U’, ‘Y’, ‘V’, ‘Y’)

#define V4L2_PIX_FMT_VYUY v4l2_fourcc(‘V’, ‘Y’, ‘U’, ‘Y’)

#define V4L2_PIX_FMT_YUV422P v4l2_fourcc(‘4’, ‘2’, ‘2’, ‘P’)

#define V4L2_PIX_FMT_YUV411P v4l2_fourcc(‘4’, ‘1’, ‘1’, ‘P’)

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

#define V4L2_PIX_FMT_Y41P v4l2_fourcc(‘Y’, ‘4’, ‘1’, ‘P’)

#define V4L2_PIX_FMT_YUV444 v4l2_fourcc(‘Y’, ‘4’, ‘4’, ‘4’)

#define V4L2_PIX_FMT_YUV555 v4l2_fourcc(‘Y’, ‘U’, ‘V’, ‘O’)

#define V4L2_PIX_FMT_YUV565 v4l2_fourcc(‘Y’, ‘U’, ‘V’, ‘P’)

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

#define V4L2_PIX_FMT_YUV32 v4l2_fourcc(‘Y’, ‘U’, ‘V’, ‘4’)

#define V4L2_PIX_FMT_YUV410 v4l2_fourcc(‘Y’, ‘U’, ‘V’, ‘9’)

#define V4L2_PIX_FMT_YUV420 v4l2_fourcc(‘Y’, ‘U’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_HI240 v4l2_fourcc(‘H’, ‘I’, ‘2’, ‘4’)

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

#define V4L2_PIX_FMT_HM12 v4l2_fourcc(‘H’, ‘M’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_M420 v4l2_fourcc(‘M’, ‘4’, ‘2’, ‘0’)

#define V4L2_PIX_FMT_NV12 v4l2_fourcc(‘N’, ‘V’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_NV21 v4l2_fourcc(‘N’, ‘V’, ‘2’, ‘1’)

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

#define V4L2_PIX_FMT_NV16 v4l2_fourcc(‘N’, ‘V’, ‘1’, ‘6’)

#define V4L2_PIX_FMT_NV61 v4l2_fourcc(‘N’, ‘V’, ‘6’, ‘1’)

#define V4L2_PIX_FMT_NV24 v4l2_fourcc(‘N’, ‘V’, ‘2’, ‘4’)

#define V4L2_PIX_FMT_NV42 v4l2_fourcc(‘N’, ‘V’, ‘4’, ‘2’)

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

#define V4L2_PIX_FMT_NV12M v4l2_fourcc(‘N’, ‘M’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_NV21M v4l2_fourcc(‘N’, ‘M’, ‘2’, ‘1’)

#define V4L2_PIX_FMT_NV16M v4l2_fourcc(‘N’, ‘M’, ‘1’, ‘6’)

#define V4L2_PIX_FMT_NV61M v4l2_fourcc(‘N’, ‘M’, ‘6’, ‘1’)

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

#define V4L2_PIX_FMT_NV12MT v4l2_fourcc(‘T’, ‘M’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc(‘V’, ‘M’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_YUV420M v4l2_fourcc(‘Y’, ‘M’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_YVU420M v4l2_fourcc(‘Y’, ‘M’, ‘2’, ‘1’)

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

#define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc(‘B’, ‘A’, ‘8’, ‘1’)

#define V4L2_PIX_FMT_SGBRG8 v4l2_fourcc(‘G’, ‘B’, ‘R’, ‘G’)

#define V4L2_PIX_FMT_SGRBG8 v4l2_fourcc(‘G’, ‘R’, ‘B’, ‘G’)

#define V4L2_PIX_FMT_SRGGB8 v4l2_fourcc(‘R’, ‘G’, ‘G’, ‘B’)

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

#define V4L2_PIX_FMT_SBGGR10 v4l2_fourcc(‘B’, ‘G’, ‘1’, ‘0’)

#define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc(‘G’, ‘B’, ‘1’, ‘0’)

#define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc(‘B’, ‘A’, ‘1’, ‘0’)

#define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc(‘R’, ‘G’, ‘1’, ‘0’)

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

#define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc(‘B’, ‘G’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc(‘G’, ‘B’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc(‘B’, ‘A’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc(‘R’, ‘G’, ‘1’, ‘2’)

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

#define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc(‘a’, ‘B’, ‘A’, ‘8’)

#define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc(‘a’, ‘G’, ‘A’, ‘8’)

#define V4L2_PIX_FMT_SGRBG10ALAW8 v4l2_fourcc(‘a’, ‘g’, ‘A’, ‘8’)

#define V4L2_PIX_FMT_SRGGB10ALAW8 v4l2_fourcc(‘a’, ‘R’, ‘A’, ‘8’)

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

#define V4L2_PIX_FMT_SBGGR10DPCM8 v4l2_fourcc(‘b’, ‘B’, ‘A’, ‘8’)

#define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc(‘b’, ‘G’, ‘A’, ‘8’)

#define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc(‘B’, ‘D’, ‘1’, ‘0’)

#define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc(‘b’, ‘R’, ‘A’, ‘8’)

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

#define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc(‘B’, ‘Y’, ‘R’, ‘2’)

#define V4L2_PIX_FMT_MJPEG v4l2_fourcc(‘M’, ‘J’, ‘P’, ‘G’)

#define V4L2_PIX_FMT_JPEG v4l2_fourcc(‘J’, ‘P’, ‘E’, ‘G’)

#define V4L2_PIX_FMT_DV v4l2_fourcc(‘d’, ‘v’, ‘s’, ‘d’)

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

#define V4L2_PIX_FMT_MPEG v4l2_fourcc(‘M’, ‘P’, ‘E’, ‘G’)

#define V4L2_PIX_FMT_H264 v4l2_fourcc(‘H’, ‘2’, ‘6’, ‘4’)

#define V4L2_PIX_FMT_H264_NO_SC v4l2_fourcc(‘A’, ‘V’, ‘C’, ‘1’)

#define V4L2_PIX_FMT_H264_MVC v4l2_fourcc(‘M’, ‘2’, ‘6’, ‘4’)

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

#define V4L2_PIX_FMT_H263 v4l2_fourcc(‘H’, ‘2’, ‘6’, ‘3’)

#define V4L2_PIX_FMT_MPEG1 v4l2_fourcc(‘M’, ‘P’, ‘G’, ‘1’)

#define V4L2_PIX_FMT_MPEG2 v4l2_fourcc(‘M’, ‘P’, ‘G’, ‘2’)

#define V4L2_PIX_FMT_MPEG4 v4l2_fourcc(‘M’, ‘P’, ‘G’, ‘4’)

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

#define V4L2_PIX_FMT_XVID v4l2_fourcc(‘X’, ‘V’, ‘I’, ‘D’)

#define V4L2_PIX_FMT_VC1_ANNEX_G v4l2_fourcc(‘V’, ‘C’, ‘1’, ‘G’)

#define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc(‘V’, ‘C’, ‘1’, ‘L’)

#define V4L2_PIX_FMT_VP8 v4l2_fourcc(‘V’, ‘P’, ‘8’, ‘0’)

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

#define V4L2_PIX_FMT_CPIA1 v4l2_fourcc(‘C’, ‘P’, ‘I’, ‘A’)

#define V4L2_PIX_FMT_WNVA v4l2_fourcc(‘W’, ‘N’, ‘V’, ‘A’)

#define V4L2_PIX_FMT_SN9C10X v4l2_fourcc(‘S’, ‘9’, ‘1’, ‘0’)

#define V4L2_PIX_FMT_SN9C20X_I420 v4l2_fourcc(‘S’, ‘9’, ‘2’, ‘0’)

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

#define V4L2_PIX_FMT_PWC1 v4l2_fourcc(‘P’, ‘W’, ‘C’, ‘1’)

#define V4L2_PIX_FMT_PWC2 v4l2_fourcc(‘P’, ‘W’, ‘C’, ‘2’)

#define V4L2_PIX_FMT_ET61X251 v4l2_fourcc(‘E’, ‘6’, ‘2’, ‘5’)

#define V4L2_PIX_FMT_SPCA501 v4l2_fourcc(‘S’, ‘5’, ‘0’, ‘1’)

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

#define V4L2_PIX_FMT_SPCA505 v4l2_fourcc(‘S’, ‘5’, ‘0’, ‘5’)

#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc(‘S’, ‘5’, ‘0’, ‘8’)

#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc(‘S’, ‘5’, ‘6’, ‘1’)

#define V4L2_PIX_FMT_PAC207 v4l2_fourcc(‘P’, ‘2’, ‘0’, ‘7’)

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

#define V4L2_PIX_FMT_MR97310A v4l2_fourcc(‘M’, ‘3’, ‘1’, ‘0’)

#define V4L2_PIX_FMT_JL2005BCD v4l2_fourcc(‘J’, ‘L’, ‘2’, ‘0’)

#define V4L2_PIX_FMT_SN9C2028 v4l2_fourcc(‘S’, ‘O’, ‘N’, ‘X’)

#define V4L2_PIX_FMT_SQ905C v4l2_fourcc(‘9’, ‘0’, ‘5’, ‘C’)

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

#define V4L2_PIX_FMT_PJPG v4l2_fourcc(‘P’, ‘J’, ‘P’, ‘G’)

#define V4L2_PIX_FMT_OV511 v4l2_fourcc(‘O’, ‘5’, ‘1’, ‘1’)

#define V4L2_PIX_FMT_OV518 v4l2_fourcc(‘O’, ‘5’, ‘1’, ‘8’)

#define V4L2_PIX_FMT_STV0680 v4l2_fourcc(‘S’, ‘6’, ‘8’, ‘0’)

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

#define V4L2_PIX_FMT_TM6000 v4l2_fourcc(‘T’, ‘M’, ‘6’, ‘0’)

#define V4L2_PIX_FMT_CIT_YYVYUY v4l2_fourcc(‘C’, ‘I’, ‘T’, ‘V’)

#define V4L2_PIX_FMT_KONICA420 v4l2_fourcc(‘K’, ‘O’, ‘N’, ‘I’)

#define V4L2_PIX_FMT_JPGL v4l2_fourcc(‘J’, ‘P’, ‘G’, ‘L’)

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

#define V4L2_PIX_FMT_SE401 v4l2_fourcc(‘S’, ‘4’, ‘0’, ‘1’)

#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc(‘S’, ‘5’, ‘C’, ‘I’)

#define V4L2_SDR_FMT_CU8 v4l2_fourcc(‘C’, ‘U’, ‘0’, ‘8’)

#define V4L2_SDR_FMT_CU16LE v4l2_fourcc(‘C’, ‘U’, ‘1’, ‘6’)

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

#define V4L2_SDR_FMT_CS8 v4l2_fourcc(‘C’, ‘S’, ‘0’, ‘8’)

#define V4L2_SDR_FMT_CS14LE v4l2_fourcc(‘C’, ‘S’, ‘1’, ‘4’)

#define V4L2_SDR_FMT_RU12LE v4l2_fourcc(‘R’, ‘U’, ‘1’, ‘2’)

#define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe

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

#define V4L2_PIX_FMT_FLAG_PREMUL_ALPHA 0x00000001

struct v4l2_fmtdesc {

__u32 index;

__u32 type;

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

__u32 flags;

__u8 description[32];

__u32 pixelformat;

__u32 reserved[4];

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

};

#define V4L2_FMT_FLAG_COMPRESSED 0x0001

#define V4L2_FMT_FLAG_EMULATED 0x0002

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 {

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

__u32 capability;

__u32 capturemode;

struct v4l2_fract timeperframe;

__u32 extendedmode;

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

__u32 readbuffers;

__u32 reserved[4];

};

#define V4L2_MODE_HIGHQUALITY 0x0001

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

#define V4L2_CAP_TIMEPERFRAME 0x1000

struct v4l2_outputparm {

__u32 capability;

__u32 outputmode;

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

struct v4l2_fract timeperframe;

__u32 extendedmode;

__u32 writebuffers;

__u32 reserved[4];

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

};

struct v4l2_cropcap {

__u32 type;

struct v4l2_rect bounds;

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

struct v4l2_rect defrect;

struct v4l2_fract pixelaspect;

};

struct v4l2_crop {

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

__u32 type;

struct v4l2_rect c;

};

struct v4l2_selection {

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

__u32 type;

__u32 target;

__u32 flags;

struct v4l2_rect r;

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

__u32 reserved[9];

};

typedef __u64 v4l2_std_id;

#define V4L2_STD_PAL_B ((v4l2_std_id) 0x00000001)

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

#define V4L2_STD_PAL_B1 ((v4l2_std_id) 0x00000002)

#define V4L2_STD_PAL_G ((v4l2_std_id) 0x00000004)

#define V4L2_STD_PAL_H ((v4l2_std_id) 0x00000008)

#define V4L2_STD_PAL_I ((v4l2_std_id) 0x00000010)

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

#define V4L2_STD_PAL_D ((v4l2_std_id) 0x00000020)

#define V4L2_STD_PAL_D1 ((v4l2_std_id) 0x00000040)

#define V4L2_STD_PAL_K ((v4l2_std_id) 0x00000080)

#define V4L2_STD_PAL_M ((v4l2_std_id) 0x00000100)

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

#define V4L2_STD_PAL_N ((v4l2_std_id) 0x00000200)

#define V4L2_STD_PAL_Nc ((v4l2_std_id) 0x00000400)

#define V4L2_STD_PAL_60 ((v4l2_std_id) 0x00000800)

#define V4L2_STD_NTSC_M ((v4l2_std_id) 0x00001000)

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

#define V4L2_STD_NTSC_M_JP ((v4l2_std_id) 0x00002000)

#define V4L2_STD_NTSC_443 ((v4l2_std_id) 0x00004000)

#define V4L2_STD_NTSC_M_KR ((v4l2_std_id) 0x00008000)

#define V4L2_STD_SECAM_B ((v4l2_std_id) 0x00010000)

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

#define V4L2_STD_SECAM_D ((v4l2_std_id) 0x00020000)

#define V4L2_STD_SECAM_G ((v4l2_std_id) 0x00040000)

#define V4L2_STD_SECAM_H ((v4l2_std_id) 0x00080000)

#define V4L2_STD_SECAM_K ((v4l2_std_id) 0x00100000)

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

#define V4L2_STD_SECAM_K1 ((v4l2_std_id) 0x00200000)

#define V4L2_STD_SECAM_L ((v4l2_std_id) 0x00400000)

#define V4L2_STD_SECAM_LC ((v4l2_std_id) 0x00800000)

#define V4L2_STD_ATSC_8_VSB ((v4l2_std_id) 0x01000000)

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

#define V4L2_STD_ATSC_16_VSB ((v4l2_std_id) 0x02000000)

#define V4L2_STD_NTSC (V4L2_STD_NTSC_M | V4L2_STD_NTSC_M_JP | V4L2_STD_NTSC_M_KR)

#define V4L2_STD_SECAM_DK (V4L2_STD_SECAM_D | V4L2_STD_SECAM_K | V4L2_STD_SECAM_K1)

#define V4L2_STD_SECAM (V4L2_STD_SECAM_B | V4L2_STD_SECAM_G | V4L2_STD_SECAM_H | V4L2_STD_SECAM_DK | V4L2_STD_SECAM_L | V4L2_STD_SECAM_LC)

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

#define V4L2_STD_PAL_BG (V4L2_STD_PAL_B | V4L2_STD_PAL_B1 | V4L2_STD_PAL_G)

#define V4L2_STD_PAL_DK (V4L2_STD_PAL_D | V4L2_STD_PAL_D1 | V4L2_STD_PAL_K)

#define V4L2_STD_PAL (V4L2_STD_PAL_BG | V4L2_STD_PAL_DK | V4L2_STD_PAL_H | V4L2_STD_PAL_I)

#define V4L2_STD_B (V4L2_STD_PAL_B | V4L2_STD_PAL_B1 | V4L2_STD_SECAM_B)

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

#define V4L2_STD_G (V4L2_STD_PAL_G | V4L2_STD_SECAM_G)

#define V4L2_STD_H (V4L2_STD_PAL_H | V4L2_STD_SECAM_H)

#define V4L2_STD_L (V4L2_STD_SECAM_L | V4L2_STD_SECAM_LC)

#define V4L2_STD_GH (V4L2_STD_G | V4L2_STD_H)

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

#define V4L2_STD_DK (V4L2_STD_PAL_DK | V4L2_STD_SECAM_DK)

#define V4L2_STD_BG (V4L2_STD_B | V4L2_STD_G)

#define V4L2_STD_MN (V4L2_STD_PAL_M | V4L2_STD_PAL_N | V4L2_STD_PAL_Nc | V4L2_STD_NTSC)

#define V4L2_STD_MTS (V4L2_STD_NTSC_M | V4L2_STD_PAL_M | V4L2_STD_PAL_N | V4L2_STD_PAL_Nc)

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

#define V4L2_STD_525_60 (V4L2_STD_PAL_M | V4L2_STD_PAL_60 | V4L2_STD_NTSC | V4L2_STD_NTSC_443)

#define V4L2_STD_625_50 (V4L2_STD_PAL | V4L2_STD_PAL_N | V4L2_STD_PAL_Nc | V4L2_STD_SECAM)

#define V4L2_STD_ATSC (V4L2_STD_ATSC_8_VSB | V4L2_STD_ATSC_16_VSB)

#define V4L2_STD_UNKNOWN 0

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

#define V4L2_STD_ALL (V4L2_STD_525_60 | V4L2_STD_625_50)

struct v4l2_standard {

__u32 index;

v4l2_std_id id;

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

__u8 name[24];

struct v4l2_fract frameperiod;

__u32 framelines;

__u32 reserved[4];

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

};

struct v4l2_bt_timings {

__u32 width;

__u32 height;

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

__u32 interlaced;

__u32 polarities;

__u64 pixelclock;

__u32 hfrontporch;

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

__u32 hsync;

__u32 hbackporch;

__u32 vfrontporch;

__u32 vsync;

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

__u32 vbackporch;

__u32 il_vfrontporch;

__u32 il_vsync;

__u32 il_vbackporch;

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

__u32 standards;

__u32 flags;

__u32 reserved[14];

} __attribute__((packed));

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

#define V4L2_DV_PROGRESSIVE 0

#define V4L2_DV_INTERLACED 1

#define V4L2_DV_VSYNC_POS_POL 0x00000001

#define V4L2_DV_HSYNC_POS_POL 0x00000002

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

#define V4L2_DV_BT_STD_CEA861 (1 << 0)

#define V4L2_DV_BT_STD_DMT (1 << 1)

#define V4L2_DV_BT_STD_CVT (1 << 2)

#define V4L2_DV_BT_STD_GTF (1 << 3)

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

#define V4L2_DV_FL_REDUCED_BLANKING (1 << 0)

#define V4L2_DV_FL_CAN_REDUCE_FPS (1 << 1)

#define V4L2_DV_FL_REDUCED_FPS (1 << 2)

#define V4L2_DV_FL_HALF_LINE (1 << 3)

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

#define V4L2_DV_BT_BLANKING_WIDTH(bt) ((bt)->hfrontporch + (bt)->hsync + (bt)->hbackporch)

#define V4L2_DV_BT_FRAME_WIDTH(bt) ((bt)->width + V4L2_DV_BT_BLANKING_WIDTH(bt))

#define V4L2_DV_BT_BLANKING_HEIGHT(bt) ((bt)->vfrontporch + (bt)->vsync + (bt)->vbackporch + (bt)->il_vfrontporch + (bt)->il_vsync + (bt)->il_vbackporch)

#define V4L2_DV_BT_FRAME_HEIGHT(bt) ((bt)->height + V4L2_DV_BT_BLANKING_HEIGHT(bt))

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

struct v4l2_dv_timings {

__u32 type;

union {

struct v4l2_bt_timings bt;

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

__u32 reserved[32];

};

} __attribute__((packed));

#define V4L2_DV_BT_656_1120 0

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

struct v4l2_enum_dv_timings {

__u32 index;

__u32 pad;

__u32 reserved[2];

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

struct v4l2_dv_timings timings;

};

struct v4l2_bt_timings_cap {

__u32 min_width;

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

__u32 max_width;

__u32 min_height;

__u32 max_height;

__u64 min_pixelclock;

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

__u64 max_pixelclock;

__u32 standards;

__u32 capabilities;

__u32 reserved[16];

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

} __attribute__((packed));

#define V4L2_DV_BT_CAP_INTERLACED (1 << 0)

#define V4L2_DV_BT_CAP_PROGRESSIVE (1 << 1)

#define V4L2_DV_BT_CAP_REDUCED_BLANKING (1 << 2)

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

#define V4L2_DV_BT_CAP_CUSTOM (1 << 3)

struct v4l2_dv_timings_cap {

__u32 type;

__u32 pad;

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

__u32 reserved[2];

union {

struct v4l2_bt_timings_cap bt;

__u32 raw_data[32];

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

};

};

struct v4l2_input {

__u32 index;

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

__u8 name[32];

__u32 type;

__u32 audioset;

__u32 tuner;

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

v4l2_std_id std;

__u32 status;

__u32 capabilities;

__u32 reserved[3];

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

};

#define V4L2_INPUT_TYPE_TUNER 1

#define V4L2_INPUT_TYPE_CAMERA 2

#define V4L2_IN_ST_NO_POWER 0x00000001

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

#define V4L2_IN_ST_NO_SIGNAL 0x00000002

#define V4L2_IN_ST_NO_COLOR 0x00000004

#define V4L2_IN_ST_HFLIP 0x00000010

#define V4L2_IN_ST_VFLIP 0x00000020

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

#define V4L2_IN_ST_NO_H_LOCK 0x00000100

#define V4L2_IN_ST_COLOR_KILL 0x00000200

#define V4L2_IN_ST_NO_SYNC 0x00010000

#define V4L2_IN_ST_NO_EQU 0x00020000

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

#define V4L2_IN_ST_NO_CARRIER 0x00040000

#define V4L2_IN_ST_MACROVISION 0x01000000

#define V4L2_IN_ST_NO_ACCESS 0x02000000

#define V4L2_IN_ST_VTR 0x04000000

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

#define V4L2_IN_CAP_DV_TIMINGS 0x00000002

#define V4L2_IN_CAP_CUSTOM_TIMINGS V4L2_IN_CAP_DV_TIMINGS

#define V4L2_IN_CAP_STD 0x00000004

struct v4l2_output {

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

__u32 index;

__u8 name[32];

__u32 type;

__u32 audioset;

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

__u32 modulator;

v4l2_std_id std;

__u32 capabilities;

__u32 reserved[3];

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

};

#define V4L2_OUTPUT_TYPE_MODULATOR 1

#define V4L2_OUTPUT_TYPE_ANALOG 2

#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 3

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

#define V4L2_OUT_CAP_DV_TIMINGS 0x00000002

#define V4L2_OUT_CAP_CUSTOM_TIMINGS V4L2_OUT_CAP_DV_TIMINGS

#define V4L2_OUT_CAP_STD 0x00000004

struct v4l2_control {

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

__u32 id;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

总结

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

上面分享的字节跳动公司2021年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

Android学习PDF+学习视频+面试文档+知识点笔记

【Android高级架构视频学习资源】

r;

v4l2_std_id std;

__u32 capabilities;

__u32 reserved[3];

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

};

#define V4L2_OUTPUT_TYPE_MODULATOR 1

#define V4L2_OUTPUT_TYPE_ANALOG 2

#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 3

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

#define V4L2_OUT_CAP_DV_TIMINGS 0x00000002

#define V4L2_OUT_CAP_CUSTOM_TIMINGS V4L2_OUT_CAP_DV_TIMINGS

#define V4L2_OUT_CAP_STD 0x00000004

struct v4l2_control {

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

__u32 id;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-c5yroo00-1710849939053)]
[外链图片转存中…(img-FLq2Gq88-1710849939053)]
[外链图片转存中…(img-KgocUBFq-1710849939054)]
[外链图片转存中…(img-16jqRgew-1710849939054)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
[外链图片转存中…(img-z0zidUNT-1710849939054)]

总结

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

上面分享的字节跳动公司2021年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。
[外链图片转存中…(img-C55fh0PK-1710849939055)]

Android学习PDF+学习视频+面试文档+知识点笔记

【Android高级架构视频学习资源】

Android部分精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

  • 27
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值