
cx8800 release notes
====================

This is a v4l2 device driver for the cx2388x chip.


current status
==============

video
	- Basically works.
	- Some minor image quality glitches.
	- For now only capture, overlay support isn't completed yet.

audio
	- The chip specs for the on-chip TV sound decoder are next
	  to useless :-/
	- Neverless the builtin TV sound decoder starts working now,
          at least for PAL-BG.  Other TV norms need other code ...
          FOR ANY REPORTS ON THIS PLEASE MENTION THE TV NORM YOU ARE
          USING.
	- Most tuner chips do provide mono sound, which may or may not
	  be useable depending on the board design.  With the Hauppauge
	  cards it works, so there is mono sound available as fallback.
	- audio data dma (i.e. recording without loopback cable to the
	  sound card) should be possible, but there is no code yet ...

vbi
	- some code present.  Doesn't crash any more, but also doesn't
	  work yet ...


how to add support for new cards
================================

The driver needs some config info for the TV cards.  This stuff is in
cx88-cards.c.  If the driver doesn't work well you likely need a new
entry for your card in that file.  Check the kernel log (using dmesg)
to see whenever the driver knows your card or not.  There is a line
like this one:

	cx8800[0]: subsystem: 0070:3400, board: Hauppauge WinTV \
		34xxx models [card=1,autodetected]

If your card is listed as "board: UNKNOWN/GENERIC" it is unknown to
the driver.  What to do then?

 (1) Try upgrading to the latest snapshot, maybe it has been added
     meanwhile.
 (2) You can try to create a new entry yourself, have a look at
     cx88-cards.c.  If that worked, mail me your changes as unified
     diff ("diff -u").
 (3) Or you can mail me the config information.  I need at least the
     following informations to add the card:

     * the PCI Subsystem ID ("0070:3400" from the line above,
       "lspci -v" output is fine too).
     * the tuner type used by the card.  You can try to find one by
       trial-and-error using the tuner=<n> insmod option.  If you
       know which one the card has you can also have a look at the
       list in CARDLIST.tuner

Have fun,

  Gerd

-- 
Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]
