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

📄 videodev2.h

📁 vlc源码
💻 H
📖 第 1 页 / 共 2 页
字号:
#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)#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)#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)#define V4L2_STD_NTSC_M_JP      ((v4l2_std_id)0x00002000)#define V4L2_STD_SECAM_B        ((v4l2_std_id)0x00010000)#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)#define V4L2_STD_SECAM_K1       ((v4l2_std_id)0x00200000)#define V4L2_STD_SECAM_L        ((v4l2_std_id)0x00400000)/* ATSC/HDTV */#define V4L2_STD_ATSC_8_VSB     ((v4l2_std_id)0x01000000)#define V4L2_STD_ATSC_16_VSB    ((v4l2_std_id)0x02000000)/* some common needed stuff */#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_NTSC           (V4L2_STD_NTSC_M    |\                 V4L2_STD_NTSC_M_JP)#define V4L2_STD_SECAM        (V4L2_STD_SECAM_B    |\                 V4L2_STD_SECAM_D    |\                 V4L2_STD_SECAM_G    |\                 V4L2_STD_SECAM_H    |\                 V4L2_STD_SECAM_K    |\                 V4L2_STD_SECAM_K1    |\                 V4L2_STD_SECAM_L)#define V4L2_STD_525_60        (V4L2_STD_PAL_M        |\                 V4L2_STD_PAL_60    |\                 V4L2_STD_NTSC)#define V4L2_STD_625_50        (V4L2_STD_PAL        |\                 V4L2_STD_PAL_N        |\                 V4L2_STD_PAL_Nc    |\                 V4L2_STD_SECAM)#define V4L2_STD_UNKNOWN        0#define V4L2_STD_ALL            (V4L2_STD_525_60    |\                 V4L2_STD_625_50)struct v4l2_standard{    __u32                    index;    v4l2_std_id          id;    __u8             name[24];    struct v4l2_fract    frameperiod; /* Frames, not fields */    __u32             framelines;    __u32             reserved[4];};/* *    V I D E O   I N P U T S */struct v4l2_input{    __u32         index;        /*  Which input */    __u8         name[32];            /*  Label */    __u32         type;        /*  Type of input */    __u32         audioset;            /*  Associated audios (bitfield) */    __u32        tuner;             /*  Associated tuner */    v4l2_std_id  std;    __u32         status;    __u32         reserved[4];};/*  Values for the 'type' field */#define V4L2_INPUT_TYPE_TUNER        1#define V4L2_INPUT_TYPE_CAMERA        2/* field 'status' - general */#define V4L2_IN_ST_NO_POWER    0x00000001  /* Attached device is off */#define V4L2_IN_ST_NO_SIGNAL   0x00000002#define V4L2_IN_ST_NO_COLOR    0x00000004/* field 'status' - analog */#define V4L2_IN_ST_NO_H_LOCK   0x00000100  /* No horizontal sync lock */#define V4L2_IN_ST_COLOR_KILL  0x00000200  /* Color killer is active *//* field 'status' - digital */#define V4L2_IN_ST_NO_SYNC     0x00010000  /* No synchronization lock */#define V4L2_IN_ST_NO_EQU      0x00020000  /* No equalizer lock */#define V4L2_IN_ST_NO_CARRIER  0x00040000  /* Carrier recovery failed *//* field 'status' - VCR and set-top box */#define V4L2_IN_ST_MACROVISION 0x01000000  /* Macrovision detected */#define V4L2_IN_ST_NO_ACCESS   0x02000000  /* Conditional access denied */#define V4L2_IN_ST_VTR         0x04000000  /* VTR time constant *//* *    V I D E O   O U T P U T S */struct v4l2_output{    __u32         index;        /*  Which output */    __u8         name[32];            /*  Label */    __u32         type;        /*  Type of output */    __u32         audioset;            /*  Associated audios (bitfield) */    __u32         modulator;         /*  Associated modulator */    v4l2_std_id  std;    __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/* *    C O N T R O L S */struct v4l2_control{    __u32             id;    __s32             value;};/*  Used in the VIDIOC_QUERYCTRL ioctl for querying controls */struct v4l2_queryctrl{    __u32                 id;    enum v4l2_ctrl_type  type;    __u8             name[32];    /* Whatever */    __s32             minimum;    /* Note signedness */    __s32             maximum;    __s32                 step;    __s32             default_value;    __u32                flags;    __u32             reserved[2];};/*  Used in the VIDIOC_QUERYMENU ioctl for querying menu items */struct v4l2_querymenu{    __u32        id;    __u32        index;    __u8        name[32];    /* Whatever */    __u32        reserved;};/*  Control flags  */#define V4L2_CTRL_FLAG_DISABLED        0x0001#define V4L2_CTRL_FLAG_GRABBED        0x0002/*  Control IDs defined by V4L2 */#define V4L2_CID_BASE            0x00980900/*  IDs reserved for driver specific controls */#define V4L2_CID_PRIVATE_BASE        0x08000000#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 *//* *    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        0x0003struct 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 */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)/* *    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        __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 0#define VIDIOC_G_COMP        _IOR  ('V',  6, struct v4l2_compression)#define VIDIOC_S_COMP        _IOW  ('V',  7, struct v4l2_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        _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_PARM        _IOWR ('V', 21, struct v4l2_streamparm)#define VIDIOC_S_PARM        _IOW  ('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        _IOW  ('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        _IOWR ('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        _IOWR ('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        _IOR  ('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 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);/*  Compatibility layer interface  */typedef int (*v4l2_kioctl)(struct inode *inode, struct file *file,               unsigned int cmd, void *arg);int v4l_compat_translate_ioctl(struct inode *inode, struct file *file,                   int cmd, void *arg, v4l2_kioctl driver_ioctl);/* names for fancy debug output */extern char *v4l2_field_names[];extern char *v4l2_type_names[];extern char *v4l2_ioctl_names[];#endif /* __KERNEL__ */#endif /* __LINUX_VIDEODEV2_H *//* * Local variables: * c-basic-offset: 8 * End: */

⌨️ 快捷键说明

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