0001 .. SPDX-License-Identifier: GPL-2.0
0002
0003 The Zoran driver
0004 ================
0005
0006 unified zoran driver (zr360x7, zoran, buz, dc10(+), dc30(+), lml33)
0007
0008 website: http://mjpeg.sourceforge.net/driver-zoran/
0009
0010
0011 Frequently Asked Questions
0012 --------------------------
0013
0014 What cards are supported
0015 ------------------------
0016
0017 Iomega Buz, Linux Media Labs LML33/LML33R10, Pinnacle/Miro
0018 DC10/DC10+/DC30/DC30+ and related boards (available under various names).
0019
0020 Iomega Buz
0021 ~~~~~~~~~~
0022
0023 * Zoran zr36067 PCI controller
0024 * Zoran zr36060 MJPEG codec
0025 * Philips saa7111 TV decoder
0026 * Philips saa7185 TV encoder
0027
0028 Drivers to use: videodev, i2c-core, i2c-algo-bit,
0029 videocodec, saa7111, saa7185, zr36060, zr36067
0030
0031 Inputs/outputs: Composite and S-video
0032
0033 Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
0034
0035 Card number: 7
0036
0037 AverMedia 6 Eyes AVS6EYES
0038 ~~~~~~~~~~~~~~~~~~~~~~~~~
0039
0040 * Zoran zr36067 PCI controller
0041 * Zoran zr36060 MJPEG codec
0042 * Samsung ks0127 TV decoder
0043 * Conexant bt866 TV encoder
0044
0045 Drivers to use: videodev, i2c-core, i2c-algo-bit,
0046 videocodec, ks0127, bt866, zr36060, zr36067
0047
0048 Inputs/outputs:
0049 Six physical inputs. 1-6 are composite,
0050 1-2, 3-4, 5-6 doubles as S-video,
0051 1-3 triples as component.
0052 One composite output.
0053
0054 Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
0055
0056 Card number: 8
0057
0058 .. note::
0059
0060 Not autodetected, card=8 is necessary.
0061
0062 Linux Media Labs LML33
0063 ~~~~~~~~~~~~~~~~~~~~~~
0064
0065 * Zoran zr36067 PCI controller
0066 * Zoran zr36060 MJPEG codec
0067 * Brooktree bt819 TV decoder
0068 * Brooktree bt856 TV encoder
0069
0070 Drivers to use: videodev, i2c-core, i2c-algo-bit,
0071 videocodec, bt819, bt856, zr36060, zr36067
0072
0073 Inputs/outputs: Composite and S-video
0074
0075 Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
0076
0077 Card number: 5
0078
0079 Linux Media Labs LML33R10
0080 ~~~~~~~~~~~~~~~~~~~~~~~~~
0081
0082 * Zoran zr36067 PCI controller
0083 * Zoran zr36060 MJPEG codec
0084 * Philips saa7114 TV decoder
0085 * Analog Devices adv7170 TV encoder
0086
0087 Drivers to use: videodev, i2c-core, i2c-algo-bit,
0088 videocodec, saa7114, adv7170, zr36060, zr36067
0089
0090 Inputs/outputs: Composite and S-video
0091
0092 Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
0093
0094 Card number: 6
0095
0096 Pinnacle/Miro DC10(new)
0097 ~~~~~~~~~~~~~~~~~~~~~~~
0098
0099 * Zoran zr36057 PCI controller
0100 * Zoran zr36060 MJPEG codec
0101 * Philips saa7110a TV decoder
0102 * Analog Devices adv7176 TV encoder
0103
0104 Drivers to use: videodev, i2c-core, i2c-algo-bit,
0105 videocodec, saa7110, adv7175, zr36060, zr36067
0106
0107 Inputs/outputs: Composite, S-video and Internal
0108
0109 Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
0110
0111 Card number: 1
0112
0113 Pinnacle/Miro DC10+
0114 ~~~~~~~~~~~~~~~~~~~
0115
0116 * Zoran zr36067 PCI controller
0117 * Zoran zr36060 MJPEG codec
0118 * Philips saa7110a TV decoder
0119 * Analog Devices adv7176 TV encoder
0120
0121 Drivers to use: videodev, i2c-core, i2c-algo-bit,
0122 videocodec, saa7110, adv7175, zr36060, zr36067
0123
0124 Inputs/outputs: Composite, S-video and Internal
0125
0126 Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
0127
0128 Card number: 2
0129
0130 Pinnacle/Miro DC10(old)
0131 ~~~~~~~~~~~~~~~~~~~~~~~
0132
0133 * Zoran zr36057 PCI controller
0134 * Zoran zr36050 MJPEG codec
0135 * Zoran zr36016 Video Front End or Fuji md0211 Video Front End (clone?)
0136 * Micronas vpx3220a TV decoder
0137 * mse3000 TV encoder or Analog Devices adv7176 TV encoder
0138
0139 Drivers to use: videodev, i2c-core, i2c-algo-bit,
0140 videocodec, vpx3220, mse3000/adv7175, zr36050, zr36016, zr36067
0141
0142 Inputs/outputs: Composite, S-video and Internal
0143
0144 Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
0145
0146 Card number: 0
0147
0148 Pinnacle/Miro DC30
0149 ~~~~~~~~~~~~~~~~~~
0150
0151 * Zoran zr36057 PCI controller
0152 * Zoran zr36050 MJPEG codec
0153 * Zoran zr36016 Video Front End
0154 * Micronas vpx3225d/vpx3220a/vpx3216b TV decoder
0155 * Analog Devices adv7176 TV encoder
0156
0157 Drivers to use: videodev, i2c-core, i2c-algo-bit,
0158 videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36016, zr36067
0159
0160 Inputs/outputs: Composite, S-video and Internal
0161
0162 Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
0163
0164 Card number: 3
0165
0166 Pinnacle/Miro DC30+
0167 ~~~~~~~~~~~~~~~~~~~
0168
0169 * Zoran zr36067 PCI controller
0170 * Zoran zr36050 MJPEG codec
0171 * Zoran zr36016 Video Front End
0172 * Micronas vpx3225d/vpx3220a/vpx3216b TV decoder
0173 * Analog Devices adv7176 TV encoder
0174
0175 Drivers to use: videodev, i2c-core, i2c-algo-bit,
0176 videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36015, zr36067
0177
0178 Inputs/outputs: Composite, S-video and Internal
0179
0180 Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
0181
0182 Card number: 4
0183
0184 .. note::
0185
0186 #) No module for the mse3000 is available yet
0187 #) No module for the vpx3224 is available yet
0188
0189 1.1 What the TV decoder can do an what not
0190 ------------------------------------------
0191
0192 The best know TV standards are NTSC/PAL/SECAM. but for decoding a frame that
0193 information is not enough. There are several formats of the TV standards.
0194 And not every TV decoder is able to handle every format. Also the every
0195 combination is supported by the driver. There are currently 11 different
0196 tv broadcast formats all aver the world.
0197
0198 The CCIR defines parameters needed for broadcasting the signal.
0199 The CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,...
0200 The CCIR says not much about the colorsystem used !!!
0201 And talking about a colorsystem says not to much about how it is broadcast.
0202
0203 The CCIR standards A,E,F are not used any more.
0204
0205 When you speak about NTSC, you usually mean the standard: CCIR - M using
0206 the NTSC colorsystem which is used in the USA, Japan, Mexico, Canada
0207 and a few others.
0208
0209 When you talk about PAL, you usually mean: CCIR - B/G using the PAL
0210 colorsystem which is used in many Countries.
0211
0212 When you talk about SECAM, you mean: CCIR - L using the SECAM Colorsystem
0213 which is used in France, and a few others.
0214
0215 There the other version of SECAM, CCIR - D/K is used in Bulgaria, China,
0216 Slovakai, Hungary, Korea (Rep.), Poland, Rumania and a others.
0217
0218 The CCIR - H uses the PAL colorsystem (sometimes SECAM) and is used in
0219 Egypt, Libya, Sri Lanka, Syrain Arab. Rep.
0220
0221 The CCIR - I uses the PAL colorsystem, and is used in Great Britain, Hong Kong,
0222 Ireland, Nigeria, South Africa.
0223
0224 The CCIR - N uses the PAL colorsystem and PAL frame size but the NTSC framerate,
0225 and is used in Argentinia, Uruguay, an a few others
0226
0227 We do not talk about how the audio is broadcast !
0228
0229 A rather good sites about the TV standards are:
0230 http://www.sony.jp/support/
0231 http://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/
0232 and http://www.cabl.com/restaurant/channel.html
0233
0234 Other weird things around: NTSC 4.43 is a modificated NTSC, which is mainly
0235 used in PAL VCR's that are able to play back NTSC. PAL 60 seems to be the same
0236 as NTSC 4.43 . The Datasheets also talk about NTSC 44, It seems as if it would
0237 be the same as NTSC 4.43.
0238 NTSC Combs seems to be a decoder mode where the decoder uses a comb filter
0239 to split coma and luma instead of a Delay line.
0240
0241 But I did not defiantly find out what NTSC Comb is.
0242
0243 Philips saa7111 TV decoder
0244 ~~~~~~~~~~~~~~~~~~~~~~~~~~
0245
0246 - was introduced in 1997, is used in the BUZ and
0247 - can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC N, NTSC 4.43 and SECAM
0248
0249 Philips saa7110a TV decoder
0250 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
0251
0252 - was introduced in 1995, is used in the Pinnacle/Miro DC10(new), DC10+ and
0253 - can handle: PAL B/G, NTSC M and SECAM
0254
0255 Philips saa7114 TV decoder
0256 ~~~~~~~~~~~~~~~~~~~~~~~~~~
0257
0258 - was introduced in 2000, is used in the LML33R10 and
0259 - can handle: PAL B/G/D/H/I/N, PAL N, PAL M, NTSC M, NTSC 4.43 and SECAM
0260
0261 Brooktree bt819 TV decoder
0262 ~~~~~~~~~~~~~~~~~~~~~~~~~~
0263
0264 - was introduced in 1996, and is used in the LML33 and
0265 - can handle: PAL B/D/G/H/I, NTSC M
0266
0267 Micronas vpx3220a TV decoder
0268 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0269
0270 - was introduced in 1996, is used in the DC30 and DC30+ and
0271 - can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC 44, PAL 60, SECAM,NTSC Comb
0272
0273 Samsung ks0127 TV decoder
0274 ~~~~~~~~~~~~~~~~~~~~~~~~~
0275
0276 - is used in the AVS6EYES card and
0277 - can handle: NTSC-M/N/44, PAL-M/N/B/G/H/I/D/K/L and SECAM
0278
0279
0280 What the TV encoder can do an what not
0281 --------------------------------------
0282
0283 The TV encoder is doing the "same" as the decoder, but in the other direction.
0284 You feed them digital data and the generate a Composite or SVHS signal.
0285 For information about the colorsystems and TV norm take a look in the
0286 TV decoder section.
0287
0288 Philips saa7185 TV Encoder
0289 ~~~~~~~~~~~~~~~~~~~~~~~~~~
0290
0291 - was introduced in 1996, is used in the BUZ
0292 - can generate: PAL B/G, NTSC M
0293
0294 Brooktree bt856 TV Encoder
0295 ~~~~~~~~~~~~~~~~~~~~~~~~~~
0296
0297 - was introduced in 1994, is used in the LML33
0298 - can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL-N (Argentina)
0299
0300 Analog Devices adv7170 TV Encoder
0301 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0302
0303 - was introduced in 2000, is used in the LML300R10
0304 - can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL 60
0305
0306 Analog Devices adv7175 TV Encoder
0307 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0308
0309 - was introduced in 1996, is used in the DC10, DC10+, DC10 old, DC30, DC30+
0310 - can generate: PAL B/D/G/H/I/N, PAL M, NTSC M
0311
0312 ITT mse3000 TV encoder
0313 ~~~~~~~~~~~~~~~~~~~~~~
0314
0315 - was introduced in 1991, is used in the DC10 old
0316 - can generate: PAL , NTSC , SECAM
0317
0318 Conexant bt866 TV encoder
0319 ~~~~~~~~~~~~~~~~~~~~~~~~~
0320
0321 - is used in AVS6EYES, and
0322 - can generate: NTSC/PAL, PAL-M, PAL-N
0323
0324 The adv717x, should be able to produce PAL N. But you find nothing PAL N
0325 specific in the registers. Seem that you have to reuse a other standard
0326 to generate PAL N, maybe it would work if you use the PAL M settings.
0327
0328 How do I get this damn thing to work
0329 ------------------------------------
0330
0331 Load zr36067.o. If it can't autodetect your card, use the card=X insmod
0332 option with X being the card number as given in the previous section.
0333 To have more than one card, use card=X1[,X2[,X3,[X4[..]]]]
0334
0335 To automate this, add the following to your /etc/modprobe.d/zoran.conf:
0336
0337 options zr36067 card=X1[,X2[,X3[,X4[..]]]]
0338 alias char-major-81-0 zr36067
0339
0340 One thing to keep in mind is that this doesn't load zr36067.o itself yet. It
0341 just automates loading. If you start using xawtv, the device won't load on
0342 some systems, since you're trying to load modules as a user, which is not
0343 allowed ("permission denied"). A quick workaround is to add 'Load "v4l"' to
0344 XF86Config-4 when you use X by default, or to run 'v4l-conf -c <device>' in
0345 one of your startup scripts (normally rc.local) if you don't use X. Both
0346 make sure that the modules are loaded on startup, under the root account.
0347
0348 What mainboard should I use (or why doesn't my card work)
0349 ---------------------------------------------------------
0350
0351
0352 <insert lousy disclaimer here>. In short: good=SiS/Intel, bad=VIA.
0353
0354 Experience tells us that people with a Buz, on average, have more problems
0355 than users with a DC10+/LML33. Also, it tells us that people owning a VIA-
0356 based mainboard (ktXXX, MVP3) have more problems than users with a mainboard
0357 based on a different chipset. Here's some notes from Andrew Stevens:
0358
0359 Here's my experience of using LML33 and Buz on various motherboards:
0360
0361 - VIA MVP3
0362 - Forget it. Pointless. Doesn't work.
0363 - Intel 430FX (Pentium 200)
0364 - LML33 perfect, Buz tolerable (3 or 4 frames dropped per movie)
0365 - Intel 440BX (early stepping)
0366 - LML33 tolerable. Buz starting to get annoying (6-10 frames/hour)
0367 - Intel 440BX (late stepping)
0368 - Buz tolerable, LML3 almost perfect (occasional single frame drops)
0369 - SiS735
0370 - LML33 perfect, Buz tolerable.
0371 - VIA KT133(*)
0372 - LML33 starting to get annoying, Buz poor enough that I have up.
0373
0374 - Both 440BX boards were dual CPU versions.
0375
0376 Bernhard Praschinger later added:
0377
0378 - AMD 751
0379 - Buz perfect-tolerable
0380 - AMD 760
0381 - Buz perfect-tolerable
0382
0383 In general, people on the user mailinglist won't give you much of a chance
0384 if you have a VIA-based motherboard. They may be cheap, but sometimes, you'd
0385 rather want to spend some more money on better boards. In general, VIA
0386 mainboard's IDE/PCI performance will also suck badly compared to others.
0387 You'll noticed the DC10+/DC30+ aren't mentioned anywhere in the overview.
0388 Basically, you can assume that if the Buz works, the LML33 will work too. If
0389 the LML33 works, the DC10+/DC30+ will work too. They're most tolerant to
0390 different mainboard chipsets from all of the supported cards.
0391
0392 If you experience timeouts during capture, buy a better mainboard or lower
0393 the quality/buffersize during capture (see 'Concerning buffer sizes, quality,
0394 output size etc.'). If it hangs, there's little we can do as of now. Check
0395 your IRQs and make sure the card has its own interrupts.
0396
0397 Programming interface
0398 ---------------------
0399
0400 This driver conforms to video4linux2. Support for V4L1 and for the custom
0401 zoran ioctls has been removed in kernel 2.6.38.
0402
0403 For programming example, please, look at lavrec.c and lavplay.c code in
0404 the MJPEG-tools (http://mjpeg.sf.net/).
0405
0406 Additional notes for software developers:
0407
0408 The driver returns maxwidth and maxheight parameters according to
0409 the current TV standard (norm). Therefore, the software which
0410 communicates with the driver and "asks" for these parameters should
0411 first set the correct norm. Well, it seems logically correct: TV
0412 standard is "more constant" for current country than geometry
0413 settings of a variety of TV capture cards which may work in ITU or
0414 square pixel format.
0415
0416 Applications
0417 ------------
0418
0419 Applications known to work with this driver:
0420
0421 TV viewing:
0422
0423 * xawtv
0424 * kwintv
0425 * probably any TV application that supports video4linux or video4linux2.
0426
0427 MJPEG capture/playback:
0428
0429 * mjpegtools/lavtools (or Linux Video Studio)
0430 * gstreamer
0431 * mplayer
0432
0433 General raw capture:
0434
0435 * xawtv
0436 * gstreamer
0437 * probably any application that supports video4linux or video4linux2
0438
0439 Video editing:
0440
0441 * Cinelerra
0442 * MainActor
0443 * mjpegtools (or Linux Video Studio)
0444
0445
0446 Concerning buffer sizes, quality, output size etc.
0447 --------------------------------------------------
0448
0449
0450 The zr36060 can do 1:2 JPEG compression. This is really the theoretical
0451 maximum that the chipset can reach. The driver can, however, limit compression
0452 to a maximum (size) of 1:4. The reason for this is that some cards (e.g. Buz)
0453 can't handle 1:2 compression without stopping capture after only a few minutes.
0454 With 1:4, it'll mostly work. If you have a Buz, use 'low_bitrate=1' to go into
0455 1:4 max. compression mode.
0456
0457 100% JPEG quality is thus 1:2 compression in practice. So for a full PAL frame
0458 (size 720x576). The JPEG fields are stored in YUY2 format, so the size of the
0459 fields are 720x288x16/2 bits/field (2 fields/frame) = 207360 bytes/field x 2 =
0460 414720 bytes/frame (add some more bytes for headers and DHT (huffman)/DQT
0461 (quantization) tables, and you'll get to something like 512kB per frame for
0462 1:2 compression. For 1:4 compression, you'd have frames of half this size.
0463
0464 Some additional explanation by Martin Samuelsson, which also explains the
0465 importance of buffer sizes:
0466 --
0467 > Hmm, I do not think it is really that way. With the current (downloaded
0468 > at 18:00 Monday) driver I get that output sizes for 10 sec:
0469 > -q 50 -b 128 : 24.283.332 Bytes
0470 > -q 50 -b 256 : 48.442.368
0471 > -q 25 -b 128 : 24.655.992
0472 > -q 25 -b 256 : 25.859.820
0473
0474 I woke up, and can't go to sleep again. I'll kill some time explaining why
0475 this doesn't look strange to me.
0476
0477 Let's do some math using a width of 704 pixels. I'm not sure whether the Buz
0478 actually use that number or not, but that's not too important right now.
0479
0480 704x288 pixels, one field, is 202752 pixels. Divided by 64 pixels per block;
0481 3168 blocks per field. Each pixel consist of two bytes; 128 bytes per block;
0482 1024 bits per block. 100% in the new driver mean 1:2 compression; the maximum
0483 output becomes 512 bits per block. Actually 510, but 512 is simpler to use
0484 for calculations.
0485
0486 Let's say that we specify d1q50. We thus want 256 bits per block; times 3168
0487 becomes 811008 bits; 101376 bytes per field. We're talking raw bits and bytes
0488 here, so we don't need to do any fancy corrections for bits-per-pixel or such
0489 things. 101376 bytes per field.
0490
0491 d1 video contains two fields per frame. Those sum up to 202752 bytes per
0492 frame, and one of those frames goes into each buffer.
0493
0494 But wait a second! -b128 gives 128kB buffers! It's not possible to cram
0495 202752 bytes of JPEG data into 128kB!
0496
0497 This is what the driver notice and automatically compensate for in your
0498 examples. Let's do some math using this information:
0499
0500 128kB is 131072 bytes. In this buffer, we want to store two fields, which
0501 leaves 65536 bytes for each field. Using 3168 blocks per field, we get
0502 20.68686868... available bytes per block; 165 bits. We can't allow the
0503 request for 256 bits per block when there's only 165 bits available! The -q50
0504 option is silently overridden, and the -b128 option takes precedence, leaving
0505 us with the equivalence of -q32.
0506
0507 This gives us a data rate of 165 bits per block, which, times 3168, sums up
0508 to 65340 bytes per field, out of the allowed 65536. The current driver has
0509 another level of rate limiting; it won't accept -q values that fill more than
0510 6/8 of the specified buffers. (I'm not sure why. "Playing it safe" seem to be
0511 a safe bet. Personally, I think I would have lowered requested-bits-per-block
0512 by one, or something like that.) We can't use 165 bits per block, but have to
0513 lower it again, to 6/8 of the available buffer space: We end up with 124 bits
0514 per block, the equivalence of -q24. With 128kB buffers, you can't use greater
0515 than -q24 at -d1. (And PAL, and 704 pixels width...)
0516
0517 The third example is limited to -q24 through the same process. The second
0518 example, using very similar calculations, is limited to -q48. The only
0519 example that actually grab at the specified -q value is the last one, which
0520 is clearly visible, looking at the file size.
0521 --
0522
0523 Conclusion: the quality of the resulting movie depends on buffer size, quality,
0524 whether or not you use 'low_bitrate=1' as insmod option for the zr36060.c
0525 module to do 1:4 instead of 1:2 compression, etc.
0526
0527 If you experience timeouts, lowering the quality/buffersize or using
0528 'low_bitrate=1 as insmod option for zr36060.o might actually help, as is
0529 proven by the Buz.
0530
0531 It hangs/crashes/fails/whatevers! Help!
0532 ---------------------------------------
0533
0534 Make sure that the card has its own interrupts (see /proc/interrupts), check
0535 the output of dmesg at high verbosity (load zr36067.o with debug=2,
0536 load all other modules with debug=1). Check that your mainboard is favorable
0537 (see question 2) and if not, test the card in another computer. Also see the
0538 notes given in question 3 and try lowering quality/buffersize/capturesize
0539 if recording fails after a period of time.
0540
0541 If all this doesn't help, give a clear description of the problem including
0542 detailed hardware information (memory+brand, mainboard+chipset+brand, which
0543 MJPEG card, processor, other PCI cards that might be of interest), give the
0544 system PnP information (/proc/interrupts, /proc/dma, /proc/devices), and give
0545 the kernel version, driver version, glibc version, gcc version and any other
0546 information that might possibly be of interest. Also provide the dmesg output
0547 at high verbosity. See 'Contacting' on how to contact the developers.
0548
0549 Maintainers/Contacting
0550 ----------------------
0551
0552 Previous maintainers/developers of this driver are
0553 - Laurent Pinchart <laurent.pinchart@skynet.be>
0554 - Ronald Bultje rbultje@ronald.bitfreak.net
0555 - Serguei Miridonov <mirsev@cicese.mx>
0556 - Wolfgang Scherr <scherr@net4you.net>
0557 - Dave Perks <dperks@ibm.net>
0558 - Rainer Johanni <Rainer@Johanni.de>
0559
0560 Driver's License
0561 ----------------
0562
0563 This driver is distributed under the terms of the General Public License.
0564
0565 This program is free software; you can redistribute it and/or modify
0566 it under the terms of the GNU General Public License as published by
0567 the Free Software Foundation; either version 2 of the License, or
0568 (at your option) any later version.
0569
0570 This program is distributed in the hope that it will be useful,
0571 but WITHOUT ANY WARRANTY; without even the implied warranty of
0572 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0573 GNU General Public License for more details.
0574
0575 See http://www.gnu.org/ for more information.