[MPlayer-G2-dev] Re: Limitations in vo2 api :(
Andriy N. Gritsenko
andrej at lucky.net
Wed Dec 24 10:54:06 CET 2003
Hi, D Richard Felker III!
Sometime (on Wednesday, December 24 at 8:37) I've received something...
>Again, please _read_ the fine documentation and (maybe not-so-fine)
>Nodes of the pipeline call vp_request_frame() on a link when they want
>to receive a frame over it. So it's still entirely pull based, just
>not carried out by call-recursion.
I've read your source. You assume that ->out and ->in are always
filled and ->xout and ->xin are NULL-terminated lists. So you will deny
filters and/or application don't have "primary" link. It's bad. Many
filters may not have any priority and may want to have all links in one
list. Beside of that that "primary" link may be deleted while "secondary"
ones will still work so it may be a problem (as I already said).
To allow only layer manipulate links list is also impossible - only
filter may know if it's possible to add second (third, fourth, etc.) link
to list since it may depend on filter's current state. So adding and
deleting links to(from) list must be controlled by filter itself. Isn't
it an another problem for your current implementation?
Again my questions. :) If some filter wants to get a frame from one
of links it must call vp_request_frame() then call vp_pull_frame(),
doesn't it? It seems overcomplicated for me but that time wasting isn't a
big problem for current CPUs anyway so OK. Another thing is when filter
from which we want a frame must drop a frame - will pull_frame() return 1
then but with img=NULL?
And another thing - must each filter implement push_frame()? I'm not
sure if it's always possible.
Yet one question. Application may want get frames by something like
got_frame=request_frame(start_pts,max_duration,*new_pts) and that frame
may consume sources: three frames from first, no frames from second and
one frame from third - just for example. Does your new VP implementation
allow that? :)
Anyway, don't be mad on me, please. I just want G2 to handle all
needs of video editor (such as Adobe Premiere for example). I'm sure G2
may be power enough to hahdle that task. Although one of my friends has
told me G2 based video editor will not be finished while he's alive. ;)
May be I'm naive but remember that Adam Rice said: "paradigm shifts often
require a certain naivety". I liked that. :)))
With best wishes.
More information about the MPlayer-G2-dev