Cx88 devices (cx2388x): Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
===Introduction===
On 28 April, Sami Kiiskila wrote to the v4l mailing list about a color problem on cx88 chips:


The cx2388x chip is the successor to the [[bttv devices |bt87x]] chips; cf. [[PCI interface chipsets used for v4l cards]].
Do you see any difference in these pictures:


===Supported cards===
http://www.cs.tut.fi/~kiiskils/kuvat/TTV-Testikuva-tv-bad-2005-04-23-19.png


There doesn't seem to be a list of supported cards in the kernel documentation; here is some information from the driver header file, /usr/src/linux/drivers/media/video/cx88/cx88.h:


CX88_BOARD_NOAUTO UNSET
http://www.cs.tut.fi/~kiiskils/kuvat/TTV-Testikuva-tv-ok-2005-04-23-19.png
CX88_BOARD_UNKNOWN 0
CX88_BOARD_HAUPPAUGE 1
CX88_BOARD_GDI 2
CX88_BOARD_PIXELVIEW 3
CX88_BOARD_ATI_WONDER_PRO 4
CX88_BOARD_WINFAST2000XP 5
CX88_BOARD_AVERTV_303 6
CX88_BOARD_MSI_TVANYWHERE_MASTER 7
CX88_BOARD_WINFAST_DV2000 8
CX88_BOARD_LEADTEK_PVR2000 9
CX88_BOARD_IODATA_GVVCP3PCI 10
CX88_BOARD_PROLINK_PLAYTVPVR 11
CX88_BOARD_ASUS_PVR_416 12
CX88_BOARD_MSI_TVANYWHERE 13


Some cx88 cards also have a digital driver; these cards are recognized according to the DVB cardlist. For details see the [http://linuxtv.org/wiki DVB wiki].


===Release notes===
especially when zoomed to 2x size ?
(Documentation/video4linux/README.cx88 from 2.6.12-rc2)


This is a v4l2 device driver for the cx2388x chip.
If you don't then no need to read further :)


====Current status====
In case you notice something on the color areas and if you are having similar
interference in your own recordings then the "patch" is simple.


Video
Change : HLNotchFilter135PAL to HLNotchFilter4xFsc
* Basically works.
on line 752 of cx88-core.c and recompile (snapshot video4linux-20050310-100754)
* Some minor image quality glitches (cf. color problem patch below)
* Red and blue are swapped sometimes for not-yet known reasons (seems to depend on the image size, try to resize your tv app window as workaround ...).
* For now only capture, overlay support isn't completed yet.


Audio
Some warnings:
* The chip specs for the on-chip TV sound decoder are next to useless :-/
- it might break something
* Neverless the builtin TV sound decoder starts working now, at least for PAL-BG. Other TV norms need other code ...
- the only known format it works for sure is PAL-BG (used in Finland)
FOR ANY REPORTS ON THIS PLEASE MENTION THE TV NORM YOU ARE USING.
- hardware is Hauppauge WinTV GO with cx88xx chip
* 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 (cf. [[text capture]])
What happens is probably that the HLNotchFilter135PAL is designed for
* Some code present. Doesn't crash any more, but also doesn't work yet ...
13.5MHz sampling rate and the driver tolds the chip to use 27 MHz.
So the notch frequency is shifted too to 8.866 MHz instead of 4.433 MHz,
it doesn't do much good there. So my original guess that the comb filter is
not working was wrong, which I couldn't be sure until I tried out both of the
notch control registers.


====How to add support for new cards====
If the sampling really is done at 27MHz then similar fix would propably help
with NTSC too, just change HLNotchFilter135NTSC. But I can't test that here.


The driver needs some config info for the TV cards. This stuff is in
Added 2005-04-29:
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 \
I tested it on American NTSC using DViCO HDTV 3 Gold hardware. It functions properly.
34xxx models [card=1,autodetected]
I don't have a test pattern to be able to determine if there is an immprovement, but it seems better.

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

# Try upgrading to the latest snapshot, maybe it has been added meanwhile.
# 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").
# 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]

===[[Color problem patch]]===


.

Revision as of 00:19, 30 April 2005

Introduction

The cx2388x chip is the successor to the bt87x chips; cf. PCI interface chipsets used for v4l cards.

Supported cards

There doesn't seem to be a list of supported cards in the kernel documentation; here is some information from the driver header file, /usr/src/linux/drivers/media/video/cx88/cx88.h:

CX88_BOARD_NOAUTO        UNSET
CX88_BOARD_UNKNOWN               0
CX88_BOARD_HAUPPAUGE             1
CX88_BOARD_GDI                   2
CX88_BOARD_PIXELVIEW             3
CX88_BOARD_ATI_WONDER_PRO        4
CX88_BOARD_WINFAST2000XP         5
CX88_BOARD_AVERTV_303            6
CX88_BOARD_MSI_TVANYWHERE_MASTER 7
CX88_BOARD_WINFAST_DV2000        8
CX88_BOARD_LEADTEK_PVR2000       9
CX88_BOARD_IODATA_GVVCP3PCI      10
CX88_BOARD_PROLINK_PLAYTVPVR     11
CX88_BOARD_ASUS_PVR_416          12
CX88_BOARD_MSI_TVANYWHERE        13

Some cx88 cards also have a digital driver; these cards are recognized according to the DVB cardlist. For details see the DVB wiki.

Release notes

(Documentation/video4linux/README.cx88 from 2.6.12-rc2)

This is a v4l2 device driver for the cx2388x chip.

Current status

Video

  • Basically works.
  • Some minor image quality glitches (cf. color problem patch below)
  • Red and blue are swapped sometimes for not-yet known reasons (seems to depend on the image size, try to resize your tv app window as workaround ...).
  • 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 (cf. text capture)

  • 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]

Color problem patch

.