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