[Mesa-dev] [Bug 77208] New: VdpPresentationQueueGetTime does not return a monotonic time

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Apr 8 16:17:17 PDT 2014


https://bugs.freedesktop.org/show_bug.cgi?id=77208

          Priority: medium
            Bug ID: 77208
          Assignee: mesa-dev at lists.freedesktop.org
           Summary: VdpPresentationQueueGetTime does not return a
                    monotonic time
          Severity: normal
    Classification: Unclassified
                OS: All
          Reporter: nfxjfg at gmail.com
          Hardware: Other
            Status: NEW
           Version: 9.0
         Component: Other
           Product: Mesa

It appears VdpPresentationQueueGetTime does not always return a monotonic,
steady (i.e. no jumps) time. This can be a bit of a problem since the API
basically assumes a reliable timer.

The unreliable timer causes two basic problems:
1. VdpPresentationQueueDisplay is unreliable. Since between retrieving the
current vdpau time, calculating the presentation time, and calling
VdpPresentationQueueDisplay the timer could jump, the function becomes
essentially useless, unless you pass 0 to it.
2. The presentation time returned by VdpPresentationQueueQuerySurfaceStatus is
useless. Since the timer could jump at any time, the application can't really
use the first_presentation_time value for anything.

At least the video players mplayer2 and mpv have trouble with this. They try to
queue frames at vsync intervals, and the framedropping code is involved with it
too.

Jumps have been reported in the following situations:
1. Moving the window with the vdpau context to another display
2. Pausing/unpausing mpv. I'm unsure why this would happen, since
pausing/unpausing is obviously not part of the vdpau API - but I don't know
what triggers it. Maybe it happens when the presentation queue becomes empty?

For what it's worth, I can't personally test with vdpau/Mesa. Unless there's
some kind of software emulation of vdpau?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140408/86faf006/attachment.html>


More information about the mesa-dev mailing list