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 17struct 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 29struct 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 43struct 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 65struct 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 94struct 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 116struct video_clip 117{ 118 __s32 x,y; 119 __s32 width, height; 120 struct video_clip *next; 121}; 122 123struct 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 138struct 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 148struct video_buffer 149{ 150 void *base; 151 int height,width; 152 int depth; 153 int bytesperline; 154}; 155 156struct video_mmap 157{ 158 unsigned int frame; 159 int height,width; 160 unsigned int format; 161}; 162 163struct video_key 164{ 165 __u8 key[8]; 166 __u32 flags; 167}; 168 169struct video_mbuf 170{ 171 int size; 172 int frames; 173 int offsets[VIDEO_MAX_FRAME]; 174}; 175 176#define VIDEO_NO_UNIT (-1) 177 178struct video_unit 179{ 180 int video; 181 int vbi; 182 int radio; 183 int audio; 184 int teletext; 185}; 186 187struct 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 198struct 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 210struct video_play_mode 211{ 212 int mode; 213 int p1; 214 int p2; 215}; 216 217struct 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