···11c-qcam - Connectix Color QuickCam video4linux kernel driver2233Copyright (C) 1999 Dave Forrest <drf5n@virginia.edu>44- released under GNU GPL.44+ released under GNU GPL.55661999-12-08 Dave Forrest, written with kernel version 2.2.12 in mind77···4545 CONFIG_PNP_PARPORT M for autoprobe.o IEEE1284 readback module4646 CONFIG_PRINTER_READBACK M for parport_probe.o IEEE1284 readback module4747 CONFIG_VIDEO_DEV M for videodev.o video4linux module4848- CONFIG_VIDEO_CQCAM M for c-qcam.o Color Quickcam module 4848+ CONFIG_VIDEO_CQCAM M for c-qcam.o Color Quickcam module49495050 With these flags, the kernel should compile and install the modules.5151To record and monitor the compilation, I use:52525353 (make zlilo ; \5454 make modules; \5555- make modules_install ; 5555+ make modules_install ;5656 depmod -a ) &>log &5757 less log # then a capital 'F' to watch the progress5858-5858+5959But that is my personal preference.606061612.2 Configuration6262-6262+6363 The configuration requires module configuration and device6464configuration. I like kmod or kerneld process with the6565/etc/modprobe.conf file so the modules can automatically load/unload as···6868these procedures.696970707171-2.1 Module Configuration 7171+2.1 Module Configuration72727373 Using modules requires a bit of work to install and pass the7474parameters. Understand that entries in /etc/modprobe.conf of:···128128(CONFIG_PRINTER), the IEEE 1284 system,(CONFIG_PRINTER_READBACK), you129129should be able to read some identification from your quickcam with130130131131- modprobe -v parport132132- modprobe -v parport_probe133133- cat /proc/parport/PORTNUMBER/autoprobe131131+ modprobe -v parport132132+ modprobe -v parport_probe133133+ cat /proc/parport/PORTNUMBER/autoprobe134134Returns:135135 CLASS:MEDIA;136136 MODEL:Color QuickCam 2.0;···140140and well. A common problem is that the current driver does not141141reliably detect a c-qcam, even though one is attached. In this case,142142143143- modprobe -v c-qcam 143143+ modprobe -v c-qcam144144or145145 insmod -v c-qcam146146···1521523.1 Checklist:153153154154 Can you get an image?155155- v4lgrab >qcam.ppm ; wc qcam.ppm ; xv qcam.ppm155155+ v4lgrab >qcam.ppm ; wc qcam.ppm ; xv qcam.ppm156156157157- Is a working c-qcam connected to the port? 158158- grep ^ /proc/parport/?/autoprobe157157+ Is a working c-qcam connected to the port?158158+ grep ^ /proc/parport/?/autoprobe159159160160- Do the /dev/video* files exist? 161161- ls -lad /dev/video160160+ Do the /dev/video* files exist?161161+ ls -lad /dev/video162162163163- Is the c-qcam module loaded? 164164- modprobe -v c-qcam ; lsmod163163+ Is the c-qcam module loaded?164164+ modprobe -v c-qcam ; lsmod165165166166 Does the camera work with alternate programs? cqcam, etc?167167···174174isn't, you might try patching the c-qcam module to add a parport=xxx175175option as in the bw-qcam module so you can specify the parallel port:176176177177- insmod -v c-qcam parport=0 177177+ insmod -v c-qcam parport=0178178179179And bypass the detection code, see ../../drivers/char/c-qcam.c and180180look for the 'qc_detect' code and call.···183183this work is documented at the video4linux2 site listed below.184184185185186186-9.0 --- A sample program using v4lgrabber, 186186+9.0 --- A sample program using v4lgrabber,187187188188This program is a simple image grabber that will copy a frame from the189189first video device, /dev/video0 to standard output in portable pixmap190190format (.ppm) Using this like: 'v4lgrab | convert - c-qcam.jpg'191191-produced this picture of me at 191191+produced this picture of me at192192 http://mug.sys.virginia.edu/~drf5n/extras/c-qcam.jpg193193194194-------------------- 8< ---------------- 8< -----------------------------···202202 * Use as:203203 * v4lgrab >image.ppm204204 *205205- * Copyright (C) 1998-05-03, Phil Blundell <philb@gnu.org> 206206- * Copied from http://www.tazenda.demon.co.uk/phil/vgrabber.c 205205+ * Copyright (C) 1998-05-03, Phil Blundell <philb@gnu.org>206206+ * Copied from http://www.tazenda.demon.co.uk/phil/vgrabber.c207207 * with minor modifications (Dave Forrest, drf5n@virginia.edu).208208 *209209 */···225225226226#define READ_VIDEO_PIXEL(buf, format, depth, r, g, b) \227227{ \228228- switch (format) \229229- { \230230- case VIDEO_PALETTE_GREY: \231231- switch (depth) \232232- { \233233- case 4: \234234- case 6: \235235- case 8: \236236- (r) = (g) = (b) = (*buf++ << 8);\237237- break; \238238- \239239- case 16: \240240- (r) = (g) = (b) = \241241- *((unsigned short *) buf); \242242- buf += 2; \243243- break; \244244- } \245245- break; \246246- \247247- \248248- case VIDEO_PALETTE_RGB565: \249249- { \250250- unsigned short tmp = *(unsigned short *)buf; \251251- (r) = tmp&0xF800; \252252- (g) = (tmp<<5)&0xFC00; \253253- (b) = (tmp<<11)&0xF800; \254254- buf += 2; \255255- } \256256- break; \257257- \258258- case VIDEO_PALETTE_RGB555: \259259- (r) = (buf[0]&0xF8)<<8; \260260- (g) = ((buf[0] << 5 | buf[1] >> 3)&0xF8)<<8; \261261- (b) = ((buf[1] << 2 ) & 0xF8)<<8; \262262- buf += 2; \263263- break; \264264- \265265- case VIDEO_PALETTE_RGB24: \266266- (r) = buf[0] << 8; (g) = buf[1] << 8; \267267- (b) = buf[2] << 8; \268268- buf += 3; \269269- break; \270270- \271271- default: \272272- fprintf(stderr, \273273- "Format %d not yet supported\n", \274274- format); \275275- } \276276-} 228228+ switch (format) \229229+ { \230230+ case VIDEO_PALETTE_GREY: \231231+ switch (depth) \232232+ { \233233+ case 4: \234234+ case 6: \235235+ case 8: \236236+ (r) = (g) = (b) = (*buf++ << 8);\237237+ break; \238238+ \239239+ case 16: \240240+ (r) = (g) = (b) = \241241+ *((unsigned short *) buf); \242242+ buf += 2; \243243+ break; \244244+ } \245245+ break; \246246+ \247247+ \248248+ case VIDEO_PALETTE_RGB565: \249249+ { \250250+ unsigned short tmp = *(unsigned short *)buf; \251251+ (r) = tmp&0xF800; \252252+ (g) = (tmp<<5)&0xFC00; \253253+ (b) = (tmp<<11)&0xF800; \254254+ buf += 2; \255255+ } \256256+ break; \257257+ \258258+ case VIDEO_PALETTE_RGB555: \259259+ (r) = (buf[0]&0xF8)<<8; \260260+ (g) = ((buf[0] << 5 | buf[1] >> 3)&0xF8)<<8; \261261+ (b) = ((buf[1] << 2 ) & 0xF8)<<8; \262262+ buf += 2; \263263+ break; \264264+ \265265+ case VIDEO_PALETTE_RGB24: \266266+ (r) = buf[0] << 8; (g) = buf[1] << 8; \267267+ (b) = buf[2] << 8; \268268+ buf += 3; \269269+ break; \270270+ \271271+ default: \272272+ fprintf(stderr, \273273+ "Format %d not yet supported\n", \274274+ format); \275275+ } \276276+}277277278278int get_brightness_adj(unsigned char *image, long size, int *brightness) {279279 long i, tot = 0;···324324 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {325325 vpic.depth=6;326326 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {327327- vpic.depth=4;328328- if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {329329- fprintf(stderr, "Unable to find a supported capture format.\n");330330- close(fd);331331- exit(1);332332- }327327+ vpic.depth=4;328328+ if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {329329+ fprintf(stderr, "Unable to find a supported capture format.\n");330330+ close(fd);331331+ exit(1);332332+ }333333 }334334 }335335 } else {336336 vpic.depth=24;337337 vpic.palette=VIDEO_PALETTE_RGB24;338338-338338+339339 if(ioctl(fd, VIDIOCSPICT, &vpic) < 0) {340340 vpic.palette=VIDEO_PALETTE_RGB565;341341 vpic.depth=16;342342-342342+343343 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {344344- vpic.palette=VIDEO_PALETTE_RGB555;345345- vpic.depth=15;346346-347347- if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {348348- fprintf(stderr, "Unable to find a supported capture format.\n");349349- return -1;350350- }344344+ vpic.palette=VIDEO_PALETTE_RGB555;345345+ vpic.depth=15;346346+347347+ if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {348348+ fprintf(stderr, "Unable to find a supported capture format.\n");349349+ return -1;350350+ }351351 }352352 }353353 }354354-354354+355355 buffer = malloc(win.width * win.height * bpp);356356 if (!buffer) {357357 fprintf(stderr, "Out of memory.\n");358358 exit(1);359359 }360360-360360+361361 do {362362 int newbright;363363 read(fd, buffer, win.width * win.height * bpp);···365365 if (f) {366366 vpic.brightness += (newbright << 8);367367 if(ioctl(fd, VIDIOCSPICT, &vpic)==-1) {368368- perror("VIDIOSPICT");369369- break;368368+ perror("VIDIOSPICT");369369+ break;370370 }371371 }372372 } while (f);···381381 fputc(g>>8, stdout);382382 fputc(b>>8, stdout);383383 }384384-384384+385385 close(fd);386386 return 0;387387}
+2-2
Documentation/video4linux/README.cpia
···8787at the LILO-prompt or specify it in lilo.conf. I use the following8888append-line in lilo.conf:89899090- append="parport=0x378,7,3"9090+ append="parport=0x378,7,3"91919292See Documentation/parport.txt for more information about the9393configuration of the parport and the values given above. Do not simply···175175- Manuel J. Petit de Gabriel <mpetit@dit.upm.es> for providing help176176 with Isabel (http://isabel.dit.upm.es/)177177- Bas Huisman <bhuism@cs.utwente.nl> for writing the initial parport code178178-- Jarl Totland <Jarl.Totland@bdc.no> for setting up the mailing list 178178+- Jarl Totland <Jarl.Totland@bdc.no> for setting up the mailing list179179 and maintaining the web-server[3]180180- Chris Whiteford <Chris@informinteractive.com> for fixes related to the181181 1.02 firmware
+54-54
Documentation/video4linux/Zoran
···2828* Philips saa7111 TV decoder2929* Philips saa7185 TV encoder3030Drivers to use: videodev, i2c-core, i2c-algo-bit,3131- videocodec, saa7111, saa7185, zr36060, zr360673131+ videocodec, saa7111, saa7185, zr36060, zr360673232Inputs/outputs: Composite and S-video3333Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)3434Card number: 7···3939* Brooktree bt819 TV decoder4040* Brooktree bt856 TV encoder4141Drivers to use: videodev, i2c-core, i2c-algo-bit,4242- videocodec, bt819, bt856, zr36060, zr360674242+ videocodec, bt819, bt856, zr36060, zr360674343Inputs/outputs: Composite and S-video4444Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)4545Card number: 5···5050* Philips saa7114 TV decoder5151* Analog Devices adv7170 TV encoder5252Drivers to use: videodev, i2c-core, i2c-algo-bit,5353- videocodec, saa7114, adv7170, zr36060, zr360675353+ videocodec, saa7114, adv7170, zr36060, zr360675454Inputs/outputs: Composite and S-video5555Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)5656Card number: 6···6161* Philips saa7110a TV decoder6262* Analog Devices adv7176 TV encoder6363Drivers to use: videodev, i2c-core, i2c-algo-bit,6464- videocodec, saa7110, adv7175, zr36060, zr360676464+ videocodec, saa7110, adv7175, zr36060, zr360676565Inputs/outputs: Composite, S-video and Internal6666Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)6767Card number: 1···8484* Micronas vpx3220a TV decoder8585* mse3000 TV encoder or Analog Devices adv7176 TV encoder *8686Drivers to use: videodev, i2c-core, i2c-algo-bit,8787- videocodec, vpx3220, mse3000/adv7175, zr36050, zr36016, zr360678787+ videocodec, vpx3220, mse3000/adv7175, zr36050, zr36016, zr360678888Inputs/outputs: Composite, S-video and Internal8989Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)9090Card number: 0···9696* Micronas vpx3225d/vpx3220a/vpx3216b TV decoder9797* Analog Devices adv7176 TV encoder9898Drivers to use: videodev, i2c-core, i2c-algo-bit,9999- videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36016, zr360679999+ videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36016, zr36067100100Inputs/outputs: Composite, S-video and Internal101101Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)102102Card number: 3···123123124124The best know TV standards are NTSC/PAL/SECAM. but for decoding a frame that125125information is not enough. There are several formats of the TV standards.126126-And not every TV decoder is able to handle every format. Also the every 127127-combination is supported by the driver. There are currently 11 different 128128-tv broadcast formats all aver the world. 126126+And not every TV decoder is able to handle every format. Also the every127127+combination is supported by the driver. There are currently 11 different128128+tv broadcast formats all aver the world.129129130130-The CCIR defines parameters needed for broadcasting the signal. 130130+The CCIR defines parameters needed for broadcasting the signal.131131The CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,...132132The CCIR says not much about about the colorsystem used !!!133133And talking about a colorsystem says not to much about how it is broadcast.···136136137137When you speak about NTSC, you usually mean the standard: CCIR - M using138138the NTSC colorsystem which is used in the USA, Japan, Mexico, Canada139139-and a few others. 139139+and a few others.140140141141When you talk about PAL, you usually mean: CCIR - B/G using the PAL142142-colorsystem which is used in many Countries. 142142+colorsystem which is used in many Countries.143143144144-When you talk about SECAM, you mean: CCIR - L using the SECAM Colorsystem 144144+When you talk about SECAM, you mean: CCIR - L using the SECAM Colorsystem145145which is used in France, and a few others.146146147147There the other version of SECAM, CCIR - D/K is used in Bulgaria, China,148148-Slovakai, Hungary, Korea (Rep.), Poland, Rumania and a others. 148148+Slovakai, Hungary, Korea (Rep.), Poland, Rumania and a others.149149150150-The CCIR - H uses the PAL colorsystem (sometimes SECAM) and is used in 150150+The CCIR - H uses the PAL colorsystem (sometimes SECAM) and is used in151151Egypt, Libya, Sri Lanka, Syrain Arab. Rep.152152153153The CCIR - I uses the PAL colorsystem, and is used in Great Britain, Hong Kong,···158158159159We do not talk about how the audio is broadcast !160160161161-A rather good sites about the TV standards are: 161161+A rather good sites about the TV standards are:162162http://www.sony.jp/ServiceArea/Voltage_map/163163http://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/164164and http://www.cabl.com/restaurant/channel.html165165166166Other weird things around: NTSC 4.43 is a modificated NTSC, which is mainly167167used in PAL VCR's that are able to play back NTSC. PAL 60 seems to be the same168168-as NTSC 4.43 . The Datasheets also talk about NTSC 44, It seems as if it would 169169-be the same as NTSC 4.43. 168168+as NTSC 4.43 . The Datasheets also talk about NTSC 44, It seems as if it would169169+be the same as NTSC 4.43.170170NTSC Combs seems to be a decoder mode where the decoder uses a comb filter171171to split coma and luma instead of a Delay line.172172173173But I did not defiantly find out what NTSC Comb is.174174175175Philips saa7111 TV decoder176176-was introduced in 1997, is used in the BUZ and 177177-can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC N, NTSC 4.43 and SECAM 176176+was introduced in 1997, is used in the BUZ and177177+can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC N, NTSC 4.43 and SECAM178178179179Philips saa7110a TV decoder180180was introduced in 1995, is used in the Pinnacle/Miro DC10(new), DC10+ and181181-can handle: PAL B/G, NTSC M and SECAM 181181+can handle: PAL B/G, NTSC M and SECAM182182183183Philips saa7114 TV decoder184184-was introduced in 2000, is used in the LML33R10 and 184184+was introduced in 2000, is used in the LML33R10 and185185can handle: PAL B/G/D/H/I/N, PAL N, PAL M, NTSC M, NTSC 4.43 and SECAM186186187187Brooktree bt819 TV decoder···206206can generate: PAL B/G, NTSC M207207208208Brooktree bt856 TV Encoder209209-was introduced in 1994, is used in the LML33 209209+was introduced in 1994, is used in the LML33210210can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL-N (Argentina)211211212212Analog Devices adv7170 TV Encoder···221221was introduced in 1991, is used in the DC10 old222222can generate: PAL , NTSC , SECAM223223224224-The adv717x, should be able to produce PAL N. But you find nothing PAL N 224224+The adv717x, should be able to produce PAL N. But you find nothing PAL N225225specific in the registers. Seem that you have to reuse a other standard226226-to generate PAL N, maybe it would work if you use the PAL M settings. 226226+to generate PAL N, maybe it would work if you use the PAL M settings.227227228228==========================229229···261261262262VIA MVP3263263 Forget it. Pointless. Doesn't work.264264-Intel 430FX (Pentium 200) 264264+Intel 430FX (Pentium 200)265265 LML33 perfect, Buz tolerable (3 or 4 frames dropped per movie)266266Intel 440BX (early stepping)267267 LML33 tolerable. Buz starting to get annoying (6-10 frames/hour)···438438> -q 25 -b 128 : 24.655.992439439> -q 25 -b 256 : 25.859.820440440441441-I woke up, and can't go to sleep again. I'll kill some time explaining why 441441+I woke up, and can't go to sleep again. I'll kill some time explaining why442442this doesn't look strange to me.443443444444-Let's do some math using a width of 704 pixels. I'm not sure whether the Buz 444444+Let's do some math using a width of 704 pixels. I'm not sure whether the Buz445445actually use that number or not, but that's not too important right now.446446447447-704x288 pixels, one field, is 202752 pixels. Divided by 64 pixels per block; 448448-3168 blocks per field. Each pixel consist of two bytes; 128 bytes per block; 449449-1024 bits per block. 100% in the new driver mean 1:2 compression; the maximum 450450-output becomes 512 bits per block. Actually 510, but 512 is simpler to use 447447+704x288 pixels, one field, is 202752 pixels. Divided by 64 pixels per block;448448+3168 blocks per field. Each pixel consist of two bytes; 128 bytes per block;449449+1024 bits per block. 100% in the new driver mean 1:2 compression; the maximum450450+output becomes 512 bits per block. Actually 510, but 512 is simpler to use451451for calculations.452452453453-Let's say that we specify d1q50. We thus want 256 bits per block; times 3168 454454-becomes 811008 bits; 101376 bytes per field. We're talking raw bits and bytes 455455-here, so we don't need to do any fancy corrections for bits-per-pixel or such 453453+Let's say that we specify d1q50. We thus want 256 bits per block; times 3168454454+becomes 811008 bits; 101376 bytes per field. We're talking raw bits and bytes455455+here, so we don't need to do any fancy corrections for bits-per-pixel or such456456things. 101376 bytes per field.457457458458-d1 video contains two fields per frame. Those sum up to 202752 bytes per 458458+d1 video contains two fields per frame. Those sum up to 202752 bytes per459459frame, and one of those frames goes into each buffer.460460461461-But wait a second! -b128 gives 128kB buffers! It's not possible to cram 461461+But wait a second! -b128 gives 128kB buffers! It's not possible to cram462462202752 bytes of JPEG data into 128kB!463463464464-This is what the driver notice and automatically compensate for in your 464464+This is what the driver notice and automatically compensate for in your465465examples. Let's do some math using this information:466466467467-128kB is 131072 bytes. In this buffer, we want to store two fields, which 468468-leaves 65536 bytes for each field. Using 3168 blocks per field, we get 469469-20.68686868... available bytes per block; 165 bits. We can't allow the 470470-request for 256 bits per block when there's only 165 bits available! The -q50 471471-option is silently overridden, and the -b128 option takes precedence, leaving 467467+128kB is 131072 bytes. In this buffer, we want to store two fields, which468468+leaves 65536 bytes for each field. Using 3168 blocks per field, we get469469+20.68686868... available bytes per block; 165 bits. We can't allow the470470+request for 256 bits per block when there's only 165 bits available! The -q50471471+option is silently overridden, and the -b128 option takes precedence, leaving472472us with the equivalence of -q32.473473474474-This gives us a data rate of 165 bits per block, which, times 3168, sums up 475475-to 65340 bytes per field, out of the allowed 65536. The current driver has 476476-another level of rate limiting; it won't accept -q values that fill more than 477477-6/8 of the specified buffers. (I'm not sure why. "Playing it safe" seem to be 478478-a safe bet. Personally, I think I would have lowered requested-bits-per-block 479479-by one, or something like that.) We can't use 165 bits per block, but have to 480480-lower it again, to 6/8 of the available buffer space: We end up with 124 bits 481481-per block, the equivalence of -q24. With 128kB buffers, you can't use greater 474474+This gives us a data rate of 165 bits per block, which, times 3168, sums up475475+to 65340 bytes per field, out of the allowed 65536. The current driver has476476+another level of rate limiting; it won't accept -q values that fill more than477477+6/8 of the specified buffers. (I'm not sure why. "Playing it safe" seem to be478478+a safe bet. Personally, I think I would have lowered requested-bits-per-block479479+by one, or something like that.) We can't use 165 bits per block, but have to480480+lower it again, to 6/8 of the available buffer space: We end up with 124 bits481481+per block, the equivalence of -q24. With 128kB buffers, you can't use greater482482than -q24 at -d1. (And PAL, and 704 pixels width...)483483484484-The third example is limited to -q24 through the same process. The second 485485-example, using very similar calculations, is limited to -q48. The only 486486-example that actually grab at the specified -q value is the last one, which 484484+The third example is limited to -q24 through the same process. The second485485+example, using very similar calculations, is limited to -q48. The only486486+example that actually grab at the specified -q value is the last one, which487487is clearly visible, looking at the file size.488488--489489
+2-2
Documentation/video4linux/bttv/ICs
···14141515Microchip 24LC02B or1616Philips 8582E2Y: 256 Byte EEPROM with configuration information1717- I2C 0xa0-0xa1, (24LC02B also responds to 0xa2-0xaf)1717+ I2C 0xa0-0xa1, (24LC02B also responds to 0xa2-0xaf)1818Philips SAA5246AGP/E: Videotext decoder chip, I2C 0x22-0x231919TDA9800: sound decoder2020Winbond W24257AS-35: 32Kx8 CMOS static RAM (Videotext buffer mem)212114052B: analog switch for selection of sound source22222323-PAL: 2323+PAL:2424TDA5737: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners2525TSA5522: 1.4 GHz I2C-bus controlled synthesizer, I2C 0xc2-0xc32626
+8-8
Documentation/video4linux/bttv/PROBLEMS
···33- Start capturing by pressing "c" or by selecting it via a menu!!!4455- The memory of some S3 cards is not recognized right:66-66+77 First of all, if you are not using XFree-3.2 or newer, upgrade AT LEAST to88 XFree-3.2A! This solved the problem for most people.99···3131 (mostly with Trio 64 but also with some others)3232 Get the free demo version of Accelerated X from www.xinside.com and try3333 bttv with it. bttv seems to work with most S3 cards with Accelerated X.3434-3434+3535 Since I do not know much (better make that almost nothing) about VGA card3636 programming I do not know the reason for this.3737 Looks like XFree does something different when setting up the video memory?3838- Maybe somebody can enlighten me? 3939- Would be nice if somebody could get this to work with XFree since 4040- Accelerated X costs more than some of the grabber cards ... 4141-3838+ Maybe somebody can enlighten me?3939+ Would be nice if somebody could get this to work with XFree since4040+ Accelerated X costs more than some of the grabber cards ...4141+4242 Better linear frame buffer support for S3 cards will probably be in4343 XFree 4.0.4444-4444+4545- Grabbing is not switched off when changing consoles with XFree.4646 That's because XFree and some AcceleratedX versions do not send unmap4747 events.48484949- Some popup windows (e.g. of the window manager) are not refreshed.5050-5050+5151 Disable backing store by starting X with the option "-bs"52525353- When using 32 bpp in XFree or 24+8bpp mode in AccelX 3.1 the system
+2-2
Documentation/video4linux/bttv/README.quirks
···3838------------------------39394040When using the 430FX PCI, the following rules will ensure4141-compatibility: 4141+compatibility:42424343- (1) Deassert REQ at the same time as asserting FRAME. 4343+ (1) Deassert REQ at the same time as asserting FRAME.4444 (2) Do not reassert REQ to request another bus transaction until after4545 finish-ing the previous transaction.4646
+2-2
Documentation/video4linux/bttv/THANKS
···11Many thanks to:2233-- Markus Schroeder <schroedm@uni-duesseldorf.de> for information on the Bt848 33+- Markus Schroeder <schroedm@uni-duesseldorf.de> for information on the Bt84844 and tuner programming and his control program xtvc.5566- Martin Buck <martin-2.buck@student.uni-ulm.de> for his great Videotext···1616- MIRO for providing a free PCTV card and detailed information about the1717 components on their cards. (E.g. how the tuner type is detected)1818 Without their card I could not have debugged the NTSC mode.1919-1919+2020- Hauppauge for telling how the sound input is selected and what components2121 they do and will use on their radio cards.2222 Also many thanks for faxing me the FM1216 data sheet.
+8-8
Documentation/video4linux/radiotrack.txt
···131131 x=0xff ==> "not stereo", x=0xfd ==> "stereo detected"132132133133Set Frequency: code = (freq*40) + 10486188134134- foreach of the 24 bits in code,135135- (from Least to Most Significant):136136- to write a "zero" bit,137137- BASE <-- 0x01 (audio mute, no stereo detect, radio134134+ foreach of the 24 bits in code,135135+ (from Least to Most Significant):136136+ to write a "zero" bit,137137+ BASE <-- 0x01 (audio mute, no stereo detect, radio138138 disable, "zero" bit phase 1, tuner adjust)139139- BASE <-- 0x03 (audio mute, no stereo detect, radio139139+ BASE <-- 0x03 (audio mute, no stereo detect, radio140140 disable, "zero" bit phase 2, tuner adjust)141141- to write a "one" bit,142142- BASE <-- 0x05 (audio mute, no stereo detect, radio141141+ to write a "one" bit,142142+ BASE <-- 0x05 (audio mute, no stereo detect, radio143143 disable, "one" bit phase 1, tuner adjust)144144- BASE <-- 0x07 (audio mute, no stereo detect, radio144144+ BASE <-- 0x07 (audio mute, no stereo detect, radio145145 disable, "one" bit phase 2, tuner adjust)146146147147----------------------------------------------------------------------------
+1-1
Documentation/video4linux/w9966.txt
···2626A minimal test application (with source) is available from:2727 http://hem.fyristorg.com/mogul/w9966.html28282929-The slow framerate is due to missing DMA ECP read support in the 2929+The slow framerate is due to missing DMA ECP read support in the3030parport drivers. I might add working EPP support later.31313232Good luck!
+2-2
Documentation/video4linux/zr36120.txt
···22------ --- ----- -------- -------- ------------ ------- - - -3344- ZORAN ------------------------------------------------------55- Author: Pauline Middelink <middelin@polyware.nl> 55+ Author: Pauline Middelink <middelin@polyware.nl>66 Date: 18 September 199977Version: 0.6.188···115115<n> is the cardtype of the card you have. The cardnumber can116116be found in the source of zr36120. Look for tvcards. If your117117card is not there, please try if any other card gives some118118-response, and mail me if you got a working tvcard addition. 118118+response, and mail me if you got a working tvcard addition.119119120120PS. <TVCard editors behold!)121121 Dont forget to set video_input to the number of inputs