[mythtv] Question on Xv output and NuppelVideoPlayer

Isaac Richards ijr at po.cwru.edu
Fri Jul 2 11:40:49 EDT 2004

On Friday 02 July 2004 03:10 am, Clyde Stubbs wrote:
> Isaac,
> thanks for the reply;
> On Thu, Jul 01, 2004 at 03:00:22PM -0400, Isaac Richards wrote:
> > displayed.  The XSync call makes it wait and not return until the image
> > has been displayed (ie, the XvPutImage request has been completed). 
> > Separating
> No, it doesn't. All XSync does is send a GetInputFocus request to the X
> server and waits for the reply. This means that after the XSync returns,
> the X server has processed all outstanding requests, i.e. that the
> XvPutImage() call has made it as far as the video card, but says nothing
> about what the video card is up to, IOW it could return some time before
> the video card is ready to display the buffer.

XvPutImage sends a completion event when it is done.  The reply from the 
GetInputFocus request in XSync() won't get sent until after the completion 
event from XvPutImage is sent.  If the driver implementation signals that 
it's done with the PutImage before it's actually put the image, that's kind 
of broken, no?

If you're not going to believe the answers that you get, why did you ask?

> > Try removing the XSync call from Show() and see what happens.
> Ok, I tried that. It has very little effect.

On my machines, the framerate of the displayed video rate drops down to around 
0.5 fps without the XSync.

> The other part of my question you didn't answer - am I correct in
> assuming that the video card will only display a new frame at
> vertical blank time? I'm pretty certain this must be the case,
> otherwise there would be significant tearing visible.

That depends on the driver's Xv implementation.  Most won't tear (ie, pretty 
much all drivers for modern cards), some do.


More information about the mythtv-dev mailing list