[FFmpeg-devel] [PATCH 2/3] Add section describing the filtergraph.
Víctor Paesa
victorpaesa
Fri Nov 12 22:55:20 CET 2010
Hi,
On Fri, Nov 12, 2010 at 01:32, Stefano Sabatini wrote:
> ---
> ?doc/filters.texi | ? 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ?1 files changed, 86 insertions(+), 0 deletions(-)
>
> diff --git a/doc/filters.texi b/doc/filters.texi
> index 4750d32..d1ae815 100644
> --- a/doc/filters.texi
> +++ b/doc/filters.texi
> @@ -1,3 +1,89 @@
> + at chapter Filtergraph description
> + at c man begin FILTERGRAPH DESCRIPTION
> +
> +A filtergraph is a graph of connected filters.
> +
> +Each filter instance has a variable number of inputs and output pads,
> +which are used to connect it with other filters. A filter with no
> +input pads is called "source", a filter with no output pads is called
> +a "sink". A connection between an output pad and an input pad of a
> +filter is called a "link".
> +
> + at section Filtergraph syntax
> +
> +A filtergraph can be represented using a textual representation, which
> +is recognized by the @code{-vf} and @code{-af} options of the ff*
> +tools, and by the @code{av_parse_graph()} function defined in
> + at file{libavfilter/avfiltergraph}.
> +
> +A filtergraph is represented by a list of ";"-separated filterchain
> +descriptions. Each filterchain represents a sequence of connected
> +filterchain node filters (each one called "filternode").
> +
> +A filternode is represented by a string of the form:
> + at example
> +[@var{in_link_1}]...[@var{in_link_N}]@var{filter_name}=@var{arguments}[@var{out_link_1}]...[@var{out_link_M}]
> + at end example
> +
> + at var{filter_name} is the name of a filter, optionally
> +followed by a string "=@var{arguments}", and eventually preceded and
> +followed by a list of link labels.
> +
> + at var{arguments} is a string representing the parameters used to
> +initialize the corresponding filter instance, and are described in the
> +filters descriptions below.
> +
> +The list of arguments can be quoted using the character "'" as initial
> +and ending mark, and the character '\' for escaping the characters
> +within the quoted text; otherwise the argument string is considered
> +terminated when the next special character (belonging to the set
> +"[]=;,") is encountered.
> +
> +A link label allows to name a link and associate it to an output or
> +input pad of a filternode. @var{in_link_1}, ..., @var{in_link_N} are
> +associated to the input pads of the filter instance, and
> + at var{out_link_1}, ..., at var{out_link_M} to the output pads.
> +
> +If an output pad is not labelled, it is linked by default to the first
> +non-labelled input pad of the next filter in the filterchain.
> +
> +For example in the filterchain:
> + at example
> +nullsrc, split[l1], [l2]overlay, nullsink;
> + at end example
> +
> +split has two output pads, and overlay two input pads. The first
> +output pad of split is labelled "l1", the first input pad of
> +overlay is labelled "l2", and the second output pad of split is linked
> +to the second input pad of overlay, which are both unlabelled.
I think is more legible to user uppercase "L1" and "L2", as
lowercase l looks nearly the same as 1 in many font types.
Regards,
V?ctor
More information about the ffmpeg-devel
mailing list