zoran.rst 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575
  1. .. SPDX-License-Identifier: GPL-2.0
  2. The Zoran driver
  3. ================
  4. unified zoran driver (zr360x7, zoran, buz, dc10(+), dc30(+), lml33)
  5. website: http://mjpeg.sourceforge.net/driver-zoran/
  6. Frequently Asked Questions
  7. --------------------------
  8. What cards are supported
  9. ------------------------
  10. Iomega Buz, Linux Media Labs LML33/LML33R10, Pinnacle/Miro
  11. DC10/DC10+/DC30/DC30+ and related boards (available under various names).
  12. Iomega Buz
  13. ~~~~~~~~~~
  14. * Zoran zr36067 PCI controller
  15. * Zoran zr36060 MJPEG codec
  16. * Philips saa7111 TV decoder
  17. * Philips saa7185 TV encoder
  18. Drivers to use: videodev, i2c-core, i2c-algo-bit,
  19. videocodec, saa7111, saa7185, zr36060, zr36067
  20. Inputs/outputs: Composite and S-video
  21. Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
  22. Card number: 7
  23. AverMedia 6 Eyes AVS6EYES
  24. ~~~~~~~~~~~~~~~~~~~~~~~~~
  25. * Zoran zr36067 PCI controller
  26. * Zoran zr36060 MJPEG codec
  27. * Samsung ks0127 TV decoder
  28. * Conexant bt866 TV encoder
  29. Drivers to use: videodev, i2c-core, i2c-algo-bit,
  30. videocodec, ks0127, bt866, zr36060, zr36067
  31. Inputs/outputs:
  32. Six physical inputs. 1-6 are composite,
  33. 1-2, 3-4, 5-6 doubles as S-video,
  34. 1-3 triples as component.
  35. One composite output.
  36. Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
  37. Card number: 8
  38. .. note::
  39. Not autodetected, card=8 is necessary.
  40. Linux Media Labs LML33
  41. ~~~~~~~~~~~~~~~~~~~~~~
  42. * Zoran zr36067 PCI controller
  43. * Zoran zr36060 MJPEG codec
  44. * Brooktree bt819 TV decoder
  45. * Brooktree bt856 TV encoder
  46. Drivers to use: videodev, i2c-core, i2c-algo-bit,
  47. videocodec, bt819, bt856, zr36060, zr36067
  48. Inputs/outputs: Composite and S-video
  49. Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
  50. Card number: 5
  51. Linux Media Labs LML33R10
  52. ~~~~~~~~~~~~~~~~~~~~~~~~~
  53. * Zoran zr36067 PCI controller
  54. * Zoran zr36060 MJPEG codec
  55. * Philips saa7114 TV decoder
  56. * Analog Devices adv7170 TV encoder
  57. Drivers to use: videodev, i2c-core, i2c-algo-bit,
  58. videocodec, saa7114, adv7170, zr36060, zr36067
  59. Inputs/outputs: Composite and S-video
  60. Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
  61. Card number: 6
  62. Pinnacle/Miro DC10(new)
  63. ~~~~~~~~~~~~~~~~~~~~~~~
  64. * Zoran zr36057 PCI controller
  65. * Zoran zr36060 MJPEG codec
  66. * Philips saa7110a TV decoder
  67. * Analog Devices adv7176 TV encoder
  68. Drivers to use: videodev, i2c-core, i2c-algo-bit,
  69. videocodec, saa7110, adv7175, zr36060, zr36067
  70. Inputs/outputs: Composite, S-video and Internal
  71. Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
  72. Card number: 1
  73. Pinnacle/Miro DC10+
  74. ~~~~~~~~~~~~~~~~~~~
  75. * Zoran zr36067 PCI controller
  76. * Zoran zr36060 MJPEG codec
  77. * Philips saa7110a TV decoder
  78. * Analog Devices adv7176 TV encoder
  79. Drivers to use: videodev, i2c-core, i2c-algo-bit,
  80. videocodec, saa7110, adv7175, zr36060, zr36067
  81. Inputs/outputs: Composite, S-video and Internal
  82. Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
  83. Card number: 2
  84. Pinnacle/Miro DC10(old)
  85. ~~~~~~~~~~~~~~~~~~~~~~~
  86. * Zoran zr36057 PCI controller
  87. * Zoran zr36050 MJPEG codec
  88. * Zoran zr36016 Video Front End or Fuji md0211 Video Front End (clone?)
  89. * Micronas vpx3220a TV decoder
  90. * mse3000 TV encoder or Analog Devices adv7176 TV encoder
  91. Drivers to use: videodev, i2c-core, i2c-algo-bit,
  92. videocodec, vpx3220, mse3000/adv7175, zr36050, zr36016, zr36067
  93. Inputs/outputs: Composite, S-video and Internal
  94. Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
  95. Card number: 0
  96. Pinnacle/Miro DC30
  97. ~~~~~~~~~~~~~~~~~~
  98. * Zoran zr36057 PCI controller
  99. * Zoran zr36050 MJPEG codec
  100. * Zoran zr36016 Video Front End
  101. * Micronas vpx3225d/vpx3220a/vpx3216b TV decoder
  102. * Analog Devices adv7176 TV encoder
  103. Drivers to use: videodev, i2c-core, i2c-algo-bit,
  104. videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36016, zr36067
  105. Inputs/outputs: Composite, S-video and Internal
  106. Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
  107. Card number: 3
  108. Pinnacle/Miro DC30+
  109. ~~~~~~~~~~~~~~~~~~~
  110. * Zoran zr36067 PCI controller
  111. * Zoran zr36050 MJPEG codec
  112. * Zoran zr36016 Video Front End
  113. * Micronas vpx3225d/vpx3220a/vpx3216b TV decoder
  114. * Analog Devices adv7176 TV encoder
  115. Drivers to use: videodev, i2c-core, i2c-algo-bit,
  116. videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36015, zr36067
  117. Inputs/outputs: Composite, S-video and Internal
  118. Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
  119. Card number: 4
  120. .. note::
  121. #) No module for the mse3000 is available yet
  122. #) No module for the vpx3224 is available yet
  123. 1.1 What the TV decoder can do an what not
  124. ------------------------------------------
  125. The best know TV standards are NTSC/PAL/SECAM. but for decoding a frame that
  126. information is not enough. There are several formats of the TV standards.
  127. And not every TV decoder is able to handle every format. Also the every
  128. combination is supported by the driver. There are currently 11 different
  129. tv broadcast formats all aver the world.
  130. The CCIR defines parameters needed for broadcasting the signal.
  131. The CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,...
  132. The CCIR says not much about the colorsystem used !!!
  133. And talking about a colorsystem says not to much about how it is broadcast.
  134. The CCIR standards A,E,F are not used any more.
  135. When you speak about NTSC, you usually mean the standard: CCIR - M using
  136. the NTSC colorsystem which is used in the USA, Japan, Mexico, Canada
  137. and a few others.
  138. When you talk about PAL, you usually mean: CCIR - B/G using the PAL
  139. colorsystem which is used in many Countries.
  140. When you talk about SECAM, you mean: CCIR - L using the SECAM Colorsystem
  141. which is used in France, and a few others.
  142. There the other version of SECAM, CCIR - D/K is used in Bulgaria, China,
  143. Slovakai, Hungary, Korea (Rep.), Poland, Rumania and a others.
  144. The CCIR - H uses the PAL colorsystem (sometimes SECAM) and is used in
  145. Egypt, Libya, Sri Lanka, Syrain Arab. Rep.
  146. The CCIR - I uses the PAL colorsystem, and is used in Great Britain, Hong Kong,
  147. Ireland, Nigeria, South Africa.
  148. The CCIR - N uses the PAL colorsystem and PAL frame size but the NTSC framerate,
  149. and is used in Argentinia, Uruguay, an a few others
  150. We do not talk about how the audio is broadcast !
  151. A rather good sites about the TV standards are:
  152. http://www.sony.jp/support/
  153. http://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/
  154. and http://www.cabl.com/restaurant/channel.html
  155. Other weird things around: NTSC 4.43 is a modificated NTSC, which is mainly
  156. used in PAL VCR's that are able to play back NTSC. PAL 60 seems to be the same
  157. as NTSC 4.43 . The Datasheets also talk about NTSC 44, It seems as if it would
  158. be the same as NTSC 4.43.
  159. NTSC Combs seems to be a decoder mode where the decoder uses a comb filter
  160. to split coma and luma instead of a Delay line.
  161. But I did not defiantly find out what NTSC Comb is.
  162. Philips saa7111 TV decoder
  163. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  164. - was introduced in 1997, is used in the BUZ and
  165. - can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC N, NTSC 4.43 and SECAM
  166. Philips saa7110a TV decoder
  167. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  168. - was introduced in 1995, is used in the Pinnacle/Miro DC10(new), DC10+ and
  169. - can handle: PAL B/G, NTSC M and SECAM
  170. Philips saa7114 TV decoder
  171. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  172. - was introduced in 2000, is used in the LML33R10 and
  173. - can handle: PAL B/G/D/H/I/N, PAL N, PAL M, NTSC M, NTSC 4.43 and SECAM
  174. Brooktree bt819 TV decoder
  175. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  176. - was introduced in 1996, and is used in the LML33 and
  177. - can handle: PAL B/D/G/H/I, NTSC M
  178. Micronas vpx3220a TV decoder
  179. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  180. - was introduced in 1996, is used in the DC30 and DC30+ and
  181. - can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC 44, PAL 60, SECAM,NTSC Comb
  182. Samsung ks0127 TV decoder
  183. ~~~~~~~~~~~~~~~~~~~~~~~~~
  184. - is used in the AVS6EYES card and
  185. - can handle: NTSC-M/N/44, PAL-M/N/B/G/H/I/D/K/L and SECAM
  186. What the TV encoder can do an what not
  187. --------------------------------------
  188. The TV encoder is doing the "same" as the decoder, but in the other direction.
  189. You feed them digital data and the generate a Composite or SVHS signal.
  190. For information about the colorsystems and TV norm take a look in the
  191. TV decoder section.
  192. Philips saa7185 TV Encoder
  193. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  194. - was introduced in 1996, is used in the BUZ
  195. - can generate: PAL B/G, NTSC M
  196. Brooktree bt856 TV Encoder
  197. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  198. - was introduced in 1994, is used in the LML33
  199. - can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL-N (Argentina)
  200. Analog Devices adv7170 TV Encoder
  201. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  202. - was introduced in 2000, is used in the LML300R10
  203. - can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL 60
  204. Analog Devices adv7175 TV Encoder
  205. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  206. - was introduced in 1996, is used in the DC10, DC10+, DC10 old, DC30, DC30+
  207. - can generate: PAL B/D/G/H/I/N, PAL M, NTSC M
  208. ITT mse3000 TV encoder
  209. ~~~~~~~~~~~~~~~~~~~~~~
  210. - was introduced in 1991, is used in the DC10 old
  211. - can generate: PAL , NTSC , SECAM
  212. Conexant bt866 TV encoder
  213. ~~~~~~~~~~~~~~~~~~~~~~~~~
  214. - is used in AVS6EYES, and
  215. - can generate: NTSC/PAL, PAL-M, PAL-N
  216. The adv717x, should be able to produce PAL N. But you find nothing PAL N
  217. specific in the registers. Seem that you have to reuse a other standard
  218. to generate PAL N, maybe it would work if you use the PAL M settings.
  219. How do I get this damn thing to work
  220. ------------------------------------
  221. Load zr36067.o. If it can't autodetect your card, use the card=X insmod
  222. option with X being the card number as given in the previous section.
  223. To have more than one card, use card=X1[,X2[,X3,[X4[..]]]]
  224. To automate this, add the following to your /etc/modprobe.d/zoran.conf:
  225. options zr36067 card=X1[,X2[,X3[,X4[..]]]]
  226. alias char-major-81-0 zr36067
  227. One thing to keep in mind is that this doesn't load zr36067.o itself yet. It
  228. just automates loading. If you start using xawtv, the device won't load on
  229. some systems, since you're trying to load modules as a user, which is not
  230. allowed ("permission denied"). A quick workaround is to add 'Load "v4l"' to
  231. XF86Config-4 when you use X by default, or to run 'v4l-conf -c <device>' in
  232. one of your startup scripts (normally rc.local) if you don't use X. Both
  233. make sure that the modules are loaded on startup, under the root account.
  234. What mainboard should I use (or why doesn't my card work)
  235. ---------------------------------------------------------
  236. <insert lousy disclaimer here>. In short: good=SiS/Intel, bad=VIA.
  237. Experience tells us that people with a Buz, on average, have more problems
  238. than users with a DC10+/LML33. Also, it tells us that people owning a VIA-
  239. based mainboard (ktXXX, MVP3) have more problems than users with a mainboard
  240. based on a different chipset. Here's some notes from Andrew Stevens:
  241. Here's my experience of using LML33 and Buz on various motherboards:
  242. - VIA MVP3
  243. - Forget it. Pointless. Doesn't work.
  244. - Intel 430FX (Pentium 200)
  245. - LML33 perfect, Buz tolerable (3 or 4 frames dropped per movie)
  246. - Intel 440BX (early stepping)
  247. - LML33 tolerable. Buz starting to get annoying (6-10 frames/hour)
  248. - Intel 440BX (late stepping)
  249. - Buz tolerable, LML3 almost perfect (occasional single frame drops)
  250. - SiS735
  251. - LML33 perfect, Buz tolerable.
  252. - VIA KT133(*)
  253. - LML33 starting to get annoying, Buz poor enough that I have up.
  254. - Both 440BX boards were dual CPU versions.
  255. Bernhard Praschinger later added:
  256. - AMD 751
  257. - Buz perfect-tolerable
  258. - AMD 760
  259. - Buz perfect-tolerable
  260. In general, people on the user mailinglist won't give you much of a chance
  261. if you have a VIA-based motherboard. They may be cheap, but sometimes, you'd
  262. rather want to spend some more money on better boards. In general, VIA
  263. mainboard's IDE/PCI performance will also suck badly compared to others.
  264. You'll noticed the DC10+/DC30+ aren't mentioned anywhere in the overview.
  265. Basically, you can assume that if the Buz works, the LML33 will work too. If
  266. the LML33 works, the DC10+/DC30+ will work too. They're most tolerant to
  267. different mainboard chipsets from all of the supported cards.
  268. If you experience timeouts during capture, buy a better mainboard or lower
  269. the quality/buffersize during capture (see 'Concerning buffer sizes, quality,
  270. output size etc.'). If it hangs, there's little we can do as of now. Check
  271. your IRQs and make sure the card has its own interrupts.
  272. Programming interface
  273. ---------------------
  274. This driver conforms to video4linux2. Support for V4L1 and for the custom
  275. zoran ioctls has been removed in kernel 2.6.38.
  276. For programming example, please, look at lavrec.c and lavplay.c code in
  277. the MJPEG-tools (http://mjpeg.sf.net/).
  278. Additional notes for software developers:
  279. The driver returns maxwidth and maxheight parameters according to
  280. the current TV standard (norm). Therefore, the software which
  281. communicates with the driver and "asks" for these parameters should
  282. first set the correct norm. Well, it seems logically correct: TV
  283. standard is "more constant" for current country than geometry
  284. settings of a variety of TV capture cards which may work in ITU or
  285. square pixel format.
  286. Applications
  287. ------------
  288. Applications known to work with this driver:
  289. TV viewing:
  290. * xawtv
  291. * kwintv
  292. * probably any TV application that supports video4linux or video4linux2.
  293. MJPEG capture/playback:
  294. * mjpegtools/lavtools (or Linux Video Studio)
  295. * gstreamer
  296. * mplayer
  297. General raw capture:
  298. * xawtv
  299. * gstreamer
  300. * probably any application that supports video4linux or video4linux2
  301. Video editing:
  302. * Cinelerra
  303. * MainActor
  304. * mjpegtools (or Linux Video Studio)
  305. Concerning buffer sizes, quality, output size etc.
  306. --------------------------------------------------
  307. The zr36060 can do 1:2 JPEG compression. This is really the theoretical
  308. maximum that the chipset can reach. The driver can, however, limit compression
  309. to a maximum (size) of 1:4. The reason for this is that some cards (e.g. Buz)
  310. can't handle 1:2 compression without stopping capture after only a few minutes.
  311. With 1:4, it'll mostly work. If you have a Buz, use 'low_bitrate=1' to go into
  312. 1:4 max. compression mode.
  313. 100% JPEG quality is thus 1:2 compression in practice. So for a full PAL frame
  314. (size 720x576). The JPEG fields are stored in YUY2 format, so the size of the
  315. fields are 720x288x16/2 bits/field (2 fields/frame) = 207360 bytes/field x 2 =
  316. 414720 bytes/frame (add some more bytes for headers and DHT (huffman)/DQT
  317. (quantization) tables, and you'll get to something like 512kB per frame for
  318. 1:2 compression. For 1:4 compression, you'd have frames of half this size.
  319. Some additional explanation by Martin Samuelsson, which also explains the
  320. importance of buffer sizes:
  321. --
  322. > Hmm, I do not think it is really that way. With the current (downloaded
  323. > at 18:00 Monday) driver I get that output sizes for 10 sec:
  324. > -q 50 -b 128 : 24.283.332 Bytes
  325. > -q 50 -b 256 : 48.442.368
  326. > -q 25 -b 128 : 24.655.992
  327. > -q 25 -b 256 : 25.859.820
  328. I woke up, and can't go to sleep again. I'll kill some time explaining why
  329. this doesn't look strange to me.
  330. Let's do some math using a width of 704 pixels. I'm not sure whether the Buz
  331. actually use that number or not, but that's not too important right now.
  332. 704x288 pixels, one field, is 202752 pixels. Divided by 64 pixels per block;
  333. 3168 blocks per field. Each pixel consist of two bytes; 128 bytes per block;
  334. 1024 bits per block. 100% in the new driver mean 1:2 compression; the maximum
  335. output becomes 512 bits per block. Actually 510, but 512 is simpler to use
  336. for calculations.
  337. Let's say that we specify d1q50. We thus want 256 bits per block; times 3168
  338. becomes 811008 bits; 101376 bytes per field. We're talking raw bits and bytes
  339. here, so we don't need to do any fancy corrections for bits-per-pixel or such
  340. things. 101376 bytes per field.
  341. d1 video contains two fields per frame. Those sum up to 202752 bytes per
  342. frame, and one of those frames goes into each buffer.
  343. But wait a second! -b128 gives 128kB buffers! It's not possible to cram
  344. 202752 bytes of JPEG data into 128kB!
  345. This is what the driver notice and automatically compensate for in your
  346. examples. Let's do some math using this information:
  347. 128kB is 131072 bytes. In this buffer, we want to store two fields, which
  348. leaves 65536 bytes for each field. Using 3168 blocks per field, we get
  349. 20.68686868... available bytes per block; 165 bits. We can't allow the
  350. request for 256 bits per block when there's only 165 bits available! The -q50
  351. option is silently overridden, and the -b128 option takes precedence, leaving
  352. us with the equivalence of -q32.
  353. This gives us a data rate of 165 bits per block, which, times 3168, sums up
  354. to 65340 bytes per field, out of the allowed 65536. The current driver has
  355. another level of rate limiting; it won't accept -q values that fill more than
  356. 6/8 of the specified buffers. (I'm not sure why. "Playing it safe" seem to be
  357. a safe bet. Personally, I think I would have lowered requested-bits-per-block
  358. by one, or something like that.) We can't use 165 bits per block, but have to
  359. lower it again, to 6/8 of the available buffer space: We end up with 124 bits
  360. per block, the equivalence of -q24. With 128kB buffers, you can't use greater
  361. than -q24 at -d1. (And PAL, and 704 pixels width...)
  362. The third example is limited to -q24 through the same process. The second
  363. example, using very similar calculations, is limited to -q48. The only
  364. example that actually grab at the specified -q value is the last one, which
  365. is clearly visible, looking at the file size.
  366. --
  367. Conclusion: the quality of the resulting movie depends on buffer size, quality,
  368. whether or not you use 'low_bitrate=1' as insmod option for the zr36060.c
  369. module to do 1:4 instead of 1:2 compression, etc.
  370. If you experience timeouts, lowering the quality/buffersize or using
  371. 'low_bitrate=1 as insmod option for zr36060.o might actually help, as is
  372. proven by the Buz.
  373. It hangs/crashes/fails/whatevers! Help!
  374. ---------------------------------------
  375. Make sure that the card has its own interrupts (see /proc/interrupts), check
  376. the output of dmesg at high verbosity (load zr36067.o with debug=2,
  377. load all other modules with debug=1). Check that your mainboard is favorable
  378. (see question 2) and if not, test the card in another computer. Also see the
  379. notes given in question 3 and try lowering quality/buffersize/capturesize
  380. if recording fails after a period of time.
  381. If all this doesn't help, give a clear description of the problem including
  382. detailed hardware information (memory+brand, mainboard+chipset+brand, which
  383. MJPEG card, processor, other PCI cards that might be of interest), give the
  384. system PnP information (/proc/interrupts, /proc/dma, /proc/devices), and give
  385. the kernel version, driver version, glibc version, gcc version and any other
  386. information that might possibly be of interest. Also provide the dmesg output
  387. at high verbosity. See 'Contacting' on how to contact the developers.
  388. Maintainers/Contacting
  389. ----------------------
  390. Previous maintainers/developers of this driver are
  391. - Laurent Pinchart <[email protected]>
  392. - Ronald Bultje [email protected]
  393. - Serguei Miridonov <[email protected]>
  394. - Wolfgang Scherr <[email protected]>
  395. - Dave Perks <[email protected]>
  396. - Rainer Johanni <[email protected]>
  397. Driver's License
  398. ----------------
  399. This driver is distributed under the terms of the General Public License.
  400. This program is free software; you can redistribute it and/or modify
  401. it under the terms of the GNU General Public License as published by
  402. the Free Software Foundation; either version 2 of the License, or
  403. (at your option) any later version.
  404. This program is distributed in the hope that it will be useful,
  405. but WITHOUT ANY WARRANTY; without even the implied warranty of
  406. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  407. GNU General Public License for more details.
  408. See http://www.gnu.org/ for more information.