Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ****************************************************************************
     11  ****************************************************************************/
     12 #ifndef __LINUX_VIDEODEV_H
     13 #define __LINUX_VIDEODEV_H
     14 
     15 #include <linux/videodev2.h>
     16 
     17 struct video_capability
     18 {
     19  char name[32];
     20  int type;
     21  int channels;
     22  int audios;
     23  int maxwidth;
     24  int maxheight;
     25  int minwidth;
     26  int minheight;
     27 };
     28 
     29 struct video_channel
     30 {
     31  int channel;
     32  char name[32];
     33  int tuners;
     34  __u32 flags;
     35 #define VIDEO_VC_TUNER 1
     36 #define VIDEO_VC_AUDIO 2
     37  __u16 type;
     38 #define VIDEO_TYPE_TV 1
     39 #define VIDEO_TYPE_CAMERA 2
     40  __u16 norm;
     41 };
     42 
     43 struct video_tuner
     44 {
     45  int tuner;
     46  char name[32];
     47  unsigned long rangelow, rangehigh;
     48  __u32 flags;
     49 #define VIDEO_TUNER_PAL 1
     50 #define VIDEO_TUNER_NTSC 2
     51 #define VIDEO_TUNER_SECAM 4
     52 #define VIDEO_TUNER_LOW 8
     53 #define VIDEO_TUNER_NORM 16
     54 #define VIDEO_TUNER_STEREO_ON 128
     55 #define VIDEO_TUNER_RDS_ON 256
     56 #define VIDEO_TUNER_MBS_ON 512
     57  __u16 mode;
     58 #define VIDEO_MODE_PAL 0
     59 #define VIDEO_MODE_NTSC 1
     60 #define VIDEO_MODE_SECAM 2
     61 #define VIDEO_MODE_AUTO 3
     62  __u16 signal;
     63 };
     64 
     65 struct video_picture
     66 {
     67  __u16 brightness;
     68  __u16 hue;
     69  __u16 colour;
     70  __u16 contrast;
     71  __u16 whiteness;
     72  __u16 depth;
     73  __u16 palette;
     74 #define VIDEO_PALETTE_GREY 1
     75 #define VIDEO_PALETTE_HI240 2
     76 #define VIDEO_PALETTE_RGB565 3
     77 #define VIDEO_PALETTE_RGB24 4
     78 #define VIDEO_PALETTE_RGB32 5
     79 #define VIDEO_PALETTE_RGB555 6
     80 #define VIDEO_PALETTE_YUV422 7
     81 #define VIDEO_PALETTE_YUYV 8
     82 #define VIDEO_PALETTE_UYVY 9
     83 #define VIDEO_PALETTE_YUV420 10
     84 #define VIDEO_PALETTE_YUV411 11
     85 #define VIDEO_PALETTE_RAW 12
     86 #define VIDEO_PALETTE_YUV422P 13
     87 #define VIDEO_PALETTE_YUV411P 14
     88 #define VIDEO_PALETTE_YUV420P 15
     89 #define VIDEO_PALETTE_YUV410P 16
     90 #define VIDEO_PALETTE_PLANAR 13
     91 #define VIDEO_PALETTE_COMPONENT 7
     92 };
     93 
     94 struct video_audio
     95 {
     96  int audio;
     97  __u16 volume;
     98  __u16 bass, treble;
     99  __u32 flags;
    100 #define VIDEO_AUDIO_MUTE 1
    101 #define VIDEO_AUDIO_MUTABLE 2
    102 #define VIDEO_AUDIO_VOLUME 4
    103 #define VIDEO_AUDIO_BASS 8
    104 #define VIDEO_AUDIO_TREBLE 16
    105 #define VIDEO_AUDIO_BALANCE 32
    106  char name[16];
    107 #define VIDEO_SOUND_MONO 1
    108 #define VIDEO_SOUND_STEREO 2
    109 #define VIDEO_SOUND_LANG1 4
    110 #define VIDEO_SOUND_LANG2 8
    111  __u16 mode;
    112  __u16 balance;
    113  __u16 step;
    114 };
    115 
    116 struct video_clip
    117 {
    118  __s32 x,y;
    119  __s32 width, height;
    120  struct video_clip *next;
    121 };
    122 
    123 struct video_window
    124 {
    125  __u32 x,y;
    126  __u32 width,height;
    127  __u32 chromakey;
    128  __u32 flags;
    129  struct video_clip __user *clips;
    130  int clipcount;
    131 #define VIDEO_WINDOW_INTERLACE 1
    132 #define VIDEO_WINDOW_CHROMAKEY 16
    133 #define VIDEO_CLIP_BITMAP -1
    134 
    135 #define VIDEO_CLIPMAP_SIZE (128 * 625)
    136 };
    137 
    138 struct video_capture
    139 {
    140  __u32 x,y;
    141  __u32 width, height;
    142  __u16 decimation;
    143  __u16 flags;
    144 #define VIDEO_CAPTURE_ODD 0
    145 #define VIDEO_CAPTURE_EVEN 1
    146 };
    147 
    148 struct video_buffer
    149 {
    150  void *base;
    151  int height,width;
    152  int depth;
    153  int bytesperline;
    154 };
    155 
    156 struct video_mmap
    157 {
    158  unsigned int frame;
    159  int height,width;
    160  unsigned int format;
    161 };
    162 
    163 struct video_key
    164 {
    165  __u8 key[8];
    166  __u32 flags;
    167 };
    168 
    169 struct video_mbuf
    170 {
    171  int size;
    172  int frames;
    173  int offsets[VIDEO_MAX_FRAME];
    174 };
    175 
    176 #define VIDEO_NO_UNIT (-1)
    177 
    178 struct video_unit
    179 {
    180  int video;
    181  int vbi;
    182  int radio;
    183  int audio;
    184  int teletext;
    185 };
    186 
    187 struct vbi_format {
    188  __u32 sampling_rate;
    189  __u32 samples_per_line;
    190  __u32 sample_format;
    191  __s32 start[2];
    192  __u32 count[2];
    193  __u32 flags;
    194 #define VBI_UNSYNC 1
    195 #define VBI_INTERLACED 2
    196 };
    197 
    198 struct video_info
    199 {
    200  __u32 frame_count;
    201  __u32 h_size;
    202  __u32 v_size;
    203  __u32 smpte_timecode;
    204  __u32 picture_type;
    205  __u32 temporal_reference;
    206  __u8 user_data[256];
    207 
    208 };
    209 
    210 struct video_play_mode
    211 {
    212  int mode;
    213  int p1;
    214  int p2;
    215 };
    216 
    217 struct video_code
    218 {
    219  char loadwhat[16];
    220  int datasize;
    221  __u8 *data;
    222 };
    223 
    224 #define VIDIOCGCAP _IOR('v',1,struct video_capability)
    225 #define VIDIOCGCHAN _IOWR('v',2,struct video_channel)
    226 #define VIDIOCSCHAN _IOW('v',3,struct video_channel)
    227 #define VIDIOCGTUNER _IOWR('v',4,struct video_tuner)
    228 #define VIDIOCSTUNER _IOW('v',5,struct video_tuner)
    229 #define VIDIOCGPICT _IOR('v',6,struct video_picture)
    230 #define VIDIOCSPICT _IOW('v',7,struct video_picture)
    231 #define VIDIOCCAPTURE _IOW('v',8,int)
    232 #define VIDIOCGWIN _IOR('v',9, struct video_window)
    233 #define VIDIOCSWIN _IOW('v',10, struct video_window)
    234 #define VIDIOCGFBUF _IOR('v',11, struct video_buffer)
    235 #define VIDIOCSFBUF _IOW('v',12, struct video_buffer)
    236 #define VIDIOCKEY _IOR('v',13, struct video_key)
    237 #define VIDIOCGFREQ _IOR('v',14, unsigned long)
    238 #define VIDIOCSFREQ _IOW('v',15, unsigned long)
    239 #define VIDIOCGAUDIO _IOR('v',16, struct video_audio)
    240 #define VIDIOCSAUDIO _IOW('v',17, struct video_audio)
    241 #define VIDIOCSYNC _IOW('v',18, int)
    242 #define VIDIOCMCAPTURE _IOW('v',19, struct video_mmap)
    243 #define VIDIOCGMBUF _IOR('v',20, struct video_mbuf)
    244 #define VIDIOCGUNIT _IOR('v',21, struct video_unit)
    245 #define VIDIOCGCAPTURE _IOR('v',22, struct video_capture)
    246 #define VIDIOCSCAPTURE _IOW('v',23, struct video_capture)
    247 #define VIDIOCSPLAYMODE _IOW('v',24, struct video_play_mode)
    248 #define VIDIOCSWRITEMODE _IOW('v',25, int)
    249 #define VIDIOCGPLAYINFO _IOR('v',26, struct video_info)
    250 #define VIDIOCSMICROCODE _IOW('v',27, struct video_code)
    251 #define VIDIOCGVBIFMT _IOR('v',28, struct vbi_format)
    252 #define VIDIOCSVBIFMT _IOW('v',29, struct vbi_format)
    253 
    254 #define BASE_VIDIOCPRIVATE 192
    255 
    256 #define VID_WRITE_MPEG_AUD 0
    257 #define VID_WRITE_MPEG_VID 1
    258 #define VID_WRITE_OSD 2
    259 #define VID_WRITE_TTX 3
    260 #define VID_WRITE_CC 4
    261 #define VID_WRITE_MJPEG 5
    262 
    263 #define VID_PLAY_VID_OUT_MODE 0
    264 
    265 #define VID_PLAY_GENLOCK 1
    266 
    267 #define VID_PLAY_NORMAL 2
    268 #define VID_PLAY_PAUSE 3
    269 #define VID_PLAY_SINGLE_FRAME 4
    270 #define VID_PLAY_FAST_FORWARD 5
    271 #define VID_PLAY_SLOW_MOTION 6
    272 #define VID_PLAY_IMMEDIATE_NORMAL 7
    273 #define VID_PLAY_SWITCH_CHANNELS 8
    274 #define VID_PLAY_FREEZE_FRAME 9
    275 #define VID_PLAY_STILL_MODE 10
    276 #define VID_PLAY_MASTER_MODE 11
    277 
    278 #define VID_PLAY_MASTER_NONE 1
    279 #define VID_PLAY_MASTER_VIDEO 2
    280 #define VID_PLAY_MASTER_AUDIO 3
    281 #define VID_PLAY_ACTIVE_SCANLINES 12
    282 
    283 #define VID_PLAY_RESET 13
    284 #define VID_PLAY_END_MARK 14
    285 
    286 #define VID_HARDWARE_BT848 1
    287 #define VID_HARDWARE_QCAM_BW 2
    288 #define VID_HARDWARE_PMS 3
    289 #define VID_HARDWARE_QCAM_C 4
    290 #define VID_HARDWARE_PSEUDO 5
    291 #define VID_HARDWARE_SAA5249 6
    292 #define VID_HARDWARE_AZTECH 7
    293 #define VID_HARDWARE_SF16MI 8
    294 #define VID_HARDWARE_RTRACK 9
    295 #define VID_HARDWARE_ZOLTRIX 10
    296 #define VID_HARDWARE_SAA7146 11
    297 #define VID_HARDWARE_VIDEUM 12
    298 #define VID_HARDWARE_RTRACK2 13
    299 #define VID_HARDWARE_PERMEDIA2 14
    300 #define VID_HARDWARE_RIVA128 15
    301 #define VID_HARDWARE_PLANB 16
    302 #define VID_HARDWARE_BROADWAY 17
    303 #define VID_HARDWARE_GEMTEK 18
    304 #define VID_HARDWARE_TYPHOON 19
    305 #define VID_HARDWARE_VINO 20
    306 #define VID_HARDWARE_CADET 21
    307 #define VID_HARDWARE_TRUST 22
    308 #define VID_HARDWARE_TERRATEC 23
    309 #define VID_HARDWARE_CPIA 24
    310 #define VID_HARDWARE_ZR36120 25
    311 #define VID_HARDWARE_ZR36067 26
    312 #define VID_HARDWARE_OV511 27
    313 #define VID_HARDWARE_ZR356700 28
    314 #define VID_HARDWARE_W9966 29
    315 #define VID_HARDWARE_SE401 30
    316 #define VID_HARDWARE_PWC 31
    317 #define VID_HARDWARE_MEYE 32
    318 #define VID_HARDWARE_CPIA2 33
    319 #define VID_HARDWARE_VICAM 34
    320 #define VID_HARDWARE_SF16FMR2 35
    321 #define VID_HARDWARE_W9968CF 36
    322 #define VID_HARDWARE_SAA7114H 37
    323 #define VID_HARDWARE_SN9C102 38
    324 #define VID_HARDWARE_ARV 39
    325 
    326 #endif
    327 
    328