linux/Documentation/video4linux/Zoran
<<
>>
Prefs
   1Frequently Asked Questions:
   2===========================
   3subject: unified zoran driver (zr360x7, zoran, buz, dc10(+), dc30(+), lml33)
   4website: http://mjpeg.sourceforge.net/driver-zoran/
   5
   61. What cards are supported
   71.1 What the TV decoder can do an what not
   81.2 What the TV encoder can do an what not
   92. How do I get this damn thing to work
  103. What mainboard should I use (or why doesn't my card work)
  114. Programming interface
  125. Applications
  136. Concerning buffer sizes, quality, output size etc.
  147. It hangs/crashes/fails/whatevers! Help!
  158. Maintainers/Contacting
  169. License
  17
  18===========================
  19
  201. What cards are supported
  21
  22Iomega Buz, Linux Media Labs LML33/LML33R10, Pinnacle/Miro
  23DC10/DC10+/DC30/DC30+ and related boards (available under various names).
  24
  25Iomega Buz:
  26* Zoran zr36067 PCI controller
  27* Zoran zr36060 MJPEG codec
  28* Philips saa7111 TV decoder
  29* Philips saa7185 TV encoder
  30Drivers to use: videodev, i2c-core, i2c-algo-bit,
  31                videocodec, saa7111, saa7185, zr36060, zr36067
  32Inputs/outputs: Composite and S-video
  33Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
  34Card number: 7
  35
  36AverMedia 6 Eyes AVS6EYES:
  37* Zoran zr36067 PCI controller
  38* Zoran zr36060 MJPEG codec
  39* Samsung ks0127 TV decoder
  40* Conexant bt866  TV encoder
  41Drivers to use: videodev, i2c-core, i2c-algo-bit,
  42                videocodec, ks0127, bt866, zr36060, zr36067
  43Inputs/outputs: Six physical inputs. 1-6 are composite,
  44                1-2, 3-4, 5-6 doubles as S-video,
  45                1-3 triples as component.
  46                One composite output.
  47Norms: PAL, SECAM (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
  48Card number: 8
  49Not autodetected, card=8 is necessary.
  50
  51Linux Media Labs LML33:
  52* Zoran zr36067 PCI controller
  53* Zoran zr36060 MJPEG codec
  54* Brooktree bt819 TV decoder
  55* Brooktree bt856 TV encoder
  56Drivers to use: videodev, i2c-core, i2c-algo-bit,
  57                videocodec, bt819, bt856, zr36060, zr36067
  58Inputs/outputs: Composite and S-video
  59Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
  60Card number: 5
  61
  62Linux Media Labs LML33R10:
  63* Zoran zr36067 PCI controller
  64* Zoran zr36060 MJPEG codec
  65* Philips saa7114 TV decoder
  66* Analog Devices adv7170 TV encoder
  67Drivers to use: videodev, i2c-core, i2c-algo-bit,
  68                videocodec, saa7114, adv7170, zr36060, zr36067
  69Inputs/outputs: Composite and S-video
  70Norms: PAL (720x576 @ 25 fps), NTSC (720x480 @ 29.97 fps)
  71Card number: 6
  72
  73Pinnacle/Miro DC10(new):
  74* Zoran zr36057 PCI controller
  75* Zoran zr36060 MJPEG codec
  76* Philips saa7110a TV decoder
  77* Analog Devices adv7176 TV encoder
  78Drivers to use: videodev, i2c-core, i2c-algo-bit,
  79                videocodec, saa7110, adv7175, zr36060, zr36067
  80Inputs/outputs: Composite, S-video and Internal
  81Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
  82Card number: 1
  83
  84Pinnacle/Miro DC10+:
  85* Zoran zr36067 PCI controller
  86* Zoran zr36060 MJPEG codec
  87* Philips saa7110a TV decoder
  88* Analog Devices adv7176 TV encoder
  89Drivers to use: videodev, i2c-core, i2c-algo-bit,
  90                videocodec, sa7110, adv7175, zr36060, zr36067
  91Inputs/outputs: Composite, S-video and Internal
  92Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
  93Card number: 2
  94
  95Pinnacle/Miro DC10(old): *
  96* Zoran zr36057 PCI controller
  97* Zoran zr36050 MJPEG codec
  98* Zoran zr36016 Video Front End or Fuji md0211 Video Front End (clone?)
  99* Micronas vpx3220a TV decoder
 100* mse3000 TV encoder or Analog Devices adv7176 TV encoder *
 101Drivers to use: videodev, i2c-core, i2c-algo-bit,
 102                videocodec, vpx3220, mse3000/adv7175, zr36050, zr36016, zr36067
 103Inputs/outputs: Composite, S-video and Internal
 104Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
 105Card number: 0
 106
 107Pinnacle/Miro DC30: *
 108* Zoran zr36057 PCI controller
 109* Zoran zr36050 MJPEG codec
 110* Zoran zr36016 Video Front End
 111* Micronas vpx3225d/vpx3220a/vpx3216b TV decoder
 112* Analog Devices adv7176 TV encoder
 113Drivers to use: videodev, i2c-core, i2c-algo-bit,
 114                videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36016, zr36067
 115Inputs/outputs: Composite, S-video and Internal
 116Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
 117Card number: 3
 118
 119Pinnacle/Miro DC30+: *
 120* Zoran zr36067 PCI controller
 121* Zoran zr36050 MJPEG codec
 122* Zoran zr36016 Video Front End
 123* Micronas vpx3225d/vpx3220a/vpx3216b TV decoder
 124* Analog Devices adv7176 TV encoder
 125Drivers to use: videodev, i2c-core, i2c-algo-bit,
 126                videocodec, vpx3220/vpx3224, adv7175, zr36050, zr36015, zr36067
 127Inputs/outputs: Composite, S-video and Internal
 128Norms: PAL, SECAM (768x576 @ 25 fps), NTSC (640x480 @ 29.97 fps)
 129Card number: 4
 130
 131Note: No module for the mse3000 is available yet
 132Note: No module for the vpx3224 is available yet
 133Note: use encoder=X or decoder=X for non-default i2c chips (see i2c-id.h)
 134
 135===========================
 136
 1371.1 What the TV decoder can do an what not
 138
 139The best know TV standards are NTSC/PAL/SECAM. but for decoding a frame that
 140information is not enough. There are several formats of the TV standards.
 141And not every TV decoder is able to handle every format. Also the every
 142combination is supported by the driver. There are currently 11 different
 143tv broadcast formats all aver the world.
 144
 145The CCIR defines parameters needed for broadcasting the signal.
 146The CCIR has defined different standards: A,B,D,E,F,G,D,H,I,K,K1,L,M,N,...
 147The CCIR says not much about the colorsystem used !!!
 148And talking about a colorsystem says not to much about how it is broadcast.
 149
 150The CCIR standards A,E,F are not used any more.
 151
 152When you speak about NTSC, you usually mean the standard: CCIR - M using
 153the NTSC colorsystem which is used in the USA, Japan, Mexico, Canada
 154and a few others.
 155
 156When you talk about PAL, you usually mean: CCIR - B/G using the PAL
 157colorsystem which is used in many Countries.
 158
 159When you talk about SECAM, you mean: CCIR - L using the SECAM Colorsystem
 160which is used in France, and a few others.
 161
 162There the other version of SECAM, CCIR - D/K is used in Bulgaria, China,
 163Slovakai, Hungary, Korea (Rep.), Poland, Rumania and a others.
 164
 165The CCIR - H uses the PAL colorsystem (sometimes SECAM) and is used in
 166Egypt, Libya, Sri Lanka, Syrain Arab. Rep.
 167
 168The CCIR - I uses the PAL colorsystem, and is used in Great Britain, Hong Kong,
 169Ireland, Nigeria, South Africa.
 170
 171The CCIR - N uses the PAL colorsystem and PAL frame size but the NTSC framerate,
 172and is used in Argentinia, Uruguay, an a few others
 173
 174We do not talk about how the audio is broadcast !
 175
 176A rather good sites about the TV standards are:
 177http://www.sony.jp/ServiceArea/Voltage_map/
 178http://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/
 179and http://www.cabl.com/restaurant/channel.html
 180
 181Other weird things around: NTSC 4.43 is a modificated NTSC, which is mainly
 182used in PAL VCR's that are able to play back NTSC. PAL 60 seems to be the same
 183as NTSC 4.43 . The Datasheets also talk about NTSC 44, It seems as if it would
 184be the same as NTSC 4.43.
 185NTSC Combs seems to be a decoder mode where the decoder uses a comb filter
 186to split coma and luma instead of a Delay line.
 187
 188But I did not defiantly find out what NTSC Comb is.
 189
 190Philips saa7111 TV decoder
 191was introduced in 1997, is used in the BUZ and
 192can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC N, NTSC 4.43 and SECAM
 193
 194Philips saa7110a TV decoder
 195was introduced in 1995, is used in the Pinnacle/Miro DC10(new), DC10+ and
 196can handle: PAL B/G, NTSC M and SECAM
 197
 198Philips saa7114 TV decoder
 199was introduced in 2000, is used in the LML33R10 and
 200can handle: PAL B/G/D/H/I/N, PAL N, PAL M, NTSC M, NTSC 4.43 and SECAM
 201
 202Brooktree bt819 TV decoder
 203was introduced in 1996, and is used in the LML33 and
 204can handle: PAL B/D/G/H/I, NTSC M
 205
 206Micronas vpx3220a TV decoder
 207was introduced in 1996, is used in the DC30 and DC30+ and
 208can handle: PAL B/G/H/I, PAL N, PAL M, NTSC M, NTSC 44, PAL 60, SECAM,NTSC Comb
 209
 210Samsung ks0127 TV decoder
 211is used in the AVS6EYES card and
 212can handle: NTSC-M/N/44, PAL-M/N/B/G/H/I/D/K/L and SECAM
 213
 214===========================
 215
 2161.2 What the TV encoder can do an what not
 217
 218The TV encoder are doing the "same" as the decoder, but in the oder direction.
 219You feed them digital data and the generate a Composite or SVHS signal.
 220For information about the colorsystems and TV norm take a look in the
 221TV decoder section.
 222
 223Philips saa7185 TV Encoder
 224was introduced in 1996, is used in the BUZ
 225can generate: PAL B/G, NTSC M
 226
 227Brooktree bt856 TV Encoder
 228was introduced in 1994, is used in the LML33
 229can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL-N (Argentina)
 230
 231Analog Devices adv7170 TV Encoder
 232was introduced in 2000, is used in the LML300R10
 233can generate: PAL B/D/G/H/I/N, PAL M, NTSC M, PAL 60
 234
 235Analog Devices adv7175 TV Encoder
 236was introduced in 1996, is used in the DC10, DC10+, DC10 old, DC30, DC30+
 237can generate: PAL B/D/G/H/I/N, PAL M, NTSC M
 238
 239ITT mse3000 TV encoder
 240was introduced in 1991, is used in the DC10 old
 241can generate: PAL , NTSC , SECAM
 242
 243Conexant bt866 TV encoder
 244is used in AVS6EYES, and
 245can generate: NTSC/PAL, PAL­M, PAL­N
 246
 247The adv717x, should be able to produce PAL N. But you find nothing PAL N
 248specific in the registers. Seem that you have to reuse a other standard
 249to generate PAL N, maybe it would work if you use the PAL M settings.
 250
 251==========================
 252
 2532. How do I get this damn thing to work
 254
 255Load zr36067.o. If it can't autodetect your card, use the card=X insmod
 256option with X being the card number as given in the previous section.
 257To have more than one card, use card=X1[,X2[,X3,[X4[..]]]]
 258
 259To automate this, add the following to your /etc/modprobe.conf:
 260
 261options zr36067 card=X1[,X2[,X3[,X4[..]]]]
 262alias char-major-81-0 zr36067
 263
 264One thing to keep in mind is that this doesn't load zr36067.o itself yet. It
 265just automates loading. If you start using xawtv, the device won't load on
 266some systems, since you're trying to load modules as a user, which is not
 267allowed ("permission denied"). A quick workaround is to add 'Load "v4l"' to
 268XF86Config-4 when you use X by default, or to run 'v4l-conf -c <device>' in
 269one of your startup scripts (normally rc.local) if you don't use X. Both
 270make sure that the modules are loaded on startup, under the root account.
 271
 272===========================
 273
 2743. What mainboard should I use (or why doesn't my card work)
 275
 276<insert lousy disclaimer here>. In short: good=SiS/Intel, bad=VIA.
 277
 278Experience tells us that people with a Buz, on average, have more problems
 279than users with a DC10+/LML33. Also, it tells us that people owning a VIA-
 280based mainboard (ktXXX, MVP3) have more problems than users with a mainboard
 281based on a different chipset. Here's some notes from Andrew Stevens:
 282--
 283Here's my experience of using LML33 and Buz on various motherboards:
 284
 285VIA MVP3
 286        Forget it. Pointless. Doesn't work.
 287Intel 430FX (Pentium 200)
 288        LML33 perfect, Buz tolerable (3 or 4 frames dropped per movie)
 289Intel 440BX (early stepping)
 290        LML33 tolerable. Buz starting to get annoying (6-10 frames/hour)
 291Intel 440BX (late stepping)
 292        Buz tolerable, LML3 almost perfect (occasional single frame drops)
 293SiS735
 294        LML33 perfect, Buz tolerable.
 295VIA KT133(*)
 296        LML33 starting to get annoying, Buz poor enough that I have up.
 297
 298Both 440BX boards were dual CPU versions.
 299--
 300Bernhard Praschinger later added:
 301--
 302AMD 751
 303        Buz perfect-tolerable
 304AMD 760
 305        Buz perfect-tolerable
 306--
 307In general, people on the user mailinglist won't give you much of a chance
 308if you have a VIA-based motherboard. They may be cheap, but sometimes, you'd
 309rather want to spend some more money on better boards. In general, VIA
 310mainboard's IDE/PCI performance will also suck badly compared to others.
 311You'll noticed the DC10+/DC30+ aren't mentioned anywhere in the overview.
 312Basically, you can assume that if the Buz works, the LML33 will work too. If
 313the LML33 works, the DC10+/DC30+ will work too. They're most tolerant to
 314different mainboard chipsets from all of the supported cards.
 315
 316If you experience timeouts during capture, buy a better mainboard or lower
 317the quality/buffersize during capture (see 'Concerning buffer sizes, quality,
 318output size etc.'). If it hangs, there's little we can do as of now. Check
 319your IRQs and make sure the card has its own interrupts.
 320
 321===========================
 322
 3234. Programming interface
 324
 325This driver conforms to video4linux and video4linux2, both can be used to
 326use the driver. Since video4linux didn't provide adequate calls to fully
 327use the cards' features, we've introduced several programming extensions,
 328which are currently officially accepted in the 2.4.x branch of the kernel.
 329These extensions are known as the v4l/mjpeg extensions. See zoran.h for
 330details (structs/ioctls).
 331
 332Information - video4linux:
 333http://roadrunner.swansea.linux.org.uk/v4lapi.shtml
 334Documentation/video4linux/API.html
 335/usr/include/linux/videodev.h
 336
 337Information - video4linux/mjpeg extensions:
 338./zoran.h
 339(also see below)
 340
 341Information - video4linux2:
 342http://linuxtv.org
 343http://v4l2spec.bytesex.org/
 344/usr/include/linux/videodev2.h
 345
 346More information on the video4linux/mjpeg extensions, by Serguei
 347Miridonovi and Rainer Johanni:
 348--
 349The ioctls for that interface are as follows:
 350
 351BUZIOC_G_PARAMS
 352BUZIOC_S_PARAMS
 353
 354Get and set the parameters of the buz. The user should always do a
 355BUZIOC_G_PARAMS (with a struct buz_params) to obtain the default
 356settings, change what he likes and then make a BUZIOC_S_PARAMS call.
 357
 358BUZIOC_REQBUFS
 359
 360Before being able to capture/playback, the user has to request
 361the buffers he is wanting to use. Fill the structure
 362zoran_requestbuffers with the size (recommended: 256*1024) and
 363the number (recommended 32 up to 256). There are no such restrictions
 364as for the Video for Linux buffers, you should LEAVE SUFFICIENT
 365MEMORY for your system however, else strange things will happen ....
 366On return, the zoran_requestbuffers structure contains number and
 367size of the actually allocated buffers.
 368You should use these numbers for doing a mmap of the buffers
 369into the user space.
 370The BUZIOC_REQBUFS ioctl also makes it happen, that the next mmap
 371maps the MJPEG buffer instead of the V4L buffers.
 372
 373BUZIOC_QBUF_CAPT
 374BUZIOC_QBUF_PLAY
 375
 376Queue a buffer for capture or playback. The first call also starts
 377streaming capture. When streaming capture is going on, you may
 378only queue further buffers or issue syncs until streaming
 379capture is switched off again with a argument of -1 to
 380a BUZIOC_QBUF_CAPT/BUZIOC_QBUF_PLAY ioctl.
 381
 382BUZIOC_SYNC
 383
 384Issue this ioctl when all buffers are queued. This ioctl will
 385block until the first buffer becomes free for saving its
 386data to disk (after BUZIOC_QBUF_CAPT) or for reuse (after BUZIOC_QBUF_PLAY).
 387
 388BUZIOC_G_STATUS
 389
 390Get the status of the input lines (video source connected/norm).
 391
 392For programming example, please, look at lavrec.c and lavplay.c code in
 393lavtools-1.2p2 package (URL: http://www.cicese.mx/~mirsev/DC10plus/)
 394and the 'examples' directory in the original Buz driver distribution.
 395
 396Additional notes for software developers:
 397
 398   The driver returns maxwidth and maxheight parameters according to
 399   the current TV standard (norm). Therefore, the software which
 400   communicates with the driver and "asks" for these parameters should
 401   first set the correct norm. Well, it seems logically correct: TV
 402   standard is "more constant" for current country than geometry
 403   settings of a variety of TV capture cards which may work in ITU or
 404   square pixel format.
 405--
 406Please note that lavplay/lavrec are also included in the MJPEG-tools
 407(http://mjpeg.sf.net/).
 408
 409===========================
 410
 4115. Applications
 412
 413Applications known to work with this driver:
 414
 415TV viewing:
 416* xawtv
 417* kwintv
 418* probably any TV application that supports video4linux or video4linux2.
 419
 420MJPEG capture/playback:
 421* mjpegtools/lavtools (or Linux Video Studio)
 422* gstreamer
 423* mplayer
 424
 425General raw capture:
 426* xawtv
 427* gstreamer
 428* probably any application that supports video4linux or video4linux2
 429
 430Video editing:
 431* Cinelerra
 432* MainActor
 433* mjpegtools (or Linux Video Studio)
 434
 435===========================
 436
 4376. Concerning buffer sizes, quality, output size etc.
 438
 439The zr36060 can do 1:2 JPEG compression. This is really the theoretical
 440maximum that the chipset can reach. The driver can, however, limit compression
 441to a maximum (size) of 1:4. The reason for this is that some cards (e.g. Buz)
 442can't handle 1:2 compression without stopping capture after only a few minutes.
 443With 1:4, it'll mostly work. If you have a Buz, use 'low_bitrate=1' to go into
 4441:4 max. compression mode.
 445
 446100% JPEG quality is thus 1:2 compression in practice. So for a full PAL frame
 447(size 720x576). The JPEG fields are stored in YUY2 format, so the size of the
 448fields are 720x288x16/2 bits/field (2 fields/frame) = 207360 bytes/field x 2 =
 449414720 bytes/frame (add some more bytes for headers and DHT (huffman)/DQT
 450(quantization) tables, and you'll get to something like 512kB per frame for
 4511:2 compression. For 1:4 compression, you'd have frames of half this size.
 452
 453Some additional explanation by Martin Samuelsson, which also explains the
 454importance of buffer sizes:
 455--
 456> Hmm, I do not think it is really that way. With the current (downloaded
 457> at 18:00 Monday) driver I get that output sizes for 10 sec:
 458> -q 50 -b 128 : 24.283.332 Bytes
 459> -q 50 -b 256 : 48.442.368
 460> -q 25 -b 128 : 24.655.992
 461> -q 25 -b 256 : 25.859.820
 462
 463I woke up, and can't go to sleep again. I'll kill some time explaining why
 464this doesn't look strange to me.
 465
 466Let's do some math using a width of 704 pixels. I'm not sure whether the Buz
 467actually use that number or not, but that's not too important right now.
 468
 469704x288 pixels, one field, is 202752 pixels. Divided by 64 pixels per block;
 4703168 blocks per field. Each pixel consist of two bytes; 128 bytes per block;
 4711024 bits per block. 100% in the new driver mean 1:2 compression; the maximum
 472output becomes 512 bits per block. Actually 510, but 512 is simpler to use
 473for calculations.
 474
 475Let's say that we specify d1q50. We thus want 256 bits per block; times 3168
 476becomes 811008 bits; 101376 bytes per field. We're talking raw bits and bytes
 477here, so we don't need to do any fancy corrections for bits-per-pixel or such
 478things. 101376 bytes per field.
 479
 480d1 video contains two fields per frame. Those sum up to 202752 bytes per
 481frame, and one of those frames goes into each buffer.
 482
 483But wait a second! -b128 gives 128kB buffers! It's not possible to cram
 484202752 bytes of JPEG data into 128kB!
 485
 486This is what the driver notice and automatically compensate for in your
 487examples. Let's do some math using this information:
 488
 489128kB is 131072 bytes. In this buffer, we want to store two fields, which
 490leaves 65536 bytes for each field. Using 3168 blocks per field, we get
 49120.68686868... available bytes per block; 165 bits. We can't allow the
 492request for 256 bits per block when there's only 165 bits available! The -q50
 493option is silently overridden, and the -b128 option takes precedence, leaving
 494us with the equivalence of -q32.
 495
 496This gives us a data rate of 165 bits per block, which, times 3168, sums up
 497to 65340 bytes per field, out of the allowed 65536. The current driver has
 498another level of rate limiting; it won't accept -q values that fill more than
 4996/8 of the specified buffers. (I'm not sure why. "Playing it safe" seem to be
 500a safe bet. Personally, I think I would have lowered requested-bits-per-block
 501by one, or something like that.) We can't use 165 bits per block, but have to
 502lower it again, to 6/8 of the available buffer space: We end up with 124 bits
 503per block, the equivalence of -q24. With 128kB buffers, you can't use greater
 504than -q24 at -d1. (And PAL, and 704 pixels width...)
 505
 506The third example is limited to -q24 through the same process. The second
 507example, using very similar calculations, is limited to -q48. The only
 508example that actually grab at the specified -q value is the last one, which
 509is clearly visible, looking at the file size.
 510--
 511
 512Conclusion: the quality of the resulting movie depends on buffer size, quality,
 513whether or not you use 'low_bitrate=1' as insmod option for the zr36060.c
 514module to do 1:4 instead of 1:2 compression, etc.
 515
 516If you experience timeouts, lowering the quality/buffersize or using
 517'low_bitrate=1 as insmod option for zr36060.o might actually help, as is
 518proven by the Buz.
 519
 520===========================
 521
 5227. It hangs/crashes/fails/whatevers! Help!
 523
 524Make sure that the card has its own interrupts (see /proc/interrupts), check
 525the output of dmesg at high verbosity (load zr36067.o with debug=2,
 526load all other modules with debug=1). Check that your mainboard is favorable
 527(see question 2) and if not, test the card in another computer. Also see the
 528notes given in question 3 and try lowering quality/buffersize/capturesize
 529if recording fails after a period of time.
 530
 531If all this doesn't help, give a clear description of the problem including
 532detailed hardware information (memory+brand, mainboard+chipset+brand, which
 533MJPEG card, processor, other PCI cards that might be of interest), give the
 534system PnP information (/proc/interrupts, /proc/dma, /proc/devices), and give
 535the kernel version, driver version, glibc version, gcc version and any other
 536information that might possibly be of interest. Also provide the dmesg output
 537at high verbosity. See 'Contacting' on how to contact the developers.
 538
 539===========================
 540
 5418. Maintainers/Contacting
 542
 543The driver is currently maintained by Laurent Pinchart and Ronald Bultje
 544(<laurent.pinchart@skynet.be> and <rbultje@ronald.bitfreak.net>). For bug
 545reports or questions, please contact the mailinglist instead of the developers
 546individually. For user questions (i.e. bug reports or how-to questions), send
 547an email to <mjpeg-users@lists.sf.net>, for developers (i.e. if you want to
 548help programming), send an email to <mjpeg-developer@lists.sf.net>. See
 549http://www.sf.net/projects/mjpeg/ for subscription information.
 550
 551For bug reports, be sure to include all the information as described in
 552the section 'It hangs/crashes/fails/whatevers! Help!'. Please make sure
 553you're using the latest version (http://mjpeg.sf.net/driver-zoran/).
 554
 555Previous maintainers/developers of this driver include Serguei Miridonov
 556<mirsev@cicese.mx>, Wolfgang Scherr <scherr@net4you.net>, Dave Perks
 557<dperks@ibm.net> and Rainer Johanni <Rainer@Johanni.de>.
 558
 559===========================
 560
 5619. License
 562
 563This driver is distributed under the terms of the General Public License.
 564
 565    This program is free software; you can redistribute it and/or modify
 566    it under the terms of the GNU General Public License as published by
 567    the Free Software Foundation; either version 2 of the License, or
 568    (at your option) any later version.
 569
 570    This program is distributed in the hope that it will be useful,
 571    but WITHOUT ANY WARRANTY; without even the implied warranty of
 572    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 573    GNU General Public License for more details.
 574
 575    You should have received a copy of the GNU General Public License
 576    along with this program; if not, write to the Free Software
 577    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 578
 579See http://www.gnu.org/ for more information.
 580
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.