[FFmpeg-devel] [PATCH] [2/??] [3/3] Filter graphs - Parser for a graph description

vmrsss vmrsss
Fri Mar 21 16:50:20 CET 2008


On 18 Mar 2008, at 23:12, Michael Niedermayer wrote:
>> So IMO, this case just show that "mathematical" description allows
>> to represent complex graph as well as the original description.
> no, it does not, it shows that you could represent the given graph.  
> Its
> not a proof that all graphs can be represented. Though its quite easy
> to proof that if you want ...

	Indeed all finite graphs can be represented, it's an algebra entirely  
axiomatisable, no problems.

> More complex ones without feedback could look like
> filter1(T),filter2,filter3,(T)filter4
> VS.
> filter1,filter2*nop,filter3*nop,filter4
> i think first wins

It's mostly a matter of taste, to me they are equally complex because  
in the first form I may struggle to follow the threading; but as I  
wrote in a previous message you need to refine you language to specify  
the order of the outputs out of a complex filter.

> With one feedback
> (T)filter1,filter2,filter3(T),filter4
> VS.
> !(filter1,filter2,filter3),filter4

Yes, feedback is tricky, no question. But with names you either have  
to accept that each time you need a particular feedback you have to  
hack the code of your filter (see my previous message), or you have to  
provide a some combinator to do it.

> And with multiple feedbacks we have seen that the !*, description is
> significantly less readable

Agreed, multiple feedback should only be handled with some carefully  
crafted abbreviation.

> So IMHO while the * operator might be worth considering, the way  
> feedbacks
> are handled is absolutely messy when there is more than 1 feedback.

We have a problem of terminology here: while I agree is difficult to  
follow, and clumsy to write, and that there might be better ways, I  
don't agree it's messy: it is very precise and well defined, it can be  
explained in one line, no further confusion is possible.

> Also i think ,* is unintuitiv |, might be better but then maybe not  
> i dunno

Not sure I understand, I expect "*" is the same as Vitor's ";" , just  
a different notation.

More information about the ffmpeg-devel mailing list