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