10cef13d8SMauro Carvalho Chehab.. SPDX-License-Identifier: GPL-2.0 20cef13d8SMauro Carvalho Chehab 30cef13d8SMauro Carvalho ChehabThe Zoran driver 40cef13d8SMauro Carvalho Chehab================ 50cef13d8SMauro Carvalho Chehab 60cef13d8SMauro Carvalho Chehabunified zoran driver (zr360x7, zoran, buz, dc10(+), dc30(+), lml33) 70cef13d8SMauro Carvalho Chehab 80cef13d8SMauro Carvalho Chehabwebsite: http://mjpeg.sourceforge.net/driver-zoran/ 90cef13d8SMauro Carvalho Chehab 100cef13d8SMauro Carvalho Chehab 110cef13d8SMauro Carvalho ChehabFrequently Asked Questions 120cef13d8SMauro Carvalho Chehab-------------------------- 130cef13d8SMauro Carvalho Chehab 140cef13d8SMauro Carvalho ChehabWhat cards are supported 150cef13d8SMauro Carvalho Chehab------------------------ 160cef13d8SMauro Carvalho Chehab 170cef13d8SMauro Carvalho ChehabIomega Buz, Linux Media Labs LML33/LML33R10, Pinnacle/Miro 180cef13d8SMauro Carvalho ChehabDC10/DC10+/DC30/DC30+ and related boards (available under various names). 190cef13d8SMauro Carvalho Chehab 200cef13d8SMauro Carvalho ChehabIomega Buz 210cef13d8SMauro Carvalho Chehab~~~~~~~~~~ 220cef13d8SMauro Carvalho Chehab 230cef13d8SMauro Carvalho Chehab* Zoran zr36067 PCI controller 240cef13d8SMauro Carvalho Chehab* Zoran zr36060 MJPEG codec 250cef13d8SMauro Carvalho Chehab* Philips saa7111 TV decoder 260cef13d8SMauro Carvalho Chehab* Philips saa7185 TV encoder 270cef13d8SMauro Carvalho Chehab 280cef13d8SMauro Carvalho ChehabDrivers to use: videodev, i2c-core, i2c-algo-bit, 290cef13d8SMauro Carvalho Chehabvideocodec, saa7111, saa7185, zr36060, zr36067 300cef13d8SMauro Carvalho Chehab 310cef13d8SMauro Carvalho ChehabInputs/outputs: Composite and S-video 320cef13d8SMauro Carvalho Chehab 330cef13d8SMauro Carvalho ChehabNorms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 340cef13d8SMauro Carvalho Chehab 350cef13d8SMauro Carvalho ChehabCard number: 7 360cef13d8SMauro Carvalho Chehab 370cef13d8SMauro Carvalho ChehabAverMedia 6 Eyes AVS6EYES 380cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~ 390cef13d8SMauro Carvalho Chehab 400cef13d8SMauro Carvalho Chehab* Zoran zr36067 PCI controller 410cef13d8SMauro Carvalho Chehab* Zoran zr36060 MJPEG codec 420cef13d8SMauro Carvalho Chehab* Samsung ks0127 TV decoder 430cef13d8SMauro Carvalho Chehab* Conexant bt866 TV encoder 440cef13d8SMauro Carvalho Chehab 450cef13d8SMauro Carvalho ChehabDrivers to use: videodev, i2c-core, i2c-algo-bit, 460cef13d8SMauro Carvalho Chehabvideocodec, ks0127, bt866, zr36060, zr36067 470cef13d8SMauro Carvalho Chehab 480cef13d8SMauro Carvalho ChehabInputs/outputs: 490cef13d8SMauro Carvalho Chehab Six physical inputs. 1-6 are composite, 500cef13d8SMauro Carvalho Chehab 1-2, 3-4, 5-6 doubles as S-video, 510cef13d8SMauro Carvalho Chehab 1-3 triples as component. 520cef13d8SMauro Carvalho Chehab One composite output. 530cef13d8SMauro Carvalho Chehab 540cef13d8SMauro Carvalho ChehabNorms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 550cef13d8SMauro Carvalho Chehab 560cef13d8SMauro Carvalho ChehabCard number: 8 570cef13d8SMauro Carvalho Chehab 580cef13d8SMauro Carvalho Chehab.. note:: 590cef13d8SMauro Carvalho Chehab 600cef13d8SMauro Carvalho Chehab Not autodetected, card=8 is necessary. 610cef13d8SMauro Carvalho Chehab 620cef13d8SMauro Carvalho ChehabLinux Media Labs LML33 630cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~ 640cef13d8SMauro Carvalho Chehab 650cef13d8SMauro Carvalho Chehab* Zoran zr36067 PCI controller 660cef13d8SMauro Carvalho Chehab* Zoran zr36060 MJPEG codec 670cef13d8SMauro Carvalho Chehab* Brooktree bt819 TV decoder 680cef13d8SMauro Carvalho Chehab* Brooktree bt856 TV encoder 690cef13d8SMauro Carvalho Chehab 700cef13d8SMauro Carvalho ChehabDrivers to use: videodev, i2c-core, i2c-algo-bit, 710cef13d8SMauro Carvalho Chehabvideocodec, bt819, bt856, zr36060, zr36067 720cef13d8SMauro Carvalho Chehab 730cef13d8SMauro Carvalho ChehabInputs/outputs: Composite and S-video 740cef13d8SMauro Carvalho Chehab 750cef13d8SMauro Carvalho ChehabNorms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 760cef13d8SMauro Carvalho Chehab 770cef13d8SMauro Carvalho ChehabCard number: 5 780cef13d8SMauro Carvalho Chehab 790cef13d8SMauro Carvalho ChehabLinux Media Labs LML33R10 800cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~ 810cef13d8SMauro Carvalho Chehab 820cef13d8SMauro Carvalho Chehab* Zoran zr36067 PCI controller 830cef13d8SMauro Carvalho Chehab* Zoran zr36060 MJPEG codec 840cef13d8SMauro Carvalho Chehab* Philips saa7114 TV decoder 850cef13d8SMauro Carvalho Chehab* Analog Devices adv7170 TV encoder 860cef13d8SMauro Carvalho Chehab 870cef13d8SMauro Carvalho ChehabDrivers to use: videodev, i2c-core, i2c-algo-bit, 880cef13d8SMauro Carvalho Chehabvideocodec, saa7114, adv7170, zr36060, zr36067 890cef13d8SMauro Carvalho Chehab 900cef13d8SMauro Carvalho ChehabInputs/outputs: Composite and S-video 910cef13d8SMauro Carvalho Chehab 920cef13d8SMauro Carvalho ChehabNorms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 930cef13d8SMauro Carvalho Chehab 940cef13d8SMauro Carvalho ChehabCard number: 6 950cef13d8SMauro Carvalho Chehab 960cef13d8SMauro Carvalho ChehabPinnacle/Miro DC10(new) 970cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~ 980cef13d8SMauro Carvalho Chehab 990cef13d8SMauro Carvalho Chehab* Zoran zr36057 PCI controller 1000cef13d8SMauro Carvalho Chehab* Zoran zr36060 MJPEG codec 1010cef13d8SMauro Carvalho Chehab* Philips saa7110a TV decoder 1020cef13d8SMauro Carvalho Chehab* Analog Devices adv7176 TV encoder 1030cef13d8SMauro Carvalho Chehab 1040cef13d8SMauro Carvalho ChehabDrivers to use: videodev, i2c-core, i2c-algo-bit, 1050cef13d8SMauro Carvalho Chehabvideocodec, saa7110, adv7175, zr36060, zr36067 1060cef13d8SMauro Carvalho Chehab 1070cef13d8SMauro Carvalho ChehabInputs/outputs: Composite, S-video and Internal 1080cef13d8SMauro Carvalho Chehab 1090cef13d8SMauro Carvalho ChehabNorms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 1100cef13d8SMauro Carvalho Chehab 1110cef13d8SMauro Carvalho ChehabCard number: 1 1120cef13d8SMauro Carvalho Chehab 1130cef13d8SMauro Carvalho ChehabPinnacle/Miro DC10+ 1140cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~ 1150cef13d8SMauro Carvalho Chehab 1160cef13d8SMauro Carvalho Chehab* Zoran zr36067 PCI controller 1170cef13d8SMauro Carvalho Chehab* Zoran zr36060 MJPEG codec 1180cef13d8SMauro Carvalho Chehab* Philips saa7110a TV decoder 1190cef13d8SMauro Carvalho Chehab* Analog Devices adv7176 TV encoder 1200cef13d8SMauro Carvalho Chehab 1210cef13d8SMauro Carvalho ChehabDrivers to use: videodev, i2c-core, i2c-algo-bit, 1220cef13d8SMauro Carvalho Chehabvideocodec, saa7110, adv7175, zr36060, zr36067 1230cef13d8SMauro Carvalho Chehab 1240cef13d8SMauro Carvalho ChehabInputs/outputs: Composite, S-video and Internal 1250cef13d8SMauro Carvalho Chehab 1260cef13d8SMauro Carvalho ChehabNorms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 1270cef13d8SMauro Carvalho Chehab 1280cef13d8SMauro Carvalho ChehabCard number: 2 1290cef13d8SMauro Carvalho Chehab 1300cef13d8SMauro Carvalho ChehabPinnacle/Miro DC10(old) 1310cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~ 1320cef13d8SMauro Carvalho Chehab 1330cef13d8SMauro Carvalho Chehab* Zoran zr36057 PCI controller 1340cef13d8SMauro Carvalho Chehab* Zoran zr36050 MJPEG codec 1350cef13d8SMauro Carvalho Chehab* Zoran zr36016 Video Front End or Fuji md0211 Video Front End (clone?) 1360cef13d8SMauro Carvalho Chehab* Micronas vpx3220a TV decoder 1370cef13d8SMauro Carvalho Chehab* mse3000 TV encoder or Analog Devices adv7176 TV encoder 1380cef13d8SMauro Carvalho Chehab 1390cef13d8SMauro Carvalho ChehabDrivers to use: videodev, i2c-core, i2c-algo-bit, 1400cef13d8SMauro Carvalho Chehabvideocodec, vpx3220, mse3000/adv7175, zr36050, zr36016, zr36067 1410cef13d8SMauro Carvalho Chehab 1420cef13d8SMauro Carvalho ChehabInputs/outputs: Composite, S-video and Internal 1430cef13d8SMauro Carvalho Chehab 1440cef13d8SMauro Carvalho ChehabNorms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 1450cef13d8SMauro Carvalho Chehab 1460cef13d8SMauro Carvalho ChehabCard number: 0 1470cef13d8SMauro Carvalho Chehab 1480cef13d8SMauro Carvalho ChehabPinnacle/Miro DC30 1490cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~ 1500cef13d8SMauro Carvalho Chehab 1510cef13d8SMauro Carvalho Chehab* Zoran zr36057 PCI controller 1520cef13d8SMauro Carvalho Chehab* Zoran zr36050 MJPEG codec 1530cef13d8SMauro Carvalho Chehab* Zoran zr36016 Video Front End 1540cef13d8SMauro Carvalho Chehab* Micronas vpx3225d/vpx3220a/vpx3216b TV decoder 1550cef13d8SMauro Carvalho Chehab* Analog Devices adv7176 TV encoder 1560cef13d8SMauro Carvalho Chehab 1570cef13d8SMauro Carvalho ChehabDrivers to use: videodev, i2c-core, i2c-algo-bit, 1580cef13d8SMauro Carvalho Chehabvideocodec, vpx3220/vpx3224, adv7175, zr36050, zr36016, zr36067 1590cef13d8SMauro Carvalho Chehab 1600cef13d8SMauro Carvalho ChehabInputs/outputs: Composite, S-video and Internal 1610cef13d8SMauro Carvalho Chehab 1620cef13d8SMauro Carvalho ChehabNorms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 1630cef13d8SMauro Carvalho Chehab 1640cef13d8SMauro Carvalho ChehabCard number: 3 1650cef13d8SMauro Carvalho Chehab 1660cef13d8SMauro Carvalho ChehabPinnacle/Miro DC30+ 1670cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~ 1680cef13d8SMauro Carvalho Chehab 1690cef13d8SMauro Carvalho Chehab* Zoran zr36067 PCI controller 1700cef13d8SMauro Carvalho Chehab* Zoran zr36050 MJPEG codec 1710cef13d8SMauro Carvalho Chehab* Zoran zr36016 Video Front End 1720cef13d8SMauro Carvalho Chehab* Micronas vpx3225d/vpx3220a/vpx3216b TV decoder 1730cef13d8SMauro Carvalho Chehab* Analog Devices adv7176 TV encoder 1740cef13d8SMauro Carvalho Chehab 1750cef13d8SMauro Carvalho ChehabDrivers to use: videodev, i2c-core, i2c-algo-bit, 1760cef13d8SMauro Carvalho Chehabvideocodec, vpx3220/vpx3224, adv7175, zr36050, zr36015, zr36067 1770cef13d8SMauro Carvalho Chehab 1780cef13d8SMauro Carvalho ChehabInputs/outputs: Composite, S-video and Internal 1790cef13d8SMauro Carvalho Chehab 1800cef13d8SMauro Carvalho ChehabNorms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 1810cef13d8SMauro Carvalho Chehab 1820cef13d8SMauro Carvalho ChehabCard number: 4 1830cef13d8SMauro Carvalho Chehab 1840cef13d8SMauro Carvalho Chehab.. note:: 1850cef13d8SMauro Carvalho Chehab 1860cef13d8SMauro Carvalho Chehab #) No module for the mse3000 is available yet 1870cef13d8SMauro Carvalho Chehab #) No module for the vpx3224 is available yet 1880cef13d8SMauro Carvalho Chehab 1890cef13d8SMauro Carvalho Chehab1.1 What the TV decoder can do an what not 1900cef13d8SMauro Carvalho Chehab------------------------------------------ 1910cef13d8SMauro Carvalho Chehab 1920cef13d8SMauro Carvalho ChehabThe best know TV standards are NTSC/PAL/SECAM. but for decoding a frame that 1930cef13d8SMauro Carvalho Chehabinformation is not enough. There are several formats of the TV standards. 1940cef13d8SMauro Carvalho ChehabAnd not every TV decoder is able to handle every format. Also the every 1950cef13d8SMauro Carvalho Chehabcombination is supported by the driver. There are currently 11 different 1960cef13d8SMauro Carvalho Chehabtv broadcast formats all aver the world. 1970cef13d8SMauro Carvalho Chehab 1980cef13d8SMauro Carvalho ChehabThe CCIR defines parameters needed for broadcasting the signal. 1990cef13d8SMauro Carvalho ChehabThe CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,... 2000cef13d8SMauro Carvalho ChehabThe CCIR says not much about the colorsystem used !!! 2010cef13d8SMauro Carvalho ChehabAnd talking about a colorsystem says not to much about how it is broadcast. 2020cef13d8SMauro Carvalho Chehab 2030cef13d8SMauro Carvalho ChehabThe CCIR standards A,E,F are not used any more. 2040cef13d8SMauro Carvalho Chehab 2050cef13d8SMauro Carvalho ChehabWhen you speak about NTSC, you usually mean the standard: CCIR - M using 2060cef13d8SMauro Carvalho Chehabthe NTSC colorsystem which is used in the USA, Japan, Mexico, Canada 2070cef13d8SMauro Carvalho Chehaband a few others. 2080cef13d8SMauro Carvalho Chehab 2090cef13d8SMauro Carvalho ChehabWhen you talk about PAL, you usually mean: CCIR - B/G using the PAL 2100cef13d8SMauro Carvalho Chehabcolorsystem which is used in many Countries. 2110cef13d8SMauro Carvalho Chehab 2120cef13d8SMauro Carvalho ChehabWhen you talk about SECAM, you mean: CCIR - L using the SECAM Colorsystem 2130cef13d8SMauro Carvalho Chehabwhich is used in France, and a few others. 2140cef13d8SMauro Carvalho Chehab 2150cef13d8SMauro Carvalho ChehabThere the other version of SECAM, CCIR - D/K is used in Bulgaria, China, 2160cef13d8SMauro Carvalho ChehabSlovakai, Hungary, Korea (Rep.), Poland, Rumania and a others. 2170cef13d8SMauro Carvalho Chehab 2180cef13d8SMauro Carvalho ChehabThe CCIR - H uses the PAL colorsystem (sometimes SECAM) and is used in 2190cef13d8SMauro Carvalho ChehabEgypt, Libya, Sri Lanka, Syrain Arab. Rep. 2200cef13d8SMauro Carvalho Chehab 2210cef13d8SMauro Carvalho ChehabThe CCIR - I uses the PAL colorsystem, and is used in Great Britain, Hong Kong, 2220cef13d8SMauro Carvalho ChehabIreland, Nigeria, South Africa. 2230cef13d8SMauro Carvalho Chehab 2240cef13d8SMauro Carvalho ChehabThe CCIR - N uses the PAL colorsystem and PAL frame size but the NTSC framerate, 2250cef13d8SMauro Carvalho Chehaband is used in Argentinia, Uruguay, an a few others 2260cef13d8SMauro Carvalho Chehab 2270cef13d8SMauro Carvalho ChehabWe do not talk about how the audio is broadcast ! 2280cef13d8SMauro Carvalho Chehab 2290cef13d8SMauro Carvalho ChehabA rather good sites about the TV standards are: 2300cef13d8SMauro Carvalho Chehabhttp://www.sony.jp/support/ 2310cef13d8SMauro Carvalho Chehabhttp://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/ 2320cef13d8SMauro Carvalho Chehaband http://www.cabl.com/restaurant/channel.html 2330cef13d8SMauro Carvalho Chehab 2340cef13d8SMauro Carvalho ChehabOther weird things around: NTSC 4.43 is a modificated NTSC, which is mainly 2350cef13d8SMauro Carvalho Chehabused in PAL VCR's that are able to play back NTSC. PAL 60 seems to be the same 2360cef13d8SMauro Carvalho Chehabas NTSC 4.43 . The Datasheets also talk about NTSC 44, It seems as if it would 2370cef13d8SMauro Carvalho Chehabbe the same as NTSC 4.43. 2380cef13d8SMauro Carvalho ChehabNTSC Combs seems to be a decoder mode where the decoder uses a comb filter 2390cef13d8SMauro Carvalho Chehabto split coma and luma instead of a Delay line. 2400cef13d8SMauro Carvalho Chehab 2410cef13d8SMauro Carvalho ChehabBut I did not defiantly find out what NTSC Comb is. 2420cef13d8SMauro Carvalho Chehab 2430cef13d8SMauro Carvalho ChehabPhilips saa7111 TV decoder 2440cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~~ 2450cef13d8SMauro Carvalho Chehab 2460cef13d8SMauro Carvalho Chehab- was introduced in 1997, is used in the BUZ and 2470cef13d8SMauro Carvalho Chehab- can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC N, NTSC 4.43 and SECAM 2480cef13d8SMauro Carvalho Chehab 2490cef13d8SMauro Carvalho ChehabPhilips saa7110a TV decoder 2500cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2510cef13d8SMauro Carvalho Chehab 2520cef13d8SMauro Carvalho Chehab- was introduced in 1995, is used in the Pinnacle/Miro DC10(new), DC10+ and 2530cef13d8SMauro Carvalho Chehab- can handle: PAL B/G, NTSC M and SECAM 2540cef13d8SMauro Carvalho Chehab 2550cef13d8SMauro Carvalho ChehabPhilips saa7114 TV decoder 2560cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~~ 2570cef13d8SMauro Carvalho Chehab 2580cef13d8SMauro Carvalho Chehab- was introduced in 2000, is used in the LML33R10 and 2590cef13d8SMauro Carvalho Chehab- can handle: PAL B/G/D/H/I/N, PAL N, PAL M, NTSC M, NTSC 4.43 and SECAM 2600cef13d8SMauro Carvalho Chehab 2610cef13d8SMauro Carvalho ChehabBrooktree bt819 TV decoder 2620cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~~ 2630cef13d8SMauro Carvalho Chehab 2640cef13d8SMauro Carvalho Chehab- was introduced in 1996, and is used in the LML33 and 2650cef13d8SMauro Carvalho Chehab- can handle: PAL B/D/G/H/I, NTSC M 2660cef13d8SMauro Carvalho Chehab 2670cef13d8SMauro Carvalho ChehabMicronas vpx3220a TV decoder 2680cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2690cef13d8SMauro Carvalho Chehab 2700cef13d8SMauro Carvalho Chehab- was introduced in 1996, is used in the DC30 and DC30+ and 2710cef13d8SMauro Carvalho Chehab- can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC 44, PAL 60, SECAM,NTSC Comb 2720cef13d8SMauro Carvalho Chehab 2730cef13d8SMauro Carvalho ChehabSamsung ks0127 TV decoder 2740cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~ 2750cef13d8SMauro Carvalho Chehab 2760cef13d8SMauro Carvalho Chehab- is used in the AVS6EYES card and 2770cef13d8SMauro Carvalho Chehab- can handle: NTSC-M/N/44, PAL-M/N/B/G/H/I/D/K/L and SECAM 2780cef13d8SMauro Carvalho Chehab 2790cef13d8SMauro Carvalho Chehab 2800cef13d8SMauro Carvalho ChehabWhat the TV encoder can do an what not 2810cef13d8SMauro Carvalho Chehab-------------------------------------- 2820cef13d8SMauro Carvalho Chehab 2830cef13d8SMauro Carvalho ChehabThe TV encoder is doing the "same" as the decoder, but in the other direction. 2840cef13d8SMauro Carvalho ChehabYou feed them digital data and the generate a Composite or SVHS signal. 2850cef13d8SMauro Carvalho ChehabFor information about the colorsystems and TV norm take a look in the 2860cef13d8SMauro Carvalho ChehabTV decoder section. 2870cef13d8SMauro Carvalho Chehab 2880cef13d8SMauro Carvalho ChehabPhilips saa7185 TV Encoder 2890cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~~ 2900cef13d8SMauro Carvalho Chehab 2910cef13d8SMauro Carvalho Chehab- was introduced in 1996, is used in the BUZ 2920cef13d8SMauro Carvalho Chehab- can generate: PAL B/G, NTSC M 2930cef13d8SMauro Carvalho Chehab 2940cef13d8SMauro Carvalho ChehabBrooktree bt856 TV Encoder 2950cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~~ 2960cef13d8SMauro Carvalho Chehab 2970cef13d8SMauro Carvalho Chehab- was introduced in 1994, is used in the LML33 2980cef13d8SMauro Carvalho Chehab- can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL-N (Argentina) 2990cef13d8SMauro Carvalho Chehab 3000cef13d8SMauro Carvalho ChehabAnalog Devices adv7170 TV Encoder 3010cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3020cef13d8SMauro Carvalho Chehab 3030cef13d8SMauro Carvalho Chehab- was introduced in 2000, is used in the LML300R10 3040cef13d8SMauro Carvalho Chehab- can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL 60 3050cef13d8SMauro Carvalho Chehab 3060cef13d8SMauro Carvalho ChehabAnalog Devices adv7175 TV Encoder 3070cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3080cef13d8SMauro Carvalho Chehab 3090cef13d8SMauro Carvalho Chehab- was introduced in 1996, is used in the DC10, DC10+, DC10 old, DC30, DC30+ 3100cef13d8SMauro Carvalho Chehab- can generate: PAL B/D/G/H/I/N, PAL M, NTSC M 3110cef13d8SMauro Carvalho Chehab 3120cef13d8SMauro Carvalho ChehabITT mse3000 TV encoder 3130cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~ 3140cef13d8SMauro Carvalho Chehab 3150cef13d8SMauro Carvalho Chehab- was introduced in 1991, is used in the DC10 old 3160cef13d8SMauro Carvalho Chehab- can generate: PAL , NTSC , SECAM 3170cef13d8SMauro Carvalho Chehab 3180cef13d8SMauro Carvalho ChehabConexant bt866 TV encoder 3190cef13d8SMauro Carvalho Chehab~~~~~~~~~~~~~~~~~~~~~~~~~ 3200cef13d8SMauro Carvalho Chehab 3210cef13d8SMauro Carvalho Chehab- is used in AVS6EYES, and 322*9df48275SMauro Carvalho Chehab- can generate: NTSC/PAL, PAL-M, PAL-N 3230cef13d8SMauro Carvalho Chehab 3240cef13d8SMauro Carvalho ChehabThe adv717x, should be able to produce PAL N. But you find nothing PAL N 3250cef13d8SMauro Carvalho Chehabspecific in the registers. Seem that you have to reuse a other standard 3260cef13d8SMauro Carvalho Chehabto generate PAL N, maybe it would work if you use the PAL M settings. 3270cef13d8SMauro Carvalho Chehab 3280cef13d8SMauro Carvalho ChehabHow do I get this damn thing to work 3290cef13d8SMauro Carvalho Chehab------------------------------------ 3300cef13d8SMauro Carvalho Chehab 3310cef13d8SMauro Carvalho ChehabLoad zr36067.o. If it can't autodetect your card, use the card=X insmod 3320cef13d8SMauro Carvalho Chehaboption with X being the card number as given in the previous section. 3330cef13d8SMauro Carvalho ChehabTo have more than one card, use card=X1[,X2[,X3,[X4[..]]]] 3340cef13d8SMauro Carvalho Chehab 3350cef13d8SMauro Carvalho ChehabTo automate this, add the following to your /etc/modprobe.d/zoran.conf: 3360cef13d8SMauro Carvalho Chehab 3370cef13d8SMauro Carvalho Chehaboptions zr36067 card=X1[,X2[,X3[,X4[..]]]] 3380cef13d8SMauro Carvalho Chehabalias char-major-81-0 zr36067 3390cef13d8SMauro Carvalho Chehab 3400cef13d8SMauro Carvalho ChehabOne thing to keep in mind is that this doesn't load zr36067.o itself yet. It 3410cef13d8SMauro Carvalho Chehabjust automates loading. If you start using xawtv, the device won't load on 3420cef13d8SMauro Carvalho Chehabsome systems, since you're trying to load modules as a user, which is not 3430cef13d8SMauro Carvalho Chehaballowed ("permission denied"). A quick workaround is to add 'Load "v4l"' to 3440cef13d8SMauro Carvalho ChehabXF86Config-4 when you use X by default, or to run 'v4l-conf -c <device>' in 3450cef13d8SMauro Carvalho Chehabone of your startup scripts (normally rc.local) if you don't use X. Both 3460cef13d8SMauro Carvalho Chehabmake sure that the modules are loaded on startup, under the root account. 3470cef13d8SMauro Carvalho Chehab 3480cef13d8SMauro Carvalho ChehabWhat mainboard should I use (or why doesn't my card work) 3490cef13d8SMauro Carvalho Chehab--------------------------------------------------------- 3500cef13d8SMauro Carvalho Chehab 3510cef13d8SMauro Carvalho Chehab 3520cef13d8SMauro Carvalho Chehab<insert lousy disclaimer here>. In short: good=SiS/Intel, bad=VIA. 3530cef13d8SMauro Carvalho Chehab 3540cef13d8SMauro Carvalho ChehabExperience tells us that people with a Buz, on average, have more problems 3550cef13d8SMauro Carvalho Chehabthan users with a DC10+/LML33. Also, it tells us that people owning a VIA- 3560cef13d8SMauro Carvalho Chehabbased mainboard (ktXXX, MVP3) have more problems than users with a mainboard 3570cef13d8SMauro Carvalho Chehabbased on a different chipset. Here's some notes from Andrew Stevens: 3580cef13d8SMauro Carvalho Chehab 3590cef13d8SMauro Carvalho ChehabHere's my experience of using LML33 and Buz on various motherboards: 3600cef13d8SMauro Carvalho Chehab 3610cef13d8SMauro Carvalho Chehab- VIA MVP3 3620cef13d8SMauro Carvalho Chehab - Forget it. Pointless. Doesn't work. 3630cef13d8SMauro Carvalho Chehab- Intel 430FX (Pentium 200) 3640cef13d8SMauro Carvalho Chehab - LML33 perfect, Buz tolerable (3 or 4 frames dropped per movie) 3650cef13d8SMauro Carvalho Chehab- Intel 440BX (early stepping) 3660cef13d8SMauro Carvalho Chehab - LML33 tolerable. Buz starting to get annoying (6-10 frames/hour) 3670cef13d8SMauro Carvalho Chehab- Intel 440BX (late stepping) 3680cef13d8SMauro Carvalho Chehab - Buz tolerable, LML3 almost perfect (occasional single frame drops) 3690cef13d8SMauro Carvalho Chehab- SiS735 3700cef13d8SMauro Carvalho Chehab - LML33 perfect, Buz tolerable. 3710cef13d8SMauro Carvalho Chehab- VIA KT133(*) 3720cef13d8SMauro Carvalho Chehab - LML33 starting to get annoying, Buz poor enough that I have up. 3730cef13d8SMauro Carvalho Chehab 3740cef13d8SMauro Carvalho Chehab- Both 440BX boards were dual CPU versions. 3750cef13d8SMauro Carvalho Chehab 3760cef13d8SMauro Carvalho ChehabBernhard Praschinger later added: 3770cef13d8SMauro Carvalho Chehab 3780cef13d8SMauro Carvalho Chehab- AMD 751 3790cef13d8SMauro Carvalho Chehab - Buz perfect-tolerable 3800cef13d8SMauro Carvalho Chehab- AMD 760 3810cef13d8SMauro Carvalho Chehab - Buz perfect-tolerable 3820cef13d8SMauro Carvalho Chehab 3830cef13d8SMauro Carvalho ChehabIn general, people on the user mailinglist won't give you much of a chance 3840cef13d8SMauro Carvalho Chehabif you have a VIA-based motherboard. They may be cheap, but sometimes, you'd 3850cef13d8SMauro Carvalho Chehabrather want to spend some more money on better boards. In general, VIA 3860cef13d8SMauro Carvalho Chehabmainboard's IDE/PCI performance will also suck badly compared to others. 3870cef13d8SMauro Carvalho ChehabYou'll noticed the DC10+/DC30+ aren't mentioned anywhere in the overview. 3880cef13d8SMauro Carvalho ChehabBasically, you can assume that if the Buz works, the LML33 will work too. If 3890cef13d8SMauro Carvalho Chehabthe LML33 works, the DC10+/DC30+ will work too. They're most tolerant to 3900cef13d8SMauro Carvalho Chehabdifferent mainboard chipsets from all of the supported cards. 3910cef13d8SMauro Carvalho Chehab 3920cef13d8SMauro Carvalho ChehabIf you experience timeouts during capture, buy a better mainboard or lower 3930cef13d8SMauro Carvalho Chehabthe quality/buffersize during capture (see 'Concerning buffer sizes, quality, 3940cef13d8SMauro Carvalho Chehaboutput size etc.'). If it hangs, there's little we can do as of now. Check 3950cef13d8SMauro Carvalho Chehabyour IRQs and make sure the card has its own interrupts. 3960cef13d8SMauro Carvalho Chehab 3970cef13d8SMauro Carvalho ChehabProgramming interface 3980cef13d8SMauro Carvalho Chehab--------------------- 3990cef13d8SMauro Carvalho Chehab 4000cef13d8SMauro Carvalho ChehabThis driver conforms to video4linux2. Support for V4L1 and for the custom 4010cef13d8SMauro Carvalho Chehabzoran ioctls has been removed in kernel 2.6.38. 4020cef13d8SMauro Carvalho Chehab 4030cef13d8SMauro Carvalho ChehabFor programming example, please, look at lavrec.c and lavplay.c code in 4040cef13d8SMauro Carvalho Chehabthe MJPEG-tools (http://mjpeg.sf.net/). 4050cef13d8SMauro Carvalho Chehab 4060cef13d8SMauro Carvalho ChehabAdditional notes for software developers: 4070cef13d8SMauro Carvalho Chehab 4080cef13d8SMauro Carvalho Chehab The driver returns maxwidth and maxheight parameters according to 4090cef13d8SMauro Carvalho Chehab the current TV standard (norm). Therefore, the software which 4100cef13d8SMauro Carvalho Chehab communicates with the driver and "asks" for these parameters should 4110cef13d8SMauro Carvalho Chehab first set the correct norm. Well, it seems logically correct: TV 4120cef13d8SMauro Carvalho Chehab standard is "more constant" for current country than geometry 4130cef13d8SMauro Carvalho Chehab settings of a variety of TV capture cards which may work in ITU or 4140cef13d8SMauro Carvalho Chehab square pixel format. 4150cef13d8SMauro Carvalho Chehab 4160cef13d8SMauro Carvalho ChehabApplications 4170cef13d8SMauro Carvalho Chehab------------ 4180cef13d8SMauro Carvalho Chehab 4190cef13d8SMauro Carvalho ChehabApplications known to work with this driver: 4200cef13d8SMauro Carvalho Chehab 4210cef13d8SMauro Carvalho ChehabTV viewing: 4220cef13d8SMauro Carvalho Chehab 4230cef13d8SMauro Carvalho Chehab* xawtv 4240cef13d8SMauro Carvalho Chehab* kwintv 4250cef13d8SMauro Carvalho Chehab* probably any TV application that supports video4linux or video4linux2. 4260cef13d8SMauro Carvalho Chehab 4270cef13d8SMauro Carvalho ChehabMJPEG capture/playback: 4280cef13d8SMauro Carvalho Chehab 4290cef13d8SMauro Carvalho Chehab* mjpegtools/lavtools (or Linux Video Studio) 4300cef13d8SMauro Carvalho Chehab* gstreamer 4310cef13d8SMauro Carvalho Chehab* mplayer 4320cef13d8SMauro Carvalho Chehab 4330cef13d8SMauro Carvalho ChehabGeneral raw capture: 4340cef13d8SMauro Carvalho Chehab 4350cef13d8SMauro Carvalho Chehab* xawtv 4360cef13d8SMauro Carvalho Chehab* gstreamer 4370cef13d8SMauro Carvalho Chehab* probably any application that supports video4linux or video4linux2 4380cef13d8SMauro Carvalho Chehab 4390cef13d8SMauro Carvalho ChehabVideo editing: 4400cef13d8SMauro Carvalho Chehab 4410cef13d8SMauro Carvalho Chehab* Cinelerra 4420cef13d8SMauro Carvalho Chehab* MainActor 4430cef13d8SMauro Carvalho Chehab* mjpegtools (or Linux Video Studio) 4440cef13d8SMauro Carvalho Chehab 4450cef13d8SMauro Carvalho Chehab 4460cef13d8SMauro Carvalho ChehabConcerning buffer sizes, quality, output size etc. 4470cef13d8SMauro Carvalho Chehab-------------------------------------------------- 4480cef13d8SMauro Carvalho Chehab 4490cef13d8SMauro Carvalho Chehab 4500cef13d8SMauro Carvalho ChehabThe zr36060 can do 1:2 JPEG compression. This is really the theoretical 4510cef13d8SMauro Carvalho Chehabmaximum that the chipset can reach. The driver can, however, limit compression 4520cef13d8SMauro Carvalho Chehabto a maximum (size) of 1:4. The reason for this is that some cards (e.g. Buz) 4530cef13d8SMauro Carvalho Chehabcan't handle 1:2 compression without stopping capture after only a few minutes. 4540cef13d8SMauro Carvalho ChehabWith 1:4, it'll mostly work. If you have a Buz, use 'low_bitrate=1' to go into 4550cef13d8SMauro Carvalho Chehab1:4 max. compression mode. 4560cef13d8SMauro Carvalho Chehab 4570cef13d8SMauro Carvalho Chehab100% JPEG quality is thus 1:2 compression in practice. So for a full PAL frame 4580cef13d8SMauro Carvalho Chehab(size 720x576). The JPEG fields are stored in YUY2 format, so the size of the 4590cef13d8SMauro Carvalho Chehabfields are 720x288x16/2 bits/field (2 fields/frame) = 207360 bytes/field x 2 = 4600cef13d8SMauro Carvalho Chehab414720 bytes/frame (add some more bytes for headers and DHT (huffman)/DQT 4610cef13d8SMauro Carvalho Chehab(quantization) tables, and you'll get to something like 512kB per frame for 4620cef13d8SMauro Carvalho Chehab1:2 compression. For 1:4 compression, you'd have frames of half this size. 4630cef13d8SMauro Carvalho Chehab 4640cef13d8SMauro Carvalho ChehabSome additional explanation by Martin Samuelsson, which also explains the 4650cef13d8SMauro Carvalho Chehabimportance of buffer sizes: 4660cef13d8SMauro Carvalho Chehab-- 4670cef13d8SMauro Carvalho Chehab> Hmm, I do not think it is really that way. With the current (downloaded 4680cef13d8SMauro Carvalho Chehab> at 18:00 Monday) driver I get that output sizes for 10 sec: 4690cef13d8SMauro Carvalho Chehab> -q 50 -b 128 : 24.283.332 Bytes 4700cef13d8SMauro Carvalho Chehab> -q 50 -b 256 : 48.442.368 4710cef13d8SMauro Carvalho Chehab> -q 25 -b 128 : 24.655.992 4720cef13d8SMauro Carvalho Chehab> -q 25 -b 256 : 25.859.820 4730cef13d8SMauro Carvalho Chehab 4740cef13d8SMauro Carvalho ChehabI woke up, and can't go to sleep again. I'll kill some time explaining why 4750cef13d8SMauro Carvalho Chehabthis doesn't look strange to me. 4760cef13d8SMauro Carvalho Chehab 4770cef13d8SMauro Carvalho ChehabLet's do some math using a width of 704 pixels. I'm not sure whether the Buz 4780cef13d8SMauro Carvalho Chehabactually use that number or not, but that's not too important right now. 4790cef13d8SMauro Carvalho Chehab 4800cef13d8SMauro Carvalho Chehab704x288 pixels, one field, is 202752 pixels. Divided by 64 pixels per block; 4810cef13d8SMauro Carvalho Chehab3168 blocks per field. Each pixel consist of two bytes; 128 bytes per block; 4820cef13d8SMauro Carvalho Chehab1024 bits per block. 100% in the new driver mean 1:2 compression; the maximum 4830cef13d8SMauro Carvalho Chehaboutput becomes 512 bits per block. Actually 510, but 512 is simpler to use 4840cef13d8SMauro Carvalho Chehabfor calculations. 4850cef13d8SMauro Carvalho Chehab 4860cef13d8SMauro Carvalho ChehabLet's say that we specify d1q50. We thus want 256 bits per block; times 3168 4870cef13d8SMauro Carvalho Chehabbecomes 811008 bits; 101376 bytes per field. We're talking raw bits and bytes 4880cef13d8SMauro Carvalho Chehabhere, so we don't need to do any fancy corrections for bits-per-pixel or such 4890cef13d8SMauro Carvalho Chehabthings. 101376 bytes per field. 4900cef13d8SMauro Carvalho Chehab 4910cef13d8SMauro Carvalho Chehabd1 video contains two fields per frame. Those sum up to 202752 bytes per 4920cef13d8SMauro Carvalho Chehabframe, and one of those frames goes into each buffer. 4930cef13d8SMauro Carvalho Chehab 4940cef13d8SMauro Carvalho ChehabBut wait a second! -b128 gives 128kB buffers! It's not possible to cram 4950cef13d8SMauro Carvalho Chehab202752 bytes of JPEG data into 128kB! 4960cef13d8SMauro Carvalho Chehab 4970cef13d8SMauro Carvalho ChehabThis is what the driver notice and automatically compensate for in your 4980cef13d8SMauro Carvalho Chehabexamples. Let's do some math using this information: 4990cef13d8SMauro Carvalho Chehab 5000cef13d8SMauro Carvalho Chehab128kB is 131072 bytes. In this buffer, we want to store two fields, which 5010cef13d8SMauro Carvalho Chehableaves 65536 bytes for each field. Using 3168 blocks per field, we get 5020cef13d8SMauro Carvalho Chehab20.68686868... available bytes per block; 165 bits. We can't allow the 5030cef13d8SMauro Carvalho Chehabrequest for 256 bits per block when there's only 165 bits available! The -q50 5040cef13d8SMauro Carvalho Chehaboption is silently overridden, and the -b128 option takes precedence, leaving 5050cef13d8SMauro Carvalho Chehabus with the equivalence of -q32. 5060cef13d8SMauro Carvalho Chehab 5070cef13d8SMauro Carvalho ChehabThis gives us a data rate of 165 bits per block, which, times 3168, sums up 5080cef13d8SMauro Carvalho Chehabto 65340 bytes per field, out of the allowed 65536. The current driver has 5090cef13d8SMauro Carvalho Chehabanother level of rate limiting; it won't accept -q values that fill more than 5100cef13d8SMauro Carvalho Chehab6/8 of the specified buffers. (I'm not sure why. "Playing it safe" seem to be 5110cef13d8SMauro Carvalho Chehaba safe bet. Personally, I think I would have lowered requested-bits-per-block 5120cef13d8SMauro Carvalho Chehabby one, or something like that.) We can't use 165 bits per block, but have to 5130cef13d8SMauro Carvalho Chehablower it again, to 6/8 of the available buffer space: We end up with 124 bits 5140cef13d8SMauro Carvalho Chehabper block, the equivalence of -q24. With 128kB buffers, you can't use greater 5150cef13d8SMauro Carvalho Chehabthan -q24 at -d1. (And PAL, and 704 pixels width...) 5160cef13d8SMauro Carvalho Chehab 5170cef13d8SMauro Carvalho ChehabThe third example is limited to -q24 through the same process. The second 5180cef13d8SMauro Carvalho Chehabexample, using very similar calculations, is limited to -q48. The only 5190cef13d8SMauro Carvalho Chehabexample that actually grab at the specified -q value is the last one, which 5200cef13d8SMauro Carvalho Chehabis clearly visible, looking at the file size. 5210cef13d8SMauro Carvalho Chehab-- 5220cef13d8SMauro Carvalho Chehab 5230cef13d8SMauro Carvalho ChehabConclusion: the quality of the resulting movie depends on buffer size, quality, 5240cef13d8SMauro Carvalho Chehabwhether or not you use 'low_bitrate=1' as insmod option for the zr36060.c 5250cef13d8SMauro Carvalho Chehabmodule to do 1:4 instead of 1:2 compression, etc. 5260cef13d8SMauro Carvalho Chehab 5270cef13d8SMauro Carvalho ChehabIf you experience timeouts, lowering the quality/buffersize or using 5280cef13d8SMauro Carvalho Chehab'low_bitrate=1 as insmod option for zr36060.o might actually help, as is 5290cef13d8SMauro Carvalho Chehabproven by the Buz. 5300cef13d8SMauro Carvalho Chehab 5310cef13d8SMauro Carvalho ChehabIt hangs/crashes/fails/whatevers! Help! 5320cef13d8SMauro Carvalho Chehab--------------------------------------- 5330cef13d8SMauro Carvalho Chehab 5340cef13d8SMauro Carvalho ChehabMake sure that the card has its own interrupts (see /proc/interrupts), check 5350cef13d8SMauro Carvalho Chehabthe output of dmesg at high verbosity (load zr36067.o with debug=2, 5360cef13d8SMauro Carvalho Chehabload all other modules with debug=1). Check that your mainboard is favorable 5370cef13d8SMauro Carvalho Chehab(see question 2) and if not, test the card in another computer. Also see the 5380cef13d8SMauro Carvalho Chehabnotes given in question 3 and try lowering quality/buffersize/capturesize 5390cef13d8SMauro Carvalho Chehabif recording fails after a period of time. 5400cef13d8SMauro Carvalho Chehab 5410cef13d8SMauro Carvalho ChehabIf all this doesn't help, give a clear description of the problem including 5420cef13d8SMauro Carvalho Chehabdetailed hardware information (memory+brand, mainboard+chipset+brand, which 5430cef13d8SMauro Carvalho ChehabMJPEG card, processor, other PCI cards that might be of interest), give the 5440cef13d8SMauro Carvalho Chehabsystem PnP information (/proc/interrupts, /proc/dma, /proc/devices), and give 5450cef13d8SMauro Carvalho Chehabthe kernel version, driver version, glibc version, gcc version and any other 5460cef13d8SMauro Carvalho Chehabinformation that might possibly be of interest. Also provide the dmesg output 5470cef13d8SMauro Carvalho Chehabat high verbosity. See 'Contacting' on how to contact the developers. 5480cef13d8SMauro Carvalho Chehab 5490cef13d8SMauro Carvalho ChehabMaintainers/Contacting 5500cef13d8SMauro Carvalho Chehab---------------------- 5510cef13d8SMauro Carvalho Chehab 5520cef13d8SMauro Carvalho ChehabPrevious maintainers/developers of this driver are 5530cef13d8SMauro Carvalho Chehab- Laurent Pinchart <laurent.pinchart@skynet.be> 5540cef13d8SMauro Carvalho Chehab- Ronald Bultje rbultje@ronald.bitfreak.net 5550cef13d8SMauro Carvalho Chehab- Serguei Miridonov <mirsev@cicese.mx> 5560cef13d8SMauro Carvalho Chehab- Wolfgang Scherr <scherr@net4you.net> 5570cef13d8SMauro Carvalho Chehab- Dave Perks <dperks@ibm.net> 5580cef13d8SMauro Carvalho Chehab- Rainer Johanni <Rainer@Johanni.de> 5590cef13d8SMauro Carvalho Chehab 5600cef13d8SMauro Carvalho ChehabDriver's License 5610cef13d8SMauro Carvalho Chehab---------------- 5620cef13d8SMauro Carvalho Chehab 5630cef13d8SMauro Carvalho Chehab This driver is distributed under the terms of the General Public License. 5640cef13d8SMauro Carvalho Chehab 5650cef13d8SMauro Carvalho Chehab This program is free software; you can redistribute it and/or modify 5660cef13d8SMauro Carvalho Chehab it under the terms of the GNU General Public License as published by 5670cef13d8SMauro Carvalho Chehab the Free Software Foundation; either version 2 of the License, or 5680cef13d8SMauro Carvalho Chehab (at your option) any later version. 5690cef13d8SMauro Carvalho Chehab 5700cef13d8SMauro Carvalho Chehab This program is distributed in the hope that it will be useful, 5710cef13d8SMauro Carvalho Chehab but WITHOUT ANY WARRANTY; without even the implied warranty of 5720cef13d8SMauro Carvalho Chehab MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 5730cef13d8SMauro Carvalho Chehab GNU General Public License for more details. 5740cef13d8SMauro Carvalho Chehab 5750cef13d8SMauro Carvalho ChehabSee http://www.gnu.org/ for more information. 576