aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/video4linux
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/video4linux')
-rw-r--r--Documentation/video4linux/CQcam.txt182
-rw-r--r--Documentation/video4linux/README.cpia4
-rw-r--r--Documentation/video4linux/Zoran108
-rw-r--r--Documentation/video4linux/bttv/ICs4
-rw-r--r--Documentation/video4linux/bttv/PROBLEMS16
-rw-r--r--Documentation/video4linux/bttv/README.quirks4
-rw-r--r--Documentation/video4linux/bttv/THANKS4
-rw-r--r--Documentation/video4linux/radiotrack.txt16
-rw-r--r--Documentation/video4linux/w9966.txt2
-rw-r--r--Documentation/video4linux/zr36120.txt4
10 files changed, 172 insertions, 172 deletions
diff --git a/Documentation/video4linux/CQcam.txt b/Documentation/video4linux/CQcam.txt
index e415e3604539..464e4cec94cb 100644
--- a/Documentation/video4linux/CQcam.txt
+++ b/Documentation/video4linux/CQcam.txt
@@ -1,7 +1,7 @@
1c-qcam - Connectix Color QuickCam video4linux kernel driver 1c-qcam - Connectix Color QuickCam video4linux kernel driver
2 2
3Copyright (C) 1999 Dave Forrest <drf5n@virginia.edu> 3Copyright (C) 1999 Dave Forrest <drf5n@virginia.edu>
4 released under GNU GPL. 4 released under GNU GPL.
5 5
61999-12-08 Dave Forrest, written with kernel version 2.2.12 in mind 61999-12-08 Dave Forrest, written with kernel version 2.2.12 in mind
7 7
@@ -45,21 +45,21 @@ configuration. The appropriate flags are:
45 CONFIG_PNP_PARPORT M for autoprobe.o IEEE1284 readback module 45 CONFIG_PNP_PARPORT M for autoprobe.o IEEE1284 readback module
46 CONFIG_PRINTER_READBACK M for parport_probe.o IEEE1284 readback module 46 CONFIG_PRINTER_READBACK M for parport_probe.o IEEE1284 readback module
47 CONFIG_VIDEO_DEV M for videodev.o video4linux module 47 CONFIG_VIDEO_DEV M for videodev.o video4linux module
48 CONFIG_VIDEO_CQCAM M for c-qcam.o Color Quickcam module 48 CONFIG_VIDEO_CQCAM M for c-qcam.o Color Quickcam module
49 49
50 With these flags, the kernel should compile and install the modules. 50 With these flags, the kernel should compile and install the modules.
51To record and monitor the compilation, I use: 51To record and monitor the compilation, I use:
52 52
53 (make zlilo ; \ 53 (make zlilo ; \
54 make modules; \ 54 make modules; \
55 make modules_install ; 55 make modules_install ;
56 depmod -a ) &>log & 56 depmod -a ) &>log &
57 less log # then a capital 'F' to watch the progress 57 less log # then a capital 'F' to watch the progress
58 58
59But that is my personal preference. 59But that is my personal preference.
60 60
612.2 Configuration 612.2 Configuration
62 62
63 The configuration requires module configuration and device 63 The configuration requires module configuration and device
64configuration. I like kmod or kerneld process with the 64configuration. I like kmod or kerneld process with the
65/etc/modprobe.conf file so the modules can automatically load/unload as 65/etc/modprobe.conf file so the modules can automatically load/unload as
@@ -68,7 +68,7 @@ using MAKEDEV, or need to be created. The following sections detail
68these procedures. 68these procedures.
69 69
70 70
712.1 Module Configuration 712.1 Module Configuration
72 72
73 Using modules requires a bit of work to install and pass the 73 Using modules requires a bit of work to install and pass the
74parameters. Understand that entries in /etc/modprobe.conf of: 74parameters. Understand that entries in /etc/modprobe.conf of:
@@ -128,9 +128,9 @@ system (CONFIG_PROC_FS), the parallel printer support
128(CONFIG_PRINTER), the IEEE 1284 system,(CONFIG_PRINTER_READBACK), you 128(CONFIG_PRINTER), the IEEE 1284 system,(CONFIG_PRINTER_READBACK), you
129should be able to read some identification from your quickcam with 129should be able to read some identification from your quickcam with
130 130
131 modprobe -v parport 131 modprobe -v parport
132 modprobe -v parport_probe 132 modprobe -v parport_probe
133 cat /proc/parport/PORTNUMBER/autoprobe 133 cat /proc/parport/PORTNUMBER/autoprobe
134Returns: 134Returns:
135 CLASS:MEDIA; 135 CLASS:MEDIA;
136 MODEL:Color QuickCam 2.0; 136 MODEL:Color QuickCam 2.0;
@@ -140,7 +140,7 @@ Returns:
140and well. A common problem is that the current driver does not 140and well. A common problem is that the current driver does not
141reliably detect a c-qcam, even though one is attached. In this case, 141reliably detect a c-qcam, even though one is attached. In this case,
142 142
143 modprobe -v c-qcam 143 modprobe -v c-qcam
144or 144or
145 insmod -v c-qcam 145 insmod -v c-qcam
146 146
@@ -152,16 +152,16 @@ video4linux mailing list and archive for more current information.
1523.1 Checklist: 1523.1 Checklist:
153 153
154 Can you get an image? 154 Can you get an image?
155 v4lgrab >qcam.ppm ; wc qcam.ppm ; xv qcam.ppm 155 v4lgrab >qcam.ppm ; wc qcam.ppm ; xv qcam.ppm
156 156
157 Is a working c-qcam connected to the port? 157 Is a working c-qcam connected to the port?
158 grep ^ /proc/parport/?/autoprobe 158 grep ^ /proc/parport/?/autoprobe
159 159
160 Do the /dev/video* files exist? 160 Do the /dev/video* files exist?
161 ls -lad /dev/video 161 ls -lad /dev/video
162 162
163 Is the c-qcam module loaded? 163 Is the c-qcam module loaded?
164 modprobe -v c-qcam ; lsmod 164 modprobe -v c-qcam ; lsmod
165 165
166 Does the camera work with alternate programs? cqcam, etc? 166 Does the camera work with alternate programs? cqcam, etc?
167 167
@@ -174,7 +174,7 @@ video4linux mailing list and archive for more current information.
174isn't, you might try patching the c-qcam module to add a parport=xxx 174isn't, you might try patching the c-qcam module to add a parport=xxx
175option as in the bw-qcam module so you can specify the parallel port: 175option as in the bw-qcam module so you can specify the parallel port:
176 176
177 insmod -v c-qcam parport=0 177 insmod -v c-qcam parport=0
178 178
179And bypass the detection code, see ../../drivers/char/c-qcam.c and 179And bypass the detection code, see ../../drivers/char/c-qcam.c and
180look for the 'qc_detect' code and call. 180look for the 'qc_detect' code and call.
@@ -183,12 +183,12 @@ look for the 'qc_detect' code and call.
183this work is documented at the video4linux2 site listed below. 183this work is documented at the video4linux2 site listed below.
184 184
185 185
1869.0 --- A sample program using v4lgrabber, 1869.0 --- A sample program using v4lgrabber,
187 187
188This program is a simple image grabber that will copy a frame from the 188This program is a simple image grabber that will copy a frame from the
189first video device, /dev/video0 to standard output in portable pixmap 189first video device, /dev/video0 to standard output in portable pixmap
190format (.ppm) Using this like: 'v4lgrab | convert - c-qcam.jpg' 190format (.ppm) Using this like: 'v4lgrab | convert - c-qcam.jpg'
191produced this picture of me at 191produced this picture of me at
192 http://mug.sys.virginia.edu/~drf5n/extras/c-qcam.jpg 192 http://mug.sys.virginia.edu/~drf5n/extras/c-qcam.jpg
193 193
194-------------------- 8< ---------------- 8< ----------------------------- 194-------------------- 8< ---------------- 8< -----------------------------
@@ -202,8 +202,8 @@ produced this picture of me at
202 * Use as: 202 * Use as:
203 * v4lgrab >image.ppm 203 * v4lgrab >image.ppm
204 * 204 *
205 * Copyright (C) 1998-05-03, Phil Blundell <philb@gnu.org> 205 * Copyright (C) 1998-05-03, Phil Blundell <philb@gnu.org>
206 * Copied from http://www.tazenda.demon.co.uk/phil/vgrabber.c 206 * Copied from http://www.tazenda.demon.co.uk/phil/vgrabber.c
207 * with minor modifications (Dave Forrest, drf5n@virginia.edu). 207 * with minor modifications (Dave Forrest, drf5n@virginia.edu).
208 * 208 *
209 */ 209 */
@@ -225,55 +225,55 @@ produced this picture of me at
225 225
226#define READ_VIDEO_PIXEL(buf, format, depth, r, g, b) \ 226#define READ_VIDEO_PIXEL(buf, format, depth, r, g, b) \
227{ \ 227{ \
228 switch (format) \ 228 switch (format) \
229 { \ 229 { \
230 case VIDEO_PALETTE_GREY: \ 230 case VIDEO_PALETTE_GREY: \
231 switch (depth) \ 231 switch (depth) \
232 { \ 232 { \
233 case 4: \ 233 case 4: \
234 case 6: \ 234 case 6: \
235 case 8: \ 235 case 8: \
236 (r) = (g) = (b) = (*buf++ << 8);\ 236 (r) = (g) = (b) = (*buf++ << 8);\
237 break; \ 237 break; \
238 \ 238 \
239 case 16: \ 239 case 16: \
240 (r) = (g) = (b) = \ 240 (r) = (g) = (b) = \
241 *((unsigned short *) buf); \ 241 *((unsigned short *) buf); \
242 buf += 2; \ 242 buf += 2; \
243 break; \ 243 break; \
244 } \ 244 } \
245 break; \ 245 break; \
246 \ 246 \
247 \ 247 \
248 case VIDEO_PALETTE_RGB565: \ 248 case VIDEO_PALETTE_RGB565: \
249 { \ 249 { \
250 unsigned short tmp = *(unsigned short *)buf; \ 250 unsigned short tmp = *(unsigned short *)buf; \
251 (r) = tmp&0xF800; \ 251 (r) = tmp&0xF800; \
252 (g) = (tmp<<5)&0xFC00; \ 252 (g) = (tmp<<5)&0xFC00; \
253 (b) = (tmp<<11)&0xF800; \ 253 (b) = (tmp<<11)&0xF800; \
254 buf += 2; \ 254 buf += 2; \
255 } \ 255 } \
256 break; \ 256 break; \
257 \ 257 \
258 case VIDEO_PALETTE_RGB555: \ 258 case VIDEO_PALETTE_RGB555: \
259 (r) = (buf[0]&0xF8)<<8; \ 259 (r) = (buf[0]&0xF8)<<8; \
260 (g) = ((buf[0] << 5 | buf[1] >> 3)&0xF8)<<8; \ 260 (g) = ((buf[0] << 5 | buf[1] >> 3)&0xF8)<<8; \
261 (b) = ((buf[1] << 2 ) & 0xF8)<<8; \ 261 (b) = ((buf[1] << 2 ) & 0xF8)<<8; \
262 buf += 2; \ 262 buf += 2; \
263 break; \ 263 break; \
264 \ 264 \
265 case VIDEO_PALETTE_RGB24: \ 265 case VIDEO_PALETTE_RGB24: \
266 (r) = buf[0] << 8; (g) = buf[1] << 8; \ 266 (r) = buf[0] << 8; (g) = buf[1] << 8; \
267 (b) = buf[2] << 8; \ 267 (b) = buf[2] << 8; \
268 buf += 3; \ 268 buf += 3; \
269 break; \ 269 break; \
270 \ 270 \
271 default: \ 271 default: \
272 fprintf(stderr, \ 272 fprintf(stderr, \
273 "Format %d not yet supported\n", \ 273 "Format %d not yet supported\n", \
274 format); \ 274 format); \
275 } \ 275 } \
276} 276}
277 277
278int get_brightness_adj(unsigned char *image, long size, int *brightness) { 278int get_brightness_adj(unsigned char *image, long size, int *brightness) {
279 long i, tot = 0; 279 long i, tot = 0;
@@ -324,40 +324,40 @@ int main(int argc, char ** argv)
324 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) { 324 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
325 vpic.depth=6; 325 vpic.depth=6;
326 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) { 326 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
327 vpic.depth=4; 327 vpic.depth=4;
328 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) { 328 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
329 fprintf(stderr, "Unable to find a supported capture format.\n"); 329 fprintf(stderr, "Unable to find a supported capture format.\n");
330 close(fd); 330 close(fd);
331 exit(1); 331 exit(1);
332 } 332 }
333 } 333 }
334 } 334 }
335 } else { 335 } else {
336 vpic.depth=24; 336 vpic.depth=24;
337 vpic.palette=VIDEO_PALETTE_RGB24; 337 vpic.palette=VIDEO_PALETTE_RGB24;
338 338
339 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) { 339 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {
340 vpic.palette=VIDEO_PALETTE_RGB565; 340 vpic.palette=VIDEO_PALETTE_RGB565;
341 vpic.depth=16; 341 vpic.depth=16;
342 342
343 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) { 343 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {
344 vpic.palette=VIDEO_PALETTE_RGB555; 344 vpic.palette=VIDEO_PALETTE_RGB555;
345 vpic.depth=15; 345 vpic.depth=15;
346 346
347 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) { 347 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {
348 fprintf(stderr, "Unable to find a supported capture format.\n"); 348 fprintf(stderr, "Unable to find a supported capture format.\n");
349 return -1; 349 return -1;
350 } 350 }
351 } 351 }
352 } 352 }
353 } 353 }
354 354
355 buffer = malloc(win.width * win.height * bpp); 355 buffer = malloc(win.width * win.height * bpp);
356 if (!buffer) { 356 if (!buffer) {
357 fprintf(stderr, "Out of memory.\n"); 357 fprintf(stderr, "Out of memory.\n");
358 exit(1); 358 exit(1);
359 } 359 }
360 360
361 do { 361 do {
362 int newbright; 362 int newbright;
363 read(fd, buffer, win.width * win.height * bpp); 363 read(fd, buffer, win.width * win.height * bpp);
@@ -365,8 +365,8 @@ int main(int argc, char ** argv)
365 if (f) { 365 if (f) {
366 vpic.brightness += (newbright << 8); 366 vpic.brightness += (newbright << 8);
367 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) { 367 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {
368 perror("VIDIOSPICT"); 368 perror("VIDIOSPICT");
369 break; 369 break;
370 } 370 }
371 } 371 }
372 } while (f); 372 } while (f);
@@ -381,7 +381,7 @@ int main(int argc, char ** argv)
381 fputc(g>>8, stdout); 381 fputc(g>>8, stdout);
382 fputc(b>>8, stdout); 382 fputc(b>>8, stdout);
383 } 383 }
384 384
385 close(fd); 385 close(fd);
386 return 0; 386 return 0;
387} 387}
diff --git a/Documentation/video4linux/README.cpia b/Documentation/video4linux/README.cpia
index c95e7bbc0fdf..19cd3bf24981 100644
--- a/Documentation/video4linux/README.cpia
+++ b/Documentation/video4linux/README.cpia
@@ -87,7 +87,7 @@ hardware configuration of the parport. You can give the boot-parameter
87at the LILO-prompt or specify it in lilo.conf. I use the following 87at the LILO-prompt or specify it in lilo.conf. I use the following
88append-line in lilo.conf: 88append-line in lilo.conf:
89 89
90 append="parport=0x378,7,3" 90 append="parport=0x378,7,3"
91 91
92See Documentation/parport.txt for more information about the 92See Documentation/parport.txt for more information about the
93configuration of the parport and the values given above. Do not simply 93configuration of the parport and the values given above. Do not simply
@@ -175,7 +175,7 @@ THANKS (in no particular order):
175- Manuel J. Petit de Gabriel <mpetit@dit.upm.es> for providing help 175- Manuel J. Petit de Gabriel <mpetit@dit.upm.es> for providing help
176 with Isabel (http://isabel.dit.upm.es/) 176 with Isabel (http://isabel.dit.upm.es/)
177- Bas Huisman <bhuism@cs.utwente.nl> for writing the initial parport code 177- Bas Huisman <bhuism@cs.utwente.nl> for writing the initial parport code
178- Jarl Totland <Jarl.Totland@bdc.no> for setting up the mailing list 178- Jarl Totland <Jarl.Totland@bdc.no> for setting up the mailing list
179 and maintaining the web-server[3] 179 and maintaining the web-server[3]
180- Chris Whiteford <Chris@informinteractive.com> for fixes related to the 180- Chris Whiteford <Chris@informinteractive.com> for fixes related to the
181 1.02 firmware 181 1.02 firmware
diff --git a/Documentation/video4linux/Zoran b/Documentation/video4linux/Zoran
index 52c94bd7dca1..be9f21b84555 100644
--- a/Documentation/video4linux/Zoran
+++ b/Documentation/video4linux/Zoran
@@ -28,7 +28,7 @@ Iomega Buz:
28* Philips saa7111 TV decoder 28* Philips saa7111 TV decoder
29* Philips saa7185 TV encoder 29* Philips saa7185 TV encoder
30Drivers to use: videodev, i2c-core, i2c-algo-bit, 30Drivers to use: videodev, i2c-core, i2c-algo-bit,
31 videocodec, saa7111, saa7185, zr36060, zr36067 31 videocodec, saa7111, saa7185, zr36060, zr36067
32Inputs/outputs: Composite and S-video 32Inputs/outputs: Composite and S-video
33Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 33Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
34Card number: 7 34Card number: 7
@@ -39,7 +39,7 @@ Linux Media Labs LML33:
39* Brooktree bt819 TV decoder 39* Brooktree bt819 TV decoder
40* Brooktree bt856 TV encoder 40* Brooktree bt856 TV encoder
41Drivers to use: videodev, i2c-core, i2c-algo-bit, 41Drivers to use: videodev, i2c-core, i2c-algo-bit,
42 videocodec, bt819, bt856, zr36060, zr36067 42 videocodec, bt819, bt856, zr36060, zr36067
43Inputs/outputs: Composite and S-video 43Inputs/outputs: Composite and S-video
44Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 44Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
45Card number: 5 45Card number: 5
@@ -50,7 +50,7 @@ Linux Media Labs LML33R10:
50* Philips saa7114 TV decoder 50* Philips saa7114 TV decoder
51* Analog Devices adv7170 TV encoder 51* Analog Devices adv7170 TV encoder
52Drivers to use: videodev, i2c-core, i2c-algo-bit, 52Drivers to use: videodev, i2c-core, i2c-algo-bit,
53 videocodec, saa7114, adv7170, zr36060, zr36067 53 videocodec, saa7114, adv7170, zr36060, zr36067
54Inputs/outputs: Composite and S-video 54Inputs/outputs: Composite and S-video
55Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 55Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
56Card number: 6 56Card number: 6
@@ -61,7 +61,7 @@ Pinnacle/Miro DC10(new):
61* Philips saa7110a TV decoder 61* Philips saa7110a TV decoder
62* Analog Devices adv7176 TV encoder 62* Analog Devices adv7176 TV encoder
63Drivers to use: videodev, i2c-core, i2c-algo-bit, 63Drivers to use: videodev, i2c-core, i2c-algo-bit,
64 videocodec, saa7110, adv7175, zr36060, zr36067 64 videocodec, saa7110, adv7175, zr36060, zr36067
65Inputs/outputs: Composite, S-video and Internal 65Inputs/outputs: Composite, S-video and Internal
66Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 66Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
67Card number: 1 67Card number: 1
@@ -84,7 +84,7 @@ Pinnacle/Miro DC10(old): *
84* Micronas vpx3220a TV decoder 84* Micronas vpx3220a TV decoder
85* mse3000 TV encoder or Analog Devices adv7176 TV encoder * 85* mse3000 TV encoder or Analog Devices adv7176 TV encoder *
86Drivers to use: videodev, i2c-core, i2c-algo-bit, 86Drivers to use: videodev, i2c-core, i2c-algo-bit,
87 videocodec, vpx3220, mse3000/adv7175, zr36050, zr36016, zr36067 87 videocodec, vpx3220, mse3000/adv7175, zr36050, zr36016, zr36067
88Inputs/outputs: Composite, S-video and Internal 88Inputs/outputs: Composite, S-video and Internal
89Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 89Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
90Card number: 0 90Card number: 0
@@ -96,7 +96,7 @@ Pinnacle/Miro DC30: *
96* Micronas vpx3225d/vpx3220a/vpx3216b TV decoder 96* Micronas vpx3225d/vpx3220a/vpx3216b TV decoder
97* Analog Devices adv7176 TV encoder 97* Analog Devices adv7176 TV encoder
98Drivers to use: videodev, i2c-core, i2c-algo-bit, 98Drivers to use: videodev, i2c-core, i2c-algo-bit,
99 videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36016, zr36067 99 videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36016, zr36067
100Inputs/outputs: Composite, S-video and Internal 100Inputs/outputs: Composite, S-video and Internal
101Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 101Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
102Card number: 3 102Card number: 3
@@ -123,11 +123,11 @@ Note: use encoder=X or decoder=X for non-default i2c chips (see i2c-id.h)
123 123
124The best know TV standards are NTSC/PAL/SECAM. but for decoding a frame that 124The best know TV standards are NTSC/PAL/SECAM. but for decoding a frame that
125information is not enough. There are several formats of the TV standards. 125information is not enough. There are several formats of the TV standards.
126And not every TV decoder is able to handle every format. Also the every 126And not every TV decoder is able to handle every format. Also the every
127combination is supported by the driver. There are currently 11 different 127combination is supported by the driver. There are currently 11 different
128tv broadcast formats all aver the world. 128tv broadcast formats all aver the world.
129 129
130The CCIR defines parameters needed for broadcasting the signal. 130The CCIR defines parameters needed for broadcasting the signal.
131The CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,... 131The CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,...
132The CCIR says not much about about the colorsystem used !!! 132The CCIR says not much about about the colorsystem used !!!
133And talking about a colorsystem says not to much about how it is broadcast. 133And talking about a colorsystem says not to much about how it is broadcast.
@@ -136,18 +136,18 @@ The CCIR standards A,E,F are not used any more.
136 136
137When you speak about NTSC, you usually mean the standard: CCIR - M using 137When you speak about NTSC, you usually mean the standard: CCIR - M using
138the NTSC colorsystem which is used in the USA, Japan, Mexico, Canada 138the NTSC colorsystem which is used in the USA, Japan, Mexico, Canada
139and a few others. 139and a few others.
140 140
141When you talk about PAL, you usually mean: CCIR - B/G using the PAL 141When you talk about PAL, you usually mean: CCIR - B/G using the PAL
142colorsystem which is used in many Countries. 142colorsystem which is used in many Countries.
143 143
144When you talk about SECAM, you mean: CCIR - L using the SECAM Colorsystem 144When you talk about SECAM, you mean: CCIR - L using the SECAM Colorsystem
145which is used in France, and a few others. 145which is used in France, and a few others.
146 146
147There the other version of SECAM, CCIR - D/K is used in Bulgaria, China, 147There the other version of SECAM, CCIR - D/K is used in Bulgaria, China,
148Slovakai, Hungary, Korea (Rep.), Poland, Rumania and a others. 148Slovakai, Hungary, Korea (Rep.), Poland, Rumania and a others.
149 149
150The CCIR - H uses the PAL colorsystem (sometimes SECAM) and is used in 150The CCIR - H uses the PAL colorsystem (sometimes SECAM) and is used in
151Egypt, Libya, Sri Lanka, Syrain Arab. Rep. 151Egypt, Libya, Sri Lanka, Syrain Arab. Rep.
152 152
153The CCIR - I uses the PAL colorsystem, and is used in Great Britain, Hong Kong, 153The CCIR - I uses the PAL colorsystem, and is used in Great Britain, Hong Kong,
@@ -158,30 +158,30 @@ and is used in Argentinia, Uruguay, an a few others
158 158
159We do not talk about how the audio is broadcast ! 159We do not talk about how the audio is broadcast !
160 160
161A rather good sites about the TV standards are: 161A rather good sites about the TV standards are:
162http://www.sony.jp/ServiceArea/Voltage_map/ 162http://www.sony.jp/ServiceArea/Voltage_map/
163http://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/ 163http://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/
164and http://www.cabl.com/restaurant/channel.html 164and http://www.cabl.com/restaurant/channel.html
165 165
166Other weird things around: NTSC 4.43 is a modificated NTSC, which is mainly 166Other weird things around: NTSC 4.43 is a modificated NTSC, which is mainly
167used in PAL VCR's that are able to play back NTSC. PAL 60 seems to be the same 167used in PAL VCR's that are able to play back NTSC. PAL 60 seems to be the same
168as NTSC 4.43 . The Datasheets also talk about NTSC 44, It seems as if it would 168as NTSC 4.43 . The Datasheets also talk about NTSC 44, It seems as if it would
169be the same as NTSC 4.43. 169be the same as NTSC 4.43.
170NTSC Combs seems to be a decoder mode where the decoder uses a comb filter 170NTSC Combs seems to be a decoder mode where the decoder uses a comb filter
171to split coma and luma instead of a Delay line. 171to split coma and luma instead of a Delay line.
172 172
173But I did not defiantly find out what NTSC Comb is. 173But I did not defiantly find out what NTSC Comb is.
174 174
175Philips saa7111 TV decoder 175Philips saa7111 TV decoder
176was introduced in 1997, is used in the BUZ and 176was introduced in 1997, is used in the BUZ and
177can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC N, NTSC 4.43 and SECAM 177can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC N, NTSC 4.43 and SECAM
178 178
179Philips saa7110a TV decoder 179Philips saa7110a TV decoder
180was introduced in 1995, is used in the Pinnacle/Miro DC10(new), DC10+ and 180was introduced in 1995, is used in the Pinnacle/Miro DC10(new), DC10+ and
181can handle: PAL B/G, NTSC M and SECAM 181can handle: PAL B/G, NTSC M and SECAM
182 182
183Philips saa7114 TV decoder 183Philips saa7114 TV decoder
184was introduced in 2000, is used in the LML33R10 and 184was introduced in 2000, is used in the LML33R10 and
185can handle: PAL B/G/D/H/I/N, PAL N, PAL M, NTSC M, NTSC 4.43 and SECAM 185can handle: PAL B/G/D/H/I/N, PAL N, PAL M, NTSC M, NTSC 4.43 and SECAM
186 186
187Brooktree bt819 TV decoder 187Brooktree bt819 TV decoder
@@ -206,7 +206,7 @@ was introduced in 1996, is used in the BUZ
206can generate: PAL B/G, NTSC M 206can generate: PAL B/G, NTSC M
207 207
208Brooktree bt856 TV Encoder 208Brooktree bt856 TV Encoder
209was introduced in 1994, is used in the LML33 209was introduced in 1994, is used in the LML33
210can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL-N (Argentina) 210can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL-N (Argentina)
211 211
212Analog Devices adv7170 TV Encoder 212Analog Devices adv7170 TV Encoder
@@ -221,9 +221,9 @@ ITT mse3000 TV encoder
221was introduced in 1991, is used in the DC10 old 221was introduced in 1991, is used in the DC10 old
222can generate: PAL , NTSC , SECAM 222can generate: PAL , NTSC , SECAM
223 223
224The adv717x, should be able to produce PAL N. But you find nothing PAL N 224The adv717x, should be able to produce PAL N. But you find nothing PAL N
225specific in the registers. Seem that you have to reuse a other standard 225specific in the registers. Seem that you have to reuse a other standard
226to generate PAL N, maybe it would work if you use the PAL M settings. 226to generate PAL N, maybe it would work if you use the PAL M settings.
227 227
228========================== 228==========================
229 229
@@ -261,7 +261,7 @@ Here's my experience of using LML33 and Buz on various motherboards:
261 261
262VIA MVP3 262VIA MVP3
263 Forget it. Pointless. Doesn't work. 263 Forget it. Pointless. Doesn't work.
264Intel 430FX (Pentium 200) 264Intel 430FX (Pentium 200)
265 LML33 perfect, Buz tolerable (3 or 4 frames dropped per movie) 265 LML33 perfect, Buz tolerable (3 or 4 frames dropped per movie)
266Intel 440BX (early stepping) 266Intel 440BX (early stepping)
267 LML33 tolerable. Buz starting to get annoying (6-10 frames/hour) 267 LML33 tolerable. Buz starting to get annoying (6-10 frames/hour)
@@ -438,52 +438,52 @@ importance of buffer sizes:
438> -q 25 -b 128 : 24.655.992 438> -q 25 -b 128 : 24.655.992
439> -q 25 -b 256 : 25.859.820 439> -q 25 -b 256 : 25.859.820
440 440
441I woke up, and can't go to sleep again. I'll kill some time explaining why 441I woke up, and can't go to sleep again. I'll kill some time explaining why
442this doesn't look strange to me. 442this doesn't look strange to me.
443 443
444Let's do some math using a width of 704 pixels. I'm not sure whether the Buz 444Let's do some math using a width of 704 pixels. I'm not sure whether the Buz
445actually use that number or not, but that's not too important right now. 445actually use that number or not, but that's not too important right now.
446 446
447704x288 pixels, one field, is 202752 pixels. Divided by 64 pixels per block; 447704x288 pixels, one field, is 202752 pixels. Divided by 64 pixels per block;
4483168 blocks per field. Each pixel consist of two bytes; 128 bytes per block; 4483168 blocks per field. Each pixel consist of two bytes; 128 bytes per block;
4491024 bits per block. 100% in the new driver mean 1:2 compression; the maximum 4491024 bits per block. 100% in the new driver mean 1:2 compression; the maximum
450output becomes 512 bits per block. Actually 510, but 512 is simpler to use 450output becomes 512 bits per block. Actually 510, but 512 is simpler to use
451for calculations. 451for calculations.
452 452
453Let's say that we specify d1q50. We thus want 256 bits per block; times 3168 453Let's say that we specify d1q50. We thus want 256 bits per block; times 3168
454becomes 811008 bits; 101376 bytes per field. We're talking raw bits and bytes 454becomes 811008 bits; 101376 bytes per field. We're talking raw bits and bytes
455here, so we don't need to do any fancy corrections for bits-per-pixel or such 455here, so we don't need to do any fancy corrections for bits-per-pixel or such
456things. 101376 bytes per field. 456things. 101376 bytes per field.
457 457
458d1 video contains two fields per frame. Those sum up to 202752 bytes per 458d1 video contains two fields per frame. Those sum up to 202752 bytes per
459frame, and one of those frames goes into each buffer. 459frame, and one of those frames goes into each buffer.
460 460
461But wait a second! -b128 gives 128kB buffers! It's not possible to cram 461But wait a second! -b128 gives 128kB buffers! It's not possible to cram
462202752 bytes of JPEG data into 128kB! 462202752 bytes of JPEG data into 128kB!
463 463
464This is what the driver notice and automatically compensate for in your 464This is what the driver notice and automatically compensate for in your
465examples. Let's do some math using this information: 465examples. Let's do some math using this information:
466 466
467128kB is 131072 bytes. In this buffer, we want to store two fields, which 467128kB is 131072 bytes. In this buffer, we want to store two fields, which
468leaves 65536 bytes for each field. Using 3168 blocks per field, we get 468leaves 65536 bytes for each field. Using 3168 blocks per field, we get
46920.68686868... available bytes per block; 165 bits. We can't allow the 46920.68686868... available bytes per block; 165 bits. We can't allow the
470request for 256 bits per block when there's only 165 bits available! The -q50 470request for 256 bits per block when there's only 165 bits available! The -q50
471option is silently overridden, and the -b128 option takes precedence, leaving 471option is silently overridden, and the -b128 option takes precedence, leaving
472us with the equivalence of -q32. 472us with the equivalence of -q32.
473 473
474This gives us a data rate of 165 bits per block, which, times 3168, sums up 474This gives us a data rate of 165 bits per block, which, times 3168, sums up
475to 65340 bytes per field, out of the allowed 65536. The current driver has 475to 65340 bytes per field, out of the allowed 65536. The current driver has
476another level of rate limiting; it won't accept -q values that fill more than 476another level of rate limiting; it won't accept -q values that fill more than
4776/8 of the specified buffers. (I'm not sure why. "Playing it safe" seem to be 4776/8 of the specified buffers. (I'm not sure why. "Playing it safe" seem to be
478a safe bet. Personally, I think I would have lowered requested-bits-per-block 478a safe bet. Personally, I think I would have lowered requested-bits-per-block
479by one, or something like that.) We can't use 165 bits per block, but have to 479by one, or something like that.) We can't use 165 bits per block, but have to
480lower it again, to 6/8 of the available buffer space: We end up with 124 bits 480lower it again, to 6/8 of the available buffer space: We end up with 124 bits
481per block, the equivalence of -q24. With 128kB buffers, you can't use greater 481per block, the equivalence of -q24. With 128kB buffers, you can't use greater
482than -q24 at -d1. (And PAL, and 704 pixels width...) 482than -q24 at -d1. (And PAL, and 704 pixels width...)
483 483
484The third example is limited to -q24 through the same process. The second 484The third example is limited to -q24 through the same process. The second
485example, using very similar calculations, is limited to -q48. The only 485example, using very similar calculations, is limited to -q48. The only
486example that actually grab at the specified -q value is the last one, which 486example that actually grab at the specified -q value is the last one, which
487is clearly visible, looking at the file size. 487is clearly visible, looking at the file size.
488-- 488--
489 489
diff --git a/Documentation/video4linux/bttv/ICs b/Documentation/video4linux/bttv/ICs
index 6b7491336967..611315f87c3e 100644
--- a/Documentation/video4linux/bttv/ICs
+++ b/Documentation/video4linux/bttv/ICs
@@ -14,13 +14,13 @@ Hauppauge Win/TV pci (version 405):
14 14
15Microchip 24LC02B or 15Microchip 24LC02B or
16Philips 8582E2Y: 256 Byte EEPROM with configuration information 16Philips 8582E2Y: 256 Byte EEPROM with configuration information
17 I2C 0xa0-0xa1, (24LC02B also responds to 0xa2-0xaf) 17 I2C 0xa0-0xa1, (24LC02B also responds to 0xa2-0xaf)
18Philips SAA5246AGP/E: Videotext decoder chip, I2C 0x22-0x23 18Philips SAA5246AGP/E: Videotext decoder chip, I2C 0x22-0x23
19TDA9800: sound decoder 19TDA9800: sound decoder
20Winbond W24257AS-35: 32Kx8 CMOS static RAM (Videotext buffer mem) 20Winbond W24257AS-35: 32Kx8 CMOS static RAM (Videotext buffer mem)
2114052B: analog switch for selection of sound source 2114052B: analog switch for selection of sound source
22 22
23PAL: 23PAL:
24TDA5737: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners 24TDA5737: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners
25TSA5522: 1.4 GHz I2C-bus controlled synthesizer, I2C 0xc2-0xc3 25TSA5522: 1.4 GHz I2C-bus controlled synthesizer, I2C 0xc2-0xc3
26 26
diff --git a/Documentation/video4linux/bttv/PROBLEMS b/Documentation/video4linux/bttv/PROBLEMS
index 8e31e9e36bf7..2b8b0079f7c7 100644
--- a/Documentation/video4linux/bttv/PROBLEMS
+++ b/Documentation/video4linux/bttv/PROBLEMS
@@ -3,7 +3,7 @@
3- Start capturing by pressing "c" or by selecting it via a menu!!! 3- Start capturing by pressing "c" or by selecting it via a menu!!!
4 4
5- The memory of some S3 cards is not recognized right: 5- The memory of some S3 cards is not recognized right:
6 6
7 First of all, if you are not using XFree-3.2 or newer, upgrade AT LEAST to 7 First of all, if you are not using XFree-3.2 or newer, upgrade AT LEAST to
8 XFree-3.2A! This solved the problem for most people. 8 XFree-3.2A! This solved the problem for most people.
9 9
@@ -31,23 +31,23 @@
31 (mostly with Trio 64 but also with some others) 31 (mostly with Trio 64 but also with some others)
32 Get the free demo version of Accelerated X from www.xinside.com and try 32 Get the free demo version of Accelerated X from www.xinside.com and try
33 bttv with it. bttv seems to work with most S3 cards with Accelerated X. 33 bttv with it. bttv seems to work with most S3 cards with Accelerated X.
34 34
35 Since I do not know much (better make that almost nothing) about VGA card 35 Since I do not know much (better make that almost nothing) about VGA card
36 programming I do not know the reason for this. 36 programming I do not know the reason for this.
37 Looks like XFree does something different when setting up the video memory? 37 Looks like XFree does something different when setting up the video memory?
38 Maybe somebody can enlighten me? 38 Maybe somebody can enlighten me?
39 Would be nice if somebody could get this to work with XFree since 39 Would be nice if somebody could get this to work with XFree since
40 Accelerated X costs more than some of the grabber cards ... 40 Accelerated X costs more than some of the grabber cards ...
41 41
42 Better linear frame buffer support for S3 cards will probably be in 42 Better linear frame buffer support for S3 cards will probably be in
43 XFree 4.0. 43 XFree 4.0.
44 44
45- Grabbing is not switched off when changing consoles with XFree. 45- Grabbing is not switched off when changing consoles with XFree.
46 That's because XFree and some AcceleratedX versions do not send unmap 46 That's because XFree and some AcceleratedX versions do not send unmap
47 events. 47 events.
48 48
49- Some popup windows (e.g. of the window manager) are not refreshed. 49- Some popup windows (e.g. of the window manager) are not refreshed.
50 50
51 Disable backing store by starting X with the option "-bs" 51 Disable backing store by starting X with the option "-bs"
52 52
53- When using 32 bpp in XFree or 24+8bpp mode in AccelX 3.1 the system 53- When using 32 bpp in XFree or 24+8bpp mode in AccelX 3.1 the system
diff --git a/Documentation/video4linux/bttv/README.quirks b/Documentation/video4linux/bttv/README.quirks
index e8edb87df711..92e03929a6b2 100644
--- a/Documentation/video4linux/bttv/README.quirks
+++ b/Documentation/video4linux/bttv/README.quirks
@@ -38,9 +38,9 @@ tolerate.
38------------------------ 38------------------------
39 39
40When using the 430FX PCI, the following rules will ensure 40When using the 430FX PCI, the following rules will ensure
41compatibility: 41compatibility:
42 42
43 (1) Deassert REQ at the same time as asserting FRAME. 43 (1) Deassert REQ at the same time as asserting FRAME.
44 (2) Do not reassert REQ to request another bus transaction until after 44 (2) Do not reassert REQ to request another bus transaction until after
45 finish-ing the previous transaction. 45 finish-ing the previous transaction.
46 46
diff --git a/Documentation/video4linux/bttv/THANKS b/Documentation/video4linux/bttv/THANKS
index 2085399da7d4..950aa781c2e9 100644
--- a/Documentation/video4linux/bttv/THANKS
+++ b/Documentation/video4linux/bttv/THANKS
@@ -1,6 +1,6 @@
1Many thanks to: 1Many thanks to:
2 2
3- Markus Schroeder <schroedm@uni-duesseldorf.de> for information on the Bt848 3- Markus Schroeder <schroedm@uni-duesseldorf.de> for information on the Bt848
4 and tuner programming and his control program xtvc. 4 and tuner programming and his control program xtvc.
5 5
6- Martin Buck <martin-2.buck@student.uni-ulm.de> for his great Videotext 6- Martin Buck <martin-2.buck@student.uni-ulm.de> for his great Videotext
@@ -16,7 +16,7 @@ Many thanks to:
16- MIRO for providing a free PCTV card and detailed information about the 16- MIRO for providing a free PCTV card and detailed information about the
17 components on their cards. (E.g. how the tuner type is detected) 17 components on their cards. (E.g. how the tuner type is detected)
18 Without their card I could not have debugged the NTSC mode. 18 Without their card I could not have debugged the NTSC mode.
19 19
20- Hauppauge for telling how the sound input is selected and what components 20- Hauppauge for telling how the sound input is selected and what components
21 they do and will use on their radio cards. 21 they do and will use on their radio cards.
22 Also many thanks for faxing me the FM1216 data sheet. 22 Also many thanks for faxing me the FM1216 data sheet.
diff --git a/Documentation/video4linux/radiotrack.txt b/Documentation/video4linux/radiotrack.txt
index 2b75345f13e3..d1f3ed199186 100644
--- a/Documentation/video4linux/radiotrack.txt
+++ b/Documentation/video4linux/radiotrack.txt
@@ -131,17 +131,17 @@ Check Stereo: BASE <-- 0xd8 (current volume, stereo detect,
131 x=0xff ==> "not stereo", x=0xfd ==> "stereo detected" 131 x=0xff ==> "not stereo", x=0xfd ==> "stereo detected"
132 132
133Set Frequency: code = (freq*40) + 10486188 133Set Frequency: code = (freq*40) + 10486188
134 foreach of the 24 bits in code, 134 foreach of the 24 bits in code,
135 (from Least to Most Significant): 135 (from Least to Most Significant):
136 to write a "zero" bit, 136 to write a "zero" bit,
137 BASE <-- 0x01 (audio mute, no stereo detect, radio 137 BASE <-- 0x01 (audio mute, no stereo detect, radio
138 disable, "zero" bit phase 1, tuner adjust) 138 disable, "zero" bit phase 1, tuner adjust)
139 BASE <-- 0x03 (audio mute, no stereo detect, radio 139 BASE <-- 0x03 (audio mute, no stereo detect, radio
140 disable, "zero" bit phase 2, tuner adjust) 140 disable, "zero" bit phase 2, tuner adjust)
141 to write a "one" bit, 141 to write a "one" bit,
142 BASE <-- 0x05 (audio mute, no stereo detect, radio 142 BASE <-- 0x05 (audio mute, no stereo detect, radio
143 disable, "one" bit phase 1, tuner adjust) 143 disable, "one" bit phase 1, tuner adjust)
144 BASE <-- 0x07 (audio mute, no stereo detect, radio 144 BASE <-- 0x07 (audio mute, no stereo detect, radio
145 disable, "one" bit phase 2, tuner adjust) 145 disable, "one" bit phase 2, tuner adjust)
146 146
147---------------------------------------------------------------------------- 147----------------------------------------------------------------------------
diff --git a/Documentation/video4linux/w9966.txt b/Documentation/video4linux/w9966.txt
index e7ac33a7eb06..78a651254b84 100644
--- a/Documentation/video4linux/w9966.txt
+++ b/Documentation/video4linux/w9966.txt
@@ -26,7 +26,7 @@ is called VIDEO_PALETTE_YUV422 (16 bpp).
26A minimal test application (with source) is available from: 26A minimal test application (with source) is available from:
27 http://hem.fyristorg.com/mogul/w9966.html 27 http://hem.fyristorg.com/mogul/w9966.html
28 28
29The slow framerate is due to missing DMA ECP read support in the 29The slow framerate is due to missing DMA ECP read support in the
30parport drivers. I might add working EPP support later. 30parport drivers. I might add working EPP support later.
31 31
32Good luck! 32Good luck!
diff --git a/Documentation/video4linux/zr36120.txt b/Documentation/video4linux/zr36120.txt
index 5d6357eefde4..ac6d92d01944 100644
--- a/Documentation/video4linux/zr36120.txt
+++ b/Documentation/video4linux/zr36120.txt
@@ -2,7 +2,7 @@ Driver for Trust Computer Products Framegrabber, version 0.6.1
2------ --- ----- -------- -------- ------------ ------- - - - 2------ --- ----- -------- -------- ------------ ------- - - -
3 3
4- ZORAN ------------------------------------------------------ 4- ZORAN ------------------------------------------------------
5 Author: Pauline Middelink <middelin@polyware.nl> 5 Author: Pauline Middelink <middelin@polyware.nl>
6 Date: 18 September 1999 6 Date: 18 September 1999
7Version: 0.6.1 7Version: 0.6.1
8 8
@@ -115,7 +115,7 @@ After making/checking the devices do:
115<n> is the cardtype of the card you have. The cardnumber can 115<n> is the cardtype of the card you have. The cardnumber can
116be found in the source of zr36120. Look for tvcards. If your 116be found in the source of zr36120. Look for tvcards. If your
117card is not there, please try if any other card gives some 117card is not there, please try if any other card gives some
118response, and mail me if you got a working tvcard addition. 118response, and mail me if you got a working tvcard addition.
119 119
120PS. <TVCard editors behold!) 120PS. <TVCard editors behold!)
121 Dont forget to set video_input to the number of inputs 121 Dont forget to set video_input to the number of inputs