[MPlayer-dev-eng] [PATCH] patch 1: vdpau

Dan Oscarsson Dan.Oscarsson at tietoenator.com
Tue Apr 28 10:11:24 CEST 2009


mån 2009-04-27 klockan 22:30 +0300 skrev Uoti Urpala:
> On Sun, 2009-04-26 at 17:22 +0200, Dan Oscarsson wrote:
> > I have now split my patch into two: one for vdpau fixes and one for
> > syncing video to display rate.
> > 
> > Attached is the one for vdpau.
> > 
> > It now contains just one option: max-delay (if you have a better name we
> > can change to that).
> 
> The patch looks rather large. Does it give significant benefit over
> implementing a framedrop mode to skip the flip_page() call if it's
> already late (which would be simple to implement, and also work with -vo
> gl which can be affected by a similar issue)?

My patch contains some of the data needed to make better decisions in
mplayer.c when planning to call flip_page, but doing this in mplayer.c
probably needs more data exported and quite a bit of changing the code.

It was much simpler to fix it in vo layer. I have done the same for xv
which also do not work fully well with 24hz display rate.

If mplayer is redone so that it contains a queue of audio and video
frames, and a separate thread so that flip_page calls can be done
independently of video/audio decoding, then I think most could be done
at a higher level than vo layer. Though some vo will have an internal
queue that have to be handled correctly. I think that even with a queue
higher up, vdpau would still need code to drop frames if the higher up
code sends frames at a higher rate than display rate.

The problem I have is that until the higher levels in mplayer is
changed, mplayer is not usable on my tv without my patches. I would
prefer to have my patches in mplayer now, so I can use the standard
mplayer, and later change/replace them with code adopted to the
rewritten higher levels. I suspect that will take some time - it took me
3-4 months to get code that worked fine in vdpau, and I gave up trying
to change higher level code as it required so many changes. But I can
help testing/discussion your ideas when you start changing the higher
levels.




More information about the MPlayer-dev-eng mailing list