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

From: Serguei Miridonov (mirsev@cicese.mx)
Date: Fri Oct 13 2000 - 14:07:54 EDT

  • Next message: Petr Vandrovec: "Re: vfat problems in 2.4.0-test10-pre2"

    This is a driver for DC10plus capture cards from Pinnacle Systems
    Inc. and LML33 cards from Linux Media Labs
    (http://www.linuxmedialabs.com/). 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,
    http://www.johanni.de/munich-vision/buz/ 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
    http://www.cicese.mx/~mirsev/Linux/DC10plus/

    Supported Formats
    =================

    Card: DC10/DC10plus LML33

    TV standard: NTSC/PAL/SECAM(*) NTSC/PAL

    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
    Corp.

    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
    AND SINCE THE DRIVER OPERATES IN KERNEL SPACE, USING THIS FEATURE MAY
    CRASH YOUR ENTIRE SYSTEM.

    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 buz-linux-subscribe@webmages.com.
    Unsubscribe with a message (with "unsubscribe" in the subject) to
    buz-linux-unsubscribe@webmages.com. The mailing list archive can be
    found at http://buz.webmages.com/list/.

    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
    https://listman.redhat.com/mailman/listinfo/video4linux-list

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Fri Oct 13 2000 - 14:12:11 EDT