Linux driver for DC10plus and LML33 video capture cards. V 0.6

From: Serguei Miridonov (
Date: Fri Oct 13 2000 - 13:07:54 EST

This is a driver for DC10plus capture cards from Pinnacle Systems
Inc. and LML33 cards from Linux Media Labs
( It also works with many old Miro
DC10 cards with SAA7110A TV decoder and ADV7176 TV encoder (please,
make sure that your card has these chips, otherwise the driver will
not work).

The driver is Video4Linux compliant and contains extensions to
provide hardware support for full motion MJPEG compression and
decompression. Since this driver is a derivative from the driver for
Buz Iomega cards written by Dr. Rainer Johanni, they both have compatible
API. I hope that this API will become a part of V4L standard.

For more information and driver download, please, visit

Supported Formats

Card: DC10/DC10plus LML33


Format: Square pixel CCIR.601
                   640x480 NTSC 720x480 NTSC
                   768x576 PAL/SECAM(*) 720x576 PAL

Frame rates: 30 frames/60 fields per second NTSC
             25 frames/50 fields per second PAL/SECAM(*)

(*) - SECAM is supported for input only in DC10/DC10plus cards. The
output of the recorded SECAM video stream will be in PAL standard.
Also, please, note that monitoring of the SECAM input signal at the
DC10/DC10plus analog output may not be available. Please, use
appropriate application like XawTV to watch full color SECAM video at
the card input.

Hardware compression

Since the card provides hardware compression, even low end machines can
be successfully used for movie capture and playback. I'm testing the
driver with with 2.2.16 kernel running on 233 MHz Pentium MMX with 64M
RAM on 430TX motherboard and with 10GB IDE drive from Western Digital

On one test run with DC10plus card I've got 0 frames dropped during
about 20 minutes of full motion NTSC (I live in Mexico) video capture
with fully synchronized audio.

Typical run of similar test can provide as few as 6-8 dropped frames per
half of an hour. You mileage may vary, though.

Tested applications

  XawTV to watch video on your computer monitor.

  kwintv the same (you might need to use option lock_norm=1).
  lavtools To record and playback AVI or Quicktime files. Note: you
                will need patched version, lavtools-1.2p2 to support new
                features of this driver. Please visit driver homepage for
                more info.

  Broadcast2000 reportedly (I didn't try that) can accept movies recorded
                by lavrec in Quicktime format for editing and then edited
                movie can be played back by lavplay program.

  MainActor 3.5x also can accept movies recorded by lavrec for editing.

The driver can to be used by two programs at the same time
(please, see warning note below regarding this feature). Using XawTV
you can watch what you are recording or playing back with lavtools.
I've tested the following sequence and it worked for me:

* start xawtv and switch inputs, TV standards, and adjust video
  (contrast, saturation, etc.). You may also run your favorite
  audio mixer application to adjust audio inputs.

* run lavrec with options:

    -i<set your input and norm here> (to choose proper input
                                      and TV standard)

    -l -1 (to use audio mixer settings)

    Other lavrec option can be added at your choice.

* watch the movie in xawtv window while recording it as AVI or
  Quicktime file.

* when recording is finished, run lavplay or xlav and watch your
  clip in xawtv window.

* Note: you should not quit xawtv during recording or playing back.
  If you quit xawtv during recording or playback, another lavtools
  program will stop and may even crash.

I'm not sure that the same will work for you. You can try but,
please, be careful.

WARNING! This is an experimental feature and I'm not sure if it will be
supported in the future. The original driver was not designed to be
used like this and it has no protection against any interference
between two running programs. THEREFORE, IT IS POTENTIALLY DANGEROUS

Features for testing

When loaded, the driver creates a /proc/zoranX entry for each card:
using 'cat /proc/zoran0' for your first card you can see the contents
of ZR36057/67 chip registers. It is also possible to modify the
contents of some registers directly. WARNING: modified contents is not
stored in the driver memory, if you restart any program which uses this
driver or even change position or cause redraw of a window of xawtv or
other program, the original registers contents will be restored by the
driver. However, it can be used to change ZR36067 registers on the fly
for fine tuning and then to include these changes into driver code.
This feature is very limited and still requires some documentation.
However, if you are impatient, look at zoran_procfs.c code and
(IMPORTANT!) read ZR36057/67 manual. To set TopField bit, for example,
you need to type as root:

echo TopField=1 > /proc/zoranX # change X to 0 for your first card,
                               # 1 for second and so on...

If you use this feature and have found some interesting result, please, let
me know.

Mailing lists

There are two mailing lists available to discuss application issues and
suggest driver improvements:

1. A mailing list buz-linux was set up to discuss Iomega Buz driver.
Since this driver is derivative of that driver, you can also post your
questions and suggestions there. Subscribe with a message (with
"subscribe" in the subject) to
Unsubscribe with a message (with "unsubscribe" in the subject) to The mailing list archive can be
found at

2. Video4Linux mailing list is set for more general discussions related
to uncompressed video capture, V4L and V4L2 API, many Video4Linux
applications, etc. to subscribe to this mailing list, please, visit

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:25 EST