/lgv5480tvr

video4linux driver for cirrus logic lgv5480tvr

Primary LanguageCGNU General Public License v2.0GPL-2.0

LGV-5480TVR video4linux driver.   2003-01-01

The LGV-5480TVR uses a Cirrus Logic gd5480 as the main video chip which
handles overlay and streaming capabilities.  The tv tuner is a 
Samsung TCPN9082DA27C ntsc tuner.  The pixel decoder is a VPX3225D.
The audio is handled by some proprietary Cirrus Logic(?) chip which
is similar to the CL-PX0002 found in Itai Nahshon's PixelView driver.

This driver still needs a lot of work.  It's not intended for regular
use.  I'm only putting it out in case someone else might be working
on a driver.

Some FIXMES / issues off the top of my head:

* After recording for a few minutes my machine crashes.  A kernel oops
  is generated by mencoder.  I'm pretty sure it might be the alsa driver
  for my audio chip (via82C686).  The oss drivers couldn't record from
  line in, and the crashes only seem to be happening after I installed
  the alsa driver.  But who knows, could be the v4l driver.
* Endian issues need to be worked out.
* DMA (Stream Engine) isn't working correctly.  I think I should be able
  to just clear some bits to acknowledge the transfer of a buffer.  I
  haven't been able to get it to work, so right now I issue a Stream
  Engine reset after each frame is transferred.  This could be really bad
  for the hardware.
* Only supports yuv422 (packed).  Need to add support for 420 planar.
* vpx3225d scaling is really ugly, try scaling with gd5480
* no support for gd5446 possible (no stream engine?)
* modularize (vpx3225d, gd5480, px0002, tuner as seperate modules)
* NOTE:  If you've been looking at PixelView code, I use gd5480 style
  double buffering instead of gd5446 style as used in the PixelView driver.
* NEED TO HAVE XFREE86 RUNNING.  To do capture the card needs to be in
  a suitable video mode.  If you try to do capture from the console it
  will mess up the display.
* Overlay isn't supported.
* still a few things related to video4linux that I don't understand
* edit Makefile to indicate where the kernel headers are installed.


-------------- compiling and using ----------------------
1) Make sure your kernel supports video4linux
2) Edit Makefile to indicate where your kernel headers are found
3) make

bash$ cd <wherever you unpacked the source>
bash$ make

4) make sure video4linux driver is loaded and then load lgv5480tvr driver

bash$ su
bash$ modprobe videodev
bash$ insmod lgv_5480tvr_v4l.o
bash$ exit

5) That's it, you can now use any v4l application.  Make sure XFree86 is
   running (driver doesn't work from the console).  If you have mplayer:

bash$ mplayer -tv on:driver=v4l:norm=NTSC:width=320:height=240:outfmt=yuy2

--------------------------------------------------------


Use at your own risk.  ;)

Thanks to Itai Nahshon for giving me permission to use PixelView code.

Angelo Cano 
angelo_cano@fastmail.fm