[MPlayer-dev-eng] mp-g2 pre14
D Richard Felker III
dalias at aerifal.cx
Mon Apr 21 04:46:26 CEST 2003
On Mon, Apr 21, 2003 at 03:17:52AM +0200, Arpi wrote:
> > The callback idea is just extremely ugly, but it may be the
> > only way...
> it seems :(
> or we have to disallow increasing fps in filters.
Hey, Arpi... Billy Biggs just suggested this to me on irc: how about
we replace the architecture completely and use a pull model for the
video filter chain, rather than push? I.e.:
1) The calling program says it wants to output one frame in a call to
the vo.
2) The vo calls the filter chain asking for a frame.
3) Each filter calls the previous filter (or the codec) if it wants a
frame. Filters can grab no frames (e.g. if they're increasing fps),
one frame, or many frames.
4) When the filter chain requests a frame from the codec, the codec
layer calls the demuxer layer, asking for the next frame/packets.
Once this is all done, (1) returns to the caller with the pts of the
displayed frame. Then, the caller can tell libvo to blit/flip page at
the right time (if supported).
There might be a few issues with DR/slices, but I don't think it's
anything we couldn't work out. And of course it would require
rewriting all the filters, but hey, that's what G2 is about --
throwing away old broken designs and replacing them with better ones.
Rich
More information about the MPlayer-dev-eng
mailing list