162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciThe Zoran driver 462306a36Sopenharmony_ci================ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciunified zoran driver (zr360x7, zoran, buz, dc10(+), dc30(+), lml33) 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciwebsite: http://mjpeg.sourceforge.net/driver-zoran/ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciFrequently Asked Questions 1262306a36Sopenharmony_ci-------------------------- 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciWhat cards are supported 1562306a36Sopenharmony_ci------------------------ 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciIomega Buz, Linux Media Labs LML33/LML33R10, Pinnacle/Miro 1862306a36Sopenharmony_ciDC10/DC10+/DC30/DC30+ and related boards (available under various names). 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciIomega Buz 2162306a36Sopenharmony_ci~~~~~~~~~~ 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci* Zoran zr36067 PCI controller 2462306a36Sopenharmony_ci* Zoran zr36060 MJPEG codec 2562306a36Sopenharmony_ci* Philips saa7111 TV decoder 2662306a36Sopenharmony_ci* Philips saa7185 TV encoder 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciDrivers to use: videodev, i2c-core, i2c-algo-bit, 2962306a36Sopenharmony_civideocodec, saa7111, saa7185, zr36060, zr36067 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ciInputs/outputs: Composite and S-video 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ciNorms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciCard number: 7 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ciAverMedia 6 Eyes AVS6EYES 3862306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~ 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci* Zoran zr36067 PCI controller 4162306a36Sopenharmony_ci* Zoran zr36060 MJPEG codec 4262306a36Sopenharmony_ci* Samsung ks0127 TV decoder 4362306a36Sopenharmony_ci* Conexant bt866 TV encoder 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciDrivers to use: videodev, i2c-core, i2c-algo-bit, 4662306a36Sopenharmony_civideocodec, ks0127, bt866, zr36060, zr36067 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ciInputs/outputs: 4962306a36Sopenharmony_ci Six physical inputs. 1-6 are composite, 5062306a36Sopenharmony_ci 1-2, 3-4, 5-6 doubles as S-video, 5162306a36Sopenharmony_ci 1-3 triples as component. 5262306a36Sopenharmony_ci One composite output. 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciNorms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ciCard number: 8 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci.. note:: 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci Not autodetected, card=8 is necessary. 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciLinux Media Labs LML33 6362306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~ 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci* Zoran zr36067 PCI controller 6662306a36Sopenharmony_ci* Zoran zr36060 MJPEG codec 6762306a36Sopenharmony_ci* Brooktree bt819 TV decoder 6862306a36Sopenharmony_ci* Brooktree bt856 TV encoder 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ciDrivers to use: videodev, i2c-core, i2c-algo-bit, 7162306a36Sopenharmony_civideocodec, bt819, bt856, zr36060, zr36067 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciInputs/outputs: Composite and S-video 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ciNorms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ciCard number: 5 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ciLinux Media Labs LML33R10 8062306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~ 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci* Zoran zr36067 PCI controller 8362306a36Sopenharmony_ci* Zoran zr36060 MJPEG codec 8462306a36Sopenharmony_ci* Philips saa7114 TV decoder 8562306a36Sopenharmony_ci* Analog Devices adv7170 TV encoder 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ciDrivers to use: videodev, i2c-core, i2c-algo-bit, 8862306a36Sopenharmony_civideocodec, saa7114, adv7170, zr36060, zr36067 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ciInputs/outputs: Composite and S-video 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ciNorms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps) 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ciCard number: 6 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ciPinnacle/Miro DC10(new) 9762306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~ 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci* Zoran zr36057 PCI controller 10062306a36Sopenharmony_ci* Zoran zr36060 MJPEG codec 10162306a36Sopenharmony_ci* Philips saa7110a TV decoder 10262306a36Sopenharmony_ci* Analog Devices adv7176 TV encoder 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ciDrivers to use: videodev, i2c-core, i2c-algo-bit, 10562306a36Sopenharmony_civideocodec, saa7110, adv7175, zr36060, zr36067 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ciInputs/outputs: Composite, S-video and Internal 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ciNorms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ciCard number: 1 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ciPinnacle/Miro DC10+ 11462306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~ 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci* Zoran zr36067 PCI controller 11762306a36Sopenharmony_ci* Zoran zr36060 MJPEG codec 11862306a36Sopenharmony_ci* Philips saa7110a TV decoder 11962306a36Sopenharmony_ci* Analog Devices adv7176 TV encoder 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ciDrivers to use: videodev, i2c-core, i2c-algo-bit, 12262306a36Sopenharmony_civideocodec, saa7110, adv7175, zr36060, zr36067 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ciInputs/outputs: Composite, S-video and Internal 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ciNorms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ciCard number: 2 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ciPinnacle/Miro DC10(old) 13162306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~ 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci* Zoran zr36057 PCI controller 13462306a36Sopenharmony_ci* Zoran zr36050 MJPEG codec 13562306a36Sopenharmony_ci* Zoran zr36016 Video Front End or Fuji md0211 Video Front End (clone?) 13662306a36Sopenharmony_ci* Micronas vpx3220a TV decoder 13762306a36Sopenharmony_ci* mse3000 TV encoder or Analog Devices adv7176 TV encoder 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ciDrivers to use: videodev, i2c-core, i2c-algo-bit, 14062306a36Sopenharmony_civideocodec, vpx3220, mse3000/adv7175, zr36050, zr36016, zr36067 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ciInputs/outputs: Composite, S-video and Internal 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ciNorms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ciCard number: 0 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ciPinnacle/Miro DC30 14962306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~ 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci* Zoran zr36057 PCI controller 15262306a36Sopenharmony_ci* Zoran zr36050 MJPEG codec 15362306a36Sopenharmony_ci* Zoran zr36016 Video Front End 15462306a36Sopenharmony_ci* Micronas vpx3225d/vpx3220a/vpx3216b TV decoder 15562306a36Sopenharmony_ci* Analog Devices adv7176 TV encoder 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ciDrivers to use: videodev, i2c-core, i2c-algo-bit, 15862306a36Sopenharmony_civideocodec, vpx3220/vpx3224, adv7175, zr36050, zr36016, zr36067 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ciInputs/outputs: Composite, S-video and Internal 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ciNorms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ciCard number: 3 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ciPinnacle/Miro DC30+ 16762306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~ 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci* Zoran zr36067 PCI controller 17062306a36Sopenharmony_ci* Zoran zr36050 MJPEG codec 17162306a36Sopenharmony_ci* Zoran zr36016 Video Front End 17262306a36Sopenharmony_ci* Micronas vpx3225d/vpx3220a/vpx3216b TV decoder 17362306a36Sopenharmony_ci* Analog Devices adv7176 TV encoder 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ciDrivers to use: videodev, i2c-core, i2c-algo-bit, 17662306a36Sopenharmony_civideocodec, vpx3220/vpx3224, adv7175, zr36050, zr36015, zr36067 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ciInputs/outputs: Composite, S-video and Internal 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ciNorms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps) 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ciCard number: 4 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci.. note:: 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci #) No module for the mse3000 is available yet 18762306a36Sopenharmony_ci #) No module for the vpx3224 is available yet 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci1.1 What the TV decoder can do an what not 19062306a36Sopenharmony_ci------------------------------------------ 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ciThe best know TV standards are NTSC/PAL/SECAM. but for decoding a frame that 19362306a36Sopenharmony_ciinformation is not enough. There are several formats of the TV standards. 19462306a36Sopenharmony_ciAnd not every TV decoder is able to handle every format. Also the every 19562306a36Sopenharmony_cicombination is supported by the driver. There are currently 11 different 19662306a36Sopenharmony_citv broadcast formats all aver the world. 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ciThe CCIR defines parameters needed for broadcasting the signal. 19962306a36Sopenharmony_ciThe CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,... 20062306a36Sopenharmony_ciThe CCIR says not much about the colorsystem used !!! 20162306a36Sopenharmony_ciAnd talking about a colorsystem says not to much about how it is broadcast. 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ciThe CCIR standards A,E,F are not used any more. 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ciWhen you speak about NTSC, you usually mean the standard: CCIR - M using 20662306a36Sopenharmony_cithe NTSC colorsystem which is used in the USA, Japan, Mexico, Canada 20762306a36Sopenharmony_ciand a few others. 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ciWhen you talk about PAL, you usually mean: CCIR - B/G using the PAL 21062306a36Sopenharmony_cicolorsystem which is used in many Countries. 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ciWhen you talk about SECAM, you mean: CCIR - L using the SECAM Colorsystem 21362306a36Sopenharmony_ciwhich is used in France, and a few others. 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ciThere the other version of SECAM, CCIR - D/K is used in Bulgaria, China, 21662306a36Sopenharmony_ciSlovakai, Hungary, Korea (Rep.), Poland, Rumania and a others. 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ciThe CCIR - H uses the PAL colorsystem (sometimes SECAM) and is used in 21962306a36Sopenharmony_ciEgypt, Libya, Sri Lanka, Syrain Arab. Rep. 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ciThe CCIR - I uses the PAL colorsystem, and is used in Great Britain, Hong Kong, 22262306a36Sopenharmony_ciIreland, Nigeria, South Africa. 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ciThe CCIR - N uses the PAL colorsystem and PAL frame size but the NTSC framerate, 22562306a36Sopenharmony_ciand is used in Argentinia, Uruguay, an a few others 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ciWe do not talk about how the audio is broadcast ! 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ciA rather good sites about the TV standards are: 23062306a36Sopenharmony_cihttp://www.sony.jp/support/ 23162306a36Sopenharmony_cihttp://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/ 23262306a36Sopenharmony_ciand http://www.cabl.com/restaurant/channel.html 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ciOther weird things around: NTSC 4.43 is a modificated NTSC, which is mainly 23562306a36Sopenharmony_ciused in PAL VCR's that are able to play back NTSC. PAL 60 seems to be the same 23662306a36Sopenharmony_cias NTSC 4.43 . The Datasheets also talk about NTSC 44, It seems as if it would 23762306a36Sopenharmony_cibe the same as NTSC 4.43. 23862306a36Sopenharmony_ciNTSC Combs seems to be a decoder mode where the decoder uses a comb filter 23962306a36Sopenharmony_cito split coma and luma instead of a Delay line. 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ciBut I did not defiantly find out what NTSC Comb is. 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ciPhilips saa7111 TV decoder 24462306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~~ 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci- was introduced in 1997, is used in the BUZ and 24762306a36Sopenharmony_ci- can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC N, NTSC 4.43 and SECAM 24862306a36Sopenharmony_ci 24962306a36Sopenharmony_ciPhilips saa7110a TV decoder 25062306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25162306a36Sopenharmony_ci 25262306a36Sopenharmony_ci- was introduced in 1995, is used in the Pinnacle/Miro DC10(new), DC10+ and 25362306a36Sopenharmony_ci- can handle: PAL B/G, NTSC M and SECAM 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ciPhilips saa7114 TV decoder 25662306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~~ 25762306a36Sopenharmony_ci 25862306a36Sopenharmony_ci- was introduced in 2000, is used in the LML33R10 and 25962306a36Sopenharmony_ci- can handle: PAL B/G/D/H/I/N, PAL N, PAL M, NTSC M, NTSC 4.43 and SECAM 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ciBrooktree bt819 TV decoder 26262306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~~ 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_ci- was introduced in 1996, and is used in the LML33 and 26562306a36Sopenharmony_ci- can handle: PAL B/D/G/H/I, NTSC M 26662306a36Sopenharmony_ci 26762306a36Sopenharmony_ciMicronas vpx3220a TV decoder 26862306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ci- was introduced in 1996, is used in the DC30 and DC30+ and 27162306a36Sopenharmony_ci- can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC 44, PAL 60, SECAM,NTSC Comb 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ciSamsung ks0127 TV decoder 27462306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~ 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci- is used in the AVS6EYES card and 27762306a36Sopenharmony_ci- can handle: NTSC-M/N/44, PAL-M/N/B/G/H/I/D/K/L and SECAM 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ciWhat the TV encoder can do an what not 28162306a36Sopenharmony_ci-------------------------------------- 28262306a36Sopenharmony_ci 28362306a36Sopenharmony_ciThe TV encoder is doing the "same" as the decoder, but in the other direction. 28462306a36Sopenharmony_ciYou feed them digital data and the generate a Composite or SVHS signal. 28562306a36Sopenharmony_ciFor information about the colorsystems and TV norm take a look in the 28662306a36Sopenharmony_ciTV decoder section. 28762306a36Sopenharmony_ci 28862306a36Sopenharmony_ciPhilips saa7185 TV Encoder 28962306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~~ 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ci- was introduced in 1996, is used in the BUZ 29262306a36Sopenharmony_ci- can generate: PAL B/G, NTSC M 29362306a36Sopenharmony_ci 29462306a36Sopenharmony_ciBrooktree bt856 TV Encoder 29562306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~~ 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ci- was introduced in 1994, is used in the LML33 29862306a36Sopenharmony_ci- can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL-N (Argentina) 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_ciAnalog Devices adv7170 TV Encoder 30162306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ci- was introduced in 2000, is used in the LML300R10 30462306a36Sopenharmony_ci- can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL 60 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ciAnalog Devices adv7175 TV Encoder 30762306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30862306a36Sopenharmony_ci 30962306a36Sopenharmony_ci- was introduced in 1996, is used in the DC10, DC10+, DC10 old, DC30, DC30+ 31062306a36Sopenharmony_ci- can generate: PAL B/D/G/H/I/N, PAL M, NTSC M 31162306a36Sopenharmony_ci 31262306a36Sopenharmony_ciITT mse3000 TV encoder 31362306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~ 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_ci- was introduced in 1991, is used in the DC10 old 31662306a36Sopenharmony_ci- can generate: PAL , NTSC , SECAM 31762306a36Sopenharmony_ci 31862306a36Sopenharmony_ciConexant bt866 TV encoder 31962306a36Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~ 32062306a36Sopenharmony_ci 32162306a36Sopenharmony_ci- is used in AVS6EYES, and 32262306a36Sopenharmony_ci- can generate: NTSC/PAL, PAL-M, PAL-N 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_ciThe adv717x, should be able to produce PAL N. But you find nothing PAL N 32562306a36Sopenharmony_cispecific in the registers. Seem that you have to reuse a other standard 32662306a36Sopenharmony_cito generate PAL N, maybe it would work if you use the PAL M settings. 32762306a36Sopenharmony_ci 32862306a36Sopenharmony_ciHow do I get this damn thing to work 32962306a36Sopenharmony_ci------------------------------------ 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_ciLoad zr36067.o. If it can't autodetect your card, use the card=X insmod 33262306a36Sopenharmony_cioption with X being the card number as given in the previous section. 33362306a36Sopenharmony_ciTo have more than one card, use card=X1[,X2[,X3,[X4[..]]]] 33462306a36Sopenharmony_ci 33562306a36Sopenharmony_ciTo automate this, add the following to your /etc/modprobe.d/zoran.conf: 33662306a36Sopenharmony_ci 33762306a36Sopenharmony_cioptions zr36067 card=X1[,X2[,X3[,X4[..]]]] 33862306a36Sopenharmony_cialias char-major-81-0 zr36067 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_ciOne thing to keep in mind is that this doesn't load zr36067.o itself yet. It 34162306a36Sopenharmony_cijust automates loading. If you start using xawtv, the device won't load on 34262306a36Sopenharmony_cisome systems, since you're trying to load modules as a user, which is not 34362306a36Sopenharmony_ciallowed ("permission denied"). A quick workaround is to add 'Load "v4l"' to 34462306a36Sopenharmony_ciXF86Config-4 when you use X by default, or to run 'v4l-conf -c <device>' in 34562306a36Sopenharmony_cione of your startup scripts (normally rc.local) if you don't use X. Both 34662306a36Sopenharmony_cimake sure that the modules are loaded on startup, under the root account. 34762306a36Sopenharmony_ci 34862306a36Sopenharmony_ciWhat mainboard should I use (or why doesn't my card work) 34962306a36Sopenharmony_ci--------------------------------------------------------- 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ci 35262306a36Sopenharmony_ci<insert lousy disclaimer here>. In short: good=SiS/Intel, bad=VIA. 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ciExperience tells us that people with a Buz, on average, have more problems 35562306a36Sopenharmony_cithan users with a DC10+/LML33. Also, it tells us that people owning a VIA- 35662306a36Sopenharmony_cibased mainboard (ktXXX, MVP3) have more problems than users with a mainboard 35762306a36Sopenharmony_cibased on a different chipset. Here's some notes from Andrew Stevens: 35862306a36Sopenharmony_ci 35962306a36Sopenharmony_ciHere's my experience of using LML33 and Buz on various motherboards: 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ci- VIA MVP3 36262306a36Sopenharmony_ci - Forget it. Pointless. Doesn't work. 36362306a36Sopenharmony_ci- Intel 430FX (Pentium 200) 36462306a36Sopenharmony_ci - LML33 perfect, Buz tolerable (3 or 4 frames dropped per movie) 36562306a36Sopenharmony_ci- Intel 440BX (early stepping) 36662306a36Sopenharmony_ci - LML33 tolerable. Buz starting to get annoying (6-10 frames/hour) 36762306a36Sopenharmony_ci- Intel 440BX (late stepping) 36862306a36Sopenharmony_ci - Buz tolerable, LML3 almost perfect (occasional single frame drops) 36962306a36Sopenharmony_ci- SiS735 37062306a36Sopenharmony_ci - LML33 perfect, Buz tolerable. 37162306a36Sopenharmony_ci- VIA KT133(*) 37262306a36Sopenharmony_ci - LML33 starting to get annoying, Buz poor enough that I have up. 37362306a36Sopenharmony_ci 37462306a36Sopenharmony_ci- Both 440BX boards were dual CPU versions. 37562306a36Sopenharmony_ci 37662306a36Sopenharmony_ciBernhard Praschinger later added: 37762306a36Sopenharmony_ci 37862306a36Sopenharmony_ci- AMD 751 37962306a36Sopenharmony_ci - Buz perfect-tolerable 38062306a36Sopenharmony_ci- AMD 760 38162306a36Sopenharmony_ci - Buz perfect-tolerable 38262306a36Sopenharmony_ci 38362306a36Sopenharmony_ciIn general, people on the user mailinglist won't give you much of a chance 38462306a36Sopenharmony_ciif you have a VIA-based motherboard. They may be cheap, but sometimes, you'd 38562306a36Sopenharmony_cirather want to spend some more money on better boards. In general, VIA 38662306a36Sopenharmony_cimainboard's IDE/PCI performance will also suck badly compared to others. 38762306a36Sopenharmony_ciYou'll noticed the DC10+/DC30+ aren't mentioned anywhere in the overview. 38862306a36Sopenharmony_ciBasically, you can assume that if the Buz works, the LML33 will work too. If 38962306a36Sopenharmony_cithe LML33 works, the DC10+/DC30+ will work too. They're most tolerant to 39062306a36Sopenharmony_cidifferent mainboard chipsets from all of the supported cards. 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ciIf you experience timeouts during capture, buy a better mainboard or lower 39362306a36Sopenharmony_cithe quality/buffersize during capture (see 'Concerning buffer sizes, quality, 39462306a36Sopenharmony_cioutput size etc.'). If it hangs, there's little we can do as of now. Check 39562306a36Sopenharmony_ciyour IRQs and make sure the card has its own interrupts. 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_ciProgramming interface 39862306a36Sopenharmony_ci--------------------- 39962306a36Sopenharmony_ci 40062306a36Sopenharmony_ciThis driver conforms to video4linux2. Support for V4L1 and for the custom 40162306a36Sopenharmony_cizoran ioctls has been removed in kernel 2.6.38. 40262306a36Sopenharmony_ci 40362306a36Sopenharmony_ciFor programming example, please, look at lavrec.c and lavplay.c code in 40462306a36Sopenharmony_cithe MJPEG-tools (http://mjpeg.sf.net/). 40562306a36Sopenharmony_ci 40662306a36Sopenharmony_ciAdditional notes for software developers: 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci The driver returns maxwidth and maxheight parameters according to 40962306a36Sopenharmony_ci the current TV standard (norm). Therefore, the software which 41062306a36Sopenharmony_ci communicates with the driver and "asks" for these parameters should 41162306a36Sopenharmony_ci first set the correct norm. Well, it seems logically correct: TV 41262306a36Sopenharmony_ci standard is "more constant" for current country than geometry 41362306a36Sopenharmony_ci settings of a variety of TV capture cards which may work in ITU or 41462306a36Sopenharmony_ci square pixel format. 41562306a36Sopenharmony_ci 41662306a36Sopenharmony_ciApplications 41762306a36Sopenharmony_ci------------ 41862306a36Sopenharmony_ci 41962306a36Sopenharmony_ciApplications known to work with this driver: 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ciTV viewing: 42262306a36Sopenharmony_ci 42362306a36Sopenharmony_ci* xawtv 42462306a36Sopenharmony_ci* kwintv 42562306a36Sopenharmony_ci* probably any TV application that supports video4linux or video4linux2. 42662306a36Sopenharmony_ci 42762306a36Sopenharmony_ciMJPEG capture/playback: 42862306a36Sopenharmony_ci 42962306a36Sopenharmony_ci* mjpegtools/lavtools (or Linux Video Studio) 43062306a36Sopenharmony_ci* gstreamer 43162306a36Sopenharmony_ci* mplayer 43262306a36Sopenharmony_ci 43362306a36Sopenharmony_ciGeneral raw capture: 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_ci* xawtv 43662306a36Sopenharmony_ci* gstreamer 43762306a36Sopenharmony_ci* probably any application that supports video4linux or video4linux2 43862306a36Sopenharmony_ci 43962306a36Sopenharmony_ciVideo editing: 44062306a36Sopenharmony_ci 44162306a36Sopenharmony_ci* Cinelerra 44262306a36Sopenharmony_ci* MainActor 44362306a36Sopenharmony_ci* mjpegtools (or Linux Video Studio) 44462306a36Sopenharmony_ci 44562306a36Sopenharmony_ci 44662306a36Sopenharmony_ciConcerning buffer sizes, quality, output size etc. 44762306a36Sopenharmony_ci-------------------------------------------------- 44862306a36Sopenharmony_ci 44962306a36Sopenharmony_ci 45062306a36Sopenharmony_ciThe zr36060 can do 1:2 JPEG compression. This is really the theoretical 45162306a36Sopenharmony_cimaximum that the chipset can reach. The driver can, however, limit compression 45262306a36Sopenharmony_cito a maximum (size) of 1:4. The reason for this is that some cards (e.g. Buz) 45362306a36Sopenharmony_cican't handle 1:2 compression without stopping capture after only a few minutes. 45462306a36Sopenharmony_ciWith 1:4, it'll mostly work. If you have a Buz, use 'low_bitrate=1' to go into 45562306a36Sopenharmony_ci1:4 max. compression mode. 45662306a36Sopenharmony_ci 45762306a36Sopenharmony_ci100% JPEG quality is thus 1:2 compression in practice. So for a full PAL frame 45862306a36Sopenharmony_ci(size 720x576). The JPEG fields are stored in YUY2 format, so the size of the 45962306a36Sopenharmony_cifields are 720x288x16/2 bits/field (2 fields/frame) = 207360 bytes/field x 2 = 46062306a36Sopenharmony_ci414720 bytes/frame (add some more bytes for headers and DHT (huffman)/DQT 46162306a36Sopenharmony_ci(quantization) tables, and you'll get to something like 512kB per frame for 46262306a36Sopenharmony_ci1:2 compression. For 1:4 compression, you'd have frames of half this size. 46362306a36Sopenharmony_ci 46462306a36Sopenharmony_ciSome additional explanation by Martin Samuelsson, which also explains the 46562306a36Sopenharmony_ciimportance of buffer sizes: 46662306a36Sopenharmony_ci-- 46762306a36Sopenharmony_ci> Hmm, I do not think it is really that way. With the current (downloaded 46862306a36Sopenharmony_ci> at 18:00 Monday) driver I get that output sizes for 10 sec: 46962306a36Sopenharmony_ci> -q 50 -b 128 : 24.283.332 Bytes 47062306a36Sopenharmony_ci> -q 50 -b 256 : 48.442.368 47162306a36Sopenharmony_ci> -q 25 -b 128 : 24.655.992 47262306a36Sopenharmony_ci> -q 25 -b 256 : 25.859.820 47362306a36Sopenharmony_ci 47462306a36Sopenharmony_ciI woke up, and can't go to sleep again. I'll kill some time explaining why 47562306a36Sopenharmony_cithis doesn't look strange to me. 47662306a36Sopenharmony_ci 47762306a36Sopenharmony_ciLet's do some math using a width of 704 pixels. I'm not sure whether the Buz 47862306a36Sopenharmony_ciactually use that number or not, but that's not too important right now. 47962306a36Sopenharmony_ci 48062306a36Sopenharmony_ci704x288 pixels, one field, is 202752 pixels. Divided by 64 pixels per block; 48162306a36Sopenharmony_ci3168 blocks per field. Each pixel consist of two bytes; 128 bytes per block; 48262306a36Sopenharmony_ci1024 bits per block. 100% in the new driver mean 1:2 compression; the maximum 48362306a36Sopenharmony_cioutput becomes 512 bits per block. Actually 510, but 512 is simpler to use 48462306a36Sopenharmony_cifor calculations. 48562306a36Sopenharmony_ci 48662306a36Sopenharmony_ciLet's say that we specify d1q50. We thus want 256 bits per block; times 3168 48762306a36Sopenharmony_cibecomes 811008 bits; 101376 bytes per field. We're talking raw bits and bytes 48862306a36Sopenharmony_cihere, so we don't need to do any fancy corrections for bits-per-pixel or such 48962306a36Sopenharmony_cithings. 101376 bytes per field. 49062306a36Sopenharmony_ci 49162306a36Sopenharmony_cid1 video contains two fields per frame. Those sum up to 202752 bytes per 49262306a36Sopenharmony_ciframe, and one of those frames goes into each buffer. 49362306a36Sopenharmony_ci 49462306a36Sopenharmony_ciBut wait a second! -b128 gives 128kB buffers! It's not possible to cram 49562306a36Sopenharmony_ci202752 bytes of JPEG data into 128kB! 49662306a36Sopenharmony_ci 49762306a36Sopenharmony_ciThis is what the driver notice and automatically compensate for in your 49862306a36Sopenharmony_ciexamples. Let's do some math using this information: 49962306a36Sopenharmony_ci 50062306a36Sopenharmony_ci128kB is 131072 bytes. In this buffer, we want to store two fields, which 50162306a36Sopenharmony_cileaves 65536 bytes for each field. Using 3168 blocks per field, we get 50262306a36Sopenharmony_ci20.68686868... available bytes per block; 165 bits. We can't allow the 50362306a36Sopenharmony_cirequest for 256 bits per block when there's only 165 bits available! The -q50 50462306a36Sopenharmony_cioption is silently overridden, and the -b128 option takes precedence, leaving 50562306a36Sopenharmony_cius with the equivalence of -q32. 50662306a36Sopenharmony_ci 50762306a36Sopenharmony_ciThis gives us a data rate of 165 bits per block, which, times 3168, sums up 50862306a36Sopenharmony_cito 65340 bytes per field, out of the allowed 65536. The current driver has 50962306a36Sopenharmony_cianother level of rate limiting; it won't accept -q values that fill more than 51062306a36Sopenharmony_ci6/8 of the specified buffers. (I'm not sure why. "Playing it safe" seem to be 51162306a36Sopenharmony_cia safe bet. Personally, I think I would have lowered requested-bits-per-block 51262306a36Sopenharmony_ciby one, or something like that.) We can't use 165 bits per block, but have to 51362306a36Sopenharmony_cilower it again, to 6/8 of the available buffer space: We end up with 124 bits 51462306a36Sopenharmony_ciper block, the equivalence of -q24. With 128kB buffers, you can't use greater 51562306a36Sopenharmony_cithan -q24 at -d1. (And PAL, and 704 pixels width...) 51662306a36Sopenharmony_ci 51762306a36Sopenharmony_ciThe third example is limited to -q24 through the same process. The second 51862306a36Sopenharmony_ciexample, using very similar calculations, is limited to -q48. The only 51962306a36Sopenharmony_ciexample that actually grab at the specified -q value is the last one, which 52062306a36Sopenharmony_ciis clearly visible, looking at the file size. 52162306a36Sopenharmony_ci-- 52262306a36Sopenharmony_ci 52362306a36Sopenharmony_ciConclusion: the quality of the resulting movie depends on buffer size, quality, 52462306a36Sopenharmony_ciwhether or not you use 'low_bitrate=1' as insmod option for the zr36060.c 52562306a36Sopenharmony_cimodule to do 1:4 instead of 1:2 compression, etc. 52662306a36Sopenharmony_ci 52762306a36Sopenharmony_ciIf you experience timeouts, lowering the quality/buffersize or using 52862306a36Sopenharmony_ci'low_bitrate=1 as insmod option for zr36060.o might actually help, as is 52962306a36Sopenharmony_ciproven by the Buz. 53062306a36Sopenharmony_ci 53162306a36Sopenharmony_ciIt hangs/crashes/fails/whatevers! Help! 53262306a36Sopenharmony_ci--------------------------------------- 53362306a36Sopenharmony_ci 53462306a36Sopenharmony_ciMake sure that the card has its own interrupts (see /proc/interrupts), check 53562306a36Sopenharmony_cithe output of dmesg at high verbosity (load zr36067.o with debug=2, 53662306a36Sopenharmony_ciload all other modules with debug=1). Check that your mainboard is favorable 53762306a36Sopenharmony_ci(see question 2) and if not, test the card in another computer. Also see the 53862306a36Sopenharmony_cinotes given in question 3 and try lowering quality/buffersize/capturesize 53962306a36Sopenharmony_ciif recording fails after a period of time. 54062306a36Sopenharmony_ci 54162306a36Sopenharmony_ciIf all this doesn't help, give a clear description of the problem including 54262306a36Sopenharmony_cidetailed hardware information (memory+brand, mainboard+chipset+brand, which 54362306a36Sopenharmony_ciMJPEG card, processor, other PCI cards that might be of interest), give the 54462306a36Sopenharmony_cisystem PnP information (/proc/interrupts, /proc/dma, /proc/devices), and give 54562306a36Sopenharmony_cithe kernel version, driver version, glibc version, gcc version and any other 54662306a36Sopenharmony_ciinformation that might possibly be of interest. Also provide the dmesg output 54762306a36Sopenharmony_ciat high verbosity. See 'Contacting' on how to contact the developers. 54862306a36Sopenharmony_ci 54962306a36Sopenharmony_ciMaintainers/Contacting 55062306a36Sopenharmony_ci---------------------- 55162306a36Sopenharmony_ci 55262306a36Sopenharmony_ciPrevious maintainers/developers of this driver are 55362306a36Sopenharmony_ci- Laurent Pinchart <laurent.pinchart@skynet.be> 55462306a36Sopenharmony_ci- Ronald Bultje rbultje@ronald.bitfreak.net 55562306a36Sopenharmony_ci- Serguei Miridonov <mirsev@cicese.mx> 55662306a36Sopenharmony_ci- Wolfgang Scherr <scherr@net4you.net> 55762306a36Sopenharmony_ci- Dave Perks <dperks@ibm.net> 55862306a36Sopenharmony_ci- Rainer Johanni <Rainer@Johanni.de> 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_ciDriver's License 56162306a36Sopenharmony_ci---------------- 56262306a36Sopenharmony_ci 56362306a36Sopenharmony_ci This driver is distributed under the terms of the General Public License. 56462306a36Sopenharmony_ci 56562306a36Sopenharmony_ci This program is free software; you can redistribute it and/or modify 56662306a36Sopenharmony_ci it under the terms of the GNU General Public License as published by 56762306a36Sopenharmony_ci the Free Software Foundation; either version 2 of the License, or 56862306a36Sopenharmony_ci (at your option) any later version. 56962306a36Sopenharmony_ci 57062306a36Sopenharmony_ci This program is distributed in the hope that it will be useful, 57162306a36Sopenharmony_ci but WITHOUT ANY WARRANTY; without even the implied warranty of 57262306a36Sopenharmony_ci MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 57362306a36Sopenharmony_ci GNU General Public License for more details. 57462306a36Sopenharmony_ci 57562306a36Sopenharmony_ciSee http://www.gnu.org/ for more information. 576