Re: [V4L] support for Xv ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



bharat  tewari wrote:
> i know that matrox, i810 and ati cards have Xv support, the extent of the
> support may vary but all of them support XvImages().
> regds

Depends on what exactly you want to do.  The tree ones mentioned above support
yuv pixmaps + hardware color space conversion/scaling for pixmaps passed by
the application.  Using Xv for video display (using the v4l module) and writing
the video stream directly to the visible framebuffer should work with all
drivers.  Hardware scaled video works with matrox g200/g400 only as far I know,
but I expect other drivers follow quickly.

Below is a README I've written for the next xawtv release.

  Gerd

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

XFree86 4.0 tips & tricks
=========================


DGA problems
------------

Release 4.0 has DGA turned off by default.  You'll have turn it on
in XF86Config, otherwise v4l-conf will not work correctly.  It should
work for most cards this way, althrouth some drivers don't handle DGA
correctly in 4.0 (that's why it is off...)


using Xvideo
------------

XFree86 4.0 comes with a new X11 extention for video support.  The
X-Server will handle the grabber board then, not xawtv.  This has the
advantage that the X-Server knows about the video.  Window moves can
be handled without redraw problems.  The refresh triggered by xawtv
to fix it isn't required any more.  It is possible to use the video
scalers of modern graphics boards (see below).

To use Xvideo you have to load the video4linux module into the X-Server.
Just adding 'Load "v4l"' to the Modules section of XF86Config will do.
You have to make sure xawtv is compiled on a box with with XFree86 4.0
installed.  xawtv needs the new client libraries for Xvideo support.


using hardware scaling
----------------------

Starting with XFree86 4.0.1 the Xvideo extention supports hardware-scaled
video, i.e. the video isn't written directly to the visible area of the
video memory.  Instead the bt848 hardware writes yuv data to offscreen
memory.  The graphic card's video scaler does color space conversion and
video scaling.  This way fullscreen video works in 1024x768 (and greater)
without a black border because we are not limited to the maximum size
supported by the bt848 hardware any more.

As this is very new stuff not all drivers support video scaling yet.
Right now it works with the mga driver (matrox G200+G400) only.

You also need a bttv version newer than 0.7.16 (the 2.2.x kernel version
is /way/ to old, kernel 2.4.x is fine).  If both bttv driver and xfree86
gfx driver support it, xfree86's video4linux driver will use hardware
scaling automagically.


drawbacks
---------

capturing images/video doesn't work if xawtv runs using the Xvideo
extention.  With the '-noxv' switch Xvideo can be disabled.

  Gerd





[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux