@end example
can be used to create and display an image representing the graph
-described by the @var{GRAPH_DESCRIPTION} string.
+described by the @var{GRAPH_DESCRIPTION} string. Note that this string must be
+a complete self-contained graph, with its inputs and outputs explicitly defined.
+For example if your command line is of the form:
+@example
+ffmpeg -i infile -vf scale=640:360 outfile
+@end example
+your @var{GRAPH_DESCRIPTION} string will need to be of the form:
+@example
+nullsrc,scale=640:360,nullsink
+@end example
+you may also need to set the @var{nullsrc} parameters and add a @var{format}
+filter in order to simulate a specific input file.
@c man end GRAPH2DOT
@table @option
@item compensate
-Enable stretching/squeezing the data to make it match the timestamps.
+Enable stretching/squeezing the data to make it match the timestamps. Disabled
+by default. When disabled, time gaps are covered with silence.
@item min_delta
Minimum difference between timestamps and audio data (in seconds) to trigger
-adding/dropping samples.
+adding/dropping samples. Default value is 0.1. If you get non-perfect sync with
+this filter, try setting this parameter to 0.
@item max_comp
-Maximum compensation in samples per second.
+Maximum compensation in samples per second. Relevant only with compensate=1.
+Default value 500.
@item first_pts
Assume the first pts should be this value.
defaults to 1.0.
@end table
+The @var{h}, @var{H} and @var{s} parameters are expressions containing the
+following constants:
+
+@table @option
+@item n
+frame count of the input frame starting from 0
+
+@item pts
+presentation timestamp of the input frame expressed in time base units
+
+@item r
+frame rate of the input video, NAN if the input frame rate is unknown
+
+@item t
+timestamp expressed in seconds, NAN if the input timestamp is unknown
+
+@item tb
+time base of the input video
+@end table
+
The options can also be set using the syntax: @var{hue}:@var{saturation}
In this case @var{hue} is expressed in degrees.
@example
hue=PI/2:1
@end example
+
+@item
+Rotate hue and make the saturation swing between 0
+and 2 over a period of 1 second:
+@example
+hue="H=2*PI*t: s=sin(2*PI*t)+1"
+@end example
+
+@item
+Apply a 3 seconds saturation fade-in effect starting at 0:
+@example
+hue="s=min(t/3\,1)"
+@end example
+
+The general fade-in expression can be written as:
+@example
+hue="s=min(0\, max((t-START)/DURATION\, 1))"
+@end example
+
+@item
+Apply a 3 seconds saturation fade-out effect starting at 5 seconds:
+@example
+hue="s=max(0\, min(1\, (8-t)/3))"
+@end example
+
+The general fade-out expression can be written as:
+@example
+hue="s=max(0\, min(1\, (START+DURATION-t)/DURATION))"
+@end example
+
@end itemize
@subsection Commands
@item pullup
@item qp
@item rectangle
-@item rotate
@item sab
@item softpulldown
@item softskip
the "VIDEO FILTERS" section in the MPlayer manual.
Some examples follow:
+@itemize
+@item
+Adjust gamma, brightness, contrast:
@example
-# adjust gamma, brightness, contrast
mp=eq2=1.0:2:0.5
+@end example
-# tweak hue and saturation
-mp=hue=100:-10
+@item
+Add temporal noise to input video:
+@example
+mp=noise=20t
@end example
+@end itemize
See also mplayer(1), @url{http://www.mplayerhq.hu/}.
values:
@table @samp
-@item 0
+@item 0, 4
Rotate by 90 degrees counterclockwise and vertically flip (default), that is:
@example
L.R L.l
l.r R.r
@end example
-@item 1
+@item 1, 5
Rotate by 90 degrees clockwise, that is:
@example
L.R l.L
l.r r.R
@end example
-@item 2
+@item 2, 6
Rotate by 90 degrees counterclockwise, that is:
@example
L.R R.r
l.r L.l
@end example
-@item 3
+@item 3, 7
Rotate by 90 degrees clockwise and vertically flip, that is:
@example
L.R r.R
@end example
@end table
+For values between 4-7 transposition is only done if the input video
+geometry is portrait and not landscape.
+
@section unsharp
Sharpen or blur the input video.
can contain the following constants:
@table @option
+@item FRAME_RATE
+frame rate, only defined for constant frame-rate video
+
@item PTS
the presentation timestamp in input