| 1 | /* | 
|---|
| 2 | Copyright 2006  Bill Dirks <bdirks@pacbell.net> | 
|---|
| 3 | Justin Schoeman | 
|---|
| 4 | et al. | 
|---|
| 5 | This program is free software; you can redistribute it and/or | 
|---|
| 6 | modify it under the terms of the GNU General Public License | 
|---|
| 7 | as published by the Free Software Foundation; either version 2 | 
|---|
| 8 | of the License, or (at your option) any later version. | 
|---|
| 9 |  | 
|---|
| 10 | This program is distributed in the hope that it will be useful, | 
|---|
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|---|
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|---|
| 13 | GNU General Public License for more details. | 
|---|
| 14 |  | 
|---|
| 15 | You should have received a copy of the GNU General Public License | 
|---|
| 16 | along with this program; if not, write to the Free Software | 
|---|
| 17 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. | 
|---|
| 18 | */ | 
|---|
| 19 |  | 
|---|
| 20 | #ifndef __LINUX_VIDEODEV_H | 
|---|
| 21 | #define __LINUX_VIDEODEV_H | 
|---|
| 22 |  | 
|---|
| 23 | #define VID_TYPE_CAPTURE        1       /* Can capture */ | 
|---|
| 24 | #define VID_TYPE_TUNER          2       /* Can tune */ | 
|---|
| 25 | #define VID_TYPE_TELETEXT       4       /* Does teletext */ | 
|---|
| 26 | #define VID_TYPE_OVERLAY        8       /* Overlay onto frame buffer */ | 
|---|
| 27 | #define VID_TYPE_CHROMAKEY      16      /* Overlay by chromakey */ | 
|---|
| 28 | #define VID_TYPE_CLIPPING       32      /* Can clip */ | 
|---|
| 29 | #define VID_TYPE_FRAMERAM       64      /* Uses the frame buffer memory */ | 
|---|
| 30 | #define VID_TYPE_SCALES         128     /* Scalable */ | 
|---|
| 31 | #define VID_TYPE_MONOCHROME     256     /* Monochrome only */ | 
|---|
| 32 | #define VID_TYPE_SUBCAPTURE     512     /* Can capture subareas of the image */ | 
|---|
| 33 | #define VID_TYPE_MPEG_DECODER   1024    /* Can decode MPEG streams */ | 
|---|
| 34 | #define VID_TYPE_MPEG_ENCODER   2048    /* Can encode MPEG streams */ | 
|---|
| 35 | #define VID_TYPE_MJPEG_DECODER  4096    /* Can decode MJPEG streams */ | 
|---|
| 36 | #define VID_TYPE_MJPEG_ENCODER  8192    /* Can encode MJPEG streams */ | 
|---|
| 37 |  | 
|---|
| 38 | struct video_capability | 
|---|
| 39 | { | 
|---|
| 40 | char name[32]; | 
|---|
| 41 | int type; | 
|---|
| 42 | int channels;   /* Num channels */ | 
|---|
| 43 | int audios;     /* Num audio devices */ | 
|---|
| 44 | int maxwidth;   /* Supported width */ | 
|---|
| 45 | int maxheight;  /* And height */ | 
|---|
| 46 | int minwidth;   /* Supported width */ | 
|---|
| 47 | int minheight;  /* And height */ | 
|---|
| 48 | }; | 
|---|
| 49 |  | 
|---|
| 50 |  | 
|---|
| 51 | struct video_channel | 
|---|
| 52 | { | 
|---|
| 53 | int channel; | 
|---|
| 54 | char name[32]; | 
|---|
| 55 | int tuners; | 
|---|
| 56 | unsigned int  flags; | 
|---|
| 57 | #define VIDEO_VC_TUNER          1       /* Channel has a tuner */ | 
|---|
| 58 | #define VIDEO_VC_AUDIO          2       /* Channel has audio */ | 
|---|
| 59 | unsigned short  type; | 
|---|
| 60 | #define VIDEO_TYPE_TV           1 | 
|---|
| 61 | #define VIDEO_TYPE_CAMERA       2 | 
|---|
| 62 | unsigned short norm;                    /* Norm set by channel */ | 
|---|
| 63 | }; | 
|---|
| 64 |  | 
|---|
| 65 | struct video_tuner | 
|---|
| 66 | { | 
|---|
| 67 | int tuner; | 
|---|
| 68 | char name[32]; | 
|---|
| 69 | unsigned long rangelow, rangehigh;      /* Tuner range */ | 
|---|
| 70 | unsigned int flags; | 
|---|
| 71 | #define VIDEO_TUNER_PAL         1 | 
|---|
| 72 | #define VIDEO_TUNER_NTSC        2 | 
|---|
| 73 | #define VIDEO_TUNER_SECAM       4 | 
|---|
| 74 | #define VIDEO_TUNER_LOW         8       /* Uses KHz not MHz */ | 
|---|
| 75 | #define VIDEO_TUNER_NORM        16      /* Tuner can set norm */ | 
|---|
| 76 | #define VIDEO_TUNER_STEREO_ON   128     /* Tuner is seeing stereo */ | 
|---|
| 77 | #define VIDEO_TUNER_RDS_ON      256     /* Tuner is seeing an RDS datastream */ | 
|---|
| 78 | #define VIDEO_TUNER_MBS_ON      512     /* Tuner is seeing an MBS datastream */ | 
|---|
| 79 | unsigned short mode;                    /* PAL/NTSC/SECAM/OTHER */ | 
|---|
| 80 | #define VIDEO_MODE_PAL          0 | 
|---|
| 81 | #define VIDEO_MODE_NTSC         1 | 
|---|
| 82 | #define VIDEO_MODE_SECAM        2 | 
|---|
| 83 | #define VIDEO_MODE_AUTO         3 | 
|---|
| 84 | unsigned short signal;                  /* Signal strength 16bit scale */ | 
|---|
| 85 | }; | 
|---|
| 86 |  | 
|---|
| 87 | struct video_picture | 
|---|
| 88 | { | 
|---|
| 89 | unsigned short  brightness; | 
|---|
| 90 | unsigned short  hue; | 
|---|
| 91 | unsigned short  colour; | 
|---|
| 92 | unsigned short  contrast; | 
|---|
| 93 | unsigned short  whiteness;      /* Black and white only */ | 
|---|
| 94 | unsigned short  depth;          /* Capture depth */ | 
|---|
| 95 | unsigned short   palette;       /* Palette in use */ | 
|---|
| 96 | #define VIDEO_PALETTE_GREY      1       /* Linear greyscale */ | 
|---|
| 97 | #define VIDEO_PALETTE_HI240     2       /* High 240 cube (BT848) */ | 
|---|
| 98 | #define VIDEO_PALETTE_RGB565    3       /* 565 16 bit RGB */ | 
|---|
| 99 | #define VIDEO_PALETTE_RGB24     4       /* 24bit RGB */ | 
|---|
| 100 | #define VIDEO_PALETTE_RGB32     5       /* 32bit RGB */ | 
|---|
| 101 | #define VIDEO_PALETTE_RGB555    6       /* 555 15bit RGB */ | 
|---|
| 102 | #define VIDEO_PALETTE_YUV422    7       /* YUV422 capture */ | 
|---|
| 103 | #define VIDEO_PALETTE_YUYV      8 | 
|---|
| 104 | #define VIDEO_PALETTE_UYVY      9       /* The great thing about standards is ... */ | 
|---|
| 105 | #define VIDEO_PALETTE_YUV420    10 | 
|---|
| 106 | #define VIDEO_PALETTE_YUV411    11      /* YUV411 capture */ | 
|---|
| 107 | #define VIDEO_PALETTE_RAW       12      /* RAW capture (BT848) */ | 
|---|
| 108 | #define VIDEO_PALETTE_YUV422P   13      /* YUV 4:2:2 Planar */ | 
|---|
| 109 | #define VIDEO_PALETTE_YUV411P   14      /* YUV 4:1:1 Planar */ | 
|---|
| 110 | #define VIDEO_PALETTE_YUV420P   15      /* YUV 4:2:0 Planar */ | 
|---|
| 111 | #define VIDEO_PALETTE_YUV410P   16      /* YUV 4:1:0 Planar */ | 
|---|
| 112 | #define VIDEO_PALETTE_PLANAR    13      /* start of planar entries */ | 
|---|
| 113 | #define VIDEO_PALETTE_COMPONENT 7       /* start of component entries */ | 
|---|
| 114 | }; | 
|---|
| 115 |  | 
|---|
| 116 | struct video_audio | 
|---|
| 117 | { | 
|---|
| 118 | int     audio;          /* Audio channel */ | 
|---|
| 119 | unsigned short  volume;         /* If settable */ | 
|---|
| 120 | unsigned short  bass, treble; | 
|---|
| 121 | unsigned int    flags; | 
|---|
| 122 | #define VIDEO_AUDIO_MUTE        1 | 
|---|
| 123 | #define VIDEO_AUDIO_MUTABLE     2 | 
|---|
| 124 | #define VIDEO_AUDIO_VOLUME      4 | 
|---|
| 125 | #define VIDEO_AUDIO_BASS        8 | 
|---|
| 126 | #define VIDEO_AUDIO_TREBLE      16 | 
|---|
| 127 | #define VIDEO_AUDIO_BALANCE     32 | 
|---|
| 128 | char    name[16]; | 
|---|
| 129 | #define VIDEO_SOUND_MONO        1 | 
|---|
| 130 | #define VIDEO_SOUND_STEREO      2 | 
|---|
| 131 | #define VIDEO_SOUND_LANG1       4 | 
|---|
| 132 | #define VIDEO_SOUND_LANG2       8 | 
|---|
| 133 | unsigned short   mode; | 
|---|
| 134 | unsigned short  balance;        /* Stereo balance */ | 
|---|
| 135 | unsigned short  step;           /* Step actual volume uses */ | 
|---|
| 136 | }; | 
|---|
| 137 |  | 
|---|
| 138 | struct video_clip | 
|---|
| 139 | { | 
|---|
| 140 | int     x,y; | 
|---|
| 141 | int     width, height; | 
|---|
| 142 | struct  video_clip *next;       /* For user use/driver use only */ | 
|---|
| 143 | }; | 
|---|
| 144 |  | 
|---|
| 145 | struct video_window | 
|---|
| 146 | { | 
|---|
| 147 | unsigned int    x,y;                    /* Position of window */ | 
|---|
| 148 | unsigned int    width,height;           /* Its size */ | 
|---|
| 149 | unsigned int    chromakey; | 
|---|
| 150 | unsigned int    flags; | 
|---|
| 151 | struct  video_clip *clips;      /* Set only */ | 
|---|
| 152 | int     clipcount; | 
|---|
| 153 | #define VIDEO_WINDOW_INTERLACE  1 | 
|---|
| 154 | #define VIDEO_WINDOW_CHROMAKEY  16      /* Overlay by chromakey */ | 
|---|
| 155 | #define VIDEO_CLIP_BITMAP       -1 | 
|---|
| 156 | /* bitmap is 1024x625, a '1' bit represents a clipped pixel */ | 
|---|
| 157 | #define VIDEO_CLIPMAP_SIZE      (128 * 625) | 
|---|
| 158 | }; | 
|---|
| 159 |  | 
|---|
| 160 | struct video_capture | 
|---|
| 161 | { | 
|---|
| 162 | unsigned int    x,y;                    /* Offsets into image */ | 
|---|
| 163 | unsigned int    width, height;          /* Area to capture */ | 
|---|
| 164 | unsigned short  decimation;             /* Decimation divider */ | 
|---|
| 165 | unsigned short  flags;                  /* Flags for capture */ | 
|---|
| 166 | #define VIDEO_CAPTURE_ODD               0       /* Temporal */ | 
|---|
| 167 | #define VIDEO_CAPTURE_EVEN              1 | 
|---|
| 168 | }; | 
|---|
| 169 |  | 
|---|
| 170 | struct video_buffer | 
|---|
| 171 | { | 
|---|
| 172 | void    *base; | 
|---|
| 173 | int     height,width; | 
|---|
| 174 | int     depth; | 
|---|
| 175 | int     bytesperline; | 
|---|
| 176 | }; | 
|---|
| 177 |  | 
|---|
| 178 | struct video_mmap | 
|---|
| 179 | { | 
|---|
| 180 | unsigned        int frame;              /* Frame (0 - n) for double buffer */ | 
|---|
| 181 | int             height,width; | 
|---|
| 182 | unsigned        int format;             /* should be VIDEO_PALETTE_* */ | 
|---|
| 183 | }; | 
|---|
| 184 |  | 
|---|
| 185 | struct video_key | 
|---|
| 186 | { | 
|---|
| 187 | unsigned char key[8]; | 
|---|
| 188 | unsigned int    flags; | 
|---|
| 189 | }; | 
|---|
| 190 |  | 
|---|
| 191 |  | 
|---|
| 192 | #define VIDEO_MAX_FRAME         32 | 
|---|
| 193 |  | 
|---|
| 194 | struct video_mbuf | 
|---|
| 195 | { | 
|---|
| 196 | int     size;           /* Total memory to map */ | 
|---|
| 197 | int     frames;         /* Frames */ | 
|---|
| 198 | int     offsets[VIDEO_MAX_FRAME]; | 
|---|
| 199 | }; | 
|---|
| 200 |  | 
|---|
| 201 |  | 
|---|
| 202 | #define         VIDEO_NO_UNIT   (-1) | 
|---|
| 203 |  | 
|---|
| 204 |  | 
|---|
| 205 | struct video_unit | 
|---|
| 206 | { | 
|---|
| 207 | int     video;          /* Video minor */ | 
|---|
| 208 | int     vbi;            /* VBI minor */ | 
|---|
| 209 | int     radio;          /* Radio minor */ | 
|---|
| 210 | int     audio;          /* Audio minor */ | 
|---|
| 211 | int     teletext;       /* Teletext minor */ | 
|---|
| 212 | }; | 
|---|
| 213 |  | 
|---|
| 214 | struct vbi_format { | 
|---|
| 215 | unsigned int    sampling_rate;  /* in Hz */ | 
|---|
| 216 | unsigned int    samples_per_line; | 
|---|
| 217 | unsigned int    sample_format;  /* VIDEO_PALETTE_RAW only (1 byte) */ | 
|---|
| 218 | int     start[2];       /* starting line for each frame */ | 
|---|
| 219 | unsigned int    count[2];       /* count of lines for each frame */ | 
|---|
| 220 | unsigned int    flags; | 
|---|
| 221 | #define VBI_UNSYNC      1       /* can distingues between top/bottom field */ | 
|---|
| 222 | #define VBI_INTERLACED  2       /* lines are interlaced */ | 
|---|
| 223 | }; | 
|---|
| 224 |  | 
|---|
| 225 | /* video_info is biased towards hardware mpeg encode/decode */ | 
|---|
| 226 | /* but it could apply generically to any hardware compressor/decompressor */ | 
|---|
| 227 | struct video_info | 
|---|
| 228 | { | 
|---|
| 229 | unsigned int    frame_count;    /* frames output since decode/encode began */ | 
|---|
| 230 | unsigned int    h_size;         /* current unscaled horizontal size */ | 
|---|
| 231 | unsigned int    v_size;         /* current unscaled veritcal size */ | 
|---|
| 232 | unsigned int    smpte_timecode; /* current SMPTE timecode (for current GOP) */ | 
|---|
| 233 | unsigned int    picture_type;   /* current picture type */ | 
|---|
| 234 | unsigned int    temporal_reference;     /* current temporal reference */ | 
|---|
| 235 | unsigned char   user_data[256]; /* user data last found in compressed stream */ | 
|---|
| 236 | /* user_data[0] contains user data flags, user_data[1] has count */ | 
|---|
| 237 | }; | 
|---|
| 238 |  | 
|---|
| 239 | /* generic structure for setting playback modes */ | 
|---|
| 240 | struct video_play_mode | 
|---|
| 241 | { | 
|---|
| 242 | int     mode; | 
|---|
| 243 | int     p1; | 
|---|
| 244 | int     p2; | 
|---|
| 245 | }; | 
|---|
| 246 |  | 
|---|
| 247 | /* for loading microcode / fpga programming */ | 
|---|
| 248 | struct video_code | 
|---|
| 249 | { | 
|---|
| 250 | char    loadwhat[16];   /* name or tag of file being passed */ | 
|---|
| 251 | int     datasize; | 
|---|
| 252 | unsigned char   *data; | 
|---|
| 253 | }; | 
|---|
| 254 |  | 
|---|
| 255 | #define VIDIOCGCAP              _IOR('v',1,struct video_capability)     /* Get capabilities */ | 
|---|
| 256 | #define VIDIOCGCHAN             _IOWR('v',2,struct video_channel)       /* Get channel info (sources) */ | 
|---|
| 257 | #define VIDIOCSCHAN             _IOW('v',3,struct video_channel)        /* Set channel  */ | 
|---|
| 258 | #define VIDIOCGTUNER            _IOWR('v',4,struct video_tuner)         /* Get tuner abilities */ | 
|---|
| 259 | #define VIDIOCSTUNER            _IOW('v',5,struct video_tuner)          /* Tune the tuner for the current channel */ | 
|---|
| 260 | #define VIDIOCGPICT             _IOR('v',6,struct video_picture)        /* Get picture properties */ | 
|---|
| 261 | #define VIDIOCSPICT             _IOW('v',7,struct video_picture)        /* Set picture properties */ | 
|---|
| 262 | #define VIDIOCCAPTURE           _IOW('v',8,int)                         /* Start, end capture */ | 
|---|
| 263 | #define VIDIOCGWIN              _IOR('v',9, struct video_window)        /* Get the video overlay window */ | 
|---|
| 264 | #define VIDIOCSWIN              _IOW('v',10, struct video_window)       /* Set the video overlay window - passes clip list for hardware smarts , chromakey etc */ | 
|---|
| 265 | #define VIDIOCGFBUF             _IOR('v',11, struct video_buffer)       /* Get frame buffer */ | 
|---|
| 266 | #define VIDIOCSFBUF             _IOW('v',12, struct video_buffer)       /* Set frame buffer - root only */ | 
|---|
| 267 | #define VIDIOCKEY               _IOR('v',13, struct video_key)          /* Video key event - to dev 255 is to all - cuts capture on all DMA windows with this key (0xFFFFFFFF == all) */ | 
|---|
| 268 | #define VIDIOCGFREQ             _IOR('v',14, unsigned long)             /* Set tuner */ | 
|---|
| 269 | #define VIDIOCSFREQ             _IOW('v',15, unsigned long)             /* Set tuner */ | 
|---|
| 270 | #define VIDIOCGAUDIO            _IOR('v',16, struct video_audio)        /* Get audio info */ | 
|---|
| 271 | #define VIDIOCSAUDIO            _IOW('v',17, struct video_audio)        /* Audio source, mute etc */ | 
|---|
| 272 | #define VIDIOCSYNC              _IOW('v',18, int)                       /* Sync with mmap grabbing */ | 
|---|
| 273 | #define VIDIOCMCAPTURE          _IOW('v',19, struct video_mmap)         /* Grab frames */ | 
|---|
| 274 | #define VIDIOCGMBUF             _IOR('v',20, struct video_mbuf)         /* Memory map buffer info */ | 
|---|
| 275 | #define VIDIOCGUNIT             _IOR('v',21, struct video_unit)         /* Get attached units */ | 
|---|
| 276 | #define VIDIOCGCAPTURE          _IOR('v',22, struct video_capture)      /* Get subcapture */ | 
|---|
| 277 | #define VIDIOCSCAPTURE          _IOW('v',23, struct video_capture)      /* Set subcapture */ | 
|---|
| 278 | #define VIDIOCSPLAYMODE         _IOW('v',24, struct video_play_mode)    /* Set output video mode/feature */ | 
|---|
| 279 | #define VIDIOCSWRITEMODE        _IOW('v',25, int)                       /* Set write mode */ | 
|---|
| 280 | #define VIDIOCGPLAYINFO         _IOR('v',26, struct video_info)         /* Get current playback info from hardware */ | 
|---|
| 281 | #define VIDIOCSMICROCODE        _IOW('v',27, struct video_code)         /* Load microcode into hardware */ | 
|---|
| 282 | #define VIDIOCGVBIFMT           _IOR('v',28, struct vbi_format)         /* Get VBI information */ | 
|---|
| 283 | #define VIDIOCSVBIFMT           _IOW('v',29, struct vbi_format)         /* Set VBI information */ | 
|---|
| 284 |  | 
|---|
| 285 |  | 
|---|
| 286 | #define BASE_VIDIOCPRIVATE      192             /* 192-255 are private */ | 
|---|
| 287 |  | 
|---|
| 288 | /* VIDIOCSWRITEMODE */ | 
|---|
| 289 | #define VID_WRITE_MPEG_AUD              0 | 
|---|
| 290 | #define VID_WRITE_MPEG_VID              1 | 
|---|
| 291 | #define VID_WRITE_OSD                   2 | 
|---|
| 292 | #define VID_WRITE_TTX                   3 | 
|---|
| 293 | #define VID_WRITE_CC                    4 | 
|---|
| 294 | #define VID_WRITE_MJPEG                 5 | 
|---|
| 295 |  | 
|---|
| 296 | /* VIDIOCSPLAYMODE */ | 
|---|
| 297 | #define VID_PLAY_VID_OUT_MODE           0 | 
|---|
| 298 | /* p1: = VIDEO_MODE_PAL, VIDEO_MODE_NTSC, etc ... */ | 
|---|
| 299 | #define VID_PLAY_GENLOCK                1 | 
|---|
| 300 | /* p1: 0 = OFF, 1 = ON */ | 
|---|
| 301 | /* p2: GENLOCK FINE DELAY value */ | 
|---|
| 302 | #define VID_PLAY_NORMAL                 2 | 
|---|
| 303 | #define VID_PLAY_PAUSE                  3 | 
|---|
| 304 | #define VID_PLAY_SINGLE_FRAME           4 | 
|---|
| 305 | #define VID_PLAY_FAST_FORWARD           5 | 
|---|
| 306 | #define VID_PLAY_SLOW_MOTION            6 | 
|---|
| 307 | #define VID_PLAY_IMMEDIATE_NORMAL       7 | 
|---|
| 308 | #define VID_PLAY_SWITCH_CHANNELS        8 | 
|---|
| 309 | #define VID_PLAY_FREEZE_FRAME           9 | 
|---|
| 310 | #define VID_PLAY_STILL_MODE             10 | 
|---|
| 311 | #define VID_PLAY_MASTER_MODE            11 | 
|---|
| 312 | /* p1: see below */ | 
|---|
| 313 | #define         VID_PLAY_MASTER_NONE    1 | 
|---|
| 314 | #define         VID_PLAY_MASTER_VIDEO   2 | 
|---|
| 315 | #define         VID_PLAY_MASTER_AUDIO   3 | 
|---|
| 316 | #define VID_PLAY_ACTIVE_SCANLINES       12 | 
|---|
| 317 | /* p1 = first active; p2 = last active */ | 
|---|
| 318 | #define VID_PLAY_RESET                  13 | 
|---|
| 319 | #define VID_PLAY_END_MARK               14 | 
|---|
| 320 |  | 
|---|
| 321 |  | 
|---|
| 322 |  | 
|---|
| 323 | #define VID_HARDWARE_BT848      1 | 
|---|
| 324 | #define VID_HARDWARE_QCAM_BW    2 | 
|---|
| 325 | #define VID_HARDWARE_PMS        3 | 
|---|
| 326 | #define VID_HARDWARE_QCAM_C     4 | 
|---|
| 327 | #define VID_HARDWARE_PSEUDO     5 | 
|---|
| 328 | #define VID_HARDWARE_SAA5249    6 | 
|---|
| 329 | #define VID_HARDWARE_AZTECH     7 | 
|---|
| 330 | #define VID_HARDWARE_SF16MI     8 | 
|---|
| 331 | #define VID_HARDWARE_RTRACK     9 | 
|---|
| 332 | #define VID_HARDWARE_ZOLTRIX    10 | 
|---|
| 333 | #define VID_HARDWARE_SAA7146    11 | 
|---|
| 334 | #define VID_HARDWARE_VIDEUM     12      /* Reserved for Winnov videum */ | 
|---|
| 335 | #define VID_HARDWARE_RTRACK2    13 | 
|---|
| 336 | #define VID_HARDWARE_PERMEDIA2  14      /* Reserved for Permedia2 */ | 
|---|
| 337 | #define VID_HARDWARE_RIVA128    15      /* Reserved for RIVA 128 */ | 
|---|
| 338 | #define VID_HARDWARE_PLANB      16      /* PowerMac motherboard video-in */ | 
|---|
| 339 | #define VID_HARDWARE_BROADWAY   17      /* Broadway project */ | 
|---|
| 340 | #define VID_HARDWARE_GEMTEK     18 | 
|---|
| 341 | #define VID_HARDWARE_TYPHOON    19 | 
|---|
| 342 | #define VID_HARDWARE_VINO       20      /* SGI Indy Vino */ | 
|---|
| 343 | #define VID_HARDWARE_CADET      21      /* Cadet radio */ | 
|---|
| 344 | #define VID_HARDWARE_TRUST      22      /* Trust FM Radio */ | 
|---|
| 345 | #define VID_HARDWARE_TERRATEC   23      /* TerraTec ActiveRadio */ | 
|---|
| 346 | #define VID_HARDWARE_CPIA       24 | 
|---|
| 347 | #define VID_HARDWARE_ZR36120    25      /* Zoran ZR36120/ZR36125 */ | 
|---|
| 348 | #define VID_HARDWARE_ZR36067    26      /* Zoran ZR36067/36060 */ | 
|---|
| 349 | #define VID_HARDWARE_OV511      27 | 
|---|
| 350 | #define VID_HARDWARE_ZR356700   28      /* Zoran 36700 series */ | 
|---|
| 351 | #define VID_HARDWARE_W9966      29 | 
|---|
| 352 | #define VID_HARDWARE_SE401      30      /* SE401 USB webcams */ | 
|---|
| 353 | #define VID_HARDWARE_PWC        31      /* Philips webcams */ | 
|---|
| 354 | #define VID_HARDWARE_MEYE       32      /* Sony Vaio MotionEye cameras */ | 
|---|
| 355 | #define VID_HARDWARE_CPIA2      33 | 
|---|
| 356 | #define VID_HARDWARE_VICAM      34 | 
|---|
| 357 | #define VID_HARDWARE_SF16FMR2   35 | 
|---|
| 358 | #define VID_HARDWARE_W9968CF    36 | 
|---|
| 359 | #endif /* __LINUX_VIDEODEV_H */ | 
|---|
| 360 |  | 
|---|
| 361 | /* | 
|---|
| 362 | * Local variables: | 
|---|
| 363 | * c-basic-offset: 8 | 
|---|
| 364 | * End: | 
|---|
| 365 | */ | 
|---|