Re: black stripes

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



On Thu, 12 Jul 2001, Adam wrote:

> Also where I can find information on differences between grab display and
> overlay. I have a vague idea how they differ but I would know difference
> in more details.

It's mentioned a little in the xawtv docs. A summary:

overlay configures the tv card to dump newly-captured tv frames directly
into the memory of your video card. This way it appears on the screen
straight away without the main CPU having to do anything about it. The tv
card takes control of the PCI bus while it's doing this and talks to the
video card directly.

In grabdisplay mode, the xawtv application repeatedly asks the bttv driver
for tv pictures from the tv card. These are grabbed into memory (in much
the same way as the tv card does when grabbing to the video card---it's
just a different area of memory). Once in memory, xawtv copies the image
to the real display (X) using X calls. This mode may be more compatible,
but it uses a lot more CPU time since it has to do format conversion and
copying to the X display.

If you have a video card which supplies the XVideo XvImage extension,
xawtv can use this to do hardware scaling of the captured image to the
screen. For example, I have a TNT2 with nvidia's driver and it does this.
However, it's worth noting that there is a known bandwidth issue with the
TNT2 and this kind of hardware overlay (occurs when the source image is a
particular area).

When using overlay mode, you'll probably notice momentary entire-screen
flickers when you move or resize windows that intersect the tv window.
This is because the bttv driver needs to be told of the new window
locations. This information is filtered down the tv card, which then knows
that it shouldn't draw the tv picture on certain areas of the screen (e.g.
if the tv window is partially obscured).

This shouldn't happen in grabdisplay mode because all drawing is done
through X. However, you may notice slight motion artefacts (momentary
pauses, etc), which occur when xawtv doesn't get all the processor time it
needs to be able to grab every frame successfully.


[sorry for the long message---almost done now!]


Further confusion is obtained by the introduction of the XFree86 v4 'v4l'
(video4linux) module. This is a module that is loaded into the X server
that interacts with the video card (by accessing the /dev/video0 bttv [or
other] device).  In effect, it talks to the /dev/video device in the same
way that xawtv, or any other tv application, would do. It then provides a
generic XVideo interface to the facilities provided by the tv card.

When you run xawtv in this mode (it'll use it by default if it's
available; otherwise you need to do 'xawtv -noxv'), xawtv never accesses
the video device directly. This means you can no longer do video capture,
and some of the picture adjustment options change slightly. However,
you'll probably find that the X display flickers less when you move
windows about, since the display region updates can occur sooner since
they're implemented at a lower level (inside the X server).

You can think of the XVideo v4l (video4linux) mechanism as being the same
as 'overlay' in Xawtv, but with the X server managing the card instead of
the tv application.

Hope that makes some sense!

-- 
Jonathan Paisley
paisleyj@xxxxxxxxxxxxx






[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