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