The flicker-free solution would be to disable the XV_AUTOPAINT_COLORKEY
attribute. That prevents the driver from painting the key, leaving it
entirely your responsibility. Then you can do something like draw
your scene (key+graphics) into the window yourself, or if you're
not changing
On Thu, 13 Nov 2003 08:51:25 -0500, Steve Thrash wrote:
Also - is XvMC the right solution if I want to blend two images to an
arbitrary percentage tranparency at 30 FPS using the graphics hardware?
Unless I have missed a staff meeting somewhere, XvMC is specifically
designed to allow hardware
--Original Message Text---
From: Steve Thrash
Date: Wed, 12 Nov 2003 13:09:01 -0500
I am using XvShmPutImage to draw video via a YUV overlay into a window. Then I am using XDraw commands to draw "overlays" directly to the window (lines, arcs, text, etc.).
When I do this the video
Sorry,
I'mkind of new to Xv.
That
makes perfect sense. Is there a way to force the expose event at the
server without actually changing what is viewed (mapping/unmapping, moving,
etc)? I tried XSendEvent, but that didn't seem to
work.
I am using XvShmPutImage to draw video
via a YUV
One
more question - how can you tell what the chromakey value is? Do I need to
use XGetImage or is there a better way?
Sorry, I'mkind of new to Xv.
That
makes perfect sense. Is there a way to force the expose event at the
server without actually changing what is viewed
Most drivers implement XvShmPutImage as a video overlay. That
means it's not draw into the window. It was not the intention
that one should be able to render XvShmPutImage into a window along
with normal Xlib rendering, subsequently, that type of thing is not
supported in the general case.
Okay, the light bulb finally turned on!
I see that the chromakey is something I can set via XvSetPortAttribute(). I
also see what you mean about not directly putting the image and drawing the
data to the window.
The following sequence seems to be working well:
For each video frame:
1.
On Wed, 12 Nov 2003, Steve Thrash wrote:
Okay, the light bulb finally turned on!
I see that the chromakey is something I can set via XvSetPortAttribute(). I
also see what you mean about not directly putting the image and drawing the
data to the window.
The following sequence seems to be