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