XVideo (Xv) feed flickers on mouse-over with certain video
John.Bridgman at amd.com
Wed Jun 4 07:37:21 PDT 2008
>>From: "Justin Anderson" <justin at rayonix.com>
>>I'm trying to resolve a thorny issue. I'm working on an application
built with C/X/Motif in which we have a window where the feed from a
video camera is put. We also draw a set of "cross-hairs" (simply two
lines) which can be moved with the mouse to target a point on the video
feed (for user's visual reference). We add the video with the
"XvPutVideo" command. Everything worked OK until the 6000 series of
nVidia graphics cards (as well as ATI cards around-about that time).
Since then, the cross-hairs are overdrawn by the video. If you move the
mouse pointer over the video feed, the video flickers as you move around
and, simultaneously, the crosshairs appear. When you stop moving, the
crosshairs disappear and the video stops
flickering. Accorging to the MythTV website, nVidia cards stopped
having a Chroma Key feature with the 6000 series. I'm not sure if that
has something to do with it.
This makes sense. ATI cards also switched from using overlay-based video
to shader-based video (aka TexturedVideo) rendered into the frame
buffer, starting with the X1xxx discrete and RS6xx IGP parts.
>>I think I can resolve the problem of the cross-hairs being overdrawn
by the video feed if I add a Pixmap ClipMask which is black (0) where
the cross-hairs are located and white (1) everywhere else. However, the
video flickering is still present.
My first thought is moving to a composited environment where (hopefully,
maybe) the cross-hairs could be composited over top of the rendered
video. Not sure, just a thought. The main issue is that the video image
is now drawn directly into memory (allowing it to work with a
compositing manager) rather than floating over the video memory and
being composited via hardware.
More information about the xorg