X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=doc%2Ffilters.texi;h=cefb8ad0c3235a48166d72fac2cfb00d1afb557b;hb=2f0f9a87d0e8d27ce6ad5b81134d01b9d2392cd1;hp=76266af37bb834485b4db9f9bbd41bf616f5ee8f;hpb=f0a7b67a356def037d26f9460b22c86d82be2b89;p=ffmpeg diff --git a/doc/filters.texi b/doc/filters.texi index 76266af37bb..cefb8ad0c32 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -110,7 +110,7 @@ The filter accepts a string of the form: the corresponding numeric value defined in @file{libavutil/samplefmt.h}. @var{channel_layout} specifies the channel layout, and can be a string -or the corresponding number value defined in @file{libavutil/chlayout.h}. +or the corresponding number value defined in @file{libavutil/audioconvert.h}. @var{packing_format} specifies the type of packing in output, can be one of "planar" or "packed", or the corresponding numeric values "0" or "1". @@ -198,7 +198,7 @@ seconds @item pos position of the frame in the input stream, -1 if this information in -unavailable and/or meanigless (for example in case of synthetic audio) +unavailable and/or meaningless (for example in case of synthetic audio) @item fmt sample format name @@ -216,13 +216,123 @@ sample rate for the audio frame if the packing format is planar, 0 if packed @item checksum -Adler-32 checksum of all the planes of the input frame +Adler-32 checksum (printed in hexadecimal) of all the planes of the input frame @item plane_checksum -Adler-32 checksum for each input frame plane, expressed in the form -"[@var{c0} @var{c1} @var{c2} @var{c3} @var{c4} @var{c5} @var{c6} @var{c7}]" +Adler-32 checksum (printed in hexadecimal) for each input frame plane, +expressed in the form "[@var{c0} @var{c1} @var{c2} @var{c3} @var{c4} @var{c5} +@var{c6} @var{c7}]" @end table +@section earwax + +Make audio easier to listen to on headphones. + +This filter adds `cues' to 44.1kHz stereo (i.e. audio CD format) audio +so that when listened to on headphones the stereo image is moved from +inside your head (standard for headphones) to outside and in front of +the listener (standard for speakers). + +Ported from SoX. + +@section pan + +Mix channels with specific gain levels. The filter accepts the output +channel layout followed by a set of channels definitions. + +The filter accepts parameters of the form: +"@var{l}:@var{outdef}:@var{outdef}:..." + +@table @option +@item l +output channel layout or number of channels + +@item outdef +output channel specification, of the form: +"@var{out_name}=[@var{gain}*]@var{in_name}[+[@var{gain}*]@var{in_name}...]" + +@item out_name +output channel to define, either a channel name (FL, FR, etc.) or a channel +number (c0, c1, etc.) + +@item gain +multiplicative coefficient for the channel, 1 leaving the volume unchanged + +@item in_name +input channel to use, see out_name for details; it is not possible to mix +named and numbered input channels +@end table + +If the `=' in a channel specification is replaced by `<', then the gains for +that specification will be renormalized so that the total is 1, thus +avoiding clipping noise. + +For example, if you want to down-mix from stereo to mono, but with a bigger +factor for the left channel: +@example +pan=1:c0=0.9*c0+0.1*c1 +@end example + +A customized down-mix to stereo that works automatically for 3-, 4-, 5- and +7-channels surround: +@example +pan=stereo: FL < FL + 0.5*FC + 0.6*BL + 0.6*SL : FR < FR + 0.5*FC + 0.6*BR + 0.6*SR +@end example + +Note that @file{ffmpeg} integrates a default down-mix (and up-mix) system +that should be preferred (see "-ac" option) unless you have very specific +needs. + +@section volume + +Adjust the input audio volume. + +The filter accepts exactly one parameter @var{vol}, which expresses +how the audio volume will be increased or decreased. + +Output values are clipped to the maximum value. + +If @var{vol} is expressed as a decimal number, and the output audio +volume is given by the relation: +@example +@var{output_volume} = @var{vol} * @var{input_volume} +@end example + +If @var{vol} is expressed as a decimal number followed by the string +"dB", the value represents the requested change in decibels of the +input audio power, and the output audio volume is given by the +relation: +@example +@var{output_volume} = 10^(@var{vol}/20) * @var{input_volume} +@end example + +Otherwise @var{vol} is considered an expression and its evaluated +value is used for computing the output audio volume according to the +first relation. + +Default value for @var{vol} is 1.0. + +@subsection Examples + +@itemize +@item +Half the input audio volume: +@example +volume=0.5 +@end example + +The above example is equivalent to: +@example +volume=1/2 +@end example + +@item +Decrease input audio power by 12 decibels: +@example +volume=-12dB +@end example +@end itemize + @c man end AUDIO FILTERS @chapter Audio Sources @@ -758,7 +868,7 @@ A description of the accepted parameters follows. @table @option @item x, y, w, h -Specify a rectangular area where to limit the sarch for motion +Specify a rectangular area where to limit the search for motion vectors. If desired the search for motion vectors can be limited to a rectangular area of the frame defined by its top left corner, width @@ -1077,7 +1187,7 @@ For more information about libfreetype, check: Apply fade-in/out effect to input video. It accepts the parameters: -@var{type}:@var{start_frame}:@var{nb_frames} +@var{type}:@var{start_frame}:@var{nb_frames}[:@var{options}] @var{type} specifies if the effect type, can be either "in" for fade-in, or "out" for a fade-out effect. @@ -1090,6 +1200,25 @@ effect has to last. At the end of the fade-in effect the output video will have the same intensity as the input video, at the end of the fade-out transition the output video will be completely black. +@var{options} is an optional sequence of @var{key}=@var{value} pairs, +separated by ":". The description of the accepted options follows. + +@table @option + +@item type, t +See @var{type}. + +@item start_frame, s +See @var{start_frame}. + +@item nb_frames, n +See @var{nb_frames}. + +@item alpha +If set to 1, fade only alpha channel, if one exists on the input. +Default value is 0. +@end table + A few usage examples follow, usable too as test scenarios. @example # fade in first 30 frames of video @@ -1103,6 +1232,9 @@ fade=in:0:25, fade=out:975:25 # make first 5 frames black, then fade in from frame 5-24 fade=in:5:20 + +# fade in alpha over first 25 frames of video +fade=in:0:25:alpha=1 @end example @section fieldorder @@ -1135,7 +1267,7 @@ which is bottom field first. For example: @example -./ffmpeg -i in.vob -vf "fieldorder=bff" out.dv +ffmpeg -i in.vob -vf "fieldorder=bff" out.dv @end example @section fifo @@ -1630,10 +1762,10 @@ Overlay one video on top of another. It takes two inputs and one output, the first input is the "main" video on which the second input is overlayed. -It accepts the parameters: @var{x}:@var{y}. +It accepts the parameters: @var{x}:@var{y}[:@var{options}]. @var{x} is the x coordinate of the overlayed video on the main video, -@var{y} is the y coordinate. The parameters are expressions containing +@var{y} is the y coordinate. @var{x} and @var{y} are expressions containing the following parameters: @table @option @@ -1650,6 +1782,17 @@ overlay input width and height same as @var{overlay_w} and @var{overlay_h} @end table +@var{options} is an optional list of @var{key}=@var{value} pairs, +separated by ":". + +The description of the accepted options follows. + +@table @option +@item rgb +If set to 1, force the filter to accept inputs in the RGB +colorspace. Default value is 0. +@end table + Be aware that frames are taken from each input video in timestamp order, hence, if their initial timestamps differ, it is a a good idea to pass the two inputs through a @var{setpts=PTS-STARTPTS} filter to @@ -1678,7 +1821,7 @@ movie=logo2.png [logo2]; color=red@.3:WxH [over]; [in][over] overlay [out] @end example -You can chain togheter more overlays but the efficiency of such +You can chain together more overlays but the efficiency of such approach is yet to be tested. @section pad @@ -2187,11 +2330,11 @@ the @code{av_get_picture_type_char} function defined in @file{libavutil/avutil.h}. @item checksum -Adler-32 checksum of all the planes of the input frame +Adler-32 checksum (printed in hexadecimal) of all the planes of the input frame @item plane_checksum -Adler-32 checksum of each plane of the input frame, expressed in the form -"[@var{c0} @var{c1} @var{c2} @var{c3}]" +Adler-32 checksum (printed in hexadecimal) of each plane of the input frame, +expressed in the form "[@var{c0} @var{c1} @var{c2} @var{c3}]" @end table @section slicify @@ -2200,7 +2343,7 @@ Pass the images of input video on to next video filter as multiple slices. @example -./ffmpeg -i in.avi -vf "slicify=32" out.avi +ffmpeg -i in.avi -vf "slicify=32" out.avi @end example The filter accepts the slice height as parameter. If the parameter is @@ -2312,7 +2455,7 @@ unsharp=7:7:2.5 unsharp=7:7:-2:7:7:-2 # Use the default values with @command{ffmpeg} -./ffmpeg -i in.avi -vf "unsharp" out.mp4 +ffmpeg -i in.avi -vf "unsharp" out.mp4 @end example @section vflip @@ -2320,7 +2463,7 @@ unsharp=7:7:-2:7:7:-2 Flip the input video vertically. @example -./ffmpeg -i in.avi -vf "vflip" out.avi +ffmpeg -i in.avi -vf "vflip" out.avi @end example @section yadif @@ -2391,7 +2534,7 @@ through the interface defined in @file{libavfilter/vsrc_buffer.h}. It accepts the following parameters: @var{width}:@var{height}:@var{pix_fmt_string}:@var{timebase_num}:@var{timebase_den}:@var{sample_aspect_ratio_num}:@var{sample_aspect_ratio.den}:@var{scale_params} -All the parameters but @var{scale_params} need to be explicitely +All the parameters but @var{scale_params} need to be explicitly defined. Follows the list of the accepted parameters.