[FFmpeg-devel] [PATCH] [2/??] [3/3] Filter graphs - Parser for a graph description
Michael Niedermayer
michaelni
Mon Feb 25 21:50:47 CET 2008
On Mon, Feb 25, 2008 at 06:36:40PM +0100, Vitor Sessak wrote:
[...]
> >> And for
> >>
> >> in --> crop --> rotate --> vflip --> out
> >>
> >> crop=400:300,rotate=1,vflip,split
> >
> > yes (in) (out) should be default at the ends
> >
> >
> >> meaning that when there is no semicolon, the (in) in the beginning and
> >> the (out) in the end can be omitted.
> >
> >> Also, I don't understand the point
> >> of explicitly putting a "+" in new vertexes...
> >
> > filter1(abc),(def)filter2
> >
> > filter1->(abc)
> > (def)->filter2
> >
> > filter1(+abc),(+def)filter2
> >
> > filter1->filter2
> > | ^
> > v |
> > (abc) (def)
> >
> > again, this was all just an idea ...
> > your ';' achives the same, though it adds an additional char to the ones
> > needing escaping if used in filters. Iam not even sure if we shoud use ',' as
> > filter seperator ...
> > '|' would be an alternative but it would need filter chains to be under ""
> > though that applies to ; () [] as well
>
> I prefer the comma. I like the syntax
>
> ffmpeg -i in.avi -vfilters vflip,scale=300:400 out.avi
>
> so as for filter graphs that are just a chain we have a simple,
> unescaped command line. If for more complex graphs "" are needed, it
> bother me less.
>
> > other random ideas ...
> >
> > crop=400:300|[tmp1]picInPic=50:50|rotate=1|split[tmp2]|vflip[out];[tmp2]hflip|delay[tmp1]
> >
> > crop=400:300 | [tmp1]picInPic=50:50 | rotate=1 | split[tmp2] | vflip[out] ; [tmp2]hflip | delay[tmp1]
> >
> > crop=400:300 | [tmp1] picInPic=50:50 | rotate=1 | split [tmp2] | vflip [out] ; [tmp2] hflip | delay [tmp1]
>
> Wouldn't it be a good idea to ignore whitespace and newlines completely?
That was the idea, sorry ive just been testing how different whitespace
placements would look ...
>
> >
> > crop=400:300 | [tmp1] picInPic=50:50 | rotate=1 | split {hflip | delay[tmp1];} | vflip
> >
> >
> >
> >> Finally, I prefer parenthesis instead of brackets... What do you think?
> >
> > Passing eval.c equation like sin(5)*eq(a,b) might get trickier escaping
> > wise and parsing wise with (), besides this iam fine with () as well, that
> > is if you provide a solution to passing equations to eval based filters
> > without requireing each () to be escaped individually.
>
> I agree. But I'll have to add quotes to the syntax anyway for thing like
>
> vflip,drawtext='text, a =) :-]':arial:10:10,hflip
well mplayer survivied without proper quote handling, and that results in
eval stuff looking really nasty ...
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Breaking DRM is a little like attempting to break through a door even
though the window is wide open and the only thing in the house is a bunch
of things you dont want and which you would get tomorrow for free anyway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080225/af0a0e69/attachment.pgp>
More information about the ffmpeg-devel
mailing list