[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