1FFPROBE-ALL(1)                                                  FFPROBE-ALL(1)
2
3
4

NAME

6       ffprobe - ffprobe media prober
7

SYNOPSIS

9       ffprobe [options] [input_url]
10

DESCRIPTION

12       ffprobe gathers information from multimedia streams and prints it in
13       human- and machine-readable fashion.
14
15       For example it can be used to check the format of the container used by
16       a multimedia stream and the format and type of each media stream
17       contained in it.
18
19       If a url is specified in input, ffprobe will try to open and probe the
20       url content. If the url cannot be opened or recognized as a multimedia
21       file, a positive exit code is returned.
22
23       ffprobe may be employed both as a standalone application or in
24       combination with a textual filter, which may perform more sophisticated
25       processing, e.g. statistical processing or plotting.
26
27       Options are used to list some of the formats supported by ffprobe or
28       for specifying which information to display, and for setting how
29       ffprobe will show it.
30
31       ffprobe output is designed to be easily parsable by a textual filter,
32       and consists of one or more sections of a form defined by the selected
33       writer, which is specified by the print_format option.
34
35       Sections may contain other nested sections, and are identified by a
36       name (which may be shared by other sections), and an unique name. See
37       the output of sections.
38
39       Metadata tags stored in the container or in the streams are recognized
40       and printed in the corresponding "FORMAT", "STREAM" or "PROGRAM_STREAM"
41       section.
42

OPTIONS

44       All the numerical options, if not specified otherwise, accept a string
45       representing a number as input, which may be followed by one of the SI
46       unit prefixes, for example: 'K', 'M', or 'G'.
47
48       If 'i' is appended to the SI unit prefix, the complete prefix will be
49       interpreted as a unit prefix for binary multiples, which are based on
50       powers of 1024 instead of powers of 1000. Appending 'B' to the SI unit
51       prefix multiplies the value by 8. This allows using, for example: 'KB',
52       'MiB', 'G' and 'B' as number suffixes.
53
54       Options which do not take arguments are boolean options, and set the
55       corresponding value to true. They can be set to false by prefixing the
56       option name with "no". For example using "-nofoo" will set the boolean
57       option with name "foo" to false.
58
59   Stream specifiers
60       Some options are applied per-stream, e.g. bitrate or codec. Stream
61       specifiers are used to precisely specify which stream(s) a given option
62       belongs to.
63
64       A stream specifier is a string generally appended to the option name
65       and separated from it by a colon. E.g. "-codec:a:1 ac3" contains the
66       "a:1" stream specifier, which matches the second audio stream.
67       Therefore, it would select the ac3 codec for the second audio stream.
68
69       A stream specifier can match several streams, so that the option is
70       applied to all of them. E.g. the stream specifier in "-b:a 128k"
71       matches all audio streams.
72
73       An empty stream specifier matches all streams. For example, "-codec
74       copy" or "-codec: copy" would copy all the streams without reencoding.
75
76       Possible forms of stream specifiers are:
77
78       stream_index
79           Matches the stream with this index. E.g. "-threads:1 4" would set
80           the thread count for the second stream to 4. If stream_index is
81           used as an additional stream specifier (see below), then it selects
82           stream number stream_index from the matching streams. Stream
83           numbering is based on the order of the streams as detected by
84           libavformat except when a program ID is also specified. In this
85           case it is based on the ordering of the streams in the program.
86
87       stream_type[:additional_stream_specifier]
88           stream_type is one of following: 'v' or 'V' for video, 'a' for
89           audio, 's' for subtitle, 'd' for data, and 't' for attachments. 'v'
90           matches all video streams, 'V' only matches video streams which are
91           not attached pictures, video thumbnails or cover arts. If
92           additional_stream_specifier is used, then it matches streams which
93           both have this type and match the additional_stream_specifier.
94           Otherwise, it matches all streams of the specified type.
95
96       p:program_id[:additional_stream_specifier]
97           Matches streams which are in the program with the id program_id. If
98           additional_stream_specifier is used, then it matches streams which
99           both are part of the program and match the
100           additional_stream_specifier.
101
102       #stream_id or i:stream_id
103           Match the stream by stream id (e.g. PID in MPEG-TS container).
104
105       m:key[:value]
106           Matches streams with the metadata tag key having the specified
107           value. If value is not given, matches streams that contain the
108           given tag with any value.
109
110       u   Matches streams with usable configuration, the codec must be
111           defined and the essential information such as video dimension or
112           audio sample rate must be present.
113
114           Note that in ffmpeg, matching by metadata will only work properly
115           for input files.
116
117   Generic options
118       These options are shared amongst the ff* tools.
119
120       -L  Show license.
121
122       -h, -?, -help, --help [arg]
123           Show help. An optional parameter may be specified to print help
124           about a specific item. If no argument is specified, only basic (non
125           advanced) tool options are shown.
126
127           Possible values of arg are:
128
129           long
130               Print advanced tool options in addition to the basic tool
131               options.
132
133           full
134               Print complete list of options, including shared and private
135               options for encoders, decoders, demuxers, muxers, filters, etc.
136
137           decoder=decoder_name
138               Print detailed information about the decoder named
139               decoder_name. Use the -decoders option to get a list of all
140               decoders.
141
142           encoder=encoder_name
143               Print detailed information about the encoder named
144               encoder_name. Use the -encoders option to get a list of all
145               encoders.
146
147           demuxer=demuxer_name
148               Print detailed information about the demuxer named
149               demuxer_name. Use the -formats option to get a list of all
150               demuxers and muxers.
151
152           muxer=muxer_name
153               Print detailed information about the muxer named muxer_name.
154               Use the -formats option to get a list of all muxers and
155               demuxers.
156
157           filter=filter_name
158               Print detailed information about the filter named filter_name.
159               Use the -filters option to get a list of all filters.
160
161           bsf=bitstream_filter_name
162               Print detailed information about the bitstream filter named
163               bitstream_filter_name.  Use the -bsfs option to get a list of
164               all bitstream filters.
165
166           protocol=protocol_name
167               Print detailed information about the protocol named
168               protocol_name.  Use the -protocols option to get a list of all
169               protocols.
170
171       -version
172           Show version.
173
174       -buildconf
175           Show the build configuration, one option per line.
176
177       -formats
178           Show available formats (including devices).
179
180       -demuxers
181           Show available demuxers.
182
183       -muxers
184           Show available muxers.
185
186       -devices
187           Show available devices.
188
189       -codecs
190           Show all codecs known to libavcodec.
191
192           Note that the term 'codec' is used throughout this documentation as
193           a shortcut for what is more correctly called a media bitstream
194           format.
195
196       -decoders
197           Show available decoders.
198
199       -encoders
200           Show all available encoders.
201
202       -bsfs
203           Show available bitstream filters.
204
205       -protocols
206           Show available protocols.
207
208       -filters
209           Show available libavfilter filters.
210
211       -pix_fmts
212           Show available pixel formats.
213
214       -sample_fmts
215           Show available sample formats.
216
217       -layouts
218           Show channel names and standard channel layouts.
219
220       -dispositions
221           Show stream dispositions.
222
223       -colors
224           Show recognized color names.
225
226       -sources device[,opt1=val1[,opt2=val2]...]
227           Show autodetected sources of the input device.  Some devices may
228           provide system-dependent source names that cannot be autodetected.
229           The returned list cannot be assumed to be always complete.
230
231                   ffmpeg -sources pulse,server=192.168.0.4
232
233       -sinks device[,opt1=val1[,opt2=val2]...]
234           Show autodetected sinks of the output device.  Some devices may
235           provide system-dependent sink names that cannot be autodetected.
236           The returned list cannot be assumed to be always complete.
237
238                   ffmpeg -sinks pulse,server=192.168.0.4
239
240       -loglevel [flags+]loglevel | -v [flags+]loglevel
241           Set logging level and flags used by the library.
242
243           The optional flags prefix can consist of the following values:
244
245           repeat
246               Indicates that repeated log output should not be compressed to
247               the first line and the "Last message repeated n times" line
248               will be omitted.
249
250           level
251               Indicates that log output should add a "[level]" prefix to each
252               message line. This can be used as an alternative to log
253               coloring, e.g. when dumping the log to file.
254
255           Flags can also be used alone by adding a '+'/'-' prefix to
256           set/reset a single flag without affecting other flags or changing
257           loglevel. When setting both flags and loglevel, a '+' separator is
258           expected between the last flags value and before loglevel.
259
260           loglevel is a string or a number containing one of the following
261           values:
262
263           quiet, -8
264               Show nothing at all; be silent.
265
266           panic, 0
267               Only show fatal errors which could lead the process to crash,
268               such as an assertion failure. This is not currently used for
269               anything.
270
271           fatal, 8
272               Only show fatal errors. These are errors after which the
273               process absolutely cannot continue.
274
275           error, 16
276               Show all errors, including ones which can be recovered from.
277
278           warning, 24
279               Show all warnings and errors. Any message related to possibly
280               incorrect or unexpected events will be shown.
281
282           info, 32
283               Show informative messages during processing. This is in
284               addition to warnings and errors. This is the default value.
285
286           verbose, 40
287               Same as "info", except more verbose.
288
289           debug, 48
290               Show everything, including debugging information.
291
292           trace, 56
293
294           For example to enable repeated log output, add the "level" prefix,
295           and set loglevel to "verbose":
296
297                   ffmpeg -loglevel repeat+level+verbose -i input output
298
299           Another example that enables repeated log output without affecting
300           current state of "level" prefix flag or loglevel:
301
302                   ffmpeg [...] -loglevel +repeat
303
304           By default the program logs to stderr. If coloring is supported by
305           the terminal, colors are used to mark errors and warnings. Log
306           coloring can be disabled setting the environment variable
307           AV_LOG_FORCE_NOCOLOR, or can be forced setting the environment
308           variable AV_LOG_FORCE_COLOR.
309
310       -report
311           Dump full command line and log output to a file named
312           "program-YYYYMMDD-HHMMSS.log" in the current directory.  This file
313           can be useful for bug reports.  It also implies "-loglevel debug".
314
315           Setting the environment variable FFREPORT to any value has the same
316           effect. If the value is a ':'-separated key=value sequence, these
317           options will affect the report; option values must be escaped if
318           they contain special characters or the options delimiter ':' (see
319           the ``Quoting and escaping'' section in the ffmpeg-utils manual).
320
321           The following options are recognized:
322
323           file
324               set the file name to use for the report; %p is expanded to the
325               name of the program, %t is expanded to a timestamp, "%%" is
326               expanded to a plain "%"
327
328           level
329               set the log verbosity level using a numerical value (see
330               "-loglevel").
331
332           For example, to output a report to a file named ffreport.log using
333           a log level of 32 (alias for log level "info"):
334
335                   FFREPORT=file=ffreport.log:level=32 ffmpeg -i input output
336
337           Errors in parsing the environment variable are not fatal, and will
338           not appear in the report.
339
340       -hide_banner
341           Suppress printing banner.
342
343           All FFmpeg tools will normally show a copyright notice, build
344           options and library versions. This option can be used to suppress
345           printing this information.
346
347       -cpuflags flags (global)
348           Allows setting and clearing cpu flags. This option is intended for
349           testing. Do not use it unless you know what you're doing.
350
351                   ffmpeg -cpuflags -sse+mmx ...
352                   ffmpeg -cpuflags mmx ...
353                   ffmpeg -cpuflags 0 ...
354
355           Possible flags for this option are:
356
357           x86
358               mmx
359               mmxext
360               sse
361               sse2
362               sse2slow
363               sse3
364               sse3slow
365               ssse3
366               atom
367               sse4.1
368               sse4.2
369               avx
370               avx2
371               xop
372               fma3
373               fma4
374               3dnow
375               3dnowext
376               bmi1
377               bmi2
378               cmov
379           ARM
380               armv5te
381               armv6
382               armv6t2
383               vfp
384               vfpv3
385               neon
386               setend
387           AArch64
388               armv8
389               vfp
390               neon
391           PowerPC
392               altivec
393           Specific Processors
394               pentium2
395               pentium3
396               pentium4
397               k6
398               k62
399               athlon
400               athlonxp
401               k8
402       -cpucount count (global)
403           Override detection of CPU count. This option is intended for
404           testing. Do not use it unless you know what you're doing.
405
406                   ffmpeg -cpucount 2
407
408       -max_alloc bytes
409           Set the maximum size limit for allocating a block on the heap by
410           ffmpeg's family of malloc functions. Exercise extreme caution when
411           using this option. Don't use if you do not understand the full
412           consequence of doing so.  Default is INT_MAX.
413
414   AVOptions
415       These options are provided directly by the libavformat, libavdevice and
416       libavcodec libraries. To see the list of available AVOptions, use the
417       -help option. They are separated into two categories:
418
419       generic
420           These options can be set for any container, codec or device.
421           Generic options are listed under AVFormatContext options for
422           containers/devices and under AVCodecContext options for codecs.
423
424       private
425           These options are specific to the given container, device or codec.
426           Private options are listed under their corresponding
427           containers/devices/codecs.
428
429       For example to write an ID3v2.3 header instead of a default ID3v2.4 to
430       an MP3 file, use the id3v2_version private option of the MP3 muxer:
431
432               ffmpeg -i input.flac -id3v2_version 3 out.mp3
433
434       All codec AVOptions are per-stream, and thus a stream specifier should
435       be attached to them:
436
437               ffmpeg -i multichannel.mxf -map 0:v:0 -map 0:a:0 -map 0:a:0 -c:a:0 ac3 -b:a:0 640k -ac:a:1 2 -c:a:1 aac -b:2 128k out.mp4
438
439       In the above example, a multichannel audio stream is mapped twice for
440       output.  The first instance is encoded with codec ac3 and bitrate 640k.
441       The second instance is downmixed to 2 channels and encoded with codec
442       aac. A bitrate of 128k is specified for it using absolute index of the
443       output stream.
444
445       Note: the -nooption syntax cannot be used for boolean AVOptions, use
446       -option 0/-option 1.
447
448       Note: the old undocumented way of specifying per-stream AVOptions by
449       prepending v/a/s to the options name is now obsolete and will be
450       removed soon.
451
452   Main options
453       -f format
454           Force format to use.
455
456       -unit
457           Show the unit of the displayed values.
458
459       -prefix
460           Use SI prefixes for the displayed values.  Unless the
461           "-byte_binary_prefix" option is used all the prefixes are decimal.
462
463       -byte_binary_prefix
464           Force the use of binary prefixes for byte values.
465
466       -sexagesimal
467           Use sexagesimal format HH:MM:SS.MICROSECONDS for time values.
468
469       -pretty
470           Prettify the format of the displayed values, it corresponds to the
471           options "-unit -prefix -byte_binary_prefix -sexagesimal".
472
473       -of, -print_format writer_name[=writer_options]
474           Set the output printing format.
475
476           writer_name specifies the name of the writer, and writer_options
477           specifies the options to be passed to the writer.
478
479           For example for printing the output in JSON format, specify:
480
481                   -print_format json
482
483           For more details on the available output printing formats, see the
484           Writers section below.
485
486       -sections
487           Print sections structure and section information, and exit. The
488           output is not meant to be parsed by a machine.
489
490       -select_streams stream_specifier
491           Select only the streams specified by stream_specifier. This option
492           affects only the options related to streams (e.g. "show_streams",
493           "show_packets", etc.).
494
495           For example to show only audio streams, you can use the command:
496
497                   ffprobe -show_streams -select_streams a INPUT
498
499           To show only video packets belonging to the video stream with index
500           1:
501
502                   ffprobe -show_packets -select_streams v:1 INPUT
503
504       -show_data
505           Show payload data, as a hexadecimal and ASCII dump. Coupled with
506           -show_packets, it will dump the packets' data. Coupled with
507           -show_streams, it will dump the codec extradata.
508
509           The dump is printed as the "data" field. It may contain newlines.
510
511       -show_data_hash algorithm
512           Show a hash of payload data, for packets with -show_packets and for
513           codec extradata with -show_streams.
514
515       -show_error
516           Show information about the error found when trying to probe the
517           input.
518
519           The error information is printed within a section with name
520           "ERROR".
521
522       -show_format
523           Show information about the container format of the input multimedia
524           stream.
525
526           All the container format information is printed within a section
527           with name "FORMAT".
528
529       -show_format_entry name
530           Like -show_format, but only prints the specified entry of the
531           container format information, rather than all. This option may be
532           given more than once, then all specified entries will be shown.
533
534           This option is deprecated, use "show_entries" instead.
535
536       -show_entries section_entries
537           Set list of entries to show.
538
539           Entries are specified according to the following syntax.
540           section_entries contains a list of section entries separated by
541           ":". Each section entry is composed by a section name (or unique
542           name), optionally followed by a list of entries local to that
543           section, separated by ",".
544
545           If section name is specified but is followed by no "=", all entries
546           are printed to output, together with all the contained sections.
547           Otherwise only the entries specified in the local section entries
548           list are printed. In particular, if "=" is specified but the list
549           of local entries is empty, then no entries will be shown for that
550           section.
551
552           Note that the order of specification of the local section entries
553           is not honored in the output, and the usual display order will be
554           retained.
555
556           The formal syntax is given by:
557
558                   <LOCAL_SECTION_ENTRIES> ::= <SECTION_ENTRY_NAME>[,<LOCAL_SECTION_ENTRIES>]
559                   <SECTION_ENTRY>         ::= <SECTION_NAME>[=[<LOCAL_SECTION_ENTRIES>]]
560                   <SECTION_ENTRIES>       ::= <SECTION_ENTRY>[:<SECTION_ENTRIES>]
561
562           For example, to show only the index and type of each stream, and
563           the PTS time, duration time, and stream index of the packets, you
564           can specify the argument:
565
566                   packet=pts_time,duration_time,stream_index : stream=index,codec_type
567
568           To show all the entries in the section "format", but only the codec
569           type in the section "stream", specify the argument:
570
571                   format : stream=codec_type
572
573           To show all the tags in the stream and format sections:
574
575                   stream_tags : format_tags
576
577           To show only the "title" tag (if available) in the stream sections:
578
579                   stream_tags=title
580
581       -show_packets
582           Show information about each packet contained in the input
583           multimedia stream.
584
585           The information for each single packet is printed within a
586           dedicated section with name "PACKET".
587
588       -show_frames
589           Show information about each frame and subtitle contained in the
590           input multimedia stream.
591
592           The information for each single frame is printed within a dedicated
593           section with name "FRAME" or "SUBTITLE".
594
595       -show_log loglevel
596           Show logging information from the decoder about each frame
597           according to the value set in loglevel, (see "-loglevel"). This
598           option requires "-show_frames".
599
600           The information for each log message is printed within a dedicated
601           section with name "LOG".
602
603       -show_streams
604           Show information about each media stream contained in the input
605           multimedia stream.
606
607           Each media stream information is printed within a dedicated section
608           with name "STREAM".
609
610       -show_programs
611           Show information about programs and their streams contained in the
612           input multimedia stream.
613
614           Each media stream information is printed within a dedicated section
615           with name "PROGRAM_STREAM".
616
617       -show_chapters
618           Show information about chapters stored in the format.
619
620           Each chapter is printed within a dedicated section with name
621           "CHAPTER".
622
623       -count_frames
624           Count the number of frames per stream and report it in the
625           corresponding stream section.
626
627       -count_packets
628           Count the number of packets per stream and report it in the
629           corresponding stream section.
630
631       -read_intervals read_intervals
632           Read only the specified intervals. read_intervals must be a
633           sequence of interval specifications separated by ",".  ffprobe will
634           seek to the interval starting point, and will continue reading from
635           that.
636
637           Each interval is specified by two optional parts, separated by "%".
638
639           The first part specifies the interval start position. It is
640           interpreted as an absolute position, or as a relative offset from
641           the current position if it is preceded by the "+" character. If
642           this first part is not specified, no seeking will be performed when
643           reading this interval.
644
645           The second part specifies the interval end position. It is
646           interpreted as an absolute position, or as a relative offset from
647           the current position if it is preceded by the "+" character. If the
648           offset specification starts with "#", it is interpreted as the
649           number of packets to read (not including the flushing packets) from
650           the interval start. If no second part is specified, the program
651           will read until the end of the input.
652
653           Note that seeking is not accurate, thus the actual interval start
654           point may be different from the specified position. Also, when an
655           interval duration is specified, the absolute end time will be
656           computed by adding the duration to the interval start point found
657           by seeking the file, rather than to the specified start value.
658
659           The formal syntax is given by:
660
661                   <INTERVAL>  ::= [<START>|+<START_OFFSET>][%[<END>|+<END_OFFSET>]]
662                   <INTERVALS> ::= <INTERVAL>[,<INTERVALS>]
663
664           A few examples follow.
665
666           •   Seek to time 10, read packets until 20 seconds after the found
667               seek point, then seek to position "01:30" (1 minute and thirty
668               seconds) and read packets until position "01:45".
669
670                       10%+20,01:30%01:45
671
672           •   Read only 42 packets after seeking to position "01:23":
673
674                       01:23%+#42
675
676           •   Read only the first 20 seconds from the start:
677
678                       %+20
679
680           •   Read from the start until position "02:30":
681
682                       %02:30
683
684       -show_private_data, -private
685           Show private data, that is data depending on the format of the
686           particular shown element.  This option is enabled by default, but
687           you may need to disable it for specific uses, for example when
688           creating XSD-compliant XML output.
689
690       -show_program_version
691           Show information related to program version.
692
693           Version information is printed within a section with name
694           "PROGRAM_VERSION".
695
696       -show_library_versions
697           Show information related to library versions.
698
699           Version information for each library is printed within a section
700           with name "LIBRARY_VERSION".
701
702       -show_versions
703           Show information related to program and library versions. This is
704           the equivalent of setting both -show_program_version and
705           -show_library_versions options.
706
707       -show_pixel_formats
708           Show information about all pixel formats supported by FFmpeg.
709
710           Pixel format information for each format is printed within a
711           section with name "PIXEL_FORMAT".
712
713       -show_optional_fields value
714           Some writers viz. JSON and XML, omit the printing of fields with
715           invalid or non-applicable values, while other writers always print
716           them. This option enables one to control this behaviour.  Valid
717           values are "always"/1, "never"/0 and "auto"/"-1".  Default is auto.
718
719       -bitexact
720           Force bitexact output, useful to produce output which is not
721           dependent on the specific build.
722
723       -i input_url
724           Read input_url.
725

WRITERS

727       A writer defines the output format adopted by ffprobe, and will be used
728       for printing all the parts of the output.
729
730       A writer may accept one or more arguments, which specify the options to
731       adopt. The options are specified as a list of key=value pairs,
732       separated by ":".
733
734       All writers support the following options:
735
736       string_validation, sv
737           Set string validation mode.
738
739           The following values are accepted.
740
741           fail
742               The writer will fail immediately in case an invalid string
743               (UTF-8) sequence or code point is found in the input. This is
744               especially useful to validate input metadata.
745
746           ignore
747               Any validation error will be ignored. This will result in
748               possibly broken output, especially with the json or xml writer.
749
750           replace
751               The writer will substitute invalid UTF-8 sequences or code
752               points with the string specified with the
753               string_validation_replacement.
754
755           Default value is replace.
756
757       string_validation_replacement, svr
758           Set replacement string to use in case string_validation is set to
759           replace.
760
761           In case the option is not specified, the writer will assume the
762           empty string, that is it will remove the invalid sequences from the
763           input strings.
764
765       A description of the currently available writers follows.
766
767   default
768       Default format.
769
770       Print each section in the form:
771
772               [SECTION]
773               key1=val1
774               ...
775               keyN=valN
776               [/SECTION]
777
778       Metadata tags are printed as a line in the corresponding FORMAT, STREAM
779       or PROGRAM_STREAM section, and are prefixed by the string "TAG:".
780
781       A description of the accepted options follows.
782
783       nokey, nk
784           If set to 1 specify not to print the key of each field. Default
785           value is 0.
786
787       noprint_wrappers, nw
788           If set to 1 specify not to print the section header and footer.
789           Default value is 0.
790
791   compact, csv
792       Compact and CSV format.
793
794       The "csv" writer is equivalent to "compact", but supports different
795       defaults.
796
797       Each section is printed on a single line.  If no option is specified,
798       the output has the form:
799
800               section|key1=val1| ... |keyN=valN
801
802       Metadata tags are printed in the corresponding "format" or "stream"
803       section. A metadata tag key, if printed, is prefixed by the string
804       "tag:".
805
806       The description of the accepted options follows.
807
808       item_sep, s
809           Specify the character to use for separating fields in the output
810           line.  It must be a single printable character, it is "|" by
811           default ("," for the "csv" writer).
812
813       nokey, nk
814           If set to 1 specify not to print the key of each field. Its default
815           value is 0 (1 for the "csv" writer).
816
817       escape, e
818           Set the escape mode to use, default to "c" ("csv" for the "csv"
819           writer).
820
821           It can assume one of the following values:
822
823           c   Perform C-like escaping. Strings containing a newline (\n),
824               carriage return (\r), a tab (\t), a form feed (\f), the
825               escaping character (\) or the item separator character SEP are
826               escaped using C-like fashioned escaping, so that a newline is
827               converted to the sequence \n, a carriage return to \r, \ to \\
828               and the separator SEP is converted to \SEP.
829
830           csv Perform CSV-like escaping, as described in RFC4180.  Strings
831               containing a newline (\n), a carriage return (\r), a double
832               quote ("), or SEP are enclosed in double-quotes.
833
834           none
835               Perform no escaping.
836
837       print_section, p
838           Print the section name at the beginning of each line if the value
839           is 1, disable it with value set to 0. Default value is 1.
840
841   flat
842       Flat format.
843
844       A free-form output where each line contains an explicit key=value, such
845       as "streams.stream.3.tags.foo=bar". The output is shell escaped, so it
846       can be directly embedded in sh scripts as long as the separator
847       character is an alphanumeric character or an underscore (see sep_char
848       option).
849
850       The description of the accepted options follows.
851
852       sep_char, s
853           Separator character used to separate the chapter, the section name,
854           IDs and potential tags in the printed field key.
855
856           Default value is ..
857
858       hierarchical, h
859           Specify if the section name specification should be hierarchical.
860           If set to 1, and if there is more than one section in the current
861           chapter, the section name will be prefixed by the name of the
862           chapter. A value of 0 will disable this behavior.
863
864           Default value is 1.
865
866   ini
867       INI format output.
868
869       Print output in an INI based format.
870
871       The following conventions are adopted:
872
873       •   all key and values are UTF-8
874
875       •   . is the subgroup separator
876
877       •   newline, \t, \f, \b and the following characters are escaped
878
879       •   \ is the escape character
880
881       •   # is the comment indicator
882
883       •   = is the key/value separator
884
885       •   : is not used but usually parsed as key/value separator
886
887       This writer accepts options as a list of key=value pairs, separated by
888       :.
889
890       The description of the accepted options follows.
891
892       hierarchical, h
893           Specify if the section name specification should be hierarchical.
894           If set to 1, and if there is more than one section in the current
895           chapter, the section name will be prefixed by the name of the
896           chapter. A value of 0 will disable this behavior.
897
898           Default value is 1.
899
900   json
901       JSON based format.
902
903       Each section is printed using JSON notation.
904
905       The description of the accepted options follows.
906
907       compact, c
908           If set to 1 enable compact output, that is each section will be
909           printed on a single line. Default value is 0.
910
911       For more information about JSON, see <http://www.json.org/>.
912
913   xml
914       XML based format.
915
916       The XML output is described in the XML schema description file
917       ffprobe.xsd installed in the FFmpeg datadir.
918
919       An updated version of the schema can be retrieved at the url
920       <http://www.ffmpeg.org/schema/ffprobe.xsd>, which redirects to the
921       latest schema committed into the FFmpeg development source code tree.
922
923       Note that the output issued will be compliant to the ffprobe.xsd schema
924       only when no special global output options (unit, prefix,
925       byte_binary_prefix, sexagesimal etc.) are specified.
926
927       The description of the accepted options follows.
928
929       fully_qualified, q
930           If set to 1 specify if the output should be fully qualified.
931           Default value is 0.  This is required for generating an XML file
932           which can be validated through an XSD file.
933
934       xsd_strict, x
935           If set to 1 perform more checks for ensuring that the output is XSD
936           compliant. Default value is 0.  This option automatically sets
937           fully_qualified to 1.
938
939       For more information about the XML format, see
940       <https://www.w3.org/XML/>.
941

TIMECODE

943       ffprobe supports Timecode extraction:
944
945       •   MPEG1/2 timecode is extracted from the GOP, and is available in the
946           video stream details (-show_streams, see timecode).
947
948       •   MOV timecode is extracted from tmcd track, so is available in the
949           tmcd stream metadata (-show_streams, see TAG:timecode).
950
951       •   DV, GXF and AVI timecodes are available in format metadata
952           (-show_format, see TAG:timecode).
953

SYNTAX

955       This section documents the syntax and formats employed by the FFmpeg
956       libraries and tools.
957
958   Quoting and escaping
959       FFmpeg adopts the following quoting and escaping mechanism, unless
960       explicitly specified. The following rules are applied:
961
962       •   ' and \ are special characters (respectively used for quoting and
963           escaping). In addition to them, there might be other special
964           characters depending on the specific syntax where the escaping and
965           quoting are employed.
966
967       •   A special character is escaped by prefixing it with a \.
968
969       •   All characters enclosed between '' are included literally in the
970           parsed string. The quote character ' itself cannot be quoted, so
971           you may need to close the quote and escape it.
972
973       •   Leading and trailing whitespaces, unless escaped or quoted, are
974           removed from the parsed string.
975
976       Note that you may need to add a second level of escaping when using the
977       command line or a script, which depends on the syntax of the adopted
978       shell language.
979
980       The function "av_get_token" defined in libavutil/avstring.h can be used
981       to parse a token quoted or escaped according to the rules defined
982       above.
983
984       The tool tools/ffescape in the FFmpeg source tree can be used to
985       automatically quote or escape a string in a script.
986
987       Examples
988
989       •   Escape the string "Crime d'Amour" containing the "'" special
990           character:
991
992                   Crime d\'Amour
993
994       •   The string above contains a quote, so the "'" needs to be escaped
995           when quoting it:
996
997                   'Crime d'\''Amour'
998
999       •   Include leading or trailing whitespaces using quoting:
1000
1001                   '  this string starts and ends with whitespaces  '
1002
1003       •   Escaping and quoting can be mixed together:
1004
1005                   ' The string '\'string\'' is a string '
1006
1007       •   To include a literal \ you can use either escaping or quoting:
1008
1009                   'c:\foo' can be written as c:\\foo
1010
1011   Date
1012       The accepted syntax is:
1013
1014               [(YYYY-MM-DD|YYYYMMDD)[T|t| ]]((HH:MM:SS[.m...]]])|(HHMMSS[.m...]]]))[Z]
1015               now
1016
1017       If the value is "now" it takes the current time.
1018
1019       Time is local time unless Z is appended, in which case it is
1020       interpreted as UTC.  If the year-month-day part is not specified it
1021       takes the current year-month-day.
1022
1023   Time duration
1024       There are two accepted syntaxes for expressing time duration.
1025
1026               [-][<HH>:]<MM>:<SS>[.<m>...]
1027
1028       HH expresses the number of hours, MM the number of minutes for a
1029       maximum of 2 digits, and SS the number of seconds for a maximum of 2
1030       digits. The m at the end expresses decimal value for SS.
1031
1032       or
1033
1034               [-]<S>+[.<m>...][s|ms|us]
1035
1036       S expresses the number of seconds, with the optional decimal part m.
1037       The optional literal suffixes s, ms or us indicate to interpret the
1038       value as seconds, milliseconds or microseconds, respectively.
1039
1040       In both expressions, the optional - indicates negative duration.
1041
1042       Examples
1043
1044       The following examples are all valid time duration:
1045
1046       55  55 seconds
1047
1048       0.2 0.2 seconds
1049
1050       200ms
1051           200 milliseconds, that's 0.2s
1052
1053       200000us
1054           200000 microseconds, that's 0.2s
1055
1056       12:03:45
1057           12 hours, 03 minutes and 45 seconds
1058
1059       23.189
1060           23.189 seconds
1061
1062   Video size
1063       Specify the size of the sourced video, it may be a string of the form
1064       widthxheight, or the name of a size abbreviation.
1065
1066       The following abbreviations are recognized:
1067
1068       ntsc
1069           720x480
1070
1071       pal 720x576
1072
1073       qntsc
1074           352x240
1075
1076       qpal
1077           352x288
1078
1079       sntsc
1080           640x480
1081
1082       spal
1083           768x576
1084
1085       film
1086           352x240
1087
1088       ntsc-film
1089           352x240
1090
1091       sqcif
1092           128x96
1093
1094       qcif
1095           176x144
1096
1097       cif 352x288
1098
1099       4cif
1100           704x576
1101
1102       16cif
1103           1408x1152
1104
1105       qqvga
1106           160x120
1107
1108       qvga
1109           320x240
1110
1111       vga 640x480
1112
1113       svga
1114           800x600
1115
1116       xga 1024x768
1117
1118       uxga
1119           1600x1200
1120
1121       qxga
1122           2048x1536
1123
1124       sxga
1125           1280x1024
1126
1127       qsxga
1128           2560x2048
1129
1130       hsxga
1131           5120x4096
1132
1133       wvga
1134           852x480
1135
1136       wxga
1137           1366x768
1138
1139       wsxga
1140           1600x1024
1141
1142       wuxga
1143           1920x1200
1144
1145       woxga
1146           2560x1600
1147
1148       wqsxga
1149           3200x2048
1150
1151       wquxga
1152           3840x2400
1153
1154       whsxga
1155           6400x4096
1156
1157       whuxga
1158           7680x4800
1159
1160       cga 320x200
1161
1162       ega 640x350
1163
1164       hd480
1165           852x480
1166
1167       hd720
1168           1280x720
1169
1170       hd1080
1171           1920x1080
1172
1173       2k  2048x1080
1174
1175       2kflat
1176           1998x1080
1177
1178       2kscope
1179           2048x858
1180
1181       4k  4096x2160
1182
1183       4kflat
1184           3996x2160
1185
1186       4kscope
1187           4096x1716
1188
1189       nhd 640x360
1190
1191       hqvga
1192           240x160
1193
1194       wqvga
1195           400x240
1196
1197       fwqvga
1198           432x240
1199
1200       hvga
1201           480x320
1202
1203       qhd 960x540
1204
1205       2kdci
1206           2048x1080
1207
1208       4kdci
1209           4096x2160
1210
1211       uhd2160
1212           3840x2160
1213
1214       uhd4320
1215           7680x4320
1216
1217   Video rate
1218       Specify the frame rate of a video, expressed as the number of frames
1219       generated per second. It has to be a string in the format
1220       frame_rate_num/frame_rate_den, an integer number, a float number or a
1221       valid video frame rate abbreviation.
1222
1223       The following abbreviations are recognized:
1224
1225       ntsc
1226           30000/1001
1227
1228       pal 25/1
1229
1230       qntsc
1231           30000/1001
1232
1233       qpal
1234           25/1
1235
1236       sntsc
1237           30000/1001
1238
1239       spal
1240           25/1
1241
1242       film
1243           24/1
1244
1245       ntsc-film
1246           24000/1001
1247
1248   Ratio
1249       A ratio can be expressed as an expression, or in the form
1250       numerator:denominator.
1251
1252       Note that a ratio with infinite (1/0) or negative value is considered
1253       valid, so you should check on the returned value if you want to exclude
1254       those values.
1255
1256       The undefined value can be expressed using the "0:0" string.
1257
1258   Color
1259       It can be the name of a color as defined below (case insensitive match)
1260       or a "[0x|#]RRGGBB[AA]" sequence, possibly followed by @ and a string
1261       representing the alpha component.
1262
1263       The alpha component may be a string composed by "0x" followed by an
1264       hexadecimal number or a decimal number between 0.0 and 1.0, which
1265       represents the opacity value (0x00 or 0.0 means completely transparent,
1266       0xff or 1.0 completely opaque). If the alpha component is not specified
1267       then 0xff is assumed.
1268
1269       The string random will result in a random color.
1270
1271       The following names of colors are recognized:
1272
1273       AliceBlue
1274           0xF0F8FF
1275
1276       AntiqueWhite
1277           0xFAEBD7
1278
1279       Aqua
1280           0x00FFFF
1281
1282       Aquamarine
1283           0x7FFFD4
1284
1285       Azure
1286           0xF0FFFF
1287
1288       Beige
1289           0xF5F5DC
1290
1291       Bisque
1292           0xFFE4C4
1293
1294       Black
1295           0x000000
1296
1297       BlanchedAlmond
1298           0xFFEBCD
1299
1300       Blue
1301           0x0000FF
1302
1303       BlueViolet
1304           0x8A2BE2
1305
1306       Brown
1307           0xA52A2A
1308
1309       BurlyWood
1310           0xDEB887
1311
1312       CadetBlue
1313           0x5F9EA0
1314
1315       Chartreuse
1316           0x7FFF00
1317
1318       Chocolate
1319           0xD2691E
1320
1321       Coral
1322           0xFF7F50
1323
1324       CornflowerBlue
1325           0x6495ED
1326
1327       Cornsilk
1328           0xFFF8DC
1329
1330       Crimson
1331           0xDC143C
1332
1333       Cyan
1334           0x00FFFF
1335
1336       DarkBlue
1337           0x00008B
1338
1339       DarkCyan
1340           0x008B8B
1341
1342       DarkGoldenRod
1343           0xB8860B
1344
1345       DarkGray
1346           0xA9A9A9
1347
1348       DarkGreen
1349           0x006400
1350
1351       DarkKhaki
1352           0xBDB76B
1353
1354       DarkMagenta
1355           0x8B008B
1356
1357       DarkOliveGreen
1358           0x556B2F
1359
1360       Darkorange
1361           0xFF8C00
1362
1363       DarkOrchid
1364           0x9932CC
1365
1366       DarkRed
1367           0x8B0000
1368
1369       DarkSalmon
1370           0xE9967A
1371
1372       DarkSeaGreen
1373           0x8FBC8F
1374
1375       DarkSlateBlue
1376           0x483D8B
1377
1378       DarkSlateGray
1379           0x2F4F4F
1380
1381       DarkTurquoise
1382           0x00CED1
1383
1384       DarkViolet
1385           0x9400D3
1386
1387       DeepPink
1388           0xFF1493
1389
1390       DeepSkyBlue
1391           0x00BFFF
1392
1393       DimGray
1394           0x696969
1395
1396       DodgerBlue
1397           0x1E90FF
1398
1399       FireBrick
1400           0xB22222
1401
1402       FloralWhite
1403           0xFFFAF0
1404
1405       ForestGreen
1406           0x228B22
1407
1408       Fuchsia
1409           0xFF00FF
1410
1411       Gainsboro
1412           0xDCDCDC
1413
1414       GhostWhite
1415           0xF8F8FF
1416
1417       Gold
1418           0xFFD700
1419
1420       GoldenRod
1421           0xDAA520
1422
1423       Gray
1424           0x808080
1425
1426       Green
1427           0x008000
1428
1429       GreenYellow
1430           0xADFF2F
1431
1432       HoneyDew
1433           0xF0FFF0
1434
1435       HotPink
1436           0xFF69B4
1437
1438       IndianRed
1439           0xCD5C5C
1440
1441       Indigo
1442           0x4B0082
1443
1444       Ivory
1445           0xFFFFF0
1446
1447       Khaki
1448           0xF0E68C
1449
1450       Lavender
1451           0xE6E6FA
1452
1453       LavenderBlush
1454           0xFFF0F5
1455
1456       LawnGreen
1457           0x7CFC00
1458
1459       LemonChiffon
1460           0xFFFACD
1461
1462       LightBlue
1463           0xADD8E6
1464
1465       LightCoral
1466           0xF08080
1467
1468       LightCyan
1469           0xE0FFFF
1470
1471       LightGoldenRodYellow
1472           0xFAFAD2
1473
1474       LightGreen
1475           0x90EE90
1476
1477       LightGrey
1478           0xD3D3D3
1479
1480       LightPink
1481           0xFFB6C1
1482
1483       LightSalmon
1484           0xFFA07A
1485
1486       LightSeaGreen
1487           0x20B2AA
1488
1489       LightSkyBlue
1490           0x87CEFA
1491
1492       LightSlateGray
1493           0x778899
1494
1495       LightSteelBlue
1496           0xB0C4DE
1497
1498       LightYellow
1499           0xFFFFE0
1500
1501       Lime
1502           0x00FF00
1503
1504       LimeGreen
1505           0x32CD32
1506
1507       Linen
1508           0xFAF0E6
1509
1510       Magenta
1511           0xFF00FF
1512
1513       Maroon
1514           0x800000
1515
1516       MediumAquaMarine
1517           0x66CDAA
1518
1519       MediumBlue
1520           0x0000CD
1521
1522       MediumOrchid
1523           0xBA55D3
1524
1525       MediumPurple
1526           0x9370D8
1527
1528       MediumSeaGreen
1529           0x3CB371
1530
1531       MediumSlateBlue
1532           0x7B68EE
1533
1534       MediumSpringGreen
1535           0x00FA9A
1536
1537       MediumTurquoise
1538           0x48D1CC
1539
1540       MediumVioletRed
1541           0xC71585
1542
1543       MidnightBlue
1544           0x191970
1545
1546       MintCream
1547           0xF5FFFA
1548
1549       MistyRose
1550           0xFFE4E1
1551
1552       Moccasin
1553           0xFFE4B5
1554
1555       NavajoWhite
1556           0xFFDEAD
1557
1558       Navy
1559           0x000080
1560
1561       OldLace
1562           0xFDF5E6
1563
1564       Olive
1565           0x808000
1566
1567       OliveDrab
1568           0x6B8E23
1569
1570       Orange
1571           0xFFA500
1572
1573       OrangeRed
1574           0xFF4500
1575
1576       Orchid
1577           0xDA70D6
1578
1579       PaleGoldenRod
1580           0xEEE8AA
1581
1582       PaleGreen
1583           0x98FB98
1584
1585       PaleTurquoise
1586           0xAFEEEE
1587
1588       PaleVioletRed
1589           0xD87093
1590
1591       PapayaWhip
1592           0xFFEFD5
1593
1594       PeachPuff
1595           0xFFDAB9
1596
1597       Peru
1598           0xCD853F
1599
1600       Pink
1601           0xFFC0CB
1602
1603       Plum
1604           0xDDA0DD
1605
1606       PowderBlue
1607           0xB0E0E6
1608
1609       Purple
1610           0x800080
1611
1612       Red 0xFF0000
1613
1614       RosyBrown
1615           0xBC8F8F
1616
1617       RoyalBlue
1618           0x4169E1
1619
1620       SaddleBrown
1621           0x8B4513
1622
1623       Salmon
1624           0xFA8072
1625
1626       SandyBrown
1627           0xF4A460
1628
1629       SeaGreen
1630           0x2E8B57
1631
1632       SeaShell
1633           0xFFF5EE
1634
1635       Sienna
1636           0xA0522D
1637
1638       Silver
1639           0xC0C0C0
1640
1641       SkyBlue
1642           0x87CEEB
1643
1644       SlateBlue
1645           0x6A5ACD
1646
1647       SlateGray
1648           0x708090
1649
1650       Snow
1651           0xFFFAFA
1652
1653       SpringGreen
1654           0x00FF7F
1655
1656       SteelBlue
1657           0x4682B4
1658
1659       Tan 0xD2B48C
1660
1661       Teal
1662           0x008080
1663
1664       Thistle
1665           0xD8BFD8
1666
1667       Tomato
1668           0xFF6347
1669
1670       Turquoise
1671           0x40E0D0
1672
1673       Violet
1674           0xEE82EE
1675
1676       Wheat
1677           0xF5DEB3
1678
1679       White
1680           0xFFFFFF
1681
1682       WhiteSmoke
1683           0xF5F5F5
1684
1685       Yellow
1686           0xFFFF00
1687
1688       YellowGreen
1689           0x9ACD32
1690
1691   Channel Layout
1692       A channel layout specifies the spatial disposition of the channels in a
1693       multi-channel audio stream. To specify a channel layout, FFmpeg makes
1694       use of a special syntax.
1695
1696       Individual channels are identified by an id, as given by the table
1697       below:
1698
1699       FL  front left
1700
1701       FR  front right
1702
1703       FC  front center
1704
1705       LFE low frequency
1706
1707       BL  back left
1708
1709       BR  back right
1710
1711       FLC front left-of-center
1712
1713       FRC front right-of-center
1714
1715       BC  back center
1716
1717       SL  side left
1718
1719       SR  side right
1720
1721       TC  top center
1722
1723       TFL top front left
1724
1725       TFC top front center
1726
1727       TFR top front right
1728
1729       TBL top back left
1730
1731       TBC top back center
1732
1733       TBR top back right
1734
1735       DL  downmix left
1736
1737       DR  downmix right
1738
1739       WL  wide left
1740
1741       WR  wide right
1742
1743       SDL surround direct left
1744
1745       SDR surround direct right
1746
1747       LFE2
1748           low frequency 2
1749
1750       Standard channel layout compositions can be specified by using the
1751       following identifiers:
1752
1753       mono
1754           FC
1755
1756       stereo
1757           FL+FR
1758
1759       2.1 FL+FR+LFE
1760
1761       3.0 FL+FR+FC
1762
1763       3.0(back)
1764           FL+FR+BC
1765
1766       4.0 FL+FR+FC+BC
1767
1768       quad
1769           FL+FR+BL+BR
1770
1771       quad(side)
1772           FL+FR+SL+SR
1773
1774       3.1 FL+FR+FC+LFE
1775
1776       5.0 FL+FR+FC+BL+BR
1777
1778       5.0(side)
1779           FL+FR+FC+SL+SR
1780
1781       4.1 FL+FR+FC+LFE+BC
1782
1783       5.1 FL+FR+FC+LFE+BL+BR
1784
1785       5.1(side)
1786           FL+FR+FC+LFE+SL+SR
1787
1788       6.0 FL+FR+FC+BC+SL+SR
1789
1790       6.0(front)
1791           FL+FR+FLC+FRC+SL+SR
1792
1793       hexagonal
1794           FL+FR+FC+BL+BR+BC
1795
1796       6.1 FL+FR+FC+LFE+BC+SL+SR
1797
1798       6.1 FL+FR+FC+LFE+BL+BR+BC
1799
1800       6.1(front)
1801           FL+FR+LFE+FLC+FRC+SL+SR
1802
1803       7.0 FL+FR+FC+BL+BR+SL+SR
1804
1805       7.0(front)
1806           FL+FR+FC+FLC+FRC+SL+SR
1807
1808       7.1 FL+FR+FC+LFE+BL+BR+SL+SR
1809
1810       7.1(wide)
1811           FL+FR+FC+LFE+BL+BR+FLC+FRC
1812
1813       7.1(wide-side)
1814           FL+FR+FC+LFE+FLC+FRC+SL+SR
1815
1816       octagonal
1817           FL+FR+FC+BL+BR+BC+SL+SR
1818
1819       hexadecagonal
1820           FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR
1821
1822       downmix
1823           DL+DR
1824
1825       22.2
1826           FL+FR+FC+LFE+BL+BR+FLC+FRC+BC+SL+SR+TC+TFL+TFC+TFR+TBL+TBC+TBR+LFE2+TSL+TSR+BFC+BFL+BFR
1827
1828       A custom channel layout can be specified as a sequence of terms,
1829       separated by '+' or '|'. Each term can be:
1830
1831       •   the name of a standard channel layout (e.g. mono, stereo, 4.0,
1832           quad, 5.0, etc.)
1833
1834       •   the name of a single channel (e.g. FL, FR, FC, LFE, etc.)
1835
1836       •   a number of channels, in decimal, followed by 'c', yielding the
1837           default channel layout for that number of channels (see the
1838           function "av_get_default_channel_layout"). Note that not all
1839           channel counts have a default layout.
1840
1841       •   a number of channels, in decimal, followed by 'C', yielding an
1842           unknown channel layout with the specified number of channels. Note
1843           that not all channel layout specification strings support unknown
1844           channel layouts.
1845
1846       •   a channel layout mask, in hexadecimal starting with "0x" (see the
1847           "AV_CH_*" macros in libavutil/channel_layout.h.
1848
1849       Before libavutil version 53 the trailing character "c" to specify a
1850       number of channels was optional, but now it is required, while a
1851       channel layout mask can also be specified as a decimal number (if and
1852       only if not followed by "c" or "C").
1853
1854       See also the function "av_get_channel_layout" defined in
1855       libavutil/channel_layout.h.
1856

EXPRESSION EVALUATION

1858       When evaluating an arithmetic expression, FFmpeg uses an internal
1859       formula evaluator, implemented through the libavutil/eval.h interface.
1860
1861       An expression may contain unary, binary operators, constants, and
1862       functions.
1863
1864       Two expressions expr1 and expr2 can be combined to form another
1865       expression "expr1;expr2".  expr1 and expr2 are evaluated in turn, and
1866       the new expression evaluates to the value of expr2.
1867
1868       The following binary operators are available: "+", "-", "*", "/", "^".
1869
1870       The following unary operators are available: "+", "-".
1871
1872       The following functions are available:
1873
1874       abs(x)
1875           Compute absolute value of x.
1876
1877       acos(x)
1878           Compute arccosine of x.
1879
1880       asin(x)
1881           Compute arcsine of x.
1882
1883       atan(x)
1884           Compute arctangent of x.
1885
1886       atan2(x, y)
1887           Compute principal value of the arc tangent of y/x.
1888
1889       between(x, min, max)
1890           Return 1 if x is greater than or equal to min and lesser than or
1891           equal to max, 0 otherwise.
1892
1893       bitand(x, y)
1894       bitor(x, y)
1895           Compute bitwise and/or operation on x and y.
1896
1897           The results of the evaluation of x and y are converted to integers
1898           before executing the bitwise operation.
1899
1900           Note that both the conversion to integer and the conversion back to
1901           floating point can lose precision. Beware of unexpected results for
1902           large numbers (usually 2^53 and larger).
1903
1904       ceil(expr)
1905           Round the value of expression expr upwards to the nearest integer.
1906           For example, "ceil(1.5)" is "2.0".
1907
1908       clip(x, min, max)
1909           Return the value of x clipped between min and max.
1910
1911       cos(x)
1912           Compute cosine of x.
1913
1914       cosh(x)
1915           Compute hyperbolic cosine of x.
1916
1917       eq(x, y)
1918           Return 1 if x and y are equivalent, 0 otherwise.
1919
1920       exp(x)
1921           Compute exponential of x (with base "e", the Euler's number).
1922
1923       floor(expr)
1924           Round the value of expression expr downwards to the nearest
1925           integer. For example, "floor(-1.5)" is "-2.0".
1926
1927       gauss(x)
1928           Compute Gauss function of x, corresponding to "exp(-x*x/2) /
1929           sqrt(2*PI)".
1930
1931       gcd(x, y)
1932           Return the greatest common divisor of x and y. If both x and y are
1933           0 or either or both are less than zero then behavior is undefined.
1934
1935       gt(x, y)
1936           Return 1 if x is greater than y, 0 otherwise.
1937
1938       gte(x, y)
1939           Return 1 if x is greater than or equal to y, 0 otherwise.
1940
1941       hypot(x, y)
1942           This function is similar to the C function with the same name; it
1943           returns "sqrt(x*x + y*y)", the length of the hypotenuse of a right
1944           triangle with sides of length x and y, or the distance of the point
1945           (x, y) from the origin.
1946
1947       if(x, y)
1948           Evaluate x, and if the result is non-zero return the result of the
1949           evaluation of y, return 0 otherwise.
1950
1951       if(x, y, z)
1952           Evaluate x, and if the result is non-zero return the evaluation
1953           result of y, otherwise the evaluation result of z.
1954
1955       ifnot(x, y)
1956           Evaluate x, and if the result is zero return the result of the
1957           evaluation of y, return 0 otherwise.
1958
1959       ifnot(x, y, z)
1960           Evaluate x, and if the result is zero return the evaluation result
1961           of y, otherwise the evaluation result of z.
1962
1963       isinf(x)
1964           Return 1.0 if x is +/-INFINITY, 0.0 otherwise.
1965
1966       isnan(x)
1967           Return 1.0 if x is NAN, 0.0 otherwise.
1968
1969       ld(var)
1970           Load the value of the internal variable with number var, which was
1971           previously stored with st(var, expr).  The function returns the
1972           loaded value.
1973
1974       lerp(x, y, z)
1975           Return linear interpolation between x and y by amount of z.
1976
1977       log(x)
1978           Compute natural logarithm of x.
1979
1980       lt(x, y)
1981           Return 1 if x is lesser than y, 0 otherwise.
1982
1983       lte(x, y)
1984           Return 1 if x is lesser than or equal to y, 0 otherwise.
1985
1986       max(x, y)
1987           Return the maximum between x and y.
1988
1989       min(x, y)
1990           Return the minimum between x and y.
1991
1992       mod(x, y)
1993           Compute the remainder of division of x by y.
1994
1995       not(expr)
1996           Return 1.0 if expr is zero, 0.0 otherwise.
1997
1998       pow(x, y)
1999           Compute the power of x elevated y, it is equivalent to "(x)^(y)".
2000
2001       print(t)
2002       print(t, l)
2003           Print the value of expression t with loglevel l. If l is not
2004           specified then a default log level is used.  Returns the value of
2005           the expression printed.
2006
2007           Prints t with loglevel l
2008
2009       random(x)
2010           Return a pseudo random value between 0.0 and 1.0. x is the index of
2011           the internal variable which will be used to save the seed/state.
2012
2013       root(expr, max)
2014           Find an input value for which the function represented by expr with
2015           argument ld(0) is 0 in the interval 0..max.
2016
2017           The expression in expr must denote a continuous function or the
2018           result is undefined.
2019
2020           ld(0) is used to represent the function input value, which means
2021           that the given expression will be evaluated multiple times with
2022           various input values that the expression can access through ld(0).
2023           When the expression evaluates to 0 then the corresponding input
2024           value will be returned.
2025
2026       round(expr)
2027           Round the value of expression expr to the nearest integer. For
2028           example, "round(1.5)" is "2.0".
2029
2030       sgn(x)
2031           Compute sign of x.
2032
2033       sin(x)
2034           Compute sine of x.
2035
2036       sinh(x)
2037           Compute hyperbolic sine of x.
2038
2039       sqrt(expr)
2040           Compute the square root of expr. This is equivalent to "(expr)^.5".
2041
2042       squish(x)
2043           Compute expression "1/(1 + exp(4*x))".
2044
2045       st(var, expr)
2046           Store the value of the expression expr in an internal variable. var
2047           specifies the number of the variable where to store the value, and
2048           it is a value ranging from 0 to 9. The function returns the value
2049           stored in the internal variable.  Note, Variables are currently not
2050           shared between expressions.
2051
2052       tan(x)
2053           Compute tangent of x.
2054
2055       tanh(x)
2056           Compute hyperbolic tangent of x.
2057
2058       taylor(expr, x)
2059       taylor(expr, x, id)
2060           Evaluate a Taylor series at x, given an expression representing the
2061           "ld(id)"-th derivative of a function at 0.
2062
2063           When the series does not converge the result is undefined.
2064
2065           ld(id) is used to represent the derivative order in expr, which
2066           means that the given expression will be evaluated multiple times
2067           with various input values that the expression can access through
2068           "ld(id)". If id is not specified then 0 is assumed.
2069
2070           Note, when you have the derivatives at y instead of 0,
2071           "taylor(expr, x-y)" can be used.
2072
2073       time(0)
2074           Return the current (wallclock) time in seconds.
2075
2076       trunc(expr)
2077           Round the value of expression expr towards zero to the nearest
2078           integer. For example, "trunc(-1.5)" is "-1.0".
2079
2080       while(cond, expr)
2081           Evaluate expression expr while the expression cond is non-zero, and
2082           returns the value of the last expr evaluation, or NAN if cond was
2083           always false.
2084
2085       The following constants are available:
2086
2087       PI  area of the unit disc, approximately 3.14
2088
2089       E   exp(1) (Euler's number), approximately 2.718
2090
2091       PHI golden ratio (1+sqrt(5))/2, approximately 1.618
2092
2093       Assuming that an expression is considered "true" if it has a non-zero
2094       value, note that:
2095
2096       "*" works like AND
2097
2098       "+" works like OR
2099
2100       For example the construct:
2101
2102               if (A AND B) then C
2103
2104       is equivalent to:
2105
2106               if(A*B, C)
2107
2108       In your C code, you can extend the list of unary and binary functions,
2109       and define recognized constants, so that they are available for your
2110       expressions.
2111
2112       The evaluator also recognizes the International System unit prefixes.
2113       If 'i' is appended after the prefix, binary prefixes are used, which
2114       are based on powers of 1024 instead of powers of 1000.  The 'B' postfix
2115       multiplies the value by 8, and can be appended after a unit prefix or
2116       used alone. This allows using for example 'KB', 'MiB', 'G' and 'B' as
2117       number postfix.
2118
2119       The list of available International System prefixes follows, with
2120       indication of the corresponding powers of 10 and of 2.
2121
2122       y   10^-24 / 2^-80
2123
2124       z   10^-21 / 2^-70
2125
2126       a   10^-18 / 2^-60
2127
2128       f   10^-15 / 2^-50
2129
2130       p   10^-12 / 2^-40
2131
2132       n   10^-9 / 2^-30
2133
2134       u   10^-6 / 2^-20
2135
2136       m   10^-3 / 2^-10
2137
2138       c   10^-2
2139
2140       d   10^-1
2141
2142       h   10^2
2143
2144       k   10^3 / 2^10
2145
2146       K   10^3 / 2^10
2147
2148       M   10^6 / 2^20
2149
2150       G   10^9 / 2^30
2151
2152       T   10^12 / 2^40
2153
2154       P   10^15 / 2^40
2155
2156       E   10^18 / 2^50
2157
2158       Z   10^21 / 2^60
2159
2160       Y   10^24 / 2^70
2161

CODEC OPTIONS

2163       libavcodec provides some generic global options, which can be set on
2164       all the encoders and decoders. In addition each codec may support so-
2165       called private options, which are specific for a given codec.
2166
2167       Sometimes, a global option may only affect a specific kind of codec,
2168       and may be nonsensical or ignored by another, so you need to be aware
2169       of the meaning of the specified options. Also some options are meant
2170       only for decoding or encoding.
2171
2172       Options may be set by specifying -option value in the FFmpeg tools, or
2173       by setting the value explicitly in the "AVCodecContext" options or
2174       using the libavutil/opt.h API for programmatic use.
2175
2176       The list of supported options follow:
2177
2178       b integer (encoding,audio,video)
2179           Set bitrate in bits/s. Default value is 200K.
2180
2181       ab integer (encoding,audio)
2182           Set audio bitrate (in bits/s). Default value is 128K.
2183
2184       bt integer (encoding,video)
2185           Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate
2186           tolerance specifies how far ratecontrol is willing to deviate from
2187           the target average bitrate value. This is not related to min/max
2188           bitrate. Lowering tolerance too much has an adverse effect on
2189           quality.
2190
2191       flags flags (decoding/encoding,audio,video,subtitles)
2192           Set generic flags.
2193
2194           Possible values:
2195
2196           mv4 Use four motion vector by macroblock (mpeg4).
2197
2198           qpel
2199               Use 1/4 pel motion compensation.
2200
2201           loop
2202               Use loop filter.
2203
2204           qscale
2205               Use fixed qscale.
2206
2207           pass1
2208               Use internal 2pass ratecontrol in first pass mode.
2209
2210           pass2
2211               Use internal 2pass ratecontrol in second pass mode.
2212
2213           gray
2214               Only decode/encode grayscale.
2215
2216           psnr
2217               Set error[?] variables during encoding.
2218
2219           truncated
2220               Input bitstream might be randomly truncated.
2221
2222           drop_changed
2223               Don't output frames whose parameters differ from first decoded
2224               frame in stream.  Error AVERROR_INPUT_CHANGED is returned when
2225               a frame is dropped.
2226
2227           ildct
2228               Use interlaced DCT.
2229
2230           low_delay
2231               Force low delay.
2232
2233           global_header
2234               Place global headers in extradata instead of every keyframe.
2235
2236           bitexact
2237               Only write platform-, build- and time-independent data. (except
2238               (I)DCT).  This ensures that file and data checksums are
2239               reproducible and match between platforms. Its primary use is
2240               for regression testing.
2241
2242           aic Apply H263 advanced intra coding / mpeg4 ac prediction.
2243
2244           ilme
2245               Apply interlaced motion estimation.
2246
2247           cgop
2248               Use closed gop.
2249
2250           output_corrupt
2251               Output even potentially corrupted frames.
2252
2253       time_base rational number
2254           Set codec time base.
2255
2256           It is the fundamental unit of time (in seconds) in terms of which
2257           frame timestamps are represented. For fixed-fps content, timebase
2258           should be "1 / frame_rate" and timestamp increments should be
2259           identically 1.
2260
2261       g integer (encoding,video)
2262           Set the group of picture (GOP) size. Default value is 12.
2263
2264       ar integer (decoding/encoding,audio)
2265           Set audio sampling rate (in Hz).
2266
2267       ac integer (decoding/encoding,audio)
2268           Set number of audio channels.
2269
2270       cutoff integer (encoding,audio)
2271           Set cutoff bandwidth. (Supported only by selected encoders, see
2272           their respective documentation sections.)
2273
2274       frame_size integer (encoding,audio)
2275           Set audio frame size.
2276
2277           Each submitted frame except the last must contain exactly
2278           frame_size samples per channel. May be 0 when the codec has
2279           CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is
2280           not restricted. It is set by some decoders to indicate constant
2281           frame size.
2282
2283       frame_number integer
2284           Set the frame number.
2285
2286       delay integer
2287       qcomp float (encoding,video)
2288           Set video quantizer scale compression (VBR). It is used as a
2289           constant in the ratecontrol equation. Recommended range for default
2290           rc_eq: 0.0-1.0.
2291
2292       qblur float (encoding,video)
2293           Set video quantizer scale blur (VBR).
2294
2295       qmin integer (encoding,video)
2296           Set min video quantizer scale (VBR). Must be included between -1
2297           and 69, default value is 2.
2298
2299       qmax integer (encoding,video)
2300           Set max video quantizer scale (VBR). Must be included between -1
2301           and 1024, default value is 31.
2302
2303       qdiff integer (encoding,video)
2304           Set max difference between the quantizer scale (VBR).
2305
2306       bf integer (encoding,video)
2307           Set max number of B frames between non-B-frames.
2308
2309           Must be an integer between -1 and 16. 0 means that B-frames are
2310           disabled. If a value of -1 is used, it will choose an automatic
2311           value depending on the encoder.
2312
2313           Default value is 0.
2314
2315       b_qfactor float (encoding,video)
2316           Set qp factor between P and B frames.
2317
2318       codec_tag integer
2319       bug flags (decoding,video)
2320           Workaround not auto detected encoder bugs.
2321
2322           Possible values:
2323
2324           autodetect
2325           xvid_ilace
2326               Xvid interlacing bug (autodetected if fourcc==XVIX)
2327
2328           ump4
2329               (autodetected if fourcc==UMP4)
2330
2331           no_padding
2332               padding bug (autodetected)
2333
2334           amv
2335           qpel_chroma
2336           std_qpel
2337               old standard qpel (autodetected per fourcc/version)
2338
2339           qpel_chroma2
2340           direct_blocksize
2341               direct-qpel-blocksize bug (autodetected per fourcc/version)
2342
2343           edge
2344               edge padding bug (autodetected per fourcc/version)
2345
2346           hpel_chroma
2347           dc_clip
2348           ms  Workaround various bugs in microsoft broken decoders.
2349
2350           trunc
2351               trancated frames
2352
2353       strict integer (decoding/encoding,audio,video)
2354           Specify how strictly to follow the standards.
2355
2356           Possible values:
2357
2358           very
2359               strictly conform to an older more strict version of the spec or
2360               reference software
2361
2362           strict
2363               strictly conform to all the things in the spec no matter what
2364               consequences
2365
2366           normal
2367           unofficial
2368               allow unofficial extensions
2369
2370           experimental
2371               allow non standardized experimental things, experimental
2372               (unfinished/work in progress/not well tested) decoders and
2373               encoders.  Note: experimental decoders can pose a security
2374               risk, do not use this for decoding untrusted input.
2375
2376       b_qoffset float (encoding,video)
2377           Set QP offset between P and B frames.
2378
2379       err_detect flags (decoding,audio,video)
2380           Set error detection flags.
2381
2382           Possible values:
2383
2384           crccheck
2385               verify embedded CRCs
2386
2387           bitstream
2388               detect bitstream specification deviations
2389
2390           buffer
2391               detect improper bitstream length
2392
2393           explode
2394               abort decoding on minor error detection
2395
2396           ignore_err
2397               ignore decoding errors, and continue decoding.  This is useful
2398               if you want to analyze the content of a video and thus want
2399               everything to be decoded no matter what. This option will not
2400               result in a video that is pleasing to watch in case of errors.
2401
2402           careful
2403               consider things that violate the spec and have not been seen in
2404               the wild as errors
2405
2406           compliant
2407               consider all spec non compliancies as errors
2408
2409           aggressive
2410               consider things that a sane encoder should not do as an error
2411
2412       has_b_frames integer
2413       block_align integer
2414       rc_override_count integer
2415       maxrate integer (encoding,audio,video)
2416           Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
2417
2418       minrate integer (encoding,audio,video)
2419           Set min bitrate tolerance (in bits/s). Most useful in setting up a
2420           CBR encode. It is of little use elsewise.
2421
2422       bufsize integer (encoding,audio,video)
2423           Set ratecontrol buffer size (in bits).
2424
2425       i_qfactor float (encoding,video)
2426           Set QP factor between P and I frames.
2427
2428       i_qoffset float (encoding,video)
2429           Set QP offset between P and I frames.
2430
2431       dct integer (encoding,video)
2432           Set DCT algorithm.
2433
2434           Possible values:
2435
2436           auto
2437               autoselect a good one (default)
2438
2439           fastint
2440               fast integer
2441
2442           int accurate integer
2443
2444           mmx
2445           altivec
2446           faan
2447               floating point AAN DCT
2448
2449       lumi_mask float (encoding,video)
2450           Compress bright areas stronger than medium ones.
2451
2452       tcplx_mask float (encoding,video)
2453           Set temporal complexity masking.
2454
2455       scplx_mask float (encoding,video)
2456           Set spatial complexity masking.
2457
2458       p_mask float (encoding,video)
2459           Set inter masking.
2460
2461       dark_mask float (encoding,video)
2462           Compress dark areas stronger than medium ones.
2463
2464       idct integer (decoding/encoding,video)
2465           Select IDCT implementation.
2466
2467           Possible values:
2468
2469           auto
2470           int
2471           simple
2472           simplemmx
2473           simpleauto
2474               Automatically pick a IDCT compatible with the simple one
2475
2476           arm
2477           altivec
2478           sh4
2479           simplearm
2480           simplearmv5te
2481           simplearmv6
2482           simpleneon
2483           xvid
2484           faani
2485               floating point AAN IDCT
2486
2487       slice_count integer
2488       ec flags (decoding,video)
2489           Set error concealment strategy.
2490
2491           Possible values:
2492
2493           guess_mvs
2494               iterative motion vector (MV) search (slow)
2495
2496           deblock
2497               use strong deblock filter for damaged MBs
2498
2499           favor_inter
2500               favor predicting from the previous frame instead of the current
2501
2502       bits_per_coded_sample integer
2503       aspect rational number (encoding,video)
2504           Set sample aspect ratio.
2505
2506       sar rational number (encoding,video)
2507           Set sample aspect ratio. Alias to aspect.
2508
2509       debug flags (decoding/encoding,audio,video,subtitles)
2510           Print specific debug info.
2511
2512           Possible values:
2513
2514           pict
2515               picture info
2516
2517           rc  rate control
2518
2519           bitstream
2520           mb_type
2521               macroblock (MB) type
2522
2523           qp  per-block quantization parameter (QP)
2524
2525           dct_coeff
2526           green_metadata
2527               display complexity metadata for the upcoming frame, GoP or for
2528               a given duration.
2529
2530           skip
2531           startcode
2532           er  error recognition
2533
2534           mmco
2535               memory management control operations (H.264)
2536
2537           bugs
2538           buffers
2539               picture buffer allocations
2540
2541           thread_ops
2542               threading operations
2543
2544           nomc
2545               skip motion compensation
2546
2547       cmp integer (encoding,video)
2548           Set full pel me compare function.
2549
2550           Possible values:
2551
2552           sad sum of absolute differences, fast (default)
2553
2554           sse sum of squared errors
2555
2556           satd
2557               sum of absolute Hadamard transformed differences
2558
2559           dct sum of absolute DCT transformed differences
2560
2561           psnr
2562               sum of squared quantization errors (avoid, low quality)
2563
2564           bit number of bits needed for the block
2565
2566           rd  rate distortion optimal, slow
2567
2568           zero
2569               0
2570
2571           vsad
2572               sum of absolute vertical differences
2573
2574           vsse
2575               sum of squared vertical differences
2576
2577           nsse
2578               noise preserving sum of squared differences
2579
2580           w53 5/3 wavelet, only used in snow
2581
2582           w97 9/7 wavelet, only used in snow
2583
2584           dctmax
2585           chroma
2586       subcmp integer (encoding,video)
2587           Set sub pel me compare function.
2588
2589           Possible values:
2590
2591           sad sum of absolute differences, fast (default)
2592
2593           sse sum of squared errors
2594
2595           satd
2596               sum of absolute Hadamard transformed differences
2597
2598           dct sum of absolute DCT transformed differences
2599
2600           psnr
2601               sum of squared quantization errors (avoid, low quality)
2602
2603           bit number of bits needed for the block
2604
2605           rd  rate distortion optimal, slow
2606
2607           zero
2608               0
2609
2610           vsad
2611               sum of absolute vertical differences
2612
2613           vsse
2614               sum of squared vertical differences
2615
2616           nsse
2617               noise preserving sum of squared differences
2618
2619           w53 5/3 wavelet, only used in snow
2620
2621           w97 9/7 wavelet, only used in snow
2622
2623           dctmax
2624           chroma
2625       mbcmp integer (encoding,video)
2626           Set macroblock compare function.
2627
2628           Possible values:
2629
2630           sad sum of absolute differences, fast (default)
2631
2632           sse sum of squared errors
2633
2634           satd
2635               sum of absolute Hadamard transformed differences
2636
2637           dct sum of absolute DCT transformed differences
2638
2639           psnr
2640               sum of squared quantization errors (avoid, low quality)
2641
2642           bit number of bits needed for the block
2643
2644           rd  rate distortion optimal, slow
2645
2646           zero
2647               0
2648
2649           vsad
2650               sum of absolute vertical differences
2651
2652           vsse
2653               sum of squared vertical differences
2654
2655           nsse
2656               noise preserving sum of squared differences
2657
2658           w53 5/3 wavelet, only used in snow
2659
2660           w97 9/7 wavelet, only used in snow
2661
2662           dctmax
2663           chroma
2664       ildctcmp integer (encoding,video)
2665           Set interlaced dct compare function.
2666
2667           Possible values:
2668
2669           sad sum of absolute differences, fast (default)
2670
2671           sse sum of squared errors
2672
2673           satd
2674               sum of absolute Hadamard transformed differences
2675
2676           dct sum of absolute DCT transformed differences
2677
2678           psnr
2679               sum of squared quantization errors (avoid, low quality)
2680
2681           bit number of bits needed for the block
2682
2683           rd  rate distortion optimal, slow
2684
2685           zero
2686               0
2687
2688           vsad
2689               sum of absolute vertical differences
2690
2691           vsse
2692               sum of squared vertical differences
2693
2694           nsse
2695               noise preserving sum of squared differences
2696
2697           w53 5/3 wavelet, only used in snow
2698
2699           w97 9/7 wavelet, only used in snow
2700
2701           dctmax
2702           chroma
2703       dia_size integer (encoding,video)
2704           Set diamond type & size for motion estimation.
2705
2706           (1024, INT_MAX)
2707               full motion estimation(slowest)
2708
2709           (768, 1024]
2710               umh motion estimation
2711
2712           (512, 768]
2713               hex motion estimation
2714
2715           (256, 512]
2716               l2s diamond motion estimation
2717
2718           [2,256]
2719               var diamond motion estimation
2720
2721           (-1,  2)
2722               small diamond motion estimation
2723
2724           -1  funny diamond motion estimation
2725
2726           (INT_MIN, -1)
2727               sab diamond motion estimation
2728
2729       last_pred integer (encoding,video)
2730           Set amount of motion predictors from the previous frame.
2731
2732       precmp integer (encoding,video)
2733           Set pre motion estimation compare function.
2734
2735           Possible values:
2736
2737           sad sum of absolute differences, fast (default)
2738
2739           sse sum of squared errors
2740
2741           satd
2742               sum of absolute Hadamard transformed differences
2743
2744           dct sum of absolute DCT transformed differences
2745
2746           psnr
2747               sum of squared quantization errors (avoid, low quality)
2748
2749           bit number of bits needed for the block
2750
2751           rd  rate distortion optimal, slow
2752
2753           zero
2754               0
2755
2756           vsad
2757               sum of absolute vertical differences
2758
2759           vsse
2760               sum of squared vertical differences
2761
2762           nsse
2763               noise preserving sum of squared differences
2764
2765           w53 5/3 wavelet, only used in snow
2766
2767           w97 9/7 wavelet, only used in snow
2768
2769           dctmax
2770           chroma
2771       pre_dia_size integer (encoding,video)
2772           Set diamond type & size for motion estimation pre-pass.
2773
2774       subq integer (encoding,video)
2775           Set sub pel motion estimation quality.
2776
2777       me_range integer (encoding,video)
2778           Set limit motion vectors range (1023 for DivX player).
2779
2780       global_quality integer (encoding,audio,video)
2781       slice_flags integer
2782       mbd integer (encoding,video)
2783           Set macroblock decision algorithm (high quality mode).
2784
2785           Possible values:
2786
2787           simple
2788               use mbcmp (default)
2789
2790           bits
2791               use fewest bits
2792
2793           rd  use best rate distortion
2794
2795       rc_init_occupancy integer (encoding,video)
2796           Set number of bits which should be loaded into the rc buffer before
2797           decoding starts.
2798
2799       flags2 flags (decoding/encoding,audio,video,subtitles)
2800           Possible values:
2801
2802           fast
2803               Allow non spec compliant speedup tricks.
2804
2805           noout
2806               Skip bitstream encoding.
2807
2808           ignorecrop
2809               Ignore cropping information from sps.
2810
2811           local_header
2812               Place global headers at every keyframe instead of in extradata.
2813
2814           chunks
2815               Frame data might be split into multiple chunks.
2816
2817           showall
2818               Show all frames before the first keyframe.
2819
2820           export_mvs
2821               Export motion vectors into frame side-data (see
2822               "AV_FRAME_DATA_MOTION_VECTORS") for codecs that support it. See
2823               also doc/examples/export_mvs.c.
2824
2825           skip_manual
2826               Do not skip samples and export skip information as frame side
2827               data.
2828
2829           ass_ro_flush_noop
2830               Do not reset ASS ReadOrder field on flush.
2831
2832       export_side_data flags (decoding/encoding,audio,video,subtitles)
2833           Possible values:
2834
2835           mvs Export motion vectors into frame side-data (see
2836               "AV_FRAME_DATA_MOTION_VECTORS") for codecs that support it. See
2837               also doc/examples/export_mvs.c.
2838
2839           prft
2840               Export encoder Producer Reference Time into packet side-data
2841               (see "AV_PKT_DATA_PRFT") for codecs that support it.
2842
2843           venc_params
2844               Export video encoding parameters through frame side data (see
2845               "AV_FRAME_DATA_VIDEO_ENC_PARAMS") for codecs that support it.
2846               At present, those are H.264 and VP9.
2847
2848           film_grain
2849               Export film grain parameters through frame side data (see
2850               "AV_FRAME_DATA_FILM_GRAIN_PARAMS").  Supported at present by
2851               AV1 decoders.
2852
2853       threads integer (decoding/encoding,video)
2854           Set the number of threads to be used, in case the selected codec
2855           implementation supports multi-threading.
2856
2857           Possible values:
2858
2859           auto, 0
2860               automatically select the number of threads to set
2861
2862           Default value is auto.
2863
2864       dc integer (encoding,video)
2865           Set intra_dc_precision.
2866
2867       nssew integer (encoding,video)
2868           Set nsse weight.
2869
2870       skip_top integer (decoding,video)
2871           Set number of macroblock rows at the top which are skipped.
2872
2873       skip_bottom integer (decoding,video)
2874           Set number of macroblock rows at the bottom which are skipped.
2875
2876       profile integer (encoding,audio,video)
2877           Set encoder codec profile. Default value is unknown. Encoder
2878           specific profiles are documented in the relevant encoder
2879           documentation.
2880
2881       level integer (encoding,audio,video)
2882           Possible values:
2883
2884           unknown
2885       lowres integer (decoding,audio,video)
2886           Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
2887
2888       mblmin integer (encoding,video)
2889           Set min macroblock lagrange factor (VBR).
2890
2891       mblmax integer (encoding,video)
2892           Set max macroblock lagrange factor (VBR).
2893
2894       skip_loop_filter integer (decoding,video)
2895       skip_idct        integer (decoding,video)
2896       skip_frame       integer (decoding,video)
2897           Make decoder discard processing depending on the frame type
2898           selected by the option value.
2899
2900           skip_loop_filter skips frame loop filtering, skip_idct skips frame
2901           IDCT/dequantization, skip_frame skips decoding.
2902
2903           Possible values:
2904
2905           none
2906               Discard no frame.
2907
2908           default
2909               Discard useless frames like 0-sized frames.
2910
2911           noref
2912               Discard all non-reference frames.
2913
2914           bidir
2915               Discard all bidirectional frames.
2916
2917           nokey
2918               Discard all frames excepts keyframes.
2919
2920           nointra
2921               Discard all frames except I frames.
2922
2923           all Discard all frames.
2924
2925           Default value is default.
2926
2927       bidir_refine integer (encoding,video)
2928           Refine the two motion vectors used in bidirectional macroblocks.
2929
2930       keyint_min integer (encoding,video)
2931           Set minimum interval between IDR-frames.
2932
2933       refs integer (encoding,video)
2934           Set reference frames to consider for motion compensation.
2935
2936       trellis integer (encoding,audio,video)
2937           Set rate-distortion optimal quantization.
2938
2939       mv0_threshold integer (encoding,video)
2940       compression_level integer (encoding,audio,video)
2941       bits_per_raw_sample integer
2942       channel_layout integer (decoding/encoding,audio)
2943           Possible values:
2944
2945       request_channel_layout integer (decoding,audio)
2946           Possible values:
2947
2948       rc_max_vbv_use float (encoding,video)
2949       rc_min_vbv_use float (encoding,video)
2950       ticks_per_frame integer (decoding/encoding,audio,video)
2951       color_primaries integer (decoding/encoding,video)
2952           Possible values:
2953
2954           bt709
2955               BT.709
2956
2957           bt470m
2958               BT.470 M
2959
2960           bt470bg
2961               BT.470 BG
2962
2963           smpte170m
2964               SMPTE 170 M
2965
2966           smpte240m
2967               SMPTE 240 M
2968
2969           film
2970               Film
2971
2972           bt2020
2973               BT.2020
2974
2975           smpte428
2976           smpte428_1
2977               SMPTE ST 428-1
2978
2979           smpte431
2980               SMPTE 431-2
2981
2982           smpte432
2983               SMPTE 432-1
2984
2985           jedec-p22
2986               JEDEC P22
2987
2988       color_trc integer (decoding/encoding,video)
2989           Possible values:
2990
2991           bt709
2992               BT.709
2993
2994           gamma22
2995               BT.470 M
2996
2997           gamma28
2998               BT.470 BG
2999
3000           smpte170m
3001               SMPTE 170 M
3002
3003           smpte240m
3004               SMPTE 240 M
3005
3006           linear
3007               Linear
3008
3009           log
3010           log100
3011               Log
3012
3013           log_sqrt
3014           log316
3015               Log square root
3016
3017           iec61966_2_4
3018           iec61966-2-4
3019               IEC 61966-2-4
3020
3021           bt1361
3022           bt1361e
3023               BT.1361
3024
3025           iec61966_2_1
3026           iec61966-2-1
3027               IEC 61966-2-1
3028
3029           bt2020_10
3030           bt2020_10bit
3031               BT.2020 - 10 bit
3032
3033           bt2020_12
3034           bt2020_12bit
3035               BT.2020 - 12 bit
3036
3037           smpte2084
3038               SMPTE ST 2084
3039
3040           smpte428
3041           smpte428_1
3042               SMPTE ST 428-1
3043
3044           arib-std-b67
3045               ARIB STD-B67
3046
3047       colorspace integer (decoding/encoding,video)
3048           Possible values:
3049
3050           rgb RGB
3051
3052           bt709
3053               BT.709
3054
3055           fcc FCC
3056
3057           bt470bg
3058               BT.470 BG
3059
3060           smpte170m
3061               SMPTE 170 M
3062
3063           smpte240m
3064               SMPTE 240 M
3065
3066           ycocg
3067               YCOCG
3068
3069           bt2020nc
3070           bt2020_ncl
3071               BT.2020 NCL
3072
3073           bt2020c
3074           bt2020_cl
3075               BT.2020 CL
3076
3077           smpte2085
3078               SMPTE 2085
3079
3080           chroma-derived-nc
3081               Chroma-derived NCL
3082
3083           chroma-derived-c
3084               Chroma-derived CL
3085
3086           ictcp
3087               ICtCp
3088
3089       color_range integer (decoding/encoding,video)
3090           If used as input parameter, it serves as a hint to the decoder,
3091           which color_range the input has.  Possible values:
3092
3093           tv
3094           mpeg
3095               MPEG (219*2^(n-8))
3096
3097           pc
3098           jpeg
3099               JPEG (2^n-1)
3100
3101       chroma_sample_location integer (decoding/encoding,video)
3102           Possible values:
3103
3104           left
3105           center
3106           topleft
3107           top
3108           bottomleft
3109           bottom
3110       log_level_offset integer
3111           Set the log level offset.
3112
3113       slices integer (encoding,video)
3114           Number of slices, used in parallelized encoding.
3115
3116       thread_type flags (decoding/encoding,video)
3117           Select which multithreading methods to use.
3118
3119           Use of frame will increase decoding delay by one frame per thread,
3120           so clients which cannot provide future frames should not use it.
3121
3122           Possible values:
3123
3124           slice
3125               Decode more than one part of a single frame at once.
3126
3127               Multithreading using slices works only when the video was
3128               encoded with slices.
3129
3130           frame
3131               Decode more than one frame at once.
3132
3133           Default value is slice+frame.
3134
3135       audio_service_type integer (encoding,audio)
3136           Set audio service type.
3137
3138           Possible values:
3139
3140           ma  Main Audio Service
3141
3142           ef  Effects
3143
3144           vi  Visually Impaired
3145
3146           hi  Hearing Impaired
3147
3148           di  Dialogue
3149
3150           co  Commentary
3151
3152           em  Emergency
3153
3154           vo  Voice Over
3155
3156           ka  Karaoke
3157
3158       request_sample_fmt sample_fmt (decoding,audio)
3159           Set sample format audio decoders should prefer. Default value is
3160           "none".
3161
3162       pkt_timebase rational number
3163       sub_charenc encoding (decoding,subtitles)
3164           Set the input subtitles character encoding.
3165
3166       field_order  field_order (video)
3167           Set/override the field order of the video.  Possible values:
3168
3169           progressive
3170               Progressive video
3171
3172           tt  Interlaced video, top field coded and displayed first
3173
3174           bb  Interlaced video, bottom field coded and displayed first
3175
3176           tb  Interlaced video, top coded first, bottom displayed first
3177
3178           bt  Interlaced video, bottom coded first, top displayed first
3179
3180       skip_alpha bool (decoding,video)
3181           Set to 1 to disable processing alpha (transparency). This works
3182           like the gray flag in the flags option which skips chroma
3183           information instead of alpha. Default is 0.
3184
3185       codec_whitelist list (input)
3186           "," separated list of allowed decoders. By default all are allowed.
3187
3188       dump_separator string (input)
3189           Separator used to separate the fields printed on the command line
3190           about the Stream parameters.  For example, to separate the fields
3191           with newlines and indentation:
3192
3193                   ffprobe -dump_separator "
3194                                             "  -i ~/videos/matrixbench_mpeg2.mpg
3195
3196       max_pixels integer (decoding/encoding,video)
3197           Maximum number of pixels per image. This value can be used to avoid
3198           out of memory failures due to large images.
3199
3200       apply_cropping bool (decoding,video)
3201           Enable cropping if cropping parameters are multiples of the
3202           required alignment for the left and top parameters. If the
3203           alignment is not met the cropping will be partially applied to
3204           maintain alignment.  Default is 1 (enabled).  Note: The required
3205           alignment depends on if "AV_CODEC_FLAG_UNALIGNED" is set and the
3206           CPU. "AV_CODEC_FLAG_UNALIGNED" cannot be changed from the command
3207           line. Also hardware decoders will not apply left/top Cropping.
3208

DECODERS

3210       Decoders are configured elements in FFmpeg which allow the decoding of
3211       multimedia streams.
3212
3213       When you configure your FFmpeg build, all the supported native decoders
3214       are enabled by default. Decoders requiring an external library must be
3215       enabled manually via the corresponding "--enable-lib" option. You can
3216       list all available decoders using the configure option
3217       "--list-decoders".
3218
3219       You can disable all the decoders with the configure option
3220       "--disable-decoders" and selectively enable / disable single decoders
3221       with the options "--enable-decoder=DECODER" /
3222       "--disable-decoder=DECODER".
3223
3224       The option "-decoders" of the ff* tools will display the list of
3225       enabled decoders.
3226

VIDEO DECODERS

3228       A description of some of the currently available video decoders
3229       follows.
3230
3231   av1
3232       AOMedia Video 1 (AV1) decoder.
3233
3234       Options
3235
3236       operating_point
3237           Select an operating point of a scalable AV1 bitstream (0 - 31).
3238           Default is 0.
3239
3240   rawvideo
3241       Raw video decoder.
3242
3243       This decoder decodes rawvideo streams.
3244
3245       Options
3246
3247       top top_field_first
3248           Specify the assumed field type of the input video.
3249
3250           -1  the video is assumed to be progressive (default)
3251
3252           0   bottom-field-first is assumed
3253
3254           1   top-field-first is assumed
3255
3256   libdav1d
3257       dav1d AV1 decoder.
3258
3259       libdav1d allows libavcodec to decode the AOMedia Video 1 (AV1) codec.
3260       Requires the presence of the libdav1d headers and library during
3261       configuration.  You need to explicitly configure the build with
3262       "--enable-libdav1d".
3263
3264       Options
3265
3266       The following options are supported by the libdav1d wrapper.
3267
3268       framethreads
3269           Set amount of frame threads to use during decoding. The default
3270           value is 0 (autodetect).  This option is deprecated for libdav1d >=
3271           1.0 and will be removed in the future. Use the global option
3272           "threads" instead.
3273
3274       tilethreads
3275           Set amount of tile threads to use during decoding. The default
3276           value is 0 (autodetect).  This option is deprecated for libdav1d >=
3277           1.0 and will be removed in the future. Use the global option
3278           "threads" instead.
3279
3280       filmgrain
3281           Apply film grain to the decoded video if present in the bitstream.
3282           Defaults to the internal default of the library.  This option is
3283           deprecated and will be removed in the future. See the global option
3284           "export_side_data" to export Film Grain parameters instead of
3285           applying it.
3286
3287       oppoint
3288           Select an operating point of a scalable AV1 bitstream (0 - 31).
3289           Defaults to the internal default of the library.
3290
3291       alllayers
3292           Output all spatial layers of a scalable AV1 bitstream. The default
3293           value is false.
3294
3295   libdavs2
3296       AVS2-P2/IEEE1857.4 video decoder wrapper.
3297
3298       This decoder allows libavcodec to decode AVS2 streams with davs2
3299       library.
3300
3301   libuavs3d
3302       AVS3-P2/IEEE1857.10 video decoder.
3303
3304       libuavs3d allows libavcodec to decode AVS3 streams.  Requires the
3305       presence of the libuavs3d headers and library during configuration.
3306       You need to explicitly configure the build with "--enable-libuavs3d".
3307
3308       Options
3309
3310       The following option is supported by the libuavs3d wrapper.
3311
3312       frame_threads
3313           Set amount of frame threads to use during decoding. The default
3314           value is 0 (autodetect).
3315

AUDIO DECODERS

3317       A description of some of the currently available audio decoders
3318       follows.
3319
3320   ac3
3321       AC-3 audio decoder.
3322
3323       This decoder implements part of ATSC A/52:2010 and ETSI TS 102 366, as
3324       well as the undocumented RealAudio 3 (a.k.a. dnet).
3325
3326       AC-3 Decoder Options
3327
3328       -drc_scale value
3329           Dynamic Range Scale Factor. The factor to apply to dynamic range
3330           values from the AC-3 stream. This factor is applied exponentially.
3331           The default value is 1.  There are 3 notable scale factor ranges:
3332
3333           drc_scale == 0
3334               DRC disabled. Produces full range audio.
3335
3336           0 < drc_scale <= 1
3337               DRC enabled.  Applies a fraction of the stream DRC value.
3338               Audio reproduction is between full range and full compression.
3339
3340           drc_scale > 1
3341               DRC enabled. Applies drc_scale asymmetrically.  Loud sounds are
3342               fully compressed.  Soft sounds are enhanced.
3343
3344   flac
3345       FLAC audio decoder.
3346
3347       This decoder aims to implement the complete FLAC specification from
3348       Xiph.
3349
3350       FLAC Decoder options
3351
3352       -use_buggy_lpc
3353           The lavc FLAC encoder used to produce buggy streams with high lpc
3354           values (like the default value). This option makes it possible to
3355           decode such streams correctly by using lavc's old buggy lpc logic
3356           for decoding.
3357
3358   ffwavesynth
3359       Internal wave synthesizer.
3360
3361       This decoder generates wave patterns according to predefined sequences.
3362       Its use is purely internal and the format of the data it accepts is not
3363       publicly documented.
3364
3365   libcelt
3366       libcelt decoder wrapper.
3367
3368       libcelt allows libavcodec to decode the Xiph CELT ultra-low delay audio
3369       codec.  Requires the presence of the libcelt headers and library during
3370       configuration.  You need to explicitly configure the build with
3371       "--enable-libcelt".
3372
3373   libgsm
3374       libgsm decoder wrapper.
3375
3376       libgsm allows libavcodec to decode the GSM full rate audio codec.
3377       Requires the presence of the libgsm headers and library during
3378       configuration. You need to explicitly configure the build with
3379       "--enable-libgsm".
3380
3381       This decoder supports both the ordinary GSM and the Microsoft variant.
3382
3383   libilbc
3384       libilbc decoder wrapper.
3385
3386       libilbc allows libavcodec to decode the Internet Low Bitrate Codec
3387       (iLBC) audio codec. Requires the presence of the libilbc headers and
3388       library during configuration. You need to explicitly configure the
3389       build with "--enable-libilbc".
3390
3391       Options
3392
3393       The following option is supported by the libilbc wrapper.
3394
3395       enhance
3396           Enable the enhancement of the decoded audio when set to 1. The
3397           default value is 0 (disabled).
3398
3399   libopencore-amrnb
3400       libopencore-amrnb decoder wrapper.
3401
3402       libopencore-amrnb allows libavcodec to decode the Adaptive Multi-Rate
3403       Narrowband audio codec. Using it requires the presence of the
3404       libopencore-amrnb headers and library during configuration. You need to
3405       explicitly configure the build with "--enable-libopencore-amrnb".
3406
3407       An FFmpeg native decoder for AMR-NB exists, so users can decode AMR-NB
3408       without this library.
3409
3410   libopencore-amrwb
3411       libopencore-amrwb decoder wrapper.
3412
3413       libopencore-amrwb allows libavcodec to decode the Adaptive Multi-Rate
3414       Wideband audio codec. Using it requires the presence of the
3415       libopencore-amrwb headers and library during configuration. You need to
3416       explicitly configure the build with "--enable-libopencore-amrwb".
3417
3418       An FFmpeg native decoder for AMR-WB exists, so users can decode AMR-WB
3419       without this library.
3420
3421   libopus
3422       libopus decoder wrapper.
3423
3424       libopus allows libavcodec to decode the Opus Interactive Audio Codec.
3425       Requires the presence of the libopus headers and library during
3426       configuration. You need to explicitly configure the build with
3427       "--enable-libopus".
3428
3429       An FFmpeg native decoder for Opus exists, so users can decode Opus
3430       without this library.
3431

SUBTITLES DECODERS

3433   libaribb24
3434       ARIB STD-B24 caption decoder.
3435
3436       Implements profiles A and C of the ARIB STD-B24 standard.
3437
3438       libaribb24 Decoder Options
3439
3440       -aribb24-base-path path
3441           Sets the base path for the libaribb24 library. This is utilized for
3442           reading of configuration files (for custom unicode conversions),
3443           and for dumping of non-text symbols as images under that location.
3444
3445           Unset by default.
3446
3447       -aribb24-skip-ruby-text boolean
3448           Tells the decoder wrapper to skip text blocks that contain half-
3449           height ruby text.
3450
3451           Enabled by default.
3452
3453   dvbsub
3454       Options
3455
3456       compute_clut
3457           -2  Compute clut once if no matching CLUT is in the stream.
3458
3459           -1  Compute clut if no matching CLUT is in the stream.
3460
3461           0   Never compute CLUT
3462
3463           1   Always compute CLUT and override the one provided in the
3464               stream.
3465
3466       dvb_substream
3467           Selects the dvb substream, or all substreams if -1 which is
3468           default.
3469
3470   dvdsub
3471       This codec decodes the bitmap subtitles used in DVDs; the same
3472       subtitles can also be found in VobSub file pairs and in some Matroska
3473       files.
3474
3475       Options
3476
3477       palette
3478           Specify the global palette used by the bitmaps. When stored in
3479           VobSub, the palette is normally specified in the index file; in
3480           Matroska, the palette is stored in the codec extra-data in the same
3481           format as in VobSub. In DVDs, the palette is stored in the IFO
3482           file, and therefore not available when reading from dumped VOB
3483           files.
3484
3485           The format for this option is a string containing 16 24-bits
3486           hexadecimal numbers (without 0x prefix) separated by commas, for
3487           example "0d00ee, ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b,
3488           0d617a, 7b7b7b, d1d1d1, 7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c,
3489           7c127b".
3490
3491       ifo_palette
3492           Specify the IFO file from which the global palette is obtained.
3493           (experimental)
3494
3495       forced_subs_only
3496           Only decode subtitle entries marked as forced. Some titles have
3497           forced and non-forced subtitles in the same track. Setting this
3498           flag to 1 will only keep the forced subtitles. Default value is 0.
3499
3500   libzvbi-teletext
3501       Libzvbi allows libavcodec to decode DVB teletext pages and DVB teletext
3502       subtitles. Requires the presence of the libzvbi headers and library
3503       during configuration. You need to explicitly configure the build with
3504       "--enable-libzvbi".
3505
3506       Options
3507
3508       txt_page
3509           List of teletext page numbers to decode. Pages that do not match
3510           the specified list are dropped. You may use the special "*" string
3511           to match all pages, or "subtitle" to match all subtitle pages.
3512           Default value is *.
3513
3514       txt_default_region
3515           Set default character set used for decoding, a value between 0 and
3516           87 (see ETS 300 706, Section 15, Table 32). Default value is -1,
3517           which does not override the libzvbi default. This option is needed
3518           for some legacy level 1.0 transmissions which cannot signal the
3519           proper charset.
3520
3521       txt_chop_top
3522           Discards the top teletext line. Default value is 1.
3523
3524       txt_format
3525           Specifies the format of the decoded subtitles.
3526
3527           bitmap
3528               The default format, you should use this for teletext pages,
3529               because certain graphics and colors cannot be expressed in
3530               simple text or even ASS.
3531
3532           text
3533               Simple text based output without formatting.
3534
3535           ass Formatted ASS output, subtitle pages and teletext pages are
3536               returned in different styles, subtitle pages are stripped down
3537               to text, but an effort is made to keep the text alignment and
3538               the formatting.
3539
3540       txt_left
3541           X offset of generated bitmaps, default is 0.
3542
3543       txt_top
3544           Y offset of generated bitmaps, default is 0.
3545
3546       txt_chop_spaces
3547           Chops leading and trailing spaces and removes empty lines from the
3548           generated text. This option is useful for teletext based subtitles
3549           where empty spaces may be present at the start or at the end of the
3550           lines or empty lines may be present between the subtitle lines
3551           because of double-sized teletext characters.  Default value is 1.
3552
3553       txt_duration
3554           Sets the display duration of the decoded teletext pages or
3555           subtitles in milliseconds. Default value is -1 which means infinity
3556           or until the next subtitle event comes.
3557
3558       txt_transparent
3559           Force transparent background of the generated teletext bitmaps.
3560           Default value is 0 which means an opaque background.
3561
3562       txt_opacity
3563           Sets the opacity (0-255) of the teletext background. If
3564           txt_transparent is not set, it only affects characters between a
3565           start box and an end box, typically subtitles. Default value is 0
3566           if txt_transparent is set, 255 otherwise.
3567

BITSTREAM FILTERS

3569       When you configure your FFmpeg build, all the supported bitstream
3570       filters are enabled by default. You can list all available ones using
3571       the configure option "--list-bsfs".
3572
3573       You can disable all the bitstream filters using the configure option
3574       "--disable-bsfs", and selectively enable any bitstream filter using the
3575       option "--enable-bsf=BSF", or you can disable a particular bitstream
3576       filter using the option "--disable-bsf=BSF".
3577
3578       The option "-bsfs" of the ff* tools will display the list of all the
3579       supported bitstream filters included in your build.
3580
3581       The ff* tools have a -bsf option applied per stream, taking a comma-
3582       separated list of filters, whose parameters follow the filter name
3583       after a '='.
3584
3585               ffmpeg -i INPUT -c:v copy -bsf:v filter1[=opt1=str1:opt2=str2][,filter2] OUTPUT
3586
3587       Below is a description of the currently available bitstream filters,
3588       with their parameters, if any.
3589
3590   aac_adtstoasc
3591       Convert MPEG-2/4 AAC ADTS to an MPEG-4 Audio Specific Configuration
3592       bitstream.
3593
3594       This filter creates an MPEG-4 AudioSpecificConfig from an MPEG-2/4 ADTS
3595       header and removes the ADTS header.
3596
3597       This filter is required for example when copying an AAC stream from a
3598       raw ADTS AAC or an MPEG-TS container to MP4A-LATM, to an FLV file, or
3599       to MOV/MP4 files and related formats such as 3GP or M4A. Please note
3600       that it is auto-inserted for MP4A-LATM and MOV/MP4 and related formats.
3601
3602   av1_metadata
3603       Modify metadata embedded in an AV1 stream.
3604
3605       td  Insert or remove temporal delimiter OBUs in all temporal units of
3606           the stream.
3607
3608           insert
3609               Insert a TD at the beginning of every TU which does not already
3610               have one.
3611
3612           remove
3613               Remove the TD from the beginning of every TU which has one.
3614
3615       color_primaries
3616       transfer_characteristics
3617       matrix_coefficients
3618           Set the color description fields in the stream (see AV1 section
3619           6.4.2).
3620
3621       color_range
3622           Set the color range in the stream (see AV1 section 6.4.2; note that
3623           this cannot be set for streams using BT.709 primaries, sRGB
3624           transfer characteristic and identity (RGB) matrix coefficients).
3625
3626           tv  Limited range.
3627
3628           pc  Full range.
3629
3630       chroma_sample_position
3631           Set the chroma sample location in the stream (see AV1 section
3632           6.4.2).  This can only be set for 4:2:0 streams.
3633
3634           vertical
3635               Left position (matching the default in MPEG-2 and H.264).
3636
3637           colocated
3638               Top-left position.
3639
3640       tick_rate
3641           Set the tick rate (time_scale / num_units_in_display_tick) in the
3642           timing info in the sequence header.
3643
3644       num_ticks_per_picture
3645           Set the number of ticks in each picture, to indicate that the
3646           stream has a fixed framerate.  Ignored if tick_rate is not also
3647           set.
3648
3649       delete_padding
3650           Deletes Padding OBUs.
3651
3652   chomp
3653       Remove zero padding at the end of a packet.
3654
3655   dca_core
3656       Extract the core from a DCA/DTS stream, dropping extensions such as
3657       DTS-HD.
3658
3659   dump_extra
3660       Add extradata to the beginning of the filtered packets except when said
3661       packets already exactly begin with the extradata that is intended to be
3662       added.
3663
3664       freq
3665           The additional argument specifies which packets should be filtered.
3666           It accepts the values:
3667
3668           k
3669           keyframe
3670               add extradata to all key packets
3671
3672           e
3673           all add extradata to all packets
3674
3675       If not specified it is assumed k.
3676
3677       For example the following ffmpeg command forces a global header (thus
3678       disabling individual packet headers) in the H.264 packets generated by
3679       the "libx264" encoder, but corrects them by adding the header stored in
3680       extradata to the key packets:
3681
3682               ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
3683
3684   eac3_core
3685       Extract the core from a E-AC-3 stream, dropping extra channels.
3686
3687   extract_extradata
3688       Extract the in-band extradata.
3689
3690       Certain codecs allow the long-term headers (e.g. MPEG-2 sequence
3691       headers, or H.264/HEVC (VPS/)SPS/PPS) to be transmitted either "in-
3692       band" (i.e. as a part of the bitstream containing the coded frames) or
3693       "out of band" (e.g. on the container level). This latter form is called
3694       "extradata" in FFmpeg terminology.
3695
3696       This bitstream filter detects the in-band headers and makes them
3697       available as extradata.
3698
3699       remove
3700           When this option is enabled, the long-term headers are removed from
3701           the bitstream after extraction.
3702
3703   filter_units
3704       Remove units with types in or not in a given set from the stream.
3705
3706       pass_types
3707           List of unit types or ranges of unit types to pass through while
3708           removing all others.  This is specified as a '|'-separated list of
3709           unit type values or ranges of values with '-'.
3710
3711       remove_types
3712           Identical to pass_types, except the units in the given set removed
3713           and all others passed through.
3714
3715       Extradata is unchanged by this transformation, but note that if the
3716       stream contains inline parameter sets then the output may be unusable
3717       if they are removed.
3718
3719       For example, to remove all non-VCL NAL units from an H.264 stream:
3720
3721               ffmpeg -i INPUT -c:v copy -bsf:v 'filter_units=pass_types=1-5' OUTPUT
3722
3723       To remove all AUDs, SEI and filler from an H.265 stream:
3724
3725               ffmpeg -i INPUT -c:v copy -bsf:v 'filter_units=remove_types=35|38-40' OUTPUT
3726
3727   hapqa_extract
3728       Extract Rgb or Alpha part of an HAPQA file, without recompression, in
3729       order to create an HAPQ or an HAPAlphaOnly file.
3730
3731       texture
3732           Specifies the texture to keep.
3733
3734           color
3735           alpha
3736
3737       Convert HAPQA to HAPQ
3738
3739               ffmpeg -i hapqa_inputfile.mov -c copy -bsf:v hapqa_extract=texture=color -tag:v HapY -metadata:s:v:0 encoder="HAPQ" hapq_file.mov
3740
3741       Convert HAPQA to HAPAlphaOnly
3742
3743               ffmpeg -i hapqa_inputfile.mov -c copy -bsf:v hapqa_extract=texture=alpha -tag:v HapA -metadata:s:v:0 encoder="HAPAlpha Only" hapalphaonly_file.mov
3744
3745   h264_metadata
3746       Modify metadata embedded in an H.264 stream.
3747
3748       aud Insert or remove AUD NAL units in all access units of the stream.
3749
3750           insert
3751           remove
3752       sample_aspect_ratio
3753           Set the sample aspect ratio of the stream in the VUI parameters.
3754
3755       overscan_appropriate_flag
3756           Set whether the stream is suitable for display using overscan or
3757           not (see H.264 section E.2.1).
3758
3759       video_format
3760       video_full_range_flag
3761           Set the video format in the stream (see H.264 section E.2.1 and
3762           table E-2).
3763
3764       colour_primaries
3765       transfer_characteristics
3766       matrix_coefficients
3767           Set the colour description in the stream (see H.264 section E.2.1
3768           and tables E-3, E-4 and E-5).
3769
3770       chroma_sample_loc_type
3771           Set the chroma sample location in the stream (see H.264 section
3772           E.2.1 and figure E-1).
3773
3774       tick_rate
3775           Set the tick rate (time_scale / num_units_in_tick) in the VUI
3776           parameters.  This is the smallest time unit representable in the
3777           stream, and in many cases represents the field rate of the stream
3778           (double the frame rate).
3779
3780       fixed_frame_rate_flag
3781           Set whether the stream has fixed framerate - typically this
3782           indicates that the framerate is exactly half the tick rate, but the
3783           exact meaning is dependent on interlacing and the picture structure
3784           (see H.264 section E.2.1 and table E-6).
3785
3786       zero_new_constraint_set_flags
3787           Zero constraint_set4_flag and constraint_set5_flag in the SPS.
3788           These bits were reserved in a previous version of the H.264 spec,
3789           and thus some hardware decoders require these to be zero. The
3790           result of zeroing this is still a valid bitstream.
3791
3792       crop_left
3793       crop_right
3794       crop_top
3795       crop_bottom
3796           Set the frame cropping offsets in the SPS.  These values will
3797           replace the current ones if the stream is already cropped.
3798
3799           These fields are set in pixels.  Note that some sizes may not be
3800           representable if the chroma is subsampled or the stream is
3801           interlaced (see H.264 section 7.4.2.1.1).
3802
3803       sei_user_data
3804           Insert a string as SEI unregistered user data.  The argument must
3805           be of the form UUID+string, where the UUID is as hex digits
3806           possibly separated by hyphens, and the string can be anything.
3807
3808           For example, 086f3693-b7b3-4f2c-9653-21492feee5b8+hello will insert
3809           the string ``hello'' associated with the given UUID.
3810
3811       delete_filler
3812           Deletes both filler NAL units and filler SEI messages.
3813
3814       level
3815           Set the level in the SPS.  Refer to H.264 section A.3 and tables
3816           A-1 to A-5.
3817
3818           The argument must be the name of a level (for example, 4.2), a
3819           level_idc value (for example, 42), or the special name auto
3820           indicating that the filter should attempt to guess the level from
3821           the input stream properties.
3822
3823   h264_mp4toannexb
3824       Convert an H.264 bitstream from length prefixed mode to start code
3825       prefixed mode (as defined in the Annex B of the ITU-T H.264
3826       specification).
3827
3828       This is required by some streaming formats, typically the MPEG-2
3829       transport stream format (muxer "mpegts").
3830
3831       For example to remux an MP4 file containing an H.264 stream to mpegts
3832       format with ffmpeg, you can use the command:
3833
3834               ffmpeg -i INPUT.mp4 -codec copy -bsf:v h264_mp4toannexb OUTPUT.ts
3835
3836       Please note that this filter is auto-inserted for MPEG-TS (muxer
3837       "mpegts") and raw H.264 (muxer "h264") output formats.
3838
3839   h264_redundant_pps
3840       This applies a specific fixup to some Blu-ray streams which contain
3841       redundant PPSs modifying irrelevant parameters of the stream which
3842       confuse other transformations which require correct extradata.
3843
3844       A new single global PPS is created, and all of the redundant PPSs
3845       within the stream are removed.
3846
3847   hevc_metadata
3848       Modify metadata embedded in an HEVC stream.
3849
3850       aud Insert or remove AUD NAL units in all access units of the stream.
3851
3852           insert
3853           remove
3854       sample_aspect_ratio
3855           Set the sample aspect ratio in the stream in the VUI parameters.
3856
3857       video_format
3858       video_full_range_flag
3859           Set the video format in the stream (see H.265 section E.3.1 and
3860           table E.2).
3861
3862       colour_primaries
3863       transfer_characteristics
3864       matrix_coefficients
3865           Set the colour description in the stream (see H.265 section E.3.1
3866           and tables E.3, E.4 and E.5).
3867
3868       chroma_sample_loc_type
3869           Set the chroma sample location in the stream (see H.265 section
3870           E.3.1 and figure E.1).
3871
3872       tick_rate
3873           Set the tick rate in the VPS and VUI parameters (time_scale /
3874           num_units_in_tick). Combined with num_ticks_poc_diff_one, this can
3875           set a constant framerate in the stream.  Note that it is likely to
3876           be overridden by container parameters when the stream is in a
3877           container.
3878
3879       num_ticks_poc_diff_one
3880           Set poc_proportional_to_timing_flag in VPS and VUI and use this
3881           value to set num_ticks_poc_diff_one_minus1 (see H.265 sections
3882           7.4.3.1 and E.3.1).  Ignored if tick_rate is not also set.
3883
3884       crop_left
3885       crop_right
3886       crop_top
3887       crop_bottom
3888           Set the conformance window cropping offsets in the SPS.  These
3889           values will replace the current ones if the stream is already
3890           cropped.
3891
3892           These fields are set in pixels.  Note that some sizes may not be
3893           representable if the chroma is subsampled (H.265 section
3894           7.4.3.2.1).
3895
3896       level
3897           Set the level in the VPS and SPS.  See H.265 section A.4 and tables
3898           A.6 and A.7.
3899
3900           The argument must be the name of a level (for example, 5.1), a
3901           general_level_idc value (for example, 153 for level 5.1), or the
3902           special name auto indicating that the filter should attempt to
3903           guess the level from the input stream properties.
3904
3905   hevc_mp4toannexb
3906       Convert an HEVC/H.265 bitstream from length prefixed mode to start code
3907       prefixed mode (as defined in the Annex B of the ITU-T H.265
3908       specification).
3909
3910       This is required by some streaming formats, typically the MPEG-2
3911       transport stream format (muxer "mpegts").
3912
3913       For example to remux an MP4 file containing an HEVC stream to mpegts
3914       format with ffmpeg, you can use the command:
3915
3916               ffmpeg -i INPUT.mp4 -codec copy -bsf:v hevc_mp4toannexb OUTPUT.ts
3917
3918       Please note that this filter is auto-inserted for MPEG-TS (muxer
3919       "mpegts") and raw HEVC/H.265 (muxer "h265" or "hevc") output formats.
3920
3921   imxdump
3922       Modifies the bitstream to fit in MOV and to be usable by the Final Cut
3923       Pro decoder. This filter only applies to the mpeg2video codec, and is
3924       likely not needed for Final Cut Pro 7 and newer with the appropriate
3925       -tag:v.
3926
3927       For example, to remux 30 MB/sec NTSC IMX to MOV:
3928
3929               ffmpeg -i input.mxf -c copy -bsf:v imxdump -tag:v mx3n output.mov
3930
3931   mjpeg2jpeg
3932       Convert MJPEG/AVI1 packets to full JPEG/JFIF packets.
3933
3934       MJPEG is a video codec wherein each video frame is essentially a JPEG
3935       image. The individual frames can be extracted without loss, e.g. by
3936
3937               ffmpeg -i ../some_mjpeg.avi -c:v copy frames_%d.jpg
3938
3939       Unfortunately, these chunks are incomplete JPEG images, because they
3940       lack the DHT segment required for decoding. Quoting from
3941       <http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml>:
3942
3943       Avery Lee, writing in the rec.video.desktop newsgroup in 2001,
3944       commented that "MJPEG, or at least the MJPEG in AVIs having the MJPG
3945       fourcc, is restricted JPEG with a fixed -- and *omitted* -- Huffman
3946       table. The JPEG must be YCbCr colorspace, it must be 4:2:2, and it must
3947       use basic Huffman encoding, not arithmetic or progressive. . . . You
3948       can indeed extract the MJPEG frames and decode them with a regular JPEG
3949       decoder, but you have to prepend the DHT segment to them, or else the
3950       decoder won't have any idea how to decompress the data. The exact table
3951       necessary is given in the OpenDML spec."
3952
3953       This bitstream filter patches the header of frames extracted from an
3954       MJPEG stream (carrying the AVI1 header ID and lacking a DHT segment) to
3955       produce fully qualified JPEG images.
3956
3957               ffmpeg -i mjpeg-movie.avi -c:v copy -bsf:v mjpeg2jpeg frame_%d.jpg
3958               exiftran -i -9 frame*.jpg
3959               ffmpeg -i frame_%d.jpg -c:v copy rotated.avi
3960
3961   mjpegadump
3962       Add an MJPEG A header to the bitstream, to enable decoding by
3963       Quicktime.
3964
3965   mov2textsub
3966       Extract a representable text file from MOV subtitles, stripping the
3967       metadata header from each subtitle packet.
3968
3969       See also the text2movsub filter.
3970
3971   mp3decomp
3972       Decompress non-standard compressed MP3 audio headers.
3973
3974   mpeg2_metadata
3975       Modify metadata embedded in an MPEG-2 stream.
3976
3977       display_aspect_ratio
3978           Set the display aspect ratio in the stream.
3979
3980           The following fixed values are supported:
3981
3982           4/3
3983           16/9
3984           221/100
3985
3986           Any other value will result in square pixels being signalled
3987           instead (see H.262 section 6.3.3 and table 6-3).
3988
3989       frame_rate
3990           Set the frame rate in the stream.  This is constructed from a table
3991           of known values combined with a small multiplier and divisor - if
3992           the supplied value is not exactly representable, the nearest
3993           representable value will be used instead (see H.262 section 6.3.3
3994           and table 6-4).
3995
3996       video_format
3997           Set the video format in the stream (see H.262 section 6.3.6 and
3998           table 6-6).
3999
4000       colour_primaries
4001       transfer_characteristics
4002       matrix_coefficients
4003           Set the colour description in the stream (see H.262 section 6.3.6
4004           and tables 6-7, 6-8 and 6-9).
4005
4006   mpeg4_unpack_bframes
4007       Unpack DivX-style packed B-frames.
4008
4009       DivX-style packed B-frames are not valid MPEG-4 and were only a
4010       workaround for the broken Video for Windows subsystem.  They use more
4011       space, can cause minor AV sync issues, require more CPU power to decode
4012       (unless the player has some decoded picture queue to compensate the
4013       2,0,2,0 frame per packet style) and cause trouble if copied into a
4014       standard container like mp4 or mpeg-ps/ts, because MPEG-4 decoders may
4015       not be able to decode them, since they are not valid MPEG-4.
4016
4017       For example to fix an AVI file containing an MPEG-4 stream with DivX-
4018       style packed B-frames using ffmpeg, you can use the command:
4019
4020               ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.avi
4021
4022   noise
4023       Damages the contents of packets or simply drops them without damaging
4024       the container. Can be used for fuzzing or testing error
4025       resilience/concealment.
4026
4027       Parameters:
4028
4029       amount
4030           Accepts an expression whose evaluation per-packet determines how
4031           often bytes in that packet will be modified. A value below 0 will
4032           result in a variable frequency.  Default is 0 which results in no
4033           modification. However, if neither amount nor drop is specified,
4034           amount will be set to -1. See below for accepted variables.
4035
4036       drop
4037           Accepts an expression evaluated per-packet whose value determines
4038           whether that packet is dropped.  Evaluation to a positive value
4039           results in the packet being dropped. Evaluation to a negative value
4040           results in a variable chance of it being dropped, roughly inverse
4041           in proportion to the magnitude of the value. Default is 0 which
4042           results in no drops. See below for accepted variables.
4043
4044       dropamount
4045           Accepts a non-negative integer, which assigns a variable chance of
4046           it being dropped, roughly inverse in proportion to the value.
4047           Default is 0 which results in no drops. This option is kept for
4048           backwards compatibility and is equivalent to setting drop to a
4049           negative value with the same magnitude i.e. "dropamount=4" is the
4050           same as "drop=-4". Ignored if drop is also specified.
4051
4052       Both "amount" and "drop" accept expressions containing the following
4053       variables:
4054
4055       n   The index of the packet, starting from zero.
4056
4057       tb  The timebase for packet timestamps.
4058
4059       pts Packet presentation timestamp.
4060
4061       dts Packet decoding timestamp.
4062
4063       nopts
4064           Constant representing AV_NOPTS_VALUE.
4065
4066       startpts
4067           First non-AV_NOPTS_VALUE PTS seen in the stream.
4068
4069       startdts
4070           First non-AV_NOPTS_VALUE DTS seen in the stream.
4071
4072       duration
4073       d   Packet duration, in timebase units.
4074
4075       pos Packet position in input; may be -1 when unknown or not set.
4076
4077       size
4078           Packet size, in bytes.
4079
4080       key Whether packet is marked as a keyframe.
4081
4082       state
4083           A pseudo random integer, primarily derived from the content of
4084           packet payload.
4085
4086       Examples
4087
4088       Apply modification to every byte but don't drop any packets.
4089
4090               ffmpeg -i INPUT -c copy -bsf noise=1 output.mkv
4091
4092       Drop every video packet not marked as a keyframe after timestamp 30s
4093       but do not modify any of the remaining packets.
4094
4095               ffmpeg -i INPUT -c copy -bsf:v noise=drop='gt(t\,30)*not(key)' output.mkv
4096
4097       Drop one second of audio every 10 seconds and add some random noise to
4098       the rest.
4099
4100               ffmpeg -i INPUT -c copy -bsf:a noise=amount=-1:drop='between(mod(t\,10)\,9\,10)' output.mkv
4101
4102   null
4103       This bitstream filter passes the packets through unchanged.
4104
4105   pcm_rechunk
4106       Repacketize PCM audio to a fixed number of samples per packet or a
4107       fixed packet rate per second. This is similar to the asetnsamples audio
4108       filter but works on audio packets instead of audio frames.
4109
4110       nb_out_samples, n
4111           Set the number of samples per each output audio packet. The number
4112           is intended as the number of samples per each channel. Default
4113           value is 1024.
4114
4115       pad, p
4116           If set to 1, the filter will pad the last audio packet with
4117           silence, so that it will contain the same number of samples (or
4118           roughly the same number of samples, see frame_rate) as the previous
4119           ones. Default value is 1.
4120
4121       frame_rate, r
4122           This option makes the filter output a fixed number of packets per
4123           second instead of a fixed number of samples per packet. If the
4124           audio sample rate is not divisible by the frame rate then the
4125           number of samples will not be constant but will vary slightly so
4126           that each packet will start as close to the frame boundary as
4127           possible. Using this option has precedence over nb_out_samples.
4128
4129       You can generate the well known 1602-1601-1602-1601-1602 pattern of
4130       48kHz audio for NTSC frame rate using the frame_rate option.
4131
4132               ffmpeg -f lavfi -i sine=r=48000:d=1 -c pcm_s16le -bsf pcm_rechunk=r=30000/1001 -f framecrc -
4133
4134   prores_metadata
4135       Modify color property metadata embedded in prores stream.
4136
4137       color_primaries
4138           Set the color primaries.  Available values are:
4139
4140           auto
4141               Keep the same color primaries property (default).
4142
4143           unknown
4144           bt709
4145           bt470bg
4146               BT601 625
4147
4148           smpte170m
4149               BT601 525
4150
4151           bt2020
4152           smpte431
4153               DCI P3
4154
4155           smpte432
4156               P3 D65
4157
4158       transfer_characteristics
4159           Set the color transfer.  Available values are:
4160
4161           auto
4162               Keep the same transfer characteristics property (default).
4163
4164           unknown
4165           bt709
4166               BT 601, BT 709, BT 2020
4167
4168           smpte2084
4169               SMPTE ST 2084
4170
4171           arib-std-b67
4172               ARIB STD-B67
4173
4174       matrix_coefficients
4175           Set the matrix coefficient.  Available values are:
4176
4177           auto
4178               Keep the same colorspace property (default).
4179
4180           unknown
4181           bt709
4182           smpte170m
4183               BT 601
4184
4185           bt2020nc
4186
4187       Set Rec709 colorspace for each frame of the file
4188
4189               ffmpeg -i INPUT -c copy -bsf:v prores_metadata=color_primaries=bt709:color_trc=bt709:colorspace=bt709 output.mov
4190
4191       Set Hybrid Log-Gamma parameters for each frame of the file
4192
4193               ffmpeg -i INPUT -c copy -bsf:v prores_metadata=color_primaries=bt2020:color_trc=arib-std-b67:colorspace=bt2020nc output.mov
4194
4195   remove_extra
4196       Remove extradata from packets.
4197
4198       It accepts the following parameter:
4199
4200       freq
4201           Set which frame types to remove extradata from.
4202
4203           k   Remove extradata from non-keyframes only.
4204
4205           keyframe
4206               Remove extradata from keyframes only.
4207
4208           e, all
4209               Remove extradata from all frames.
4210
4211   setts
4212       Set PTS and DTS in packets.
4213
4214       It accepts the following parameters:
4215
4216       ts
4217       pts
4218       dts Set expressions for PTS, DTS or both.
4219
4220       The expressions are evaluated through the eval API and can contain the
4221       following constants:
4222
4223       N   The count of the input packet. Starting from 0.
4224
4225       TS  The demux timestamp in input in case of "ts" or "dts" option or
4226           presentation timestamp in case of "pts" option.
4227
4228       POS The original position in the file of the packet, or undefined if
4229           undefined for the current packet
4230
4231       DTS The demux timestamp in input.
4232
4233       PTS The presentation timestamp in input.
4234
4235       STARTDTS
4236           The DTS of the first packet.
4237
4238       STARTPTS
4239           The PTS of the first packet.
4240
4241       PREV_INDTS
4242           The previous input DTS.
4243
4244       PREV_INPTS
4245           The previous input PTS.
4246
4247       PREV_OUTDTS
4248           The previous output DTS.
4249
4250       PREV_OUTPTS
4251           The previous output PTS.
4252
4253       TB  The timebase of stream packet belongs.
4254
4255       SR  The sample rate of stream packet belongs.
4256
4257       NOPTS
4258           The AV_NOPTS_VALUE constant.
4259
4260   text2movsub
4261       Convert text subtitles to MOV subtitles (as used by the "mov_text"
4262       codec) with metadata headers.
4263
4264       See also the mov2textsub filter.
4265
4266   trace_headers
4267       Log trace output containing all syntax elements in the coded stream
4268       headers (everything above the level of individual coded blocks).  This
4269       can be useful for debugging low-level stream issues.
4270
4271       Supports AV1, H.264, H.265, (M)JPEG, MPEG-2 and VP9, but depending on
4272       the build only a subset of these may be available.
4273
4274   truehd_core
4275       Extract the core from a TrueHD stream, dropping ATMOS data.
4276
4277   vp9_metadata
4278       Modify metadata embedded in a VP9 stream.
4279
4280       color_space
4281           Set the color space value in the frame header.  Note that any frame
4282           set to RGB will be implicitly set to PC range and that RGB is
4283           incompatible with profiles 0 and 2.
4284
4285           unknown
4286           bt601
4287           bt709
4288           smpte170
4289           smpte240
4290           bt2020
4291           rgb
4292       color_range
4293           Set the color range value in the frame header.  Note that any value
4294           imposed by the color space will take precedence over this value.
4295
4296           tv
4297           pc
4298
4299   vp9_superframe
4300       Merge VP9 invisible (alt-ref) frames back into VP9 superframes. This
4301       fixes merging of split/segmented VP9 streams where the alt-ref frame
4302       was split from its visible counterpart.
4303
4304   vp9_superframe_split
4305       Split VP9 superframes into single frames.
4306
4307   vp9_raw_reorder
4308       Given a VP9 stream with correct timestamps but possibly out of order,
4309       insert additional show-existing-frame packets to correct the ordering.
4310

FORMAT OPTIONS

4312       The libavformat library provides some generic global options, which can
4313       be set on all the muxers and demuxers. In addition each muxer or
4314       demuxer may support so-called private options, which are specific for
4315       that component.
4316
4317       Options may be set by specifying -option value in the FFmpeg tools, or
4318       by setting the value explicitly in the "AVFormatContext" options or
4319       using the libavutil/opt.h API for programmatic use.
4320
4321       The list of supported options follows:
4322
4323       avioflags flags (input/output)
4324           Possible values:
4325
4326           direct
4327               Reduce buffering.
4328
4329       probesize integer (input)
4330           Set probing size in bytes, i.e. the size of the data to analyze to
4331           get stream information. A higher value will enable detecting more
4332           information in case it is dispersed into the stream, but will
4333           increase latency. Must be an integer not lesser than 32. It is
4334           5000000 by default.
4335
4336       max_probe_packets integer (input)
4337           Set the maximum number of buffered packets when probing a codec.
4338           Default is 2500 packets.
4339
4340       packetsize integer (output)
4341           Set packet size.
4342
4343       fflags flags
4344           Set format flags. Some are implemented for a limited number of
4345           formats.
4346
4347           Possible values for input files:
4348
4349           discardcorrupt
4350               Discard corrupted packets.
4351
4352           fastseek
4353               Enable fast, but inaccurate seeks for some formats.
4354
4355           genpts
4356               Generate missing PTS if DTS is present.
4357
4358           igndts
4359               Ignore DTS if PTS is set. Inert when nofillin is set.
4360
4361           ignidx
4362               Ignore index.
4363
4364           nobuffer
4365               Reduce the latency introduced by buffering during initial input
4366               streams analysis.
4367
4368           nofillin
4369               Do not fill in missing values in packet fields that can be
4370               exactly calculated.
4371
4372           noparse
4373               Disable AVParsers, this needs "+nofillin" too.
4374
4375           sortdts
4376               Try to interleave output packets by DTS. At present, available
4377               only for AVIs with an index.
4378
4379           Possible values for output files:
4380
4381           autobsf
4382               Automatically apply bitstream filters as required by the output
4383               format. Enabled by default.
4384
4385           bitexact
4386               Only write platform-, build- and time-independent data.  This
4387               ensures that file and data checksums are reproducible and match
4388               between platforms. Its primary use is for regression testing.
4389
4390           flush_packets
4391               Write out packets immediately.
4392
4393           shortest
4394               Stop muxing at the end of the shortest stream.  It may be
4395               needed to increase max_interleave_delta to avoid flushing the
4396               longer streams before EOF.
4397
4398       seek2any integer (input)
4399           Allow seeking to non-keyframes on demuxer level when supported if
4400           set to 1.  Default is 0.
4401
4402       analyzeduration integer (input)
4403           Specify how many microseconds are analyzed to probe the input. A
4404           higher value will enable detecting more accurate information, but
4405           will increase latency. It defaults to 5,000,000 microseconds = 5
4406           seconds.
4407
4408       cryptokey hexadecimal string (input)
4409           Set decryption key.
4410
4411       indexmem integer (input)
4412           Set max memory used for timestamp index (per stream).
4413
4414       rtbufsize integer (input)
4415           Set max memory used for buffering real-time frames.
4416
4417       fdebug flags (input/output)
4418           Print specific debug info.
4419
4420           Possible values:
4421
4422           ts
4423       max_delay integer (input/output)
4424           Set maximum muxing or demuxing delay in microseconds.
4425
4426       fpsprobesize integer (input)
4427           Set number of frames used to probe fps.
4428
4429       audio_preload integer (output)
4430           Set microseconds by which audio packets should be interleaved
4431           earlier.
4432
4433       chunk_duration integer (output)
4434           Set microseconds for each chunk.
4435
4436       chunk_size integer (output)
4437           Set size in bytes for each chunk.
4438
4439       err_detect, f_err_detect flags (input)
4440           Set error detection flags. "f_err_detect" is deprecated and should
4441           be used only via the ffmpeg tool.
4442
4443           Possible values:
4444
4445           crccheck
4446               Verify embedded CRCs.
4447
4448           bitstream
4449               Detect bitstream specification deviations.
4450
4451           buffer
4452               Detect improper bitstream length.
4453
4454           explode
4455               Abort decoding on minor error detection.
4456
4457           careful
4458               Consider things that violate the spec and have not been seen in
4459               the wild as errors.
4460
4461           compliant
4462               Consider all spec non compliancies as errors.
4463
4464           aggressive
4465               Consider things that a sane encoder should not do as an error.
4466
4467       max_interleave_delta integer (output)
4468           Set maximum buffering duration for interleaving. The duration is
4469           expressed in microseconds, and defaults to 10000000 (10 seconds).
4470
4471           To ensure all the streams are interleaved correctly, libavformat
4472           will wait until it has at least one packet for each stream before
4473           actually writing any packets to the output file. When some streams
4474           are "sparse" (i.e. there are large gaps between successive
4475           packets), this can result in excessive buffering.
4476
4477           This field specifies the maximum difference between the timestamps
4478           of the first and the last packet in the muxing queue, above which
4479           libavformat will output a packet regardless of whether it has
4480           queued a packet for all the streams.
4481
4482           If set to 0, libavformat will continue buffering packets until it
4483           has a packet for each stream, regardless of the maximum timestamp
4484           difference between the buffered packets.
4485
4486       use_wallclock_as_timestamps integer (input)
4487           Use wallclock as timestamps if set to 1. Default is 0.
4488
4489       avoid_negative_ts integer (output)
4490           Possible values:
4491
4492           make_non_negative
4493               Shift timestamps to make them non-negative.  Also note that
4494               this affects only leading negative timestamps, and not non-
4495               monotonic negative timestamps.
4496
4497           make_zero
4498               Shift timestamps so that the first timestamp is 0.
4499
4500           auto (default)
4501               Enables shifting when required by the target format.
4502
4503           disabled
4504               Disables shifting of timestamp.
4505
4506           When shifting is enabled, all output timestamps are shifted by the
4507           same amount. Audio, video, and subtitles desynching and relative
4508           timestamp differences are preserved compared to how they would have
4509           been without shifting.
4510
4511       skip_initial_bytes integer (input)
4512           Set number of bytes to skip before reading header and frames if set
4513           to 1.  Default is 0.
4514
4515       correct_ts_overflow integer (input)
4516           Correct single timestamp overflows if set to 1. Default is 1.
4517
4518       flush_packets integer (output)
4519           Flush the underlying I/O stream after each packet. Default is -1
4520           (auto), which means that the underlying protocol will decide, 1
4521           enables it, and has the effect of reducing the latency, 0 disables
4522           it and may increase IO throughput in some cases.
4523
4524       output_ts_offset offset (output)
4525           Set the output time offset.
4526
4527           offset must be a time duration specification, see the Time duration
4528           section in the ffmpeg-utils(1) manual.
4529
4530           The offset is added by the muxer to the output timestamps.
4531
4532           Specifying a positive offset means that the corresponding streams
4533           are delayed bt the time duration specified in offset. Default value
4534           is 0 (meaning that no offset is applied).
4535
4536       format_whitelist list (input)
4537           "," separated list of allowed demuxers. By default all are allowed.
4538
4539       dump_separator string (input)
4540           Separator used to separate the fields printed on the command line
4541           about the Stream parameters.  For example, to separate the fields
4542           with newlines and indentation:
4543
4544                   ffprobe -dump_separator "
4545                                             "  -i ~/videos/matrixbench_mpeg2.mpg
4546
4547       max_streams integer (input)
4548           Specifies the maximum number of streams. This can be used to reject
4549           files that would require too many resources due to a large number
4550           of streams.
4551
4552       skip_estimate_duration_from_pts bool (input)
4553           Skip estimation of input duration when calculated using PTS.  At
4554           present, applicable for MPEG-PS and MPEG-TS.
4555
4556       strict, f_strict integer (input/output)
4557           Specify how strictly to follow the standards. "f_strict" is
4558           deprecated and should be used only via the ffmpeg tool.
4559
4560           Possible values:
4561
4562           very
4563               strictly conform to an older more strict version of the spec or
4564               reference software
4565
4566           strict
4567               strictly conform to all the things in the spec no matter what
4568               consequences
4569
4570           normal
4571           unofficial
4572               allow unofficial extensions
4573
4574           experimental
4575               allow non standardized experimental things, experimental
4576               (unfinished/work in progress/not well tested) decoders and
4577               encoders.  Note: experimental decoders can pose a security
4578               risk, do not use this for decoding untrusted input.
4579
4580   Format stream specifiers
4581       Format stream specifiers allow selection of one or more streams that
4582       match specific properties.
4583
4584       The exact semantics of stream specifiers is defined by the
4585       "avformat_match_stream_specifier()" function declared in the
4586       libavformat/avformat.h header and documented in the Stream specifiers
4587       section in the ffmpeg(1) manual.
4588

DEMUXERS

4590       Demuxers are configured elements in FFmpeg that can read the multimedia
4591       streams from a particular type of file.
4592
4593       When you configure your FFmpeg build, all the supported demuxers are
4594       enabled by default. You can list all available ones using the configure
4595       option "--list-demuxers".
4596
4597       You can disable all the demuxers using the configure option
4598       "--disable-demuxers", and selectively enable a single demuxer with the
4599       option "--enable-demuxer=DEMUXER", or disable it with the option
4600       "--disable-demuxer=DEMUXER".
4601
4602       The option "-demuxers" of the ff* tools will display the list of
4603       enabled demuxers. Use "-formats" to view a combined list of enabled
4604       demuxers and muxers.
4605
4606       The description of some of the currently available demuxers follows.
4607
4608   aa
4609       Audible Format 2, 3, and 4 demuxer.
4610
4611       This demuxer is used to demux Audible Format 2, 3, and 4 (.aa) files.
4612
4613   aac
4614       Raw Audio Data Transport Stream AAC demuxer.
4615
4616       This demuxer is used to demux an ADTS input containing a single AAC
4617       stream alongwith any ID3v1/2 or APE tags in it.
4618
4619   apng
4620       Animated Portable Network Graphics demuxer.
4621
4622       This demuxer is used to demux APNG files.  All headers, but the PNG
4623       signature, up to (but not including) the first fcTL chunk are
4624       transmitted as extradata.  Frames are then split as being all the
4625       chunks between two fcTL ones, or between the last fcTL and IEND chunks.
4626
4627       -ignore_loop bool
4628           Ignore the loop variable in the file if set. Default is enabled.
4629
4630       -max_fps int
4631           Maximum framerate in frames per second. Default of 0 imposes no
4632           limit.
4633
4634       -default_fps int
4635           Default framerate in frames per second when none is specified in
4636           the file (0 meaning as fast as possible). Default is 15.
4637
4638   asf
4639       Advanced Systems Format demuxer.
4640
4641       This demuxer is used to demux ASF files and MMS network streams.
4642
4643       -no_resync_search bool
4644           Do not try to resynchronize by looking for a certain optional start
4645           code.
4646
4647   concat
4648       Virtual concatenation script demuxer.
4649
4650       This demuxer reads a list of files and other directives from a text
4651       file and demuxes them one after the other, as if all their packets had
4652       been muxed together.
4653
4654       The timestamps in the files are adjusted so that the first file starts
4655       at 0 and each next file starts where the previous one finishes. Note
4656       that it is done globally and may cause gaps if all streams do not have
4657       exactly the same length.
4658
4659       All files must have the same streams (same codecs, same time base,
4660       etc.).
4661
4662       The duration of each file is used to adjust the timestamps of the next
4663       file: if the duration is incorrect (because it was computed using the
4664       bit-rate or because the file is truncated, for example), it can cause
4665       artifacts. The "duration" directive can be used to override the
4666       duration stored in each file.
4667
4668       Syntax
4669
4670       The script is a text file in extended-ASCII, with one directive per
4671       line.  Empty lines, leading spaces and lines starting with '#' are
4672       ignored. The following directive is recognized:
4673
4674       "file path"
4675           Path to a file to read; special characters and spaces must be
4676           escaped with backslash or single quotes.
4677
4678           All subsequent file-related directives apply to that file.
4679
4680       "ffconcat version 1.0"
4681           Identify the script type and version.
4682
4683           To make FFmpeg recognize the format automatically, this directive
4684           must appear exactly as is (no extra space or byte-order-mark) on
4685           the very first line of the script.
4686
4687       "duration dur"
4688           Duration of the file. This information can be specified from the
4689           file; specifying it here may be more efficient or help if the
4690           information from the file is not available or accurate.
4691
4692           If the duration is set for all files, then it is possible to seek
4693           in the whole concatenated video.
4694
4695       "inpoint timestamp"
4696           In point of the file. When the demuxer opens the file it instantly
4697           seeks to the specified timestamp. Seeking is done so that all
4698           streams can be presented successfully at In point.
4699
4700           This directive works best with intra frame codecs, because for non-
4701           intra frame ones you will usually get extra packets before the
4702           actual In point and the decoded content will most likely contain
4703           frames before In point too.
4704
4705           For each file, packets before the file In point will have
4706           timestamps less than the calculated start timestamp of the file
4707           (negative in case of the first file), and the duration of the files
4708           (if not specified by the "duration" directive) will be reduced
4709           based on their specified In point.
4710
4711           Because of potential packets before the specified In point, packet
4712           timestamps may overlap between two concatenated files.
4713
4714       "outpoint timestamp"
4715           Out point of the file. When the demuxer reaches the specified
4716           decoding timestamp in any of the streams, it handles it as an end
4717           of file condition and skips the current and all the remaining
4718           packets from all streams.
4719
4720           Out point is exclusive, which means that the demuxer will not
4721           output packets with a decoding timestamp greater or equal to Out
4722           point.
4723
4724           This directive works best with intra frame codecs and formats where
4725           all streams are tightly interleaved. For non-intra frame codecs you
4726           will usually get additional packets with presentation timestamp
4727           after Out point therefore the decoded content will most likely
4728           contain frames after Out point too. If your streams are not tightly
4729           interleaved you may not get all the packets from all streams before
4730           Out point and you may only will be able to decode the earliest
4731           stream until Out point.
4732
4733           The duration of the files (if not specified by the "duration"
4734           directive) will be reduced based on their specified Out point.
4735
4736       "file_packet_metadata key=value"
4737           Metadata of the packets of the file. The specified metadata will be
4738           set for each file packet. You can specify this directive multiple
4739           times to add multiple metadata entries.  This directive is
4740           deprecated, use "file_packet_meta" instead.
4741
4742       "file_packet_meta key value"
4743           Metadata of the packets of the file. The specified metadata will be
4744           set for each file packet. You can specify this directive multiple
4745           times to add multiple metadata entries.
4746
4747       "option key value"
4748           Option to access, open and probe the file.  Can be present multiple
4749           times.
4750
4751       "stream"
4752           Introduce a stream in the virtual file.  All subsequent stream-
4753           related directives apply to the last introduced stream.  Some
4754           streams properties must be set in order to allow identifying the
4755           matching streams in the subfiles.  If no streams are defined in the
4756           script, the streams from the first file are copied.
4757
4758       "exact_stream_id id"
4759           Set the id of the stream.  If this directive is given, the string
4760           with the corresponding id in the subfiles will be used.  This is
4761           especially useful for MPEG-PS (VOB) files, where the order of the
4762           streams is not reliable.
4763
4764       "stream_meta key value"
4765           Metadata for the stream.  Can be present multiple times.
4766
4767       "stream_codec value"
4768           Codec for the stream.
4769
4770       "stream_extradata hex_string"
4771           Extradata for the string, encoded in hexadecimal.
4772
4773       "chapter id start end"
4774           Add a chapter. id is an unique identifier, possibly small and
4775           consecutive.
4776
4777       Options
4778
4779       This demuxer accepts the following option:
4780
4781       safe
4782           If set to 1, reject unsafe file paths and directives.  A file path
4783           is considered safe if it does not contain a protocol specification
4784           and is relative and all components only contain characters from the
4785           portable character set (letters, digits, period, underscore and
4786           hyphen) and have no period at the beginning of a component.
4787
4788           If set to 0, any file name is accepted.
4789
4790           The default is 1.
4791
4792       auto_convert
4793           If set to 1, try to perform automatic conversions on packet data to
4794           make the streams concatenable.  The default is 1.
4795
4796           Currently, the only conversion is adding the h264_mp4toannexb
4797           bitstream filter to H.264 streams in MP4 format. This is necessary
4798           in particular if there are resolution changes.
4799
4800       segment_time_metadata
4801           If set to 1, every packet will contain the lavf.concat.start_time
4802           and the lavf.concat.duration packet metadata values which are the
4803           start_time and the duration of the respective file segments in the
4804           concatenated output expressed in microseconds. The duration
4805           metadata is only set if it is known based on the concat file.  The
4806           default is 0.
4807
4808       Examples
4809
4810       •   Use absolute filenames and include some comments:
4811
4812                   # my first filename
4813                   file /mnt/share/file-1.wav
4814                   # my second filename including whitespace
4815                   file '/mnt/share/file 2.wav'
4816                   # my third filename including whitespace plus single quote
4817                   file '/mnt/share/file 3'\''.wav'
4818
4819       •   Allow for input format auto-probing, use safe filenames and set the
4820           duration of the first file:
4821
4822                   ffconcat version 1.0
4823
4824                   file file-1.wav
4825                   duration 20.0
4826
4827                   file subdir/file-2.wav
4828
4829   dash
4830       Dynamic Adaptive Streaming over HTTP demuxer.
4831
4832       This demuxer presents all AVStreams found in the manifest.  By setting
4833       the discard flags on AVStreams the caller can decide which streams to
4834       actually receive.  Each stream mirrors the "id" and "bandwidth"
4835       properties from the "<Representation>" as metadata keys named "id" and
4836       "variant_bitrate" respectively.
4837
4838   imf
4839       Interoperable Master Format demuxer.
4840
4841       This demuxer presents audio and video streams found in an IMF
4842       Composition.
4843
4844   flv, live_flv, kux
4845       Adobe Flash Video Format demuxer.
4846
4847       This demuxer is used to demux FLV files and RTMP network streams. In
4848       case of live network streams, if you force format, you may use live_flv
4849       option instead of flv to survive timestamp discontinuities.  KUX is a
4850       flv variant used on the Youku platform.
4851
4852               ffmpeg -f flv -i myfile.flv ...
4853               ffmpeg -f live_flv -i rtmp://<any.server>/anything/key ....
4854
4855       -flv_metadata bool
4856           Allocate the streams according to the onMetaData array content.
4857
4858       -flv_ignore_prevtag bool
4859           Ignore the size of previous tag value.
4860
4861       -flv_full_metadata bool
4862           Output all context of the onMetadata.
4863
4864   gif
4865       Animated GIF demuxer.
4866
4867       It accepts the following options:
4868
4869       min_delay
4870           Set the minimum valid delay between frames in hundredths of
4871           seconds.  Range is 0 to 6000. Default value is 2.
4872
4873       max_gif_delay
4874           Set the maximum valid delay between frames in hundredth of seconds.
4875           Range is 0 to 65535. Default value is 65535 (nearly eleven
4876           minutes), the maximum value allowed by the specification.
4877
4878       default_delay
4879           Set the default delay between frames in hundredths of seconds.
4880           Range is 0 to 6000. Default value is 10.
4881
4882       ignore_loop
4883           GIF files can contain information to loop a certain number of times
4884           (or infinitely). If ignore_loop is set to 1, then the loop setting
4885           from the input will be ignored and looping will not occur. If set
4886           to 0, then looping will occur and will cycle the number of times
4887           according to the GIF. Default value is 1.
4888
4889       For example, with the overlay filter, place an infinitely looping GIF
4890       over another video:
4891
4892               ffmpeg -i input.mp4 -ignore_loop 0 -i input.gif -filter_complex overlay=shortest=1 out.mkv
4893
4894       Note that in the above example the shortest option for overlay filter
4895       is used to end the output video at the length of the shortest input
4896       file, which in this case is input.mp4 as the GIF in this example loops
4897       infinitely.
4898
4899   hls
4900       HLS demuxer
4901
4902       Apple HTTP Live Streaming demuxer.
4903
4904       This demuxer presents all AVStreams from all variant streams.  The id
4905       field is set to the bitrate variant index number. By setting the
4906       discard flags on AVStreams (by pressing 'a' or 'v' in ffplay), the
4907       caller can decide which variant streams to actually receive.  The total
4908       bitrate of the variant that the stream belongs to is available in a
4909       metadata key named "variant_bitrate".
4910
4911       It accepts the following options:
4912
4913       live_start_index
4914           segment index to start live streams at (negative values are from
4915           the end).
4916
4917       allowed_extensions
4918           ',' separated list of file extensions that hls is allowed to
4919           access.
4920
4921       max_reload
4922           Maximum number of times a insufficient list is attempted to be
4923           reloaded.  Default value is 1000.
4924
4925       m3u8_hold_counters
4926           The maximum number of times to load m3u8 when it refreshes without
4927           new segments.  Default value is 1000.
4928
4929       http_persistent
4930           Use persistent HTTP connections. Applicable only for HTTP streams.
4931           Enabled by default.
4932
4933       http_multiple
4934           Use multiple HTTP connections for downloading HTTP segments.
4935           Enabled by default for HTTP/1.1 servers.
4936
4937       http_seekable
4938           Use HTTP partial requests for downloading HTTP segments.  0 =
4939           disable, 1 = enable, -1 = auto, Default is auto.
4940
4941       seg_format_options
4942           Set options for the demuxer of media segments using a list of
4943           key=value pairs separated by ":".
4944
4945   image2
4946       Image file demuxer.
4947
4948       This demuxer reads from a list of image files specified by a pattern.
4949       The syntax and meaning of the pattern is specified by the option
4950       pattern_type.
4951
4952       The pattern may contain a suffix which is used to automatically
4953       determine the format of the images contained in the files.
4954
4955       The size, the pixel format, and the format of each image must be the
4956       same for all the files in the sequence.
4957
4958       This demuxer accepts the following options:
4959
4960       framerate
4961           Set the frame rate for the video stream. It defaults to 25.
4962
4963       loop
4964           If set to 1, loop over the input. Default value is 0.
4965
4966       pattern_type
4967           Select the pattern type used to interpret the provided filename.
4968
4969           pattern_type accepts one of the following values.
4970
4971           none
4972               Disable pattern matching, therefore the video will only contain
4973               the specified image. You should use this option if you do not
4974               want to create sequences from multiple images and your
4975               filenames may contain special pattern characters.
4976
4977           sequence
4978               Select a sequence pattern type, used to specify a sequence of
4979               files indexed by sequential numbers.
4980
4981               A sequence pattern may contain the string "%d" or "%0Nd", which
4982               specifies the position of the characters representing a
4983               sequential number in each filename matched by the pattern. If
4984               the form "%d0Nd" is used, the string representing the number in
4985               each filename is 0-padded and N is the total number of 0-padded
4986               digits representing the number. The literal character '%' can
4987               be specified in the pattern with the string "%%".
4988
4989               If the sequence pattern contains "%d" or "%0Nd", the first
4990               filename of the file list specified by the pattern must contain
4991               a number inclusively contained between start_number and
4992               start_number+start_number_range-1, and all the following
4993               numbers must be sequential.
4994
4995               For example the pattern "img-%03d.bmp" will match a sequence of
4996               filenames of the form img-001.bmp, img-002.bmp, ...,
4997               img-010.bmp, etc.; the pattern "i%%m%%g-%d.jpg" will match a
4998               sequence of filenames of the form i%m%g-1.jpg, i%m%g-2.jpg,
4999               ..., i%m%g-10.jpg, etc.
5000
5001               Note that the pattern must not necessarily contain "%d" or
5002               "%0Nd", for example to convert a single image file img.jpeg you
5003               can employ the command:
5004
5005                       ffmpeg -i img.jpeg img.png
5006
5007           glob
5008               Select a glob wildcard pattern type.
5009
5010               The pattern is interpreted like a "glob()" pattern. This is
5011               only selectable if libavformat was compiled with globbing
5012               support.
5013
5014           glob_sequence (deprecated, will be removed)
5015               Select a mixed glob wildcard/sequence pattern.
5016
5017               If your version of libavformat was compiled with globbing
5018               support, and the provided pattern contains at least one glob
5019               meta character among "%*?[]{}" that is preceded by an unescaped
5020               "%", the pattern is interpreted like a "glob()" pattern,
5021               otherwise it is interpreted like a sequence pattern.
5022
5023               All glob special characters "%*?[]{}" must be prefixed with
5024               "%". To escape a literal "%" you shall use "%%".
5025
5026               For example the pattern "foo-%*.jpeg" will match all the
5027               filenames prefixed by "foo-" and terminating with ".jpeg", and
5028               "foo-%?%?%?.jpeg" will match all the filenames prefixed with
5029               "foo-", followed by a sequence of three characters, and
5030               terminating with ".jpeg".
5031
5032               This pattern type is deprecated in favor of glob and sequence.
5033
5034           Default value is glob_sequence.
5035
5036       pixel_format
5037           Set the pixel format of the images to read. If not specified the
5038           pixel format is guessed from the first image file in the sequence.
5039
5040       start_number
5041           Set the index of the file matched by the image file pattern to
5042           start to read from. Default value is 0.
5043
5044       start_number_range
5045           Set the index interval range to check when looking for the first
5046           image file in the sequence, starting from start_number. Default
5047           value is 5.
5048
5049       ts_from_file
5050           If set to 1, will set frame timestamp to modification time of image
5051           file. Note that monotonity of timestamps is not provided: images go
5052           in the same order as without this option. Default value is 0.  If
5053           set to 2, will set frame timestamp to the modification time of the
5054           image file in nanosecond precision.
5055
5056       video_size
5057           Set the video size of the images to read. If not specified the
5058           video size is guessed from the first image file in the sequence.
5059
5060       export_path_metadata
5061           If set to 1, will add two extra fields to the metadata found in
5062           input, making them also available for other filters (see drawtext
5063           filter for examples). Default value is 0. The extra fields are
5064           described below:
5065
5066           lavf.image2dec.source_path
5067               Corresponds to the full path to the input file being read.
5068
5069           lavf.image2dec.source_basename
5070               Corresponds to the name of the file being read.
5071
5072       Examples
5073
5074       •   Use ffmpeg for creating a video from the images in the file
5075           sequence img-001.jpeg, img-002.jpeg, ..., assuming an input frame
5076           rate of 10 frames per second:
5077
5078                   ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv
5079
5080       •   As above, but start by reading from a file with index 100 in the
5081           sequence:
5082
5083                   ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv
5084
5085       •   Read images matching the "*.png" glob pattern , that is all the
5086           files terminating with the ".png" suffix:
5087
5088                   ffmpeg -framerate 10 -pattern_type glob -i "*.png" out.mkv
5089
5090   libgme
5091       The Game Music Emu library is a collection of video game music file
5092       emulators.
5093
5094       See <https://bitbucket.org/mpyne/game-music-emu/overview> for more
5095       information.
5096
5097       It accepts the following options:
5098
5099       track_index
5100           Set the index of which track to demux. The demuxer can only export
5101           one track.  Track indexes start at 0. Default is to pick the first
5102           track. Number of tracks is exported as tracks metadata entry.
5103
5104       sample_rate
5105           Set the sampling rate of the exported track. Range is 1000 to
5106           999999. Default is 44100.
5107
5108       max_size (bytes)
5109           The demuxer buffers the entire file into memory. Adjust this value
5110           to set the maximum buffer size, which in turn, acts as a ceiling
5111           for the size of files that can be read.  Default is 50 MiB.
5112
5113   libmodplug
5114       ModPlug based module demuxer
5115
5116       See <https://github.com/Konstanty/libmodplug>
5117
5118       It will export one 2-channel 16-bit 44.1 kHz audio stream.  Optionally,
5119       a "pal8" 16-color video stream can be exported with or without printed
5120       metadata.
5121
5122       It accepts the following options:
5123
5124       noise_reduction
5125           Apply a simple low-pass filter. Can be 1 (on) or 0 (off). Default
5126           is 0.
5127
5128       reverb_depth
5129           Set amount of reverb. Range 0-100. Default is 0.
5130
5131       reverb_delay
5132           Set delay in ms, clamped to 40-250 ms. Default is 0.
5133
5134       bass_amount
5135           Apply bass expansion a.k.a. XBass or megabass. Range is 0 (quiet)
5136           to 100 (loud). Default is 0.
5137
5138       bass_range
5139           Set cutoff i.e. upper-bound for bass frequencies. Range is 10-100
5140           Hz. Default is 0.
5141
5142       surround_depth
5143           Apply a Dolby Pro-Logic surround effect. Range is 0 (quiet) to 100
5144           (heavy). Default is 0.
5145
5146       surround_delay
5147           Set surround delay in ms, clamped to 5-40 ms. Default is 0.
5148
5149       max_size
5150           The demuxer buffers the entire file into memory. Adjust this value
5151           to set the maximum buffer size, which in turn, acts as a ceiling
5152           for the size of files that can be read. Range is 0 to 100 MiB.  0
5153           removes buffer size limit (not recommended). Default is 5 MiB.
5154
5155       video_stream_expr
5156           String which is evaluated using the eval API to assign colors to
5157           the generated video stream.  Variables which can be used are "x",
5158           "y", "w", "h", "t", "speed", "tempo", "order", "pattern" and "row".
5159
5160       video_stream
5161           Generate video stream. Can be 1 (on) or 0 (off). Default is 0.
5162
5163       video_stream_w
5164           Set video frame width in 'chars' where one char indicates 8 pixels.
5165           Range is 20-512. Default is 30.
5166
5167       video_stream_h
5168           Set video frame height in 'chars' where one char indicates 8
5169           pixels. Range is 20-512. Default is 30.
5170
5171       video_stream_ptxt
5172           Print metadata on video stream. Includes "speed", "tempo", "order",
5173           "pattern", "row" and "ts" (time in ms). Can be 1 (on) or 0 (off).
5174           Default is 1.
5175
5176   libopenmpt
5177       libopenmpt based module demuxer
5178
5179       See <https://lib.openmpt.org/libopenmpt/> for more information.
5180
5181       Some files have multiple subsongs (tracks) this can be set with the
5182       subsong option.
5183
5184       It accepts the following options:
5185
5186       subsong
5187           Set the subsong index. This can be either  'all', 'auto', or the
5188           index of the subsong. Subsong indexes start at 0. The default is
5189           'auto'.
5190
5191           The default value is to let libopenmpt choose.
5192
5193       layout
5194           Set the channel layout. Valid values are 1, 2, and 4 channel
5195           layouts.  The default value is STEREO.
5196
5197       sample_rate
5198           Set the sample rate for libopenmpt to output.  Range is from 1000
5199           to INT_MAX. The value default is 48000.
5200
5201   mov/mp4/3gp
5202       Demuxer for Quicktime File Format & ISO/IEC Base Media File Format
5203       (ISO/IEC 14496-12 or MPEG-4 Part 12, ISO/IEC 15444-12 or JPEG 2000 Part
5204       12).
5205
5206       Registered extensions: mov, mp4, m4a, 3gp, 3g2, mj2, psp, m4b, ism,
5207       ismv, isma, f4v
5208
5209       Options
5210
5211       This demuxer accepts the following options:
5212
5213       enable_drefs
5214           Enable loading of external tracks, disabled by default.  Enabling
5215           this can theoretically leak information in some use cases.
5216
5217       use_absolute_path
5218           Allows loading of external tracks via absolute paths, disabled by
5219           default.  Enabling this poses a security risk. It should only be
5220           enabled if the source is known to be non-malicious.
5221
5222       seek_streams_individually
5223           When seeking, identify the closest point in each stream
5224           individually and demux packets in that stream from identified
5225           point. This can lead to a different sequence of packets compared to
5226           demuxing linearly from the beginning. Default is true.
5227
5228       ignore_editlist
5229           Ignore any edit list atoms. The demuxer, by default, modifies the
5230           stream index to reflect the timeline described by the edit list.
5231           Default is false.
5232
5233       advanced_editlist
5234           Modify the stream index to reflect the timeline described by the
5235           edit list. "ignore_editlist" must be set to false for this option
5236           to be effective.  If both "ignore_editlist" and this option are set
5237           to false, then only the start of the stream index is modified to
5238           reflect initial dwell time or starting timestamp described by the
5239           edit list. Default is true.
5240
5241       ignore_chapters
5242           Don't parse chapters. This includes GoPro 'HiLight' tags/moments.
5243           Note that chapters are only parsed when input is seekable. Default
5244           is false.
5245
5246       use_mfra_for
5247           For seekable fragmented input, set fragment's starting timestamp
5248           from media fragment random access box, if present.
5249
5250           Following options are available:
5251
5252           auto
5253               Auto-detect whether to set mfra timestamps as PTS or DTS
5254               (default)
5255
5256           dts Set mfra timestamps as DTS
5257
5258           pts Set mfra timestamps as PTS
5259
5260           0   Don't use mfra box to set timestamps
5261
5262       use_tfdt
5263           For fragmented input, set fragment's starting timestamp to
5264           "baseMediaDecodeTime" from the "tfdt" box.  Default is enabled,
5265           which will prefer to use the "tfdt" box to set DTS. Disable to use
5266           the "earliest_presentation_time" from the "sidx" box.  In either
5267           case, the timestamp from the "mfra" box will be used if it's
5268           available and "use_mfra_for" is set to pts or dts.
5269
5270       export_all
5271           Export unrecognized boxes within the udta box as metadata entries.
5272           The first four characters of the box type are set as the key.
5273           Default is false.
5274
5275       export_xmp
5276           Export entire contents of XMP_ box and uuid box as a string with
5277           key "xmp". Note that if "export_all" is set and this option isn't,
5278           the contents of XMP_ box are still exported but with key "XMP_".
5279           Default is false.
5280
5281       activation_bytes
5282           4-byte key required to decrypt Audible AAX and AAX+ files. See
5283           Audible AAX subsection below.
5284
5285       audible_fixed_key
5286           Fixed key used for handling Audible AAX/AAX+ files. It has been
5287           pre-set so should not be necessary to specify.
5288
5289       decryption_key
5290           16-byte key, in hex, to decrypt files encrypted using ISO Common
5291           Encryption (CENC/AES-128 CTR; ISO/IEC 23001-7).
5292
5293       max_stts_delta
5294           Very high sample deltas written in a trak's stts box may
5295           occasionally be intended but usually they are written in error or
5296           used to store a negative value for dts correction when treated as
5297           signed 32-bit integers. This option lets the user set an upper
5298           limit, beyond which the delta is clamped to 1. Values greater than
5299           the limit if negative when cast to int32 are used to adjust onward
5300           dts.
5301
5302           Unit is the track time scale. Range is 0 to UINT_MAX. Default is
5303           "UINT_MAX - 48000*10" which allows upto a 10 second dts correction
5304           for 48 kHz audio streams while accommodating 99.9% of "uint32"
5305           range.
5306
5307       Audible AAX
5308
5309       Audible AAX files are encrypted M4B files, and they can be decrypted by
5310       specifying a 4 byte activation secret.
5311
5312               ffmpeg -activation_bytes 1CEB00DA -i test.aax -vn -c:a copy output.mp4
5313
5314   mpegts
5315       MPEG-2 transport stream demuxer.
5316
5317       This demuxer accepts the following options:
5318
5319       resync_size
5320           Set size limit for looking up a new synchronization. Default value
5321           is 65536.
5322
5323       skip_unknown_pmt
5324           Skip PMTs for programs not defined in the PAT. Default value is 0.
5325
5326       fix_teletext_pts
5327           Override teletext packet PTS and DTS values with the timestamps
5328           calculated from the PCR of the first program which the teletext
5329           stream is part of and is not discarded. Default value is 1, set
5330           this option to 0 if you want your teletext packet PTS and DTS
5331           values untouched.
5332
5333       ts_packetsize
5334           Output option carrying the raw packet size in bytes.  Show the
5335           detected raw packet size, cannot be set by the user.
5336
5337       scan_all_pmts
5338           Scan and combine all PMTs. The value is an integer with value from
5339           -1 to 1 (-1 means automatic setting, 1 means enabled, 0 means
5340           disabled). Default value is -1.
5341
5342       merge_pmt_versions
5343           Re-use existing streams when a PMT's version is updated and
5344           elementary streams move to different PIDs. Default value is 0.
5345
5346   mpjpeg
5347       MJPEG encapsulated in multi-part MIME demuxer.
5348
5349       This demuxer allows reading of MJPEG, where each frame is represented
5350       as a part of multipart/x-mixed-replace stream.
5351
5352       strict_mime_boundary
5353           Default implementation applies a relaxed standard to multi-part
5354           MIME boundary detection, to prevent regression with numerous
5355           existing endpoints not generating a proper MIME MJPEG stream.
5356           Turning this option on by setting it to 1 will result in a stricter
5357           check of the boundary value.
5358
5359   rawvideo
5360       Raw video demuxer.
5361
5362       This demuxer allows one to read raw video data. Since there is no
5363       header specifying the assumed video parameters, the user must specify
5364       them in order to be able to decode the data correctly.
5365
5366       This demuxer accepts the following options:
5367
5368       framerate
5369           Set input video frame rate. Default value is 25.
5370
5371       pixel_format
5372           Set the input video pixel format. Default value is "yuv420p".
5373
5374       video_size
5375           Set the input video size. This value must be specified explicitly.
5376
5377       For example to read a rawvideo file input.raw with ffplay, assuming a
5378       pixel format of "rgb24", a video size of "320x240", and a frame rate of
5379       10 images per second, use the command:
5380
5381               ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 input.raw
5382
5383   sbg
5384       SBaGen script demuxer.
5385
5386       This demuxer reads the script language used by SBaGen
5387       <http://uazu.net/sbagen/> to generate binaural beats sessions. A SBG
5388       script looks like that:
5389
5390               -SE
5391               a: 300-2.5/3 440+4.5/0
5392               b: 300-2.5/0 440+4.5/3
5393               off: -
5394               NOW      == a
5395               +0:07:00 == b
5396               +0:14:00 == a
5397               +0:21:00 == b
5398               +0:30:00    off
5399
5400       A SBG script can mix absolute and relative timestamps. If the script
5401       uses either only absolute timestamps (including the script start time)
5402       or only relative ones, then its layout is fixed, and the conversion is
5403       straightforward. On the other hand, if the script mixes both kind of
5404       timestamps, then the NOW reference for relative timestamps will be
5405       taken from the current time of day at the time the script is read, and
5406       the script layout will be frozen according to that reference. That
5407       means that if the script is directly played, the actual times will
5408       match the absolute timestamps up to the sound controller's clock
5409       accuracy, but if the user somehow pauses the playback or seeks, all
5410       times will be shifted accordingly.
5411
5412   tedcaptions
5413       JSON captions used for <http://www.ted.com/>.
5414
5415       TED does not provide links to the captions, but they can be guessed
5416       from the page. The file tools/bookmarklets.html from the FFmpeg source
5417       tree contains a bookmarklet to expose them.
5418
5419       This demuxer accepts the following option:
5420
5421       start_time
5422           Set the start time of the TED talk, in milliseconds. The default is
5423           15000 (15s). It is used to sync the captions with the downloadable
5424           videos, because they include a 15s intro.
5425
5426       Example: convert the captions to a format most players understand:
5427
5428               ffmpeg -i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-en.srt
5429
5430   vapoursynth
5431       Vapoursynth wrapper.
5432
5433       Due to security concerns, Vapoursynth scripts will not be autodetected
5434       so the input format has to be forced. For ff* CLI tools, add "-f
5435       vapoursynth" before the input "-i yourscript.vpy".
5436
5437       This demuxer accepts the following option:
5438
5439       max_script_size
5440           The demuxer buffers the entire script into memory. Adjust this
5441           value to set the maximum buffer size, which in turn, acts as a
5442           ceiling for the size of scripts that can be read.  Default is 1
5443           MiB.
5444

METADATA

5446       FFmpeg is able to dump metadata from media files into a simple
5447       UTF-8-encoded INI-like text file and then load it back using the
5448       metadata muxer/demuxer.
5449
5450       The file format is as follows:
5451
5452       1.  A file consists of a header and a number of metadata tags divided
5453           into sections, each on its own line.
5454
5455       2.  The header is a ;FFMETADATA string, followed by a version number
5456           (now 1).
5457
5458       3.  Metadata tags are of the form key=value
5459
5460       4.  Immediately after header follows global metadata
5461
5462       5.  After global metadata there may be sections with
5463           per-stream/per-chapter metadata.
5464
5465       6.  A section starts with the section name in uppercase (i.e. STREAM or
5466           CHAPTER) in brackets ([, ]) and ends with next section or end of
5467           file.
5468
5469       7.  At the beginning of a chapter section there may be an optional
5470           timebase to be used for start/end values. It must be in form
5471           TIMEBASE=num/den, where num and den are integers. If the timebase
5472           is missing then start/end times are assumed to be in nanoseconds.
5473
5474           Next a chapter section must contain chapter start and end times in
5475           form START=num, END=num, where num is a positive integer.
5476
5477       8.  Empty lines and lines starting with ; or # are ignored.
5478
5479       9.  Metadata keys or values containing special characters (=, ;, #, \
5480           and a newline) must be escaped with a backslash \.
5481
5482       10. Note that whitespace in metadata (e.g. foo = bar) is considered to
5483           be a part of the tag (in the example above key is foo , value is
5484            bar).
5485
5486       A ffmetadata file might look like this:
5487
5488               ;FFMETADATA1
5489               title=bike\\shed
5490               ;this is a comment
5491               artist=FFmpeg troll team
5492
5493               [CHAPTER]
5494               TIMEBASE=1/1000
5495               START=0
5496               #chapter ends at 0:01:00
5497               END=60000
5498               title=chapter \#1
5499               [STREAM]
5500               title=multi\
5501               line
5502
5503       By using the ffmetadata muxer and demuxer it is possible to extract
5504       metadata from an input file to an ffmetadata file, and then transcode
5505       the file into an output file with the edited ffmetadata file.
5506
5507       Extracting an ffmetadata file with ffmpeg goes as follows:
5508
5509               ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE
5510
5511       Reinserting edited metadata information from the FFMETADATAFILE file
5512       can be done as:
5513
5514               ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec copy OUTPUT
5515

PROTOCOL OPTIONS

5517       The libavformat library provides some generic global options, which can
5518       be set on all the protocols. In addition each protocol may support so-
5519       called private options, which are specific for that component.
5520
5521       Options may be set by specifying -option value in the FFmpeg tools, or
5522       by setting the value explicitly in the "AVFormatContext" options or
5523       using the libavutil/opt.h API for programmatic use.
5524
5525       The list of supported options follows:
5526
5527       protocol_whitelist list (input)
5528           Set a ","-separated list of allowed protocols. "ALL" matches all
5529           protocols. Protocols prefixed by "-" are disabled.  All protocols
5530           are allowed by default but protocols used by an another protocol
5531           (nested protocols) are restricted to a per protocol subset.
5532

PROTOCOLS

5534       Protocols are configured elements in FFmpeg that enable access to
5535       resources that require specific protocols.
5536
5537       When you configure your FFmpeg build, all the supported protocols are
5538       enabled by default. You can list all available ones using the configure
5539       option "--list-protocols".
5540
5541       You can disable all the protocols using the configure option
5542       "--disable-protocols", and selectively enable a protocol using the
5543       option "--enable-protocol=PROTOCOL", or you can disable a particular
5544       protocol using the option "--disable-protocol=PROTOCOL".
5545
5546       The option "-protocols" of the ff* tools will display the list of
5547       supported protocols.
5548
5549       All protocols accept the following options:
5550
5551       rw_timeout
5552           Maximum time to wait for (network) read/write operations to
5553           complete, in microseconds.
5554
5555       A description of the currently available protocols follows.
5556
5557   amqp
5558       Advanced Message Queueing Protocol (AMQP) version 0-9-1 is a broker
5559       based publish-subscribe communication protocol.
5560
5561       FFmpeg must be compiled with --enable-librabbitmq to support AMQP. A
5562       separate AMQP broker must also be run. An example open-source AMQP
5563       broker is RabbitMQ.
5564
5565       After starting the broker, an FFmpeg client may stream data to the
5566       broker using the command:
5567
5568               ffmpeg -re -i input -f mpegts amqp://[[user]:[password]@]hostname[:port][/vhost]
5569
5570       Where hostname and port (default is 5672) is the address of the broker.
5571       The client may also set a user/password for authentication. The default
5572       for both fields is "guest". Name of virtual host on broker can be set
5573       with vhost. The default value is "/".
5574
5575       Muliple subscribers may stream from the broker using the command:
5576
5577               ffplay amqp://[[user]:[password]@]hostname[:port][/vhost]
5578
5579       In RabbitMQ all data published to the broker flows through a specific
5580       exchange, and each subscribing client has an assigned queue/buffer.
5581       When a packet arrives at an exchange, it may be copied to a client's
5582       queue depending on the exchange and routing_key fields.
5583
5584       The following options are supported:
5585
5586       exchange
5587           Sets the exchange to use on the broker. RabbitMQ has several
5588           predefined exchanges: "amq.direct" is the default exchange, where
5589           the publisher and subscriber must have a matching routing_key;
5590           "amq.fanout" is the same as a broadcast operation (i.e. the data is
5591           forwarded to all queues on the fanout exchange independent of the
5592           routing_key); and "amq.topic" is similar to "amq.direct", but
5593           allows for more complex pattern matching (refer to the RabbitMQ
5594           documentation).
5595
5596       routing_key
5597           Sets the routing key. The default value is "amqp". The routing key
5598           is used on the "amq.direct" and "amq.topic" exchanges to decide
5599           whether packets are written to the queue of a subscriber.
5600
5601       pkt_size
5602           Maximum size of each packet sent/received to the broker. Default is
5603           131072.  Minimum is 4096 and max is any large value (representable
5604           by an int). When receiving packets, this sets an internal buffer
5605           size in FFmpeg. It should be equal to or greater than the size of
5606           the published packets to the broker. Otherwise the received message
5607           may be truncated causing decoding errors.
5608
5609       connection_timeout
5610           The timeout in seconds during the initial connection to the broker.
5611           The default value is rw_timeout, or 5 seconds if rw_timeout is not
5612           set.
5613
5614       delivery_mode mode
5615           Sets the delivery mode of each message sent to broker.  The
5616           following values are accepted:
5617
5618           persistent
5619               Delivery mode set to "persistent" (2). This is the default
5620               value.  Messages may be written to the broker's disk depending
5621               on its setup.
5622
5623           non-persistent
5624               Delivery mode set to "non-persistent" (1).  Messages will stay
5625               in broker's memory unless the broker is under memory pressure.
5626
5627   async
5628       Asynchronous data filling wrapper for input stream.
5629
5630       Fill data in a background thread, to decouple I/O operation from demux
5631       thread.
5632
5633               async:<URL>
5634               async:http://host/resource
5635               async:cache:http://host/resource
5636
5637   bluray
5638       Read BluRay playlist.
5639
5640       The accepted options are:
5641
5642       angle
5643           BluRay angle
5644
5645       chapter
5646           Start chapter (1...N)
5647
5648       playlist
5649           Playlist to read (BDMV/PLAYLIST/?????.mpls)
5650
5651       Examples:
5652
5653       Read longest playlist from BluRay mounted to /mnt/bluray:
5654
5655               bluray:/mnt/bluray
5656
5657       Read angle 2 of playlist 4 from BluRay mounted to /mnt/bluray, start
5658       from chapter 2:
5659
5660               -playlist 4 -angle 2 -chapter 2 bluray:/mnt/bluray
5661
5662   cache
5663       Caching wrapper for input stream.
5664
5665       Cache the input stream to temporary file. It brings seeking capability
5666       to live streams.
5667
5668       The accepted options are:
5669
5670       read_ahead_limit
5671           Amount in bytes that may be read ahead when seeking isn't
5672           supported. Range is -1 to INT_MAX.  -1 for unlimited. Default is
5673           65536.
5674
5675       URL Syntax is
5676
5677               cache:<URL>
5678
5679   concat
5680       Physical concatenation protocol.
5681
5682       Read and seek from many resources in sequence as if they were a unique
5683       resource.
5684
5685       A URL accepted by this protocol has the syntax:
5686
5687               concat:<URL1>|<URL2>|...|<URLN>
5688
5689       where URL1, URL2, ..., URLN are the urls of the resource to be
5690       concatenated, each one possibly specifying a distinct protocol.
5691
5692       For example to read a sequence of files split1.mpeg, split2.mpeg,
5693       split3.mpeg with ffplay use the command:
5694
5695               ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg
5696
5697       Note that you may need to escape the character "|" which is special for
5698       many shells.
5699
5700   concatf
5701       Physical concatenation protocol using a line break delimited list of
5702       resources.
5703
5704       Read and seek from many resources in sequence as if they were a unique
5705       resource.
5706
5707       A URL accepted by this protocol has the syntax:
5708
5709               concatf:<URL>
5710
5711       where URL is the url containing a line break delimited list of
5712       resources to be concatenated, each one possibly specifying a distinct
5713       protocol. Special characters must be escaped with backslash or single
5714       quotes. See the "Quoting and escaping" section in the ffmpeg-utils(1)
5715       manual.
5716
5717       For example to read a sequence of files split1.mpeg, split2.mpeg,
5718       split3.mpeg listed in separate lines within a file split.txt with
5719       ffplay use the command:
5720
5721               ffplay concatf:split.txt
5722
5723       Where split.txt contains the lines:
5724
5725               split1.mpeg
5726               split2.mpeg
5727               split3.mpeg
5728
5729   crypto
5730       AES-encrypted stream reading protocol.
5731
5732       The accepted options are:
5733
5734       key Set the AES decryption key binary block from given hexadecimal
5735           representation.
5736
5737       iv  Set the AES decryption initialization vector binary block from
5738           given hexadecimal representation.
5739
5740       Accepted URL formats:
5741
5742               crypto:<URL>
5743               crypto+<URL>
5744
5745   data
5746       Data in-line in the URI. See
5747       <http://en.wikipedia.org/wiki/Data_URI_scheme>.
5748
5749       For example, to convert a GIF file given inline with ffmpeg:
5750
5751               ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP///////////////ywAAAAACAAIAAADF0gEDLojDgdGiJdJqUX02iB4E8Q9jUMkADs=" smiley.png
5752
5753   file
5754       File access protocol.
5755
5756       Read from or write to a file.
5757
5758       A file URL can have the form:
5759
5760               file:<filename>
5761
5762       where filename is the path of the file to read.
5763
5764       An URL that does not have a protocol prefix will be assumed to be a
5765       file URL. Depending on the build, an URL that looks like a Windows path
5766       with the drive letter at the beginning will also be assumed to be a
5767       file URL (usually not the case in builds for unix-like systems).
5768
5769       For example to read from a file input.mpeg with ffmpeg use the command:
5770
5771               ffmpeg -i file:input.mpeg output.mpeg
5772
5773       This protocol accepts the following options:
5774
5775       truncate
5776           Truncate existing files on write, if set to 1. A value of 0
5777           prevents truncating. Default value is 1.
5778
5779       blocksize
5780           Set I/O operation maximum block size, in bytes. Default value is
5781           "INT_MAX", which results in not limiting the requested block size.
5782           Setting this value reasonably low improves user termination request
5783           reaction time, which is valuable for files on slow medium.
5784
5785       follow
5786           If set to 1, the protocol will retry reading at the end of the
5787           file, allowing reading files that still are being written. In order
5788           for this to terminate, you either need to use the rw_timeout
5789           option, or use the interrupt callback (for API users).
5790
5791       seekable
5792           Controls if seekability is advertised on the file. 0 means non-
5793           seekable, -1 means auto (seekable for normal files, non-seekable
5794           for named pipes).
5795
5796           Many demuxers handle seekable and non-seekable resources
5797           differently, overriding this might speed up opening certain files
5798           at the cost of losing some features (e.g. accurate seeking).
5799
5800   ftp
5801       FTP (File Transfer Protocol).
5802
5803       Read from or write to remote resources using FTP protocol.
5804
5805       Following syntax is required.
5806
5807               ftp://[user[:password]@]server[:port]/path/to/remote/resource.mpeg
5808
5809       This protocol accepts the following options.
5810
5811       timeout
5812           Set timeout in microseconds of socket I/O operations used by the
5813           underlying low level operation. By default it is set to -1, which
5814           means that the timeout is not specified.
5815
5816       ftp-user
5817           Set a user to be used for authenticating to the FTP server. This is
5818           overridden by the user in the FTP URL.
5819
5820       ftp-password
5821           Set a password to be used for authenticating to the FTP server.
5822           This is overridden by the password in the FTP URL, or by ftp-
5823           anonymous-password if no user is set.
5824
5825       ftp-anonymous-password
5826           Password used when login as anonymous user. Typically an e-mail
5827           address should be used.
5828
5829       ftp-write-seekable
5830           Control seekability of connection during encoding. If set to 1 the
5831           resource is supposed to be seekable, if set to 0 it is assumed not
5832           to be seekable. Default value is 0.
5833
5834       NOTE: Protocol can be used as output, but it is recommended to not do
5835       it, unless special care is taken (tests, customized server
5836       configuration etc.). Different FTP servers behave in different way
5837       during seek operation. ff* tools may produce incomplete content due to
5838       server limitations.
5839
5840   gopher
5841       Gopher protocol.
5842
5843   gophers
5844       Gophers protocol.
5845
5846       The Gopher protocol with TLS encapsulation.
5847
5848   hls
5849       Read Apple HTTP Live Streaming compliant segmented stream as a uniform
5850       one. The M3U8 playlists describing the segments can be remote HTTP
5851       resources or local files, accessed using the standard file protocol.
5852       The nested protocol is declared by specifying "+proto" after the hls
5853       URI scheme name, where proto is either "file" or "http".
5854
5855               hls+http://host/path/to/remote/resource.m3u8
5856               hls+file://path/to/local/resource.m3u8
5857
5858       Using this protocol is discouraged - the hls demuxer should work just
5859       as well (if not, please report the issues) and is more complete.  To
5860       use the hls demuxer instead, simply use the direct URLs to the m3u8
5861       files.
5862
5863   http
5864       HTTP (Hyper Text Transfer Protocol).
5865
5866       This protocol accepts the following options:
5867
5868       seekable
5869           Control seekability of connection. If set to 1 the resource is
5870           supposed to be seekable, if set to 0 it is assumed not to be
5871           seekable, if set to -1 it will try to autodetect if it is seekable.
5872           Default value is -1.
5873
5874       chunked_post
5875           If set to 1 use chunked Transfer-Encoding for posts, default is 1.
5876
5877       content_type
5878           Set a specific content type for the POST messages or for listen
5879           mode.
5880
5881       http_proxy
5882           set HTTP proxy to tunnel through e.g. http://example.com:1234
5883
5884       headers
5885           Set custom HTTP headers, can override built in default headers. The
5886           value must be a string encoding the headers.
5887
5888       multiple_requests
5889           Use persistent connections if set to 1, default is 0.
5890
5891       post_data
5892           Set custom HTTP post data.
5893
5894       referer
5895           Set the Referer header. Include 'Referer: URL' header in HTTP
5896           request.
5897
5898       user_agent
5899           Override the User-Agent header. If not specified the protocol will
5900           use a string describing the libavformat build. ("Lavf/<version>")
5901
5902       reconnect_at_eof
5903           If set then eof is treated like an error and causes reconnection,
5904           this is useful for live / endless streams.
5905
5906       reconnect_streamed
5907           If set then even streamed/non seekable streams will be reconnected
5908           on errors.
5909
5910       reconnect_on_network_error
5911           Reconnect automatically in case of TCP/TLS errors during connect.
5912
5913       reconnect_on_http_error
5914           A comma separated list of HTTP status codes to reconnect on. The
5915           list can include specific status codes (e.g. '503') or the strings
5916           '4xx' / '5xx'.
5917
5918       reconnect_delay_max
5919           Sets the maximum delay in seconds after which to give up
5920           reconnecting
5921
5922       mime_type
5923           Export the MIME type.
5924
5925       http_version
5926           Exports the HTTP response version number. Usually "1.0" or "1.1".
5927
5928       icy If set to 1 request ICY (SHOUTcast) metadata from the server. If
5929           the server supports this, the metadata has to be retrieved by the
5930           application by reading the icy_metadata_headers and
5931           icy_metadata_packet options.  The default is 1.
5932
5933       icy_metadata_headers
5934           If the server supports ICY metadata, this contains the ICY-specific
5935           HTTP reply headers, separated by newline characters.
5936
5937       icy_metadata_packet
5938           If the server supports ICY metadata, and icy was set to 1, this
5939           contains the last non-empty metadata packet sent by the server. It
5940           should be polled in regular intervals by applications interested in
5941           mid-stream metadata updates.
5942
5943       cookies
5944           Set the cookies to be sent in future requests. The format of each
5945           cookie is the same as the value of a Set-Cookie HTTP response
5946           field. Multiple cookies can be delimited by a newline character.
5947
5948       offset
5949           Set initial byte offset.
5950
5951       end_offset
5952           Try to limit the request to bytes preceding this offset.
5953
5954       method
5955           When used as a client option it sets the HTTP method for the
5956           request.
5957
5958           When used as a server option it sets the HTTP method that is going
5959           to be expected from the client(s).  If the expected and the
5960           received HTTP method do not match the client will be given a Bad
5961           Request response.  When unset the HTTP method is not checked for
5962           now. This will be replaced by autodetection in the future.
5963
5964       listen
5965           If set to 1 enables experimental HTTP server. This can be used to
5966           send data when used as an output option, or read data from a client
5967           with HTTP POST when used as an input option.  If set to 2 enables
5968           experimental multi-client HTTP server. This is not yet implemented
5969           in ffmpeg.c and thus must not be used as a command line option.
5970
5971                   # Server side (sending):
5972                   ffmpeg -i somefile.ogg -c copy -listen 1 -f ogg http://<server>:<port>
5973
5974                   # Client side (receiving):
5975                   ffmpeg -i http://<server>:<port> -c copy somefile.ogg
5976
5977                   # Client can also be done with wget:
5978                   wget http://<server>:<port> -O somefile.ogg
5979
5980                   # Server side (receiving):
5981                   ffmpeg -listen 1 -i http://<server>:<port> -c copy somefile.ogg
5982
5983                   # Client side (sending):
5984                   ffmpeg -i somefile.ogg -chunked_post 0 -c copy -f ogg http://<server>:<port>
5985
5986                   # Client can also be done with wget:
5987                   wget --post-file=somefile.ogg http://<server>:<port>
5988
5989       send_expect_100
5990           Send an Expect: 100-continue header for POST. If set to 1 it will
5991           send, if set to 0 it won't, if set to -1 it will try to send if it
5992           is applicable. Default value is -1.
5993
5994       auth_type
5995           Set HTTP authentication type. No option for Digest, since this
5996           method requires getting nonce parameters from the server first and
5997           can't be used straight away like Basic.
5998
5999           none
6000               Choose the HTTP authentication type automatically. This is the
6001               default.
6002
6003           basic
6004               Choose the HTTP basic authentication.
6005
6006               Basic authentication sends a Base64-encoded string that
6007               contains a user name and password for the client. Base64 is not
6008               a form of encryption and should be considered the same as
6009               sending the user name and password in clear text (Base64 is a
6010               reversible encoding).  If a resource needs to be protected,
6011               strongly consider using an authentication scheme other than
6012               basic authentication. HTTPS/TLS should be used with basic
6013               authentication.  Without these additional security
6014               enhancements, basic authentication should not be used to
6015               protect sensitive or valuable information.
6016
6017       HTTP Cookies
6018
6019       Some HTTP requests will be denied unless cookie values are passed in
6020       with the request. The cookies option allows these cookies to be
6021       specified. At the very least, each cookie must specify a value along
6022       with a path and domain.  HTTP requests that match both the domain and
6023       path will automatically include the cookie value in the HTTP Cookie
6024       header field. Multiple cookies can be delimited by a newline.
6025
6026       The required syntax to play a stream specifying a cookie is:
6027
6028               ffplay -cookies "nlqptid=nltid=tsn; path=/; domain=somedomain.com;" http://somedomain.com/somestream.m3u8
6029
6030   Icecast
6031       Icecast protocol (stream to Icecast servers)
6032
6033       This protocol accepts the following options:
6034
6035       ice_genre
6036           Set the stream genre.
6037
6038       ice_name
6039           Set the stream name.
6040
6041       ice_description
6042           Set the stream description.
6043
6044       ice_url
6045           Set the stream website URL.
6046
6047       ice_public
6048           Set if the stream should be public.  The default is 0 (not public).
6049
6050       user_agent
6051           Override the User-Agent header. If not specified a string of the
6052           form "Lavf/<version>" will be used.
6053
6054       password
6055           Set the Icecast mountpoint password.
6056
6057       content_type
6058           Set the stream content type. This must be set if it is different
6059           from audio/mpeg.
6060
6061       legacy_icecast
6062           This enables support for Icecast versions < 2.4.0, that do not
6063           support the HTTP PUT method but the SOURCE method.
6064
6065       tls Establish a TLS (HTTPS) connection to Icecast.
6066
6067               icecast://[<username>[:<password>]@]<server>:<port>/<mountpoint>
6068
6069   mmst
6070       MMS (Microsoft Media Server) protocol over TCP.
6071
6072   mmsh
6073       MMS (Microsoft Media Server) protocol over HTTP.
6074
6075       The required syntax is:
6076
6077               mmsh://<server>[:<port>][/<app>][/<playpath>]
6078
6079   md5
6080       MD5 output protocol.
6081
6082       Computes the MD5 hash of the data to be written, and on close writes
6083       this to the designated output or stdout if none is specified. It can be
6084       used to test muxers without writing an actual file.
6085
6086       Some examples follow.
6087
6088               # Write the MD5 hash of the encoded AVI file to the file output.avi.md5.
6089               ffmpeg -i input.flv -f avi -y md5:output.avi.md5
6090
6091               # Write the MD5 hash of the encoded AVI file to stdout.
6092               ffmpeg -i input.flv -f avi -y md5:
6093
6094       Note that some formats (typically MOV) require the output protocol to
6095       be seekable, so they will fail with the MD5 output protocol.
6096
6097   pipe
6098       UNIX pipe access protocol.
6099
6100       Read and write from UNIX pipes.
6101
6102       The accepted syntax is:
6103
6104               pipe:[<number>]
6105
6106       number is the number corresponding to the file descriptor of the pipe
6107       (e.g. 0 for stdin, 1 for stdout, 2 for stderr).  If number is not
6108       specified, by default the stdout file descriptor will be used for
6109       writing, stdin for reading.
6110
6111       For example to read from stdin with ffmpeg:
6112
6113               cat test.wav | ffmpeg -i pipe:0
6114               # ...this is the same as...
6115               cat test.wav | ffmpeg -i pipe:
6116
6117       For writing to stdout with ffmpeg:
6118
6119               ffmpeg -i test.wav -f avi pipe:1 | cat > test.avi
6120               # ...this is the same as...
6121               ffmpeg -i test.wav -f avi pipe: | cat > test.avi
6122
6123       This protocol accepts the following options:
6124
6125       blocksize
6126           Set I/O operation maximum block size, in bytes. Default value is
6127           "INT_MAX", which results in not limiting the requested block size.
6128           Setting this value reasonably low improves user termination request
6129           reaction time, which is valuable if data transmission is slow.
6130
6131       Note that some formats (typically MOV), require the output protocol to
6132       be seekable, so they will fail with the pipe output protocol.
6133
6134   prompeg
6135       Pro-MPEG Code of Practice #3 Release 2 FEC protocol.
6136
6137       The Pro-MPEG CoP#3 FEC is a 2D parity-check forward error correction
6138       mechanism for MPEG-2 Transport Streams sent over RTP.
6139
6140       This protocol must be used in conjunction with the "rtp_mpegts" muxer
6141       and the "rtp" protocol.
6142
6143       The required syntax is:
6144
6145               -f rtp_mpegts -fec prompeg=<option>=<val>... rtp://<hostname>:<port>
6146
6147       The destination UDP ports are "port + 2" for the column FEC stream and
6148       "port + 4" for the row FEC stream.
6149
6150       This protocol accepts the following options:
6151
6152       l=n The number of columns (4-20, LxD <= 100)
6153
6154       d=n The number of rows (4-20, LxD <= 100)
6155
6156       Example usage:
6157
6158               -f rtp_mpegts -fec prompeg=l=8:d=4 rtp://<hostname>:<port>
6159
6160   rist
6161       Reliable Internet Streaming Transport protocol
6162
6163       The accepted options are:
6164
6165       rist_profile
6166           Supported values:
6167
6168           simple
6169           main
6170               This one is default.
6171
6172           advanced
6173       buffer_size
6174           Set internal RIST buffer size in milliseconds for retransmission of
6175           data.  Default value is 0 which means the librist default (1 sec).
6176           Maximum value is 30 seconds.
6177
6178       pkt_size
6179           Set maximum packet size for sending data. 1316 by default.
6180
6181       log_level
6182           Set loglevel for RIST logging messages. You only need to set this
6183           if you explicitly want to enable debug level messages or packet
6184           loss simulation, otherwise the regular loglevel is respected.
6185
6186       secret
6187           Set override of encryption secret, by default is unset.
6188
6189       encryption
6190           Set encryption type, by default is disabled.  Acceptable values are
6191           128 and 256.
6192
6193   rtmp
6194       Real-Time Messaging Protocol.
6195
6196       The Real-Time Messaging Protocol (RTMP) is used for streaming
6197       multimedia content across a TCP/IP network.
6198
6199       The required syntax is:
6200
6201               rtmp://[<username>:<password>@]<server>[:<port>][/<app>][/<instance>][/<playpath>]
6202
6203       The accepted parameters are:
6204
6205       username
6206           An optional username (mostly for publishing).
6207
6208       password
6209           An optional password (mostly for publishing).
6210
6211       server
6212           The address of the RTMP server.
6213
6214       port
6215           The number of the TCP port to use (by default is 1935).
6216
6217       app It is the name of the application to access. It usually corresponds
6218           to the path where the application is installed on the RTMP server
6219           (e.g. /ondemand/, /flash/live/, etc.). You can override the value
6220           parsed from the URI through the "rtmp_app" option, too.
6221
6222       playpath
6223           It is the path or name of the resource to play with reference to
6224           the application specified in app, may be prefixed by "mp4:". You
6225           can override the value parsed from the URI through the
6226           "rtmp_playpath" option, too.
6227
6228       listen
6229           Act as a server, listening for an incoming connection.
6230
6231       timeout
6232           Maximum time to wait for the incoming connection. Implies listen.
6233
6234       Additionally, the following parameters can be set via command line
6235       options (or in code via "AVOption"s):
6236
6237       rtmp_app
6238           Name of application to connect on the RTMP server. This option
6239           overrides the parameter specified in the URI.
6240
6241       rtmp_buffer
6242           Set the client buffer time in milliseconds. The default is 3000.
6243
6244       rtmp_conn
6245           Extra arbitrary AMF connection parameters, parsed from a string,
6246           e.g. like "B:1 S:authMe O:1 NN:code:1.23 NS:flag:ok O:0".  Each
6247           value is prefixed by a single character denoting the type, B for
6248           Boolean, N for number, S for string, O for object, or Z for null,
6249           followed by a colon. For Booleans the data must be either 0 or 1
6250           for FALSE or TRUE, respectively.  Likewise for Objects the data
6251           must be 0 or 1 to end or begin an object, respectively. Data items
6252           in subobjects may be named, by prefixing the type with 'N' and
6253           specifying the name before the value (i.e. "NB:myFlag:1"). This
6254           option may be used multiple times to construct arbitrary AMF
6255           sequences.
6256
6257       rtmp_flashver
6258           Version of the Flash plugin used to run the SWF player. The default
6259           is LNX 9,0,124,2. (When publishing, the default is FMLE/3.0
6260           (compatible; <libavformat version>).)
6261
6262       rtmp_flush_interval
6263           Number of packets flushed in the same request (RTMPT only). The
6264           default is 10.
6265
6266       rtmp_live
6267           Specify that the media is a live stream. No resuming or seeking in
6268           live streams is possible. The default value is "any", which means
6269           the subscriber first tries to play the live stream specified in the
6270           playpath. If a live stream of that name is not found, it plays the
6271           recorded stream. The other possible values are "live" and
6272           "recorded".
6273
6274       rtmp_pageurl
6275           URL of the web page in which the media was embedded. By default no
6276           value will be sent.
6277
6278       rtmp_playpath
6279           Stream identifier to play or to publish. This option overrides the
6280           parameter specified in the URI.
6281
6282       rtmp_subscribe
6283           Name of live stream to subscribe to. By default no value will be
6284           sent.  It is only sent if the option is specified or if rtmp_live
6285           is set to live.
6286
6287       rtmp_swfhash
6288           SHA256 hash of the decompressed SWF file (32 bytes).
6289
6290       rtmp_swfsize
6291           Size of the decompressed SWF file, required for SWFVerification.
6292
6293       rtmp_swfurl
6294           URL of the SWF player for the media. By default no value will be
6295           sent.
6296
6297       rtmp_swfverify
6298           URL to player swf file, compute hash/size automatically.
6299
6300       rtmp_tcurl
6301           URL of the target stream. Defaults to proto://host[:port]/app.
6302
6303       tcp_nodelay=1|0
6304           Set TCP_NODELAY to disable Nagle's algorithm. Default value is 0.
6305
6306           Remark: Writing to the socket is currently not optimized to
6307           minimize system calls and reduces the efficiency / effect of
6308           TCP_NODELAY.
6309
6310       For example to read with ffplay a multimedia resource named "sample"
6311       from the application "vod" from an RTMP server "myserver":
6312
6313               ffplay rtmp://myserver/vod/sample
6314
6315       To publish to a password protected server, passing the playpath and app
6316       names separately:
6317
6318               ffmpeg -re -i <input> -f flv -rtmp_playpath some/long/path -rtmp_app long/app/name rtmp://username:password@myserver/
6319
6320   rtmpe
6321       Encrypted Real-Time Messaging Protocol.
6322
6323       The Encrypted Real-Time Messaging Protocol (RTMPE) is used for
6324       streaming multimedia content within standard cryptographic primitives,
6325       consisting of Diffie-Hellman key exchange and HMACSHA256, generating a
6326       pair of RC4 keys.
6327
6328   rtmps
6329       Real-Time Messaging Protocol over a secure SSL connection.
6330
6331       The Real-Time Messaging Protocol (RTMPS) is used for streaming
6332       multimedia content across an encrypted connection.
6333
6334   rtmpt
6335       Real-Time Messaging Protocol tunneled through HTTP.
6336
6337       The Real-Time Messaging Protocol tunneled through HTTP (RTMPT) is used
6338       for streaming multimedia content within HTTP requests to traverse
6339       firewalls.
6340
6341   rtmpte
6342       Encrypted Real-Time Messaging Protocol tunneled through HTTP.
6343
6344       The Encrypted Real-Time Messaging Protocol tunneled through HTTP
6345       (RTMPTE) is used for streaming multimedia content within HTTP requests
6346       to traverse firewalls.
6347
6348   rtmpts
6349       Real-Time Messaging Protocol tunneled through HTTPS.
6350
6351       The Real-Time Messaging Protocol tunneled through HTTPS (RTMPTS) is
6352       used for streaming multimedia content within HTTPS requests to traverse
6353       firewalls.
6354
6355   libsmbclient
6356       libsmbclient permits one to manipulate CIFS/SMB network resources.
6357
6358       Following syntax is required.
6359
6360               smb://[[domain:]user[:password@]]server[/share[/path[/file]]]
6361
6362       This protocol accepts the following options.
6363
6364       timeout
6365           Set timeout in milliseconds of socket I/O operations used by the
6366           underlying low level operation. By default it is set to -1, which
6367           means that the timeout is not specified.
6368
6369       truncate
6370           Truncate existing files on write, if set to 1. A value of 0
6371           prevents truncating. Default value is 1.
6372
6373       workgroup
6374           Set the workgroup used for making connections. By default workgroup
6375           is not specified.
6376
6377       For more information see: <http://www.samba.org/>.
6378
6379   libssh
6380       Secure File Transfer Protocol via libssh
6381
6382       Read from or write to remote resources using SFTP protocol.
6383
6384       Following syntax is required.
6385
6386               sftp://[user[:password]@]server[:port]/path/to/remote/resource.mpeg
6387
6388       This protocol accepts the following options.
6389
6390       timeout
6391           Set timeout of socket I/O operations used by the underlying low
6392           level operation. By default it is set to -1, which means that the
6393           timeout is not specified.
6394
6395       truncate
6396           Truncate existing files on write, if set to 1. A value of 0
6397           prevents truncating. Default value is 1.
6398
6399       private_key
6400           Specify the path of the file containing private key to use during
6401           authorization.  By default libssh searches for keys in the ~/.ssh/
6402           directory.
6403
6404       Example: Play a file stored on remote server.
6405
6406               ffplay sftp://user:password@server_address:22/home/user/resource.mpeg
6407
6408   librtmp rtmp, rtmpe, rtmps, rtmpt, rtmpte
6409       Real-Time Messaging Protocol and its variants supported through
6410       librtmp.
6411
6412       Requires the presence of the librtmp headers and library during
6413       configuration. You need to explicitly configure the build with
6414       "--enable-librtmp". If enabled this will replace the native RTMP
6415       protocol.
6416
6417       This protocol provides most client functions and a few server functions
6418       needed to support RTMP, RTMP tunneled in HTTP (RTMPT), encrypted RTMP
6419       (RTMPE), RTMP over SSL/TLS (RTMPS) and tunneled variants of these
6420       encrypted types (RTMPTE, RTMPTS).
6421
6422       The required syntax is:
6423
6424               <rtmp_proto>://<server>[:<port>][/<app>][/<playpath>] <options>
6425
6426       where rtmp_proto is one of the strings "rtmp", "rtmpt", "rtmpe",
6427       "rtmps", "rtmpte", "rtmpts" corresponding to each RTMP variant, and
6428       server, port, app and playpath have the same meaning as specified for
6429       the RTMP native protocol.  options contains a list of space-separated
6430       options of the form key=val.
6431
6432       See the librtmp manual page (man 3 librtmp) for more information.
6433
6434       For example, to stream a file in real-time to an RTMP server using
6435       ffmpeg:
6436
6437               ffmpeg -re -i myfile -f flv rtmp://myserver/live/mystream
6438
6439       To play the same stream using ffplay:
6440
6441               ffplay "rtmp://myserver/live/mystream live=1"
6442
6443   rtp
6444       Real-time Transport Protocol.
6445
6446       The required syntax for an RTP URL is:
6447       rtp://hostname[:port][?option=val...]
6448
6449       port specifies the RTP port to use.
6450
6451       The following URL options are supported:
6452
6453       ttl=n
6454           Set the TTL (Time-To-Live) value (for multicast only).
6455
6456       rtcpport=n
6457           Set the remote RTCP port to n.
6458
6459       localrtpport=n
6460           Set the local RTP port to n.
6461
6462       localrtcpport=n'
6463           Set the local RTCP port to n.
6464
6465       pkt_size=n
6466           Set max packet size (in bytes) to n.
6467
6468       buffer_size=size
6469           Set the maximum UDP socket buffer size in bytes.
6470
6471       connect=0|1
6472           Do a "connect()" on the UDP socket (if set to 1) or not (if set to
6473           0).
6474
6475       sources=ip[,ip]
6476           List allowed source IP addresses.
6477
6478       block=ip[,ip]
6479           List disallowed (blocked) source IP addresses.
6480
6481       write_to_source=0|1
6482           Send packets to the source address of the latest received packet
6483           (if set to 1) or to a default remote address (if set to 0).
6484
6485       localport=n
6486           Set the local RTP port to n.
6487
6488       localaddr=addr
6489           Local IP address of a network interface used for sending packets or
6490           joining multicast groups.
6491
6492       timeout=n
6493           Set timeout (in microseconds) of socket I/O operations to n.
6494
6495           This is a deprecated option. Instead, localrtpport should be used.
6496
6497       Important notes:
6498
6499       1.  If rtcpport is not set the RTCP port will be set to the RTP port
6500           value plus 1.
6501
6502       2.  If localrtpport (the local RTP port) is not set any available port
6503           will be used for the local RTP and RTCP ports.
6504
6505       3.  If localrtcpport (the local RTCP port) is not set it will be set to
6506           the local RTP port value plus 1.
6507
6508   rtsp
6509       Real-Time Streaming Protocol.
6510
6511       RTSP is not technically a protocol handler in libavformat, it is a
6512       demuxer and muxer. The demuxer supports both normal RTSP (with data
6513       transferred over RTP; this is used by e.g. Apple and Microsoft) and
6514       Real-RTSP (with data transferred over RDT).
6515
6516       The muxer can be used to send a stream using RTSP ANNOUNCE to a server
6517       supporting it (currently Darwin Streaming Server and Mischa
6518       Spiegelmock's <https://github.com/revmischa/rtsp-server>).
6519
6520       The required syntax for a RTSP url is:
6521
6522               rtsp://<hostname>[:<port>]/<path>
6523
6524       Options can be set on the ffmpeg/ffplay command line, or set in code
6525       via "AVOption"s or in "avformat_open_input".
6526
6527       The following options are supported.
6528
6529       initial_pause
6530           Do not start playing the stream immediately if set to 1. Default
6531           value is 0.
6532
6533       rtsp_transport
6534           Set RTSP transport protocols.
6535
6536           It accepts the following values:
6537
6538           udp Use UDP as lower transport protocol.
6539
6540           tcp Use TCP (interleaving within the RTSP control channel) as lower
6541               transport protocol.
6542
6543           udp_multicast
6544               Use UDP multicast as lower transport protocol.
6545
6546           http
6547               Use HTTP tunneling as lower transport protocol, which is useful
6548               for passing proxies.
6549
6550           Multiple lower transport protocols may be specified, in that case
6551           they are tried one at a time (if the setup of one fails, the next
6552           one is tried).  For the muxer, only the tcp and udp options are
6553           supported.
6554
6555       rtsp_flags
6556           Set RTSP flags.
6557
6558           The following values are accepted:
6559
6560           filter_src
6561               Accept packets only from negotiated peer address and port.
6562
6563           listen
6564               Act as a server, listening for an incoming connection.
6565
6566           prefer_tcp
6567               Try TCP for RTP transport first, if TCP is available as RTSP
6568               RTP transport.
6569
6570           Default value is none.
6571
6572       allowed_media_types
6573           Set media types to accept from the server.
6574
6575           The following flags are accepted:
6576
6577           video
6578           audio
6579           data
6580
6581           By default it accepts all media types.
6582
6583       min_port
6584           Set minimum local UDP port. Default value is 5000.
6585
6586       max_port
6587           Set maximum local UDP port. Default value is 65000.
6588
6589       listen_timeout
6590           Set maximum timeout (in seconds) to establish an initial
6591           connection. Setting listen_timeout > 0 sets rtsp_flags to listen.
6592           Default is -1 which means an infinite timeout when listen mode is
6593           set.
6594
6595       reorder_queue_size
6596           Set number of packets to buffer for handling of reordered packets.
6597
6598       timeout
6599           Set socket TCP I/O timeout in microseconds.
6600
6601       user_agent
6602           Override User-Agent header. If not specified, it defaults to the
6603           libavformat identifier string.
6604
6605       When receiving data over UDP, the demuxer tries to reorder received
6606       packets (since they may arrive out of order, or packets may get lost
6607       totally). This can be disabled by setting the maximum demuxing delay to
6608       zero (via the "max_delay" field of AVFormatContext).
6609
6610       When watching multi-bitrate Real-RTSP streams with ffplay, the streams
6611       to display can be chosen with "-vst" n and "-ast" n for video and audio
6612       respectively, and can be switched on the fly by pressing "v" and "a".
6613
6614       Examples
6615
6616       The following examples all make use of the ffplay and ffmpeg tools.
6617
6618       •   Watch a stream over UDP, with a max reordering delay of 0.5
6619           seconds:
6620
6621                   ffplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4
6622
6623       •   Watch a stream tunneled over HTTP:
6624
6625                   ffplay -rtsp_transport http rtsp://server/video.mp4
6626
6627       •   Send a stream in realtime to a RTSP server, for others to watch:
6628
6629                   ffmpeg -re -i <input> -f rtsp -muxdelay 0.1 rtsp://server/live.sdp
6630
6631       •   Receive a stream in realtime:
6632
6633                   ffmpeg -rtsp_flags listen -i rtsp://ownaddress/live.sdp <output>
6634
6635   sap
6636       Session Announcement Protocol (RFC 2974). This is not technically a
6637       protocol handler in libavformat, it is a muxer and demuxer.  It is used
6638       for signalling of RTP streams, by announcing the SDP for the streams
6639       regularly on a separate port.
6640
6641       Muxer
6642
6643       The syntax for a SAP url given to the muxer is:
6644
6645               sap://<destination>[:<port>][?<options>]
6646
6647       The RTP packets are sent to destination on port port, or to port 5004
6648       if no port is specified.  options is a "&"-separated list. The
6649       following options are supported:
6650
6651       announce_addr=address
6652           Specify the destination IP address for sending the announcements
6653           to.  If omitted, the announcements are sent to the commonly used
6654           SAP announcement multicast address 224.2.127.254 (sap.mcast.net),
6655           or ff0e::2:7ffe if destination is an IPv6 address.
6656
6657       announce_port=port
6658           Specify the port to send the announcements on, defaults to 9875 if
6659           not specified.
6660
6661       ttl=ttl
6662           Specify the time to live value for the announcements and RTP
6663           packets, defaults to 255.
6664
6665       same_port=0|1
6666           If set to 1, send all RTP streams on the same port pair. If zero
6667           (the default), all streams are sent on unique ports, with each
6668           stream on a port 2 numbers higher than the previous.  VLC/Live555
6669           requires this to be set to 1, to be able to receive the stream.
6670           The RTP stack in libavformat for receiving requires all streams to
6671           be sent on unique ports.
6672
6673       Example command lines follow.
6674
6675       To broadcast a stream on the local subnet, for watching in VLC:
6676
6677               ffmpeg -re -i <input> -f sap sap://224.0.0.255?same_port=1
6678
6679       Similarly, for watching in ffplay:
6680
6681               ffmpeg -re -i <input> -f sap sap://224.0.0.255
6682
6683       And for watching in ffplay, over IPv6:
6684
6685               ffmpeg -re -i <input> -f sap sap://[ff0e::1:2:3:4]
6686
6687       Demuxer
6688
6689       The syntax for a SAP url given to the demuxer is:
6690
6691               sap://[<address>][:<port>]
6692
6693       address is the multicast address to listen for announcements on, if
6694       omitted, the default 224.2.127.254 (sap.mcast.net) is used. port is the
6695       port that is listened on, 9875 if omitted.
6696
6697       The demuxers listens for announcements on the given address and port.
6698       Once an announcement is received, it tries to receive that particular
6699       stream.
6700
6701       Example command lines follow.
6702
6703       To play back the first stream announced on the normal SAP multicast
6704       address:
6705
6706               ffplay sap://
6707
6708       To play back the first stream announced on one the default IPv6 SAP
6709       multicast address:
6710
6711               ffplay sap://[ff0e::2:7ffe]
6712
6713   sctp
6714       Stream Control Transmission Protocol.
6715
6716       The accepted URL syntax is:
6717
6718               sctp://<host>:<port>[?<options>]
6719
6720       The protocol accepts the following options:
6721
6722       listen
6723           If set to any value, listen for an incoming connection. Outgoing
6724           connection is done by default.
6725
6726       max_streams
6727           Set the maximum number of streams. By default no limit is set.
6728
6729   srt
6730       Haivision Secure Reliable Transport Protocol via libsrt.
6731
6732       The supported syntax for a SRT URL is:
6733
6734               srt://<hostname>:<port>[?<options>]
6735
6736       options contains a list of &-separated options of the form key=val.
6737
6738       or
6739
6740               <options> srt://<hostname>:<port>
6741
6742       options contains a list of '-key val' options.
6743
6744       This protocol accepts the following options.
6745
6746       connect_timeout=milliseconds
6747           Connection timeout; SRT cannot connect for RTT > 1500 msec (2
6748           handshake exchanges) with the default connect timeout of 3 seconds.
6749           This option applies to the caller and rendezvous connection modes.
6750           The connect timeout is 10 times the value set for the rendezvous
6751           mode (which can be used as a workaround for this connection problem
6752           with earlier versions).
6753
6754       ffs=bytes
6755           Flight Flag Size (Window Size), in bytes. FFS is actually an
6756           internal parameter and you should set it to not less than
6757           recv_buffer_size and mss. The default value is relatively large,
6758           therefore unless you set a very large receiver buffer, you do not
6759           need to change this option. Default value is 25600.
6760
6761       inputbw=bytes/seconds
6762           Sender nominal input rate, in bytes per seconds. Used along with
6763           oheadbw, when maxbw is set to relative (0), to calculate maximum
6764           sending rate when recovery packets are sent along with the main
6765           media stream: inputbw * (100 + oheadbw) / 100 if inputbw is not set
6766           while maxbw is set to relative (0), the actual input rate is
6767           evaluated inside the library. Default value is 0.
6768
6769       iptos=tos
6770           IP Type of Service. Applies to sender only. Default value is 0xB8.
6771
6772       ipttl=ttl
6773           IP Time To Live. Applies to sender only. Default value is 64.
6774
6775       latency=microseconds
6776           Timestamp-based Packet Delivery Delay.  Used to absorb bursts of
6777           missed packet retransmissions.  This flag sets both rcvlatency and
6778           peerlatency to the same value. Note that prior to version 1.3.0
6779           this is the only flag to set the latency, however this is
6780           effectively equivalent to setting peerlatency, when side is sender
6781           and rcvlatency when side is receiver, and the bidirectional stream
6782           sending is not supported.
6783
6784       listen_timeout=microseconds
6785           Set socket listen timeout.
6786
6787       maxbw=bytes/seconds
6788           Maximum sending bandwidth, in bytes per seconds.  -1 infinite
6789           (CSRTCC limit is 30mbps) 0 relative to input rate (see inputbw) >0
6790           absolute limit value Default value is 0 (relative)
6791
6792       mode=caller|listener|rendezvous
6793           Connection mode.  caller opens client connection.  listener starts
6794           server to listen for incoming connections.  rendezvous use Rendez-
6795           Vous connection mode.  Default value is caller.
6796
6797       mss=bytes
6798           Maximum Segment Size, in bytes. Used for buffer allocation and rate
6799           calculation using a packet counter assuming fully filled packets.
6800           The smallest MSS between the peers is used. This is 1500 by default
6801           in the overall internet.  This is the maximum size of the UDP
6802           packet and can be only decreased, unless you have some unusual
6803           dedicated network settings. Default value is 1500.
6804
6805       nakreport=1|0
6806           If set to 1, Receiver will send `UMSG_LOSSREPORT` messages
6807           periodically until a lost packet is retransmitted or intentionally
6808           dropped. Default value is 1.
6809
6810       oheadbw=percents
6811           Recovery bandwidth overhead above input rate, in percents.  See
6812           inputbw. Default value is 25%.
6813
6814       passphrase=string
6815           HaiCrypt Encryption/Decryption Passphrase string, length from 10 to
6816           79 characters. The passphrase is the shared secret between the
6817           sender and the receiver. It is used to generate the Key Encrypting
6818           Key using PBKDF2 (Password-Based Key Derivation Function). It is
6819           used only if pbkeylen is non-zero. It is used on the receiver only
6820           if the received data is encrypted.  The configured passphrase
6821           cannot be recovered (write-only).
6822
6823       enforced_encryption=1|0
6824           If true, both connection parties must have the same password set
6825           (including empty, that is, with no encryption). If the password
6826           doesn't match or only one side is unencrypted, the connection is
6827           rejected. Default is true.
6828
6829       kmrefreshrate=packets
6830           The number of packets to be transmitted after which the encryption
6831           key is switched to a new key. Default is -1.  -1 means auto
6832           (0x1000000 in srt library). The range for this option is integers
6833           in the 0 - "INT_MAX".
6834
6835       kmpreannounce=packets
6836           The interval between when a new encryption key is sent and when
6837           switchover occurs. This value also applies to the subsequent
6838           interval between when switchover occurs and when the old encryption
6839           key is decommissioned. Default is -1.  -1 means auto (0x1000 in srt
6840           library). The range for this option is integers in the 0 -
6841           "INT_MAX".
6842
6843       snddropdelay=microseconds
6844           The sender's extra delay before dropping packets. This delay is
6845           added to the default drop delay time interval value.
6846
6847           Special value -1: Do not drop packets on the sender at all.
6848
6849       payload_size=bytes
6850           Sets the maximum declared size of a packet transferred during the
6851           single call to the sending function in Live mode. Use 0 if this
6852           value isn't used (which is default in file mode).  Default is -1
6853           (automatic), which typically means MPEG-TS; if you are going to use
6854           SRT to send any different kind of payload, such as, for example,
6855           wrapping a live stream in very small frames, then you can use a
6856           bigger maximum frame size, though not greater than 1456 bytes.
6857
6858       pkt_size=bytes
6859           Alias for payload_size.
6860
6861       peerlatency=microseconds
6862           The latency value (as described in rcvlatency) that is set by the
6863           sender side as a minimum value for the receiver.
6864
6865       pbkeylen=bytes
6866           Sender encryption key length, in bytes.  Only can be set to 0, 16,
6867           24 and 32.  Enable sender encryption if not 0.  Not required on
6868           receiver (set to 0), key size obtained from sender in HaiCrypt
6869           handshake.  Default value is 0.
6870
6871       rcvlatency=microseconds
6872           The time that should elapse since the moment when the packet was
6873           sent and the moment when it's delivered to the receiver application
6874           in the receiving function.  This time should be a buffer time large
6875           enough to cover the time spent for sending, unexpectedly extended
6876           RTT time, and the time needed to retransmit the lost UDP packet.
6877           The effective latency value will be the maximum of this options'
6878           value and the value of peerlatency set by the peer side. Before
6879           version 1.3.0 this option is only available as latency.
6880
6881       recv_buffer_size=bytes
6882           Set UDP receive buffer size, expressed in bytes.
6883
6884       send_buffer_size=bytes
6885           Set UDP send buffer size, expressed in bytes.
6886
6887       timeout=microseconds
6888           Set raise error timeouts for read, write and connect operations.
6889           Note that the SRT library has internal timeouts which can be
6890           controlled separately, the value set here is only a cap on those.
6891
6892       tlpktdrop=1|0
6893           Too-late Packet Drop. When enabled on receiver, it skips missing
6894           packets that have not been delivered in time and delivers the
6895           following packets to the application when their time-to-play has
6896           come. It also sends a fake ACK to the sender. When enabled on
6897           sender and enabled on the receiving peer, the sender drops the
6898           older packets that have no chance of being delivered in time. It
6899           was automatically enabled in the sender if the receiver supports
6900           it.
6901
6902       sndbuf=bytes
6903           Set send buffer size, expressed in bytes.
6904
6905       rcvbuf=bytes
6906           Set receive buffer size, expressed in bytes.
6907
6908           Receive buffer must not be greater than ffs.
6909
6910       lossmaxttl=packets
6911           The value up to which the Reorder Tolerance may grow. When Reorder
6912           Tolerance is > 0, then packet loss report is delayed until that
6913           number of packets come in. Reorder Tolerance increases every time a
6914           "belated" packet has come, but it wasn't due to retransmission
6915           (that is, when UDP packets tend to come out of order), with the
6916           difference between the latest sequence and this packet's sequence,
6917           and not more than the value of this option. By default it's 0,
6918           which means that this mechanism is turned off, and the loss report
6919           is always sent immediately upon experiencing a "gap" in sequences.
6920
6921       minversion
6922           The minimum SRT version that is required from the peer. A
6923           connection to a peer that does not satisfy the minimum version
6924           requirement will be rejected.
6925
6926           The version format in hex is 0xXXYYZZ for x.y.z in human readable
6927           form.
6928
6929       streamid=string
6930           A string limited to 512 characters that can be set on the socket
6931           prior to connecting. This stream ID will be able to be retrieved by
6932           the listener side from the socket that is returned from srt_accept
6933           and was connected by a socket with that set stream ID. SRT does not
6934           enforce any special interpretation of the contents of this string.
6935           This option doesnXt make sense in Rendezvous connection; the result
6936           might be that simply one side will override the value from the
6937           other side and itXs the matter of luck which one would win
6938
6939       srt_streamid=string
6940           Alias for streamid to avoid conflict with ffmpeg command line
6941           option.
6942
6943       smoother=live|file
6944           The type of Smoother used for the transmission for that socket,
6945           which is responsible for the transmission and congestion control.
6946           The Smoother type must be exactly the same on both connecting
6947           parties, otherwise the connection is rejected.
6948
6949       messageapi=1|0
6950           When set, this socket uses the Message API, otherwise it uses
6951           Buffer API. Note that in live mode (see transtype) thereXs only
6952           message API available. In File mode you can chose to use one of two
6953           modes:
6954
6955           Stream API (default, when this option is false). In this mode you
6956           may send as many data as you wish with one sending instruction, or
6957           even use dedicated functions that read directly from a file. The
6958           internal facility will take care of any speed and congestion
6959           control. When receiving, you can also receive as many data as
6960           desired, the data not extracted will be waiting for the next call.
6961           There is no boundary between data portions in the Stream mode.
6962
6963           Message API. In this mode your single sending instruction passes
6964           exactly one piece of data that has boundaries (a message). Contrary
6965           to Live mode, this message may span across multiple UDP packets and
6966           the only size limitation is that it shall fit as a whole in the
6967           sending buffer. The receiver shall use as large buffer as necessary
6968           to receive the message, otherwise the message will not be given up.
6969           When the message is not complete (not all packets received or there
6970           was a packet loss) it will not be given up.
6971
6972       transtype=live|file
6973           Sets the transmission type for the socket, in particular, setting
6974           this option sets multiple other parameters to their default values
6975           as required for a particular transmission type.
6976
6977           live: Set options as for live transmission. In this mode, you
6978           should send by one sending instruction only so many data that fit
6979           in one UDP packet, and limited to the value defined first in
6980           payload_size (1316 is default in this mode). There is no speed
6981           control in this mode, only the bandwidth control, if configured, in
6982           order to not exceed the bandwidth with the overhead transmission
6983           (retransmitted and control packets).
6984
6985           file: Set options as for non-live transmission. See messageapi for
6986           further explanations
6987
6988       linger=seconds
6989           The number of seconds that the socket waits for unsent data when
6990           closing.  Default is -1. -1 means auto (off with 0 seconds in live
6991           mode, on with 180 seconds in file mode). The range for this option
6992           is integers in the 0 - "INT_MAX".
6993
6994       tsbpd=1|0
6995           When true, use Timestamp-based Packet Delivery mode. The default
6996           behavior depends on the transmission type: enabled in live mode,
6997           disabled in file mode.
6998
6999       For more information see: <https://github.com/Haivision/srt>.
7000
7001   srtp
7002       Secure Real-time Transport Protocol.
7003
7004       The accepted options are:
7005
7006       srtp_in_suite
7007       srtp_out_suite
7008           Select input and output encoding suites.
7009
7010           Supported values:
7011
7012           AES_CM_128_HMAC_SHA1_80
7013           SRTP_AES128_CM_HMAC_SHA1_80
7014           AES_CM_128_HMAC_SHA1_32
7015           SRTP_AES128_CM_HMAC_SHA1_32
7016       srtp_in_params
7017       srtp_out_params
7018           Set input and output encoding parameters, which are expressed by a
7019           base64-encoded representation of a binary block. The first 16 bytes
7020           of this binary block are used as master key, the following 14 bytes
7021           are used as master salt.
7022
7023   subfile
7024       Virtually extract a segment of a file or another stream.  The
7025       underlying stream must be seekable.
7026
7027       Accepted options:
7028
7029       start
7030           Start offset of the extracted segment, in bytes.
7031
7032       end End offset of the extracted segment, in bytes.  If set to 0,
7033           extract till end of file.
7034
7035       Examples:
7036
7037       Extract a chapter from a DVD VOB file (start and end sectors obtained
7038       externally and multiplied by 2048):
7039
7040               subfile,,start,153391104,end,268142592,,:/media/dvd/VIDEO_TS/VTS_08_1.VOB
7041
7042       Play an AVI file directly from a TAR archive:
7043
7044               subfile,,start,183241728,end,366490624,,:archive.tar
7045
7046       Play a MPEG-TS file from start offset till end:
7047
7048               subfile,,start,32815239,end,0,,:video.ts
7049
7050   tee
7051       Writes the output to multiple protocols. The individual outputs are
7052       separated by |
7053
7054               tee:file://path/to/local/this.avi|file://path/to/local/that.avi
7055
7056   tcp
7057       Transmission Control Protocol.
7058
7059       The required syntax for a TCP url is:
7060
7061               tcp://<hostname>:<port>[?<options>]
7062
7063       options contains a list of &-separated options of the form key=val.
7064
7065       The list of supported options follows.
7066
7067       listen=2|1|0
7068           Listen for an incoming connection. 0 disables listen, 1 enables
7069           listen in single client mode, 2 enables listen in multi-client
7070           mode. Default value is 0.
7071
7072       timeout=microseconds
7073           Set raise error timeout, expressed in microseconds.
7074
7075           This option is only relevant in read mode: if no data arrived in
7076           more than this time interval, raise error.
7077
7078       listen_timeout=milliseconds
7079           Set listen timeout, expressed in milliseconds.
7080
7081       recv_buffer_size=bytes
7082           Set receive buffer size, expressed bytes.
7083
7084       send_buffer_size=bytes
7085           Set send buffer size, expressed bytes.
7086
7087       tcp_nodelay=1|0
7088           Set TCP_NODELAY to disable Nagle's algorithm. Default value is 0.
7089
7090           Remark: Writing to the socket is currently not optimized to
7091           minimize system calls and reduces the efficiency / effect of
7092           TCP_NODELAY.
7093
7094       tcp_mss=bytes
7095           Set maximum segment size for outgoing TCP packets, expressed in
7096           bytes.
7097
7098       The following example shows how to setup a listening TCP connection
7099       with ffmpeg, which is then accessed with ffplay:
7100
7101               ffmpeg -i <input> -f <format> tcp://<hostname>:<port>?listen
7102               ffplay tcp://<hostname>:<port>
7103
7104   tls
7105       Transport Layer Security (TLS) / Secure Sockets Layer (SSL)
7106
7107       The required syntax for a TLS/SSL url is:
7108
7109               tls://<hostname>:<port>[?<options>]
7110
7111       The following parameters can be set via command line options (or in
7112       code via "AVOption"s):
7113
7114       ca_file, cafile=filename
7115           A file containing certificate authority (CA) root certificates to
7116           treat as trusted. If the linked TLS library contains a default this
7117           might not need to be specified for verification to work, but not
7118           all libraries and setups have defaults built in.  The file must be
7119           in OpenSSL PEM format.
7120
7121       tls_verify=1|0
7122           If enabled, try to verify the peer that we are communicating with.
7123           Note, if using OpenSSL, this currently only makes sure that the
7124           peer certificate is signed by one of the root certificates in the
7125           CA database, but it does not validate that the certificate actually
7126           matches the host name we are trying to connect to. (With other
7127           backends, the host name is validated as well.)
7128
7129           This is disabled by default since it requires a CA database to be
7130           provided by the caller in many cases.
7131
7132       cert_file, cert=filename
7133           A file containing a certificate to use in the handshake with the
7134           peer.  (When operating as server, in listen mode, this is more
7135           often required by the peer, while client certificates only are
7136           mandated in certain setups.)
7137
7138       key_file, key=filename
7139           A file containing the private key for the certificate.
7140
7141       listen=1|0
7142           If enabled, listen for connections on the provided port, and assume
7143           the server role in the handshake instead of the client role.
7144
7145       http_proxy
7146           The HTTP proxy to tunnel through, e.g. "http://example.com:1234".
7147           The proxy must support the CONNECT method.
7148
7149       Example command lines:
7150
7151       To create a TLS/SSL server that serves an input stream.
7152
7153               ffmpeg -i <input> -f <format> tls://<hostname>:<port>?listen&cert=<server.crt>&key=<server.key>
7154
7155       To play back a stream from the TLS/SSL server using ffplay:
7156
7157               ffplay tls://<hostname>:<port>
7158
7159   udp
7160       User Datagram Protocol.
7161
7162       The required syntax for an UDP URL is:
7163
7164               udp://<hostname>:<port>[?<options>]
7165
7166       options contains a list of &-separated options of the form key=val.
7167
7168       In case threading is enabled on the system, a circular buffer is used
7169       to store the incoming data, which allows one to reduce loss of data due
7170       to UDP socket buffer overruns. The fifo_size and overrun_nonfatal
7171       options are related to this buffer.
7172
7173       The list of supported options follows.
7174
7175       buffer_size=size
7176           Set the UDP maximum socket buffer size in bytes. This is used to
7177           set either the receive or send buffer size, depending on what the
7178           socket is used for.  Default is 32 KB for output, 384 KB for input.
7179           See also fifo_size.
7180
7181       bitrate=bitrate
7182           If set to nonzero, the output will have the specified constant
7183           bitrate if the input has enough packets to sustain it.
7184
7185       burst_bits=bits
7186           When using bitrate this specifies the maximum number of bits in
7187           packet bursts.
7188
7189       localport=port
7190           Override the local UDP port to bind with.
7191
7192       localaddr=addr
7193           Local IP address of a network interface used for sending packets or
7194           joining multicast groups.
7195
7196       pkt_size=size
7197           Set the size in bytes of UDP packets.
7198
7199       reuse=1|0
7200           Explicitly allow or disallow reusing UDP sockets.
7201
7202       ttl=ttl
7203           Set the time to live value (for multicast only).
7204
7205       connect=1|0
7206           Initialize the UDP socket with "connect()". In this case, the
7207           destination address can't be changed with ff_udp_set_remote_url
7208           later.  If the destination address isn't known at the start, this
7209           option can be specified in ff_udp_set_remote_url, too.  This allows
7210           finding out the source address for the packets with getsockname,
7211           and makes writes return with AVERROR(ECONNREFUSED) if "destination
7212           unreachable" is received.  For receiving, this gives the benefit of
7213           only receiving packets from the specified peer address/port.
7214
7215       sources=address[,address]
7216           Only receive packets sent from the specified addresses. In case of
7217           multicast, also subscribe to multicast traffic coming from these
7218           addresses only.
7219
7220       block=address[,address]
7221           Ignore packets sent from the specified addresses. In case of
7222           multicast, also exclude the source addresses in the multicast
7223           subscription.
7224
7225       fifo_size=units
7226           Set the UDP receiving circular buffer size, expressed as a number
7227           of packets with size of 188 bytes. If not specified defaults to
7228           7*4096.
7229
7230       overrun_nonfatal=1|0
7231           Survive in case of UDP receiving circular buffer overrun. Default
7232           value is 0.
7233
7234       timeout=microseconds
7235           Set raise error timeout, expressed in microseconds.
7236
7237           This option is only relevant in read mode: if no data arrived in
7238           more than this time interval, raise error.
7239
7240       broadcast=1|0
7241           Explicitly allow or disallow UDP broadcasting.
7242
7243           Note that broadcasting may not work properly on networks having a
7244           broadcast storm protection.
7245
7246       Examples
7247
7248       •   Use ffmpeg to stream over UDP to a remote endpoint:
7249
7250                   ffmpeg -i <input> -f <format> udp://<hostname>:<port>
7251
7252       •   Use ffmpeg to stream in mpegts format over UDP using 188 sized UDP
7253           packets, using a large input buffer:
7254
7255                   ffmpeg -i <input> -f mpegts udp://<hostname>:<port>?pkt_size=188&buffer_size=65535
7256
7257       •   Use ffmpeg to receive over UDP from a remote endpoint:
7258
7259                   ffmpeg -i udp://[<multicast-address>]:<port> ...
7260
7261   unix
7262       Unix local socket
7263
7264       The required syntax for a Unix socket URL is:
7265
7266               unix://<filepath>
7267
7268       The following parameters can be set via command line options (or in
7269       code via "AVOption"s):
7270
7271       timeout
7272           Timeout in ms.
7273
7274       listen
7275           Create the Unix socket in listening mode.
7276
7277   zmq
7278       ZeroMQ asynchronous messaging using the libzmq library.
7279
7280       This library supports unicast streaming to multiple clients without
7281       relying on an external server.
7282
7283       The required syntax for streaming or connecting to a stream is:
7284
7285               zmq:tcp://ip-address:port
7286
7287       Example: Create a localhost stream on port 5555:
7288
7289               ffmpeg -re -i input -f mpegts zmq:tcp://127.0.0.1:5555
7290
7291       Multiple clients may connect to the stream using:
7292
7293               ffplay zmq:tcp://127.0.0.1:5555
7294
7295       Streaming to multiple clients is implemented using a ZeroMQ Pub-Sub
7296       pattern.  The server side binds to a port and publishes data. Clients
7297       connect to the server (via IP address/port) and subscribe to the
7298       stream. The order in which the server and client start generally does
7299       not matter.
7300
7301       ffmpeg must be compiled with the --enable-libzmq option to support this
7302       protocol.
7303
7304       Options can be set on the ffmpeg/ffplay command line. The following
7305       options are supported:
7306
7307       pkt_size
7308           Forces the maximum packet size for sending/receiving data. The
7309           default value is 131,072 bytes. On the server side, this sets the
7310           maximum size of sent packets via ZeroMQ. On the clients, it sets an
7311           internal buffer size for receiving packets. Note that pkt_size on
7312           the clients should be equal to or greater than pkt_size on the
7313           server. Otherwise the received message may be truncated causing
7314           decoding errors.
7315

DEVICE OPTIONS

7317       The libavdevice library provides the same interface as libavformat.
7318       Namely, an input device is considered like a demuxer, and an output
7319       device like a muxer, and the interface and generic device options are
7320       the same provided by libavformat (see the ffmpeg-formats manual).
7321
7322       In addition each input or output device may support so-called private
7323       options, which are specific for that component.
7324
7325       Options may be set by specifying -option value in the FFmpeg tools, or
7326       by setting the value explicitly in the device "AVFormatContext" options
7327       or using the libavutil/opt.h API for programmatic use.
7328

INPUT DEVICES

7330       Input devices are configured elements in FFmpeg which enable accessing
7331       the data coming from a multimedia device attached to your system.
7332
7333       When you configure your FFmpeg build, all the supported input devices
7334       are enabled by default. You can list all available ones using the
7335       configure option "--list-indevs".
7336
7337       You can disable all the input devices using the configure option
7338       "--disable-indevs", and selectively enable an input device using the
7339       option "--enable-indev=INDEV", or you can disable a particular input
7340       device using the option "--disable-indev=INDEV".
7341
7342       The option "-devices" of the ff* tools will display the list of
7343       supported input devices.
7344
7345       A description of the currently available input devices follows.
7346
7347   alsa
7348       ALSA (Advanced Linux Sound Architecture) input device.
7349
7350       To enable this input device during configuration you need libasound
7351       installed on your system.
7352
7353       This device allows capturing from an ALSA device. The name of the
7354       device to capture has to be an ALSA card identifier.
7355
7356       An ALSA identifier has the syntax:
7357
7358               hw:<CARD>[,<DEV>[,<SUBDEV>]]
7359
7360       where the DEV and SUBDEV components are optional.
7361
7362       The three arguments (in order: CARD,DEV,SUBDEV) specify card number or
7363       identifier, device number and subdevice number (-1 means any).
7364
7365       To see the list of cards currently recognized by your system check the
7366       files /proc/asound/cards and /proc/asound/devices.
7367
7368       For example to capture with ffmpeg from an ALSA device with card id 0,
7369       you may run the command:
7370
7371               ffmpeg -f alsa -i hw:0 alsaout.wav
7372
7373       For more information see:
7374       <http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html>
7375
7376       Options
7377
7378       sample_rate
7379           Set the sample rate in Hz. Default is 48000.
7380
7381       channels
7382           Set the number of channels. Default is 2.
7383
7384   android_camera
7385       Android camera input device.
7386
7387       This input devices uses the Android Camera2 NDK API which is available
7388       on devices with API level 24+. The availability of android_camera is
7389       autodetected during configuration.
7390
7391       This device allows capturing from all cameras on an Android device,
7392       which are integrated into the Camera2 NDK API.
7393
7394       The available cameras are enumerated internally and can be selected
7395       with the camera_index parameter. The input file string is discarded.
7396
7397       Generally the back facing camera has index 0 while the front facing
7398       camera has index 1.
7399
7400       Options
7401
7402       video_size
7403           Set the video size given as a string such as 640x480 or hd720.
7404           Falls back to the first available configuration reported by Android
7405           if requested video size is not available or by default.
7406
7407       framerate
7408           Set the video framerate.  Falls back to the first available
7409           configuration reported by Android if requested framerate is not
7410           available or by default (-1).
7411
7412       camera_index
7413           Set the index of the camera to use. Default is 0.
7414
7415       input_queue_size
7416           Set the maximum number of frames to buffer. Default is 5.
7417
7418   avfoundation
7419       AVFoundation input device.
7420
7421       AVFoundation is the currently recommended framework by Apple for
7422       streamgrabbing on OSX >= 10.7 as well as on iOS.
7423
7424       The input filename has to be given in the following syntax:
7425
7426               -i "[[VIDEO]:[AUDIO]]"
7427
7428       The first entry selects the video input while the latter selects the
7429       audio input.  The stream has to be specified by the device name or the
7430       device index as shown by the device list.  Alternatively, the video
7431       and/or audio input device can be chosen by index using the
7432
7433           B<-video_device_index E<lt>INDEXE<gt>>
7434
7435       and/or
7436
7437           B<-audio_device_index E<lt>INDEXE<gt>>
7438
7439       , overriding any device name or index given in the input filename.
7440
7441       All available devices can be enumerated by using -list_devices true,
7442       listing all device names and corresponding indices.
7443
7444       There are two device name aliases:
7445
7446       "default"
7447           Select the AVFoundation default device of the corresponding type.
7448
7449       "none"
7450           Do not record the corresponding media type.  This is equivalent to
7451           specifying an empty device name or index.
7452
7453       Options
7454
7455       AVFoundation supports the following options:
7456
7457       -list_devices <TRUE|FALSE>
7458           If set to true, a list of all available input devices is given
7459           showing all device names and indices.
7460
7461       -video_device_index <INDEX>
7462           Specify the video device by its index. Overrides anything given in
7463           the input filename.
7464
7465       -audio_device_index <INDEX>
7466           Specify the audio device by its index. Overrides anything given in
7467           the input filename.
7468
7469       -pixel_format <FORMAT>
7470           Request the video device to use a specific pixel format.  If the
7471           specified format is not supported, a list of available formats is
7472           given and the first one in this list is used instead. Available
7473           pixel formats are: "monob, rgb555be, rgb555le, rgb565be, rgb565le,
7474           rgb24, bgr24, 0rgb, bgr0, 0bgr, rgb0,
7475            bgr48be, uyvy422, yuva444p, yuva444p16le, yuv444p, yuv422p16,
7476           yuv422p10, yuv444p10,
7477            yuv420p, nv12, yuyv422, gray"
7478
7479       -framerate
7480           Set the grabbing frame rate. Default is "ntsc", corresponding to a
7481           frame rate of "30000/1001".
7482
7483       -video_size
7484           Set the video frame size.
7485
7486       -capture_cursor
7487           Capture the mouse pointer. Default is 0.
7488
7489       -capture_mouse_clicks
7490           Capture the screen mouse clicks. Default is 0.
7491
7492       -capture_raw_data
7493           Capture the raw device data. Default is 0.  Using this option may
7494           result in receiving the underlying data delivered to the
7495           AVFoundation framework. E.g. for muxed devices that sends raw DV
7496           data to the framework (like tape-based camcorders), setting this
7497           option to false results in extracted video frames captured in the
7498           designated pixel format only. Setting this option to true results
7499           in receiving the raw DV stream untouched.
7500
7501       Examples
7502
7503       •   Print the list of AVFoundation supported devices and exit:
7504
7505                   $ ffmpeg -f avfoundation -list_devices true -i ""
7506
7507       •   Record video from video device 0 and audio from audio device 0 into
7508           out.avi:
7509
7510                   $ ffmpeg -f avfoundation -i "0:0" out.avi
7511
7512       •   Record video from video device 2 and audio from audio device 1 into
7513           out.avi:
7514
7515                   $ ffmpeg -f avfoundation -video_device_index 2 -i ":1" out.avi
7516
7517       •   Record video from the system default video device using the pixel
7518           format bgr0 and do not record any audio into out.avi:
7519
7520                   $ ffmpeg -f avfoundation -pixel_format bgr0 -i "default:none" out.avi
7521
7522       •   Record raw DV data from a suitable input device and write the
7523           output into out.dv:
7524
7525                   $ ffmpeg -f avfoundation -capture_raw_data true -i "zr100:none" out.dv
7526
7527   bktr
7528       BSD video input device.
7529
7530       Options
7531
7532       framerate
7533           Set the frame rate.
7534
7535       video_size
7536           Set the video frame size. Default is "vga".
7537
7538       standard
7539           Available values are:
7540
7541           pal
7542           ntsc
7543           secam
7544           paln
7545           palm
7546           ntscj
7547
7548   decklink
7549       The decklink input device provides capture capabilities for Blackmagic
7550       DeckLink devices.
7551
7552       To enable this input device, you need the Blackmagic DeckLink SDK and
7553       you need to configure with the appropriate "--extra-cflags" and
7554       "--extra-ldflags".  On Windows, you need to run the IDL files through
7555       widl.
7556
7557       DeckLink is very picky about the formats it supports. Pixel format of
7558       the input can be set with raw_format.  Framerate and video size must be
7559       determined for your device with -list_formats 1. Audio sample rate is
7560       always 48 kHz and the number of channels can be 2, 8 or 16. Note that
7561       all audio channels are bundled in one single audio track.
7562
7563       Options
7564
7565       list_devices
7566           If set to true, print a list of devices and exit.  Defaults to
7567           false. This option is deprecated, please use the "-sources" option
7568           of ffmpeg to list the available input devices.
7569
7570       list_formats
7571           If set to true, print a list of supported formats and exit.
7572           Defaults to false.
7573
7574       format_code <FourCC>
7575           This sets the input video format to the format given by the FourCC.
7576           To see the supported values of your device(s) use list_formats.
7577           Note that there is a FourCC 'pal ' that can also be used as pal (3
7578           letters).  Default behavior is autodetection of the input video
7579           format, if the hardware supports it.
7580
7581       raw_format
7582           Set the pixel format of the captured video.  Available values are:
7583
7584           auto
7585               This is the default which means 8-bit YUV 422 or 8-bit ARGB if
7586               format autodetection is used, 8-bit YUV 422 otherwise.
7587
7588           uyvy422
7589               8-bit YUV 422.
7590
7591           yuv422p10
7592               10-bit YUV 422.
7593
7594           argb
7595               8-bit RGB.
7596
7597           bgra
7598               8-bit RGB.
7599
7600           rgb10
7601               10-bit RGB.
7602
7603       teletext_lines
7604           If set to nonzero, an additional teletext stream will be captured
7605           from the vertical ancillary data. Both SD PAL (576i) and HD (1080i
7606           or 1080p) sources are supported. In case of HD sources, OP47
7607           packets are decoded.
7608
7609           This option is a bitmask of the SD PAL VBI lines captured,
7610           specifically lines 6 to 22, and lines 318 to 335. Line 6 is the LSB
7611           in the mask. Selected lines which do not contain teletext
7612           information will be ignored. You can use the special all constant
7613           to select all possible lines, or standard to skip lines 6, 318 and
7614           319, which are not compatible with all receivers.
7615
7616           For SD sources, ffmpeg needs to be compiled with
7617           "--enable-libzvbi". For HD sources, on older (pre-4K) DeckLink card
7618           models you have to capture in 10 bit mode.
7619
7620       channels
7621           Defines number of audio channels to capture. Must be 2, 8 or 16.
7622           Defaults to 2.
7623
7624       duplex_mode
7625           Sets the decklink device duplex/profile mode. Must be unset, half,
7626           full, one_sub_device_full, one_sub_device_half,
7627           two_sub_device_full, four_sub_device_half Defaults to unset.
7628
7629           Note: DeckLink SDK 11.0 have replaced the duplex property by a
7630           profile property.  For the DeckLink Duo 2 and DeckLink Quad 2, a
7631           profile is shared between any 2 sub-devices that utilize the same
7632           connectors. For the DeckLink 8K Pro, a profile is shared between
7633           all 4 sub-devices. So DeckLink 8K Pro support four profiles.
7634
7635           Valid profile modes for DeckLink 8K Pro(with DeckLink SDK >= 11.0):
7636           one_sub_device_full, one_sub_device_half, two_sub_device_full,
7637           four_sub_device_half
7638
7639           Valid profile modes for DeckLink Quad 2 and DeckLink Duo 2: half,
7640           full
7641
7642       timecode_format
7643           Timecode type to include in the frame and video stream metadata.
7644           Must be none, rp188vitc, rp188vitc2, rp188ltc, rp188hfr, rp188any,
7645           vitc, vitc2, or serial.  Defaults to none (not included).
7646
7647           In order to properly support 50/60 fps timecodes, the ordering of
7648           the queried timecode types for rp188any is HFR, VITC1, VITC2 and
7649           LTC for >30 fps content. Note that this is slightly different to
7650           the ordering used by the DeckLink API, which is HFR, VITC1, LTC,
7651           VITC2.
7652
7653       video_input
7654           Sets the video input source. Must be unset, sdi, hdmi, optical_sdi,
7655           component, composite or s_video.  Defaults to unset.
7656
7657       audio_input
7658           Sets the audio input source. Must be unset, embedded, aes_ebu,
7659           analog, analog_xlr, analog_rca or microphone. Defaults to unset.
7660
7661       video_pts
7662           Sets the video packet timestamp source. Must be video, audio,
7663           reference, wallclock or abs_wallclock.  Defaults to video.
7664
7665       audio_pts
7666           Sets the audio packet timestamp source. Must be video, audio,
7667           reference, wallclock or abs_wallclock.  Defaults to audio.
7668
7669       draw_bars
7670           If set to true, color bars are drawn in the event of a signal loss.
7671           Defaults to true.
7672
7673       queue_size
7674           Sets maximum input buffer size in bytes. If the buffering reaches
7675           this value, incoming frames will be dropped.  Defaults to
7676           1073741824.
7677
7678       audio_depth
7679           Sets the audio sample bit depth. Must be 16 or 32.  Defaults to 16.
7680
7681       decklink_copyts
7682           If set to true, timestamps are forwarded as they are without
7683           removing the initial offset.  Defaults to false.
7684
7685       timestamp_align
7686           Capture start time alignment in seconds. If set to nonzero, input
7687           frames are dropped till the system timestamp aligns with configured
7688           value.  Alignment difference of up to one frame duration is
7689           tolerated.  This is useful for maintaining input synchronization
7690           across N different hardware devices deployed for 'N-way'
7691           redundancy. The system time of different hardware devices should be
7692           synchronized with protocols such as NTP or PTP, before using this
7693           option.  Note that this method is not foolproof. In some border
7694           cases input synchronization may not happen due to thread scheduling
7695           jitters in the OS.  Either sync could go wrong by 1 frame or in a
7696           rarer case timestamp_align seconds.  Defaults to 0.
7697
7698       wait_for_tc (bool)
7699           Drop frames till a frame with timecode is received. Sometimes
7700           serial timecode isn't received with the first input frame. If that
7701           happens, the stored stream timecode will be inaccurate. If this
7702           option is set to true, input frames are dropped till a frame with
7703           timecode is received.  Option timecode_format must be specified.
7704           Defaults to false.
7705
7706       enable_klv(bool)
7707           If set to true, extracts KLV data from VANC and outputs KLV
7708           packets.  KLV VANC packets are joined based on MID and PSC fields
7709           and aggregated into one KLV packet.  Defaults to false.
7710
7711       Examples
7712
7713       •   List input devices:
7714
7715                   ffmpeg -sources decklink
7716
7717       •   List supported formats:
7718
7719                   ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro'
7720
7721       •   Capture video clip at 1080i50:
7722
7723                   ffmpeg -format_code Hi50 -f decklink -i 'Intensity Pro' -c:a copy -c:v copy output.avi
7724
7725       •   Capture video clip at 1080i50 10 bit:
7726
7727                   ffmpeg -raw_format yuv422p10 -format_code Hi50 -f decklink -i 'UltraStudio Mini Recorder' -c:a copy -c:v copy output.avi
7728
7729       •   Capture video clip at 1080i50 with 16 audio channels:
7730
7731                   ffmpeg -channels 16 -format_code Hi50 -f decklink -i 'UltraStudio Mini Recorder' -c:a copy -c:v copy output.avi
7732
7733   dshow
7734       Windows DirectShow input device.
7735
7736       DirectShow support is enabled when FFmpeg is built with the mingw-w64
7737       project.  Currently only audio and video devices are supported.
7738
7739       Multiple devices may be opened as separate inputs, but they may also be
7740       opened on the same input, which should improve synchronism between
7741       them.
7742
7743       The input name should be in the format:
7744
7745               <TYPE>=<NAME>[:<TYPE>=<NAME>]
7746
7747       where TYPE can be either audio or video, and NAME is the device's name
7748       or alternative name..
7749
7750       Options
7751
7752       If no options are specified, the device's defaults are used.  If the
7753       device does not support the requested options, it will fail to open.
7754
7755       video_size
7756           Set the video size in the captured video.
7757
7758       framerate
7759           Set the frame rate in the captured video.
7760
7761       sample_rate
7762           Set the sample rate (in Hz) of the captured audio.
7763
7764       sample_size
7765           Set the sample size (in bits) of the captured audio.
7766
7767       channels
7768           Set the number of channels in the captured audio.
7769
7770       list_devices
7771           If set to true, print a list of devices and exit.
7772
7773       list_options
7774           If set to true, print a list of selected device's options and exit.
7775
7776       video_device_number
7777           Set video device number for devices with the same name (starts at
7778           0, defaults to 0).
7779
7780       audio_device_number
7781           Set audio device number for devices with the same name (starts at
7782           0, defaults to 0).
7783
7784       pixel_format
7785           Select pixel format to be used by DirectShow. This may only be set
7786           when the video codec is not set or set to rawvideo.
7787
7788       audio_buffer_size
7789           Set audio device buffer size in milliseconds (which can directly
7790           impact latency, depending on the device).  Defaults to using the
7791           audio device's default buffer size (typically some multiple of
7792           500ms).  Setting this value too low can degrade performance.  See
7793           also
7794           <http://msdn.microsoft.com/en-us/library/windows/desktop/dd377582(v=vs.85).aspx>
7795
7796       video_pin_name
7797           Select video capture pin to use by name or alternative name.
7798
7799       audio_pin_name
7800           Select audio capture pin to use by name or alternative name.
7801
7802       crossbar_video_input_pin_number
7803           Select video input pin number for crossbar device. This will be
7804           routed to the crossbar device's Video Decoder output pin.  Note
7805           that changing this value can affect future invocations (sets a new
7806           default) until system reboot occurs.
7807
7808       crossbar_audio_input_pin_number
7809           Select audio input pin number for crossbar device. This will be
7810           routed to the crossbar device's Audio Decoder output pin.  Note
7811           that changing this value can affect future invocations (sets a new
7812           default) until system reboot occurs.
7813
7814       show_video_device_dialog
7815           If set to true, before capture starts, popup a display dialog to
7816           the end user, allowing them to change video filter properties and
7817           configurations manually.  Note that for crossbar devices, adjusting
7818           values in this dialog may be needed at times to toggle between PAL
7819           (25 fps) and NTSC (29.97) input frame rates, sizes, interlacing,
7820           etc.  Changing these values can enable different scan rates/frame
7821           rates and avoiding green bars at the bottom, flickering scan lines,
7822           etc.  Note that with some devices, changing these properties can
7823           also affect future invocations (sets new defaults) until system
7824           reboot occurs.
7825
7826       show_audio_device_dialog
7827           If set to true, before capture starts, popup a display dialog to
7828           the end user, allowing them to change audio filter properties and
7829           configurations manually.
7830
7831       show_video_crossbar_connection_dialog
7832           If set to true, before capture starts, popup a display dialog to
7833           the end user, allowing them to manually modify crossbar pin
7834           routings, when it opens a video device.
7835
7836       show_audio_crossbar_connection_dialog
7837           If set to true, before capture starts, popup a display dialog to
7838           the end user, allowing them to manually modify crossbar pin
7839           routings, when it opens an audio device.
7840
7841       show_analog_tv_tuner_dialog
7842           If set to true, before capture starts, popup a display dialog to
7843           the end user, allowing them to manually modify TV channels and
7844           frequencies.
7845
7846       show_analog_tv_tuner_audio_dialog
7847           If set to true, before capture starts, popup a display dialog to
7848           the end user, allowing them to manually modify TV audio (like mono
7849           vs. stereo, Language A,B or C).
7850
7851       audio_device_load
7852           Load an audio capture filter device from file instead of searching
7853           it by name. It may load additional parameters too, if the filter
7854           supports the serialization of its properties to.  To use this an
7855           audio capture source has to be specified, but it can be anything
7856           even fake one.
7857
7858       audio_device_save
7859           Save the currently used audio capture filter device and its
7860           parameters (if the filter supports it) to a file.  If a file with
7861           the same name exists it will be overwritten.
7862
7863       video_device_load
7864           Load a video capture filter device from file instead of searching
7865           it by name. It may load additional parameters too, if the filter
7866           supports the serialization of its properties to.  To use this a
7867           video capture source has to be specified, but it can be anything
7868           even fake one.
7869
7870       video_device_save
7871           Save the currently used video capture filter device and its
7872           parameters (if the filter supports it) to a file.  If a file with
7873           the same name exists it will be overwritten.
7874
7875       use_video_device_timestamps
7876           If set to false, the timestamp for video frames will be derived
7877           from the wallclock instead of the timestamp provided by the capture
7878           device. This allows working around devices that provide unreliable
7879           timestamps.
7880
7881       Examples
7882
7883       •   Print the list of DirectShow supported devices and exit:
7884
7885                   $ ffmpeg -list_devices true -f dshow -i dummy
7886
7887       •   Open video device Camera:
7888
7889                   $ ffmpeg -f dshow -i video="Camera"
7890
7891       •   Open second video device with name Camera:
7892
7893                   $ ffmpeg -f dshow -video_device_number 1 -i video="Camera"
7894
7895       •   Open video device Camera and audio device Microphone:
7896
7897                   $ ffmpeg -f dshow -i video="Camera":audio="Microphone"
7898
7899       •   Print the list of supported options in selected device and exit:
7900
7901                   $ ffmpeg -list_options true -f dshow -i video="Camera"
7902
7903       •   Specify pin names to capture by name or alternative name, specify
7904           alternative device name:
7905
7906                   $ ffmpeg -f dshow -audio_pin_name "Audio Out" -video_pin_name 2 -i video=video="@device_pnp_\\?\pci#ven_1a0a&dev_6200&subsys_62021461&rev_01#4&e2c7dd6&0&00e1#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{ca465100-deb0-4d59-818f-8c477184adf6}":audio="Microphone"
7907
7908       •   Configure a crossbar device, specifying crossbar pins, allow user
7909           to adjust video capture properties at startup:
7910
7911                   $ ffmpeg -f dshow -show_video_device_dialog true -crossbar_video_input_pin_number 0
7912                        -crossbar_audio_input_pin_number 3 -i video="AVerMedia BDA Analog Capture":audio="AVerMedia BDA Analog Capture"
7913
7914   fbdev
7915       Linux framebuffer input device.
7916
7917       The Linux framebuffer is a graphic hardware-independent abstraction
7918       layer to show graphics on a computer monitor, typically on the console.
7919       It is accessed through a file device node, usually /dev/fb0.
7920
7921       For more detailed information read the file
7922       Documentation/fb/framebuffer.txt included in the Linux source tree.
7923
7924       See also <http://linux-fbdev.sourceforge.net/>, and fbset(1).
7925
7926       To record from the framebuffer device /dev/fb0 with ffmpeg:
7927
7928               ffmpeg -f fbdev -framerate 10 -i /dev/fb0 out.avi
7929
7930       You can take a single screenshot image with the command:
7931
7932               ffmpeg -f fbdev -framerate 1 -i /dev/fb0 -frames:v 1 screenshot.jpeg
7933
7934       Options
7935
7936       framerate
7937           Set the frame rate. Default is 25.
7938
7939   gdigrab
7940       Win32 GDI-based screen capture device.
7941
7942       This device allows you to capture a region of the display on Windows.
7943
7944       There are two options for the input filename:
7945
7946               desktop
7947
7948       or
7949
7950               title=<window_title>
7951
7952       The first option will capture the entire desktop, or a fixed region of
7953       the desktop. The second option will instead capture the contents of a
7954       single window, regardless of its position on the screen.
7955
7956       For example, to grab the entire desktop using ffmpeg:
7957
7958               ffmpeg -f gdigrab -framerate 6 -i desktop out.mpg
7959
7960       Grab a 640x480 region at position "10,20":
7961
7962               ffmpeg -f gdigrab -framerate 6 -offset_x 10 -offset_y 20 -video_size vga -i desktop out.mpg
7963
7964       Grab the contents of the window named "Calculator"
7965
7966               ffmpeg -f gdigrab -framerate 6 -i title=Calculator out.mpg
7967
7968       Options
7969
7970       draw_mouse
7971           Specify whether to draw the mouse pointer. Use the value 0 to not
7972           draw the pointer. Default value is 1.
7973
7974       framerate
7975           Set the grabbing frame rate. Default value is "ntsc", corresponding
7976           to a frame rate of "30000/1001".
7977
7978       show_region
7979           Show grabbed region on screen.
7980
7981           If show_region is specified with 1, then the grabbing region will
7982           be indicated on screen. With this option, it is easy to know what
7983           is being grabbed if only a portion of the screen is grabbed.
7984
7985           Note that show_region is incompatible with grabbing the contents of
7986           a single window.
7987
7988           For example:
7989
7990                   ffmpeg -f gdigrab -show_region 1 -framerate 6 -video_size cif -offset_x 10 -offset_y 20 -i desktop out.mpg
7991
7992       video_size
7993           Set the video frame size. The default is to capture the full screen
7994           if desktop is selected, or the full window size if
7995           title=window_title is selected.
7996
7997       offset_x
7998           When capturing a region with video_size, set the distance from the
7999           left edge of the screen or desktop.
8000
8001           Note that the offset calculation is from the top left corner of the
8002           primary monitor on Windows. If you have a monitor positioned to the
8003           left of your primary monitor, you will need to use a negative
8004           offset_x value to move the region to that monitor.
8005
8006       offset_y
8007           When capturing a region with video_size, set the distance from the
8008           top edge of the screen or desktop.
8009
8010           Note that the offset calculation is from the top left corner of the
8011           primary monitor on Windows. If you have a monitor positioned above
8012           your primary monitor, you will need to use a negative offset_y
8013           value to move the region to that monitor.
8014
8015   iec61883
8016       FireWire DV/HDV input device using libiec61883.
8017
8018       To enable this input device, you need libiec61883, libraw1394 and
8019       libavc1394 installed on your system. Use the configure option
8020       "--enable-libiec61883" to compile with the device enabled.
8021
8022       The iec61883 capture device supports capturing from a video device
8023       connected via IEEE1394 (FireWire), using libiec61883 and the new Linux
8024       FireWire stack (juju). This is the default DV/HDV input method in Linux
8025       Kernel 2.6.37 and later, since the old FireWire stack was removed.
8026
8027       Specify the FireWire port to be used as input file, or "auto" to choose
8028       the first port connected.
8029
8030       Options
8031
8032       dvtype
8033           Override autodetection of DV/HDV. This should only be used if auto
8034           detection does not work, or if usage of a different device type
8035           should be prohibited. Treating a DV device as HDV (or vice versa)
8036           will not work and result in undefined behavior.  The values auto,
8037           dv and hdv are supported.
8038
8039       dvbuffer
8040           Set maximum size of buffer for incoming data, in frames. For DV,
8041           this is an exact value. For HDV, it is not frame exact, since HDV
8042           does not have a fixed frame size.
8043
8044       dvguid
8045           Select the capture device by specifying its GUID. Capturing will
8046           only be performed from the specified device and fails if no device
8047           with the given GUID is found. This is useful to select the input if
8048           multiple devices are connected at the same time.  Look at
8049           /sys/bus/firewire/devices to find out the GUIDs.
8050
8051       Examples
8052
8053       •   Grab and show the input of a FireWire DV/HDV device.
8054
8055                   ffplay -f iec61883 -i auto
8056
8057       •   Grab and record the input of a FireWire DV/HDV device, using a
8058           packet buffer of 100000 packets if the source is HDV.
8059
8060                   ffmpeg -f iec61883 -i auto -dvbuffer 100000 out.mpg
8061
8062   jack
8063       JACK input device.
8064
8065       To enable this input device during configuration you need libjack
8066       installed on your system.
8067
8068       A JACK input device creates one or more JACK writable clients, one for
8069       each audio channel, with name client_name:input_N, where client_name is
8070       the name provided by the application, and N is a number which
8071       identifies the channel.  Each writable client will send the acquired
8072       data to the FFmpeg input device.
8073
8074       Once you have created one or more JACK readable clients, you need to
8075       connect them to one or more JACK writable clients.
8076
8077       To connect or disconnect JACK clients you can use the jack_connect and
8078       jack_disconnect programs, or do it through a graphical interface, for
8079       example with qjackctl.
8080
8081       To list the JACK clients and their properties you can invoke the
8082       command jack_lsp.
8083
8084       Follows an example which shows how to capture a JACK readable client
8085       with ffmpeg.
8086
8087               # Create a JACK writable client with name "ffmpeg".
8088               $ ffmpeg -f jack -i ffmpeg -y out.wav
8089
8090               # Start the sample jack_metro readable client.
8091               $ jack_metro -b 120 -d 0.2 -f 4000
8092
8093               # List the current JACK clients.
8094               $ jack_lsp -c
8095               system:capture_1
8096               system:capture_2
8097               system:playback_1
8098               system:playback_2
8099               ffmpeg:input_1
8100               metro:120_bpm
8101
8102               # Connect metro to the ffmpeg writable client.
8103               $ jack_connect metro:120_bpm ffmpeg:input_1
8104
8105       For more information read: <http://jackaudio.org/>
8106
8107       Options
8108
8109       channels
8110           Set the number of channels. Default is 2.
8111
8112   kmsgrab
8113       KMS video input device.
8114
8115       Captures the KMS scanout framebuffer associated with a specified CRTC
8116       or plane as a DRM object that can be passed to other hardware
8117       functions.
8118
8119       Requires either DRM master or CAP_SYS_ADMIN to run.
8120
8121       If you don't understand what all of that means, you probably don't want
8122       this.  Look at x11grab instead.
8123
8124       Options
8125
8126       device
8127           DRM device to capture on.  Defaults to /dev/dri/card0.
8128
8129       format
8130           Pixel format of the framebuffer.  This can be autodetected if you
8131           are running Linux 5.7 or later, but needs to be provided for
8132           earlier versions.  Defaults to bgr0, which is the most common
8133           format used by the Linux console and Xorg X server.
8134
8135       format_modifier
8136           Format modifier to signal on output frames.  This is necessary to
8137           import correctly into some APIs.  It can be autodetected if you are
8138           running Linux 5.7 or later, but will need to be provided explicitly
8139           when needed in earlier versions.  See the libdrm documentation for
8140           possible values.
8141
8142       crtc_id
8143           KMS CRTC ID to define the capture source.  The first active plane
8144           on the given CRTC will be used.
8145
8146       plane_id
8147           KMS plane ID to define the capture source.  Defaults to the first
8148           active plane found if neither crtc_id nor plane_id are specified.
8149
8150       framerate
8151           Framerate to capture at.  This is not synchronised to any page
8152           flipping or framebuffer changes - it just defines the interval at
8153           which the framebuffer is sampled.  Sampling faster than the
8154           framebuffer update rate will generate independent frames with the
8155           same content.  Defaults to 30.
8156
8157       Examples
8158
8159       •   Capture from the first active plane, download the result to normal
8160           frames and encode.  This will only work if the framebuffer is both
8161           linear and mappable - if not, the result may be scrambled or fail
8162           to download.
8163
8164                   ffmpeg -f kmsgrab -i - -vf 'hwdownload,format=bgr0' output.mp4
8165
8166       •   Capture from CRTC ID 42 at 60fps, map the result to VAAPI, convert
8167           to NV12 and encode as H.264.
8168
8169                   ffmpeg -crtc_id 42 -framerate 60 -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,scale_vaapi=w=1920:h=1080:format=nv12' -c:v h264_vaapi output.mp4
8170
8171       •   To capture only part of a plane the output can be cropped - this
8172           can be used to capture a single window, as long as it has a known
8173           absolute position and size.  For example, to capture and encode the
8174           middle quarter of a 1920x1080 plane:
8175
8176                   ffmpeg -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,crop=960:540:480:270,scale_vaapi=960:540:nv12' -c:v h264_vaapi output.mp4
8177
8178   lavfi
8179       Libavfilter input virtual device.
8180
8181       This input device reads data from the open output pads of a libavfilter
8182       filtergraph.
8183
8184       For each filtergraph open output, the input device will create a
8185       corresponding stream which is mapped to the generated output. Currently
8186       only video data is supported. The filtergraph is specified through the
8187       option graph.
8188
8189       Options
8190
8191       graph
8192           Specify the filtergraph to use as input. Each video open output
8193           must be labelled by a unique string of the form "outN", where N is
8194           a number starting from 0 corresponding to the mapped input stream
8195           generated by the device.  The first unlabelled output is
8196           automatically assigned to the "out0" label, but all the others need
8197           to be specified explicitly.
8198
8199           The suffix "+subcc" can be appended to the output label to create
8200           an extra stream with the closed captions packets attached to that
8201           output (experimental; only for EIA-608 / CEA-708 for now).  The
8202           subcc streams are created after all the normal streams, in the
8203           order of the corresponding stream.  For example, if there is
8204           "out19+subcc", "out7+subcc" and up to "out42", the stream #43 is
8205           subcc for stream #7 and stream #44 is subcc for stream #19.
8206
8207           If not specified defaults to the filename specified for the input
8208           device.
8209
8210       graph_file
8211           Set the filename of the filtergraph to be read and sent to the
8212           other filters. Syntax of the filtergraph is the same as the one
8213           specified by the option graph.
8214
8215       dumpgraph
8216           Dump graph to stderr.
8217
8218       Examples
8219
8220       •   Create a color video stream and play it back with ffplay:
8221
8222                   ffplay -f lavfi -graph "color=c=pink [out0]" dummy
8223
8224       •   As the previous example, but use filename for specifying the graph
8225           description, and omit the "out0" label:
8226
8227                   ffplay -f lavfi color=c=pink
8228
8229       •   Create three different video test filtered sources and play them:
8230
8231                   ffplay -f lavfi -graph "testsrc [out0]; testsrc,hflip [out1]; testsrc,negate [out2]" test3
8232
8233       •   Read an audio stream from a file using the amovie source and play
8234           it back with ffplay:
8235
8236                   ffplay -f lavfi "amovie=test.wav"
8237
8238       •   Read an audio stream and a video stream and play it back with
8239           ffplay:
8240
8241                   ffplay -f lavfi "movie=test.avi[out0];amovie=test.wav[out1]"
8242
8243       •   Dump decoded frames to images and closed captions to a file
8244           (experimental):
8245
8246                   ffmpeg -f lavfi -i "movie=test.ts[out0+subcc]" -map v frame%08d.png -map s -c copy -f rawvideo subcc.bin
8247
8248   libcdio
8249       Audio-CD input device based on libcdio.
8250
8251       To enable this input device during configuration you need libcdio
8252       installed on your system. It requires the configure option
8253       "--enable-libcdio".
8254
8255       This device allows playing and grabbing from an Audio-CD.
8256
8257       For example to copy with ffmpeg the entire Audio-CD in /dev/sr0, you
8258       may run the command:
8259
8260               ffmpeg -f libcdio -i /dev/sr0 cd.wav
8261
8262       Options
8263
8264       speed
8265           Set drive reading speed. Default value is 0.
8266
8267           The speed is specified CD-ROM speed units. The speed is set through
8268           the libcdio "cdio_cddap_speed_set" function. On many CD-ROM drives,
8269           specifying a value too large will result in using the fastest
8270           speed.
8271
8272       paranoia_mode
8273           Set paranoia recovery mode flags. It accepts one of the following
8274           values:
8275
8276           disable
8277           verify
8278           overlap
8279           neverskip
8280           full
8281
8282           Default value is disable.
8283
8284           For more information about the available recovery modes, consult
8285           the paranoia project documentation.
8286
8287   libdc1394
8288       IIDC1394 input device, based on libdc1394 and libraw1394.
8289
8290       Requires the configure option "--enable-libdc1394".
8291
8292       Options
8293
8294       framerate
8295           Set the frame rate. Default is "ntsc", corresponding to a frame
8296           rate of "30000/1001".
8297
8298       pixel_format
8299           Select the pixel format. Default is "uyvy422".
8300
8301       video_size
8302           Set the video size given as a string such as "640x480" or "hd720".
8303           Default is "qvga".
8304
8305   openal
8306       The OpenAL input device provides audio capture on all systems with a
8307       working OpenAL 1.1 implementation.
8308
8309       To enable this input device during configuration, you need OpenAL
8310       headers and libraries installed on your system, and need to configure
8311       FFmpeg with "--enable-openal".
8312
8313       OpenAL headers and libraries should be provided as part of your OpenAL
8314       implementation, or as an additional download (an SDK). Depending on
8315       your installation you may need to specify additional flags via the
8316       "--extra-cflags" and "--extra-ldflags" for allowing the build system to
8317       locate the OpenAL headers and libraries.
8318
8319       An incomplete list of OpenAL implementations follows:
8320
8321       Creative
8322           The official Windows implementation, providing hardware
8323           acceleration with supported devices and software fallback.  See
8324           <http://openal.org/>.
8325
8326       OpenAL Soft
8327           Portable, open source (LGPL) software implementation. Includes
8328           backends for the most common sound APIs on the Windows, Linux,
8329           Solaris, and BSD operating systems.  See
8330           <http://kcat.strangesoft.net/openal.html>.
8331
8332       Apple
8333           OpenAL is part of Core Audio, the official Mac OS X Audio
8334           interface.  See
8335           <http://developer.apple.com/technologies/mac/audio-and-video.html>
8336
8337       This device allows one to capture from an audio input device handled
8338       through OpenAL.
8339
8340       You need to specify the name of the device to capture in the provided
8341       filename. If the empty string is provided, the device will
8342       automatically select the default device. You can get the list of the
8343       supported devices by using the option list_devices.
8344
8345       Options
8346
8347       channels
8348           Set the number of channels in the captured audio. Only the values 1
8349           (monaural) and 2 (stereo) are currently supported.  Defaults to 2.
8350
8351       sample_size
8352           Set the sample size (in bits) of the captured audio. Only the
8353           values 8 and 16 are currently supported. Defaults to 16.
8354
8355       sample_rate
8356           Set the sample rate (in Hz) of the captured audio.  Defaults to
8357           44.1k.
8358
8359       list_devices
8360           If set to true, print a list of devices and exit.  Defaults to
8361           false.
8362
8363       Examples
8364
8365       Print the list of OpenAL supported devices and exit:
8366
8367               $ ffmpeg -list_devices true -f openal -i dummy out.ogg
8368
8369       Capture from the OpenAL device DR-BT101 via PulseAudio:
8370
8371               $ ffmpeg -f openal -i 'DR-BT101 via PulseAudio' out.ogg
8372
8373       Capture from the default device (note the empty string '' as filename):
8374
8375               $ ffmpeg -f openal -i '' out.ogg
8376
8377       Capture from two devices simultaneously, writing to two different
8378       files, within the same ffmpeg command:
8379
8380               $ ffmpeg -f openal -i 'DR-BT101 via PulseAudio' out1.ogg -f openal -i 'ALSA Default' out2.ogg
8381
8382       Note: not all OpenAL implementations support multiple simultaneous
8383       capture - try the latest OpenAL Soft if the above does not work.
8384
8385   oss
8386       Open Sound System input device.
8387
8388       The filename to provide to the input device is the device node
8389       representing the OSS input device, and is usually set to /dev/dsp.
8390
8391       For example to grab from /dev/dsp using ffmpeg use the command:
8392
8393               ffmpeg -f oss -i /dev/dsp /tmp/oss.wav
8394
8395       For more information about OSS see:
8396       <http://manuals.opensound.com/usersguide/dsp.html>
8397
8398       Options
8399
8400       sample_rate
8401           Set the sample rate in Hz. Default is 48000.
8402
8403       channels
8404           Set the number of channels. Default is 2.
8405
8406   pulse
8407       PulseAudio input device.
8408
8409       To enable this output device you need to configure FFmpeg with
8410       "--enable-libpulse".
8411
8412       The filename to provide to the input device is a source device or the
8413       string "default"
8414
8415       To list the PulseAudio source devices and their properties you can
8416       invoke the command pactl list sources.
8417
8418       More information about PulseAudio can be found on
8419       <http://www.pulseaudio.org>.
8420
8421       Options
8422
8423       server
8424           Connect to a specific PulseAudio server, specified by an IP
8425           address.  Default server is used when not provided.
8426
8427       name
8428           Specify the application name PulseAudio will use when showing
8429           active clients, by default it is the "LIBAVFORMAT_IDENT" string.
8430
8431       stream_name
8432           Specify the stream name PulseAudio will use when showing active
8433           streams, by default it is "record".
8434
8435       sample_rate
8436           Specify the samplerate in Hz, by default 48kHz is used.
8437
8438       channels
8439           Specify the channels in use, by default 2 (stereo) is set.
8440
8441       frame_size
8442           Specify the number of bytes per frame, by default it is set to
8443           1024.
8444
8445       fragment_size
8446           Specify the minimal buffering fragment in PulseAudio, it will
8447           affect the audio latency. By default it is unset.
8448
8449       wallclock
8450           Set the initial PTS using the current time. Default is 1.
8451
8452       Examples
8453
8454       Record a stream from default device:
8455
8456               ffmpeg -f pulse -i default /tmp/pulse.wav
8457
8458   sndio
8459       sndio input device.
8460
8461       To enable this input device during configuration you need libsndio
8462       installed on your system.
8463
8464       The filename to provide to the input device is the device node
8465       representing the sndio input device, and is usually set to /dev/audio0.
8466
8467       For example to grab from /dev/audio0 using ffmpeg use the command:
8468
8469               ffmpeg -f sndio -i /dev/audio0 /tmp/oss.wav
8470
8471       Options
8472
8473       sample_rate
8474           Set the sample rate in Hz. Default is 48000.
8475
8476       channels
8477           Set the number of channels. Default is 2.
8478
8479   video4linux2, v4l2
8480       Video4Linux2 input video device.
8481
8482       "v4l2" can be used as alias for "video4linux2".
8483
8484       If FFmpeg is built with v4l-utils support (by using the
8485       "--enable-libv4l2" configure option), it is possible to use it with the
8486       "-use_libv4l2" input device option.
8487
8488       The name of the device to grab is a file device node, usually Linux
8489       systems tend to automatically create such nodes when the device (e.g.
8490       an USB webcam) is plugged into the system, and has a name of the kind
8491       /dev/videoN, where N is a number associated to the device.
8492
8493       Video4Linux2 devices usually support a limited set of widthxheight
8494       sizes and frame rates. You can check which are supported using
8495       -list_formats all for Video4Linux2 devices.  Some devices, like TV
8496       cards, support one or more standards. It is possible to list all the
8497       supported standards using -list_standards all.
8498
8499       The time base for the timestamps is 1 microsecond. Depending on the
8500       kernel version and configuration, the timestamps may be derived from
8501       the real time clock (origin at the Unix Epoch) or the monotonic clock
8502       (origin usually at boot time, unaffected by NTP or manual changes to
8503       the clock). The -timestamps abs or -ts abs option can be used to force
8504       conversion into the real time clock.
8505
8506       Some usage examples of the video4linux2 device with ffmpeg and ffplay:
8507
8508       •   List supported formats for a video4linux2 device:
8509
8510                   ffplay -f video4linux2 -list_formats all /dev/video0
8511
8512       •   Grab and show the input of a video4linux2 device:
8513
8514                   ffplay -f video4linux2 -framerate 30 -video_size hd720 /dev/video0
8515
8516       •   Grab and record the input of a video4linux2 device, leave the frame
8517           rate and size as previously set:
8518
8519                   ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 out.mpeg
8520
8521       For more information about Video4Linux, check <http://linuxtv.org/>.
8522
8523       Options
8524
8525       standard
8526           Set the standard. Must be the name of a supported standard. To get
8527           a list of the supported standards, use the list_standards option.
8528
8529       channel
8530           Set the input channel number. Default to -1, which means using the
8531           previously selected channel.
8532
8533       video_size
8534           Set the video frame size. The argument must be a string in the form
8535           WIDTHxHEIGHT or a valid size abbreviation.
8536
8537       pixel_format
8538           Select the pixel format (only valid for raw video input).
8539
8540       input_format
8541           Set the preferred pixel format (for raw video) or a codec name.
8542           This option allows one to select the input format, when several are
8543           available.
8544
8545       framerate
8546           Set the preferred video frame rate.
8547
8548       list_formats
8549           List available formats (supported pixel formats, codecs, and frame
8550           sizes) and exit.
8551
8552           Available values are:
8553
8554           all Show all available (compressed and non-compressed) formats.
8555
8556           raw Show only raw video (non-compressed) formats.
8557
8558           compressed
8559               Show only compressed formats.
8560
8561       list_standards
8562           List supported standards and exit.
8563
8564           Available values are:
8565
8566           all Show all supported standards.
8567
8568       timestamps, ts
8569           Set type of timestamps for grabbed frames.
8570
8571           Available values are:
8572
8573           default
8574               Use timestamps from the kernel.
8575
8576           abs Use absolute timestamps (wall clock).
8577
8578           mono2abs
8579               Force conversion from monotonic to absolute timestamps.
8580
8581           Default value is "default".
8582
8583       use_libv4l2
8584           Use libv4l2 (v4l-utils) conversion functions. Default is 0.
8585
8586   vfwcap
8587       VfW (Video for Windows) capture input device.
8588
8589       The filename passed as input is the capture driver number, ranging from
8590       0 to 9. You may use "list" as filename to print a list of drivers. Any
8591       other filename will be interpreted as device number 0.
8592
8593       Options
8594
8595       video_size
8596           Set the video frame size.
8597
8598       framerate
8599           Set the grabbing frame rate. Default value is "ntsc", corresponding
8600           to a frame rate of "30000/1001".
8601
8602   x11grab
8603       X11 video input device.
8604
8605       To enable this input device during configuration you need libxcb
8606       installed on your system. It will be automatically detected during
8607       configuration.
8608
8609       This device allows one to capture a region of an X11 display.
8610
8611       The filename passed as input has the syntax:
8612
8613               [<hostname>]:<display_number>.<screen_number>[+<x_offset>,<y_offset>]
8614
8615       hostname:display_number.screen_number specifies the X11 display name of
8616       the screen to grab from. hostname can be omitted, and defaults to
8617       "localhost". The environment variable DISPLAY contains the default
8618       display name.
8619
8620       x_offset and y_offset specify the offsets of the grabbed area with
8621       respect to the top-left border of the X11 screen. They default to 0.
8622
8623       Check the X11 documentation (e.g. man X) for more detailed information.
8624
8625       Use the xdpyinfo program for getting basic information about the
8626       properties of your X11 display (e.g. grep for "name" or "dimensions").
8627
8628       For example to grab from :0.0 using ffmpeg:
8629
8630               ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0 out.mpg
8631
8632       Grab at position "10,20":
8633
8634               ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
8635
8636       Options
8637
8638       select_region
8639           Specify whether to select the grabbing area graphically using the
8640           pointer.  A value of 1 prompts the user to select the grabbing area
8641           graphically by clicking and dragging. A single click with no
8642           dragging will select the whole screen. A region with zero width or
8643           height will also select the whole screen. This option overwrites
8644           the video_size, grab_x, and grab_y options. Default value is 0.
8645
8646       draw_mouse
8647           Specify whether to draw the mouse pointer. A value of 0 specifies
8648           not to draw the pointer. Default value is 1.
8649
8650       follow_mouse
8651           Make the grabbed area follow the mouse. The argument can be
8652           "centered" or a number of pixels PIXELS.
8653
8654           When it is specified with "centered", the grabbing region follows
8655           the mouse pointer and keeps the pointer at the center of region;
8656           otherwise, the region follows only when the mouse pointer reaches
8657           within PIXELS (greater than zero) to the edge of region.
8658
8659           For example:
8660
8661                   ffmpeg -f x11grab -follow_mouse centered -framerate 25 -video_size cif -i :0.0 out.mpg
8662
8663           To follow only when the mouse pointer reaches within 100 pixels to
8664           edge:
8665
8666                   ffmpeg -f x11grab -follow_mouse 100 -framerate 25 -video_size cif -i :0.0 out.mpg
8667
8668       framerate
8669           Set the grabbing frame rate. Default value is "ntsc", corresponding
8670           to a frame rate of "30000/1001".
8671
8672       show_region
8673           Show grabbed region on screen.
8674
8675           If show_region is specified with 1, then the grabbing region will
8676           be indicated on screen. With this option, it is easy to know what
8677           is being grabbed if only a portion of the screen is grabbed.
8678
8679       region_border
8680           Set the region border thickness if -show_region 1 is used.  Range
8681           is 1 to 128 and default is 3 (XCB-based x11grab only).
8682
8683           For example:
8684
8685                   ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 out.mpg
8686
8687           With follow_mouse:
8688
8689                   ffmpeg -f x11grab -follow_mouse centered -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg
8690
8691       window_id
8692           Grab this window, instead of the whole screen. Default value is 0,
8693           which maps to the whole screen (root window).
8694
8695           The id of a window can be found using the xwininfo program,
8696           possibly with options -tree and -root.
8697
8698           If the window is later enlarged, the new area is not recorded.
8699           Video ends when the window is closed, unmapped (i.e., iconified) or
8700           shrunk beyond the video size (which defaults to the initial window
8701           size).
8702
8703           This option disables options follow_mouse and select_region.
8704
8705       video_size
8706           Set the video frame size. Default is the full desktop or window.
8707
8708       grab_x
8709       grab_y
8710           Set the grabbing region coordinates. They are expressed as offset
8711           from the top left corner of the X11 window and correspond to the
8712           x_offset and y_offset parameters in the device name. The default
8713           value for both options is 0.
8714

RESAMPLER OPTIONS

8716       The audio resampler supports the following named options.
8717
8718       Options may be set by specifying -option value in the FFmpeg tools,
8719       option=value for the aresample filter, by setting the value explicitly
8720       in the "SwrContext" options or using the libavutil/opt.h API for
8721       programmatic use.
8722
8723       ich, in_channel_count
8724           Set the number of input channels. Default value is 0. Setting this
8725           value is not mandatory if the corresponding channel layout
8726           in_channel_layout is set.
8727
8728       och, out_channel_count
8729           Set the number of output channels. Default value is 0. Setting this
8730           value is not mandatory if the corresponding channel layout
8731           out_channel_layout is set.
8732
8733       uch, used_channel_count
8734           Set the number of used input channels. Default value is 0. This
8735           option is only used for special remapping.
8736
8737       isr, in_sample_rate
8738           Set the input sample rate. Default value is 0.
8739
8740       osr, out_sample_rate
8741           Set the output sample rate. Default value is 0.
8742
8743       isf, in_sample_fmt
8744           Specify the input sample format. It is set by default to "none".
8745
8746       osf, out_sample_fmt
8747           Specify the output sample format. It is set by default to "none".
8748
8749       tsf, internal_sample_fmt
8750           Set the internal sample format. Default value is "none".  This will
8751           automatically be chosen when it is not explicitly set.
8752
8753       icl, in_channel_layout
8754       ocl, out_channel_layout
8755           Set the input/output channel layout.
8756
8757           See the Channel Layout section in the ffmpeg-utils(1) manual for
8758           the required syntax.
8759
8760       clev, center_mix_level
8761           Set the center mix level. It is a value expressed in deciBel, and
8762           must be in the interval [-32,32].
8763
8764       slev, surround_mix_level
8765           Set the surround mix level. It is a value expressed in deciBel, and
8766           must be in the interval [-32,32].
8767
8768       lfe_mix_level
8769           Set LFE mix into non LFE level. It is used when there is a LFE
8770           input but no LFE output. It is a value expressed in deciBel, and
8771           must be in the interval [-32,32].
8772
8773       rmvol, rematrix_volume
8774           Set rematrix volume. Default value is 1.0.
8775
8776       rematrix_maxval
8777           Set maximum output value for rematrixing.  This can be used to
8778           prevent clipping vs. preventing volume reduction.  A value of 1.0
8779           prevents clipping.
8780
8781       flags, swr_flags
8782           Set flags used by the converter. Default value is 0.
8783
8784           It supports the following individual flags:
8785
8786           res force resampling, this flag forces resampling to be used even
8787               when the input and output sample rates match.
8788
8789       dither_scale
8790           Set the dither scale. Default value is 1.
8791
8792       dither_method
8793           Set dither method. Default value is 0.
8794
8795           Supported values:
8796
8797           rectangular
8798               select rectangular dither
8799
8800           triangular
8801               select triangular dither
8802
8803           triangular_hp
8804               select triangular dither with high pass
8805
8806           lipshitz
8807               select Lipshitz noise shaping dither.
8808
8809           shibata
8810               select Shibata noise shaping dither.
8811
8812           low_shibata
8813               select low Shibata noise shaping dither.
8814
8815           high_shibata
8816               select high Shibata noise shaping dither.
8817
8818           f_weighted
8819               select f-weighted noise shaping dither
8820
8821           modified_e_weighted
8822               select modified-e-weighted noise shaping dither
8823
8824           improved_e_weighted
8825               select improved-e-weighted noise shaping dither
8826
8827       resampler
8828           Set resampling engine. Default value is swr.
8829
8830           Supported values:
8831
8832           swr select the native SW Resampler; filter options precision and
8833               cheby are not applicable in this case.
8834
8835           soxr
8836               select the SoX Resampler (where available); compensation, and
8837               filter options filter_size, phase_shift, exact_rational,
8838               filter_type & kaiser_beta, are not applicable in this case.
8839
8840       filter_size
8841           For swr only, set resampling filter size, default value is 32.
8842
8843       phase_shift
8844           For swr only, set resampling phase shift, default value is 10, and
8845           must be in the interval [0,30].
8846
8847       linear_interp
8848           Use linear interpolation when enabled (the default). Disable it if
8849           you want to preserve speed instead of quality when exact_rational
8850           fails.
8851
8852       exact_rational
8853           For swr only, when enabled, try to use exact phase_count based on
8854           input and output sample rate. However, if it is larger than "1 <<
8855           phase_shift", the phase_count will be "1 << phase_shift" as
8856           fallback. Default is enabled.
8857
8858       cutoff
8859           Set cutoff frequency (swr: 6dB point; soxr: 0dB point) ratio; must
8860           be a float value between 0 and 1.  Default value is 0.97 with swr,
8861           and 0.91 with soxr (which, with a sample-rate of 44100, preserves
8862           the entire audio band to 20kHz).
8863
8864       precision
8865           For soxr only, the precision in bits to which the resampled signal
8866           will be calculated.  The default value of 20 (which, with suitable
8867           dithering, is appropriate for a destination bit-depth of 16) gives
8868           SoX's 'High Quality'; a value of 28 gives SoX's 'Very High
8869           Quality'.
8870
8871       cheby
8872           For soxr only, selects passband rolloff none (Chebyshev) & higher-
8873           precision approximation for 'irrational' ratios. Default value is
8874           0.
8875
8876       async
8877           For swr only, simple 1 parameter audio sync to timestamps using
8878           stretching, squeezing, filling and trimming. Setting this to 1 will
8879           enable filling and trimming, larger values represent the maximum
8880           amount in samples that the data may be stretched or squeezed for
8881           each second.  Default value is 0, thus no compensation is applied
8882           to make the samples match the audio timestamps.
8883
8884       first_pts
8885           For swr only, assume the first pts should be this value. The time
8886           unit is 1 / sample rate.  This allows for padding/trimming at the
8887           start of stream. By default, no assumption is made about the first
8888           frame's expected pts, so no padding or trimming is done. For
8889           example, this could be set to 0 to pad the beginning with silence
8890           if an audio stream starts after the video stream or to trim any
8891           samples with a negative pts due to encoder delay.
8892
8893       min_comp
8894           For swr only, set the minimum difference between timestamps and
8895           audio data (in seconds) to trigger stretching/squeezing/filling or
8896           trimming of the data to make it match the timestamps. The default
8897           is that stretching/squeezing/filling and trimming is disabled
8898           (min_comp = "FLT_MAX").
8899
8900       min_hard_comp
8901           For swr only, set the minimum difference between timestamps and
8902           audio data (in seconds) to trigger adding/dropping samples to make
8903           it match the timestamps.  This option effectively is a threshold to
8904           select between hard (trim/fill) and soft (squeeze/stretch)
8905           compensation. Note that all compensation is by default disabled
8906           through min_comp.  The default is 0.1.
8907
8908       comp_duration
8909           For swr only, set duration (in seconds) over which data is
8910           stretched/squeezed to make it match the timestamps. Must be a non-
8911           negative double float value, default value is 1.0.
8912
8913       max_soft_comp
8914           For swr only, set maximum factor by which data is
8915           stretched/squeezed to make it match the timestamps. Must be a non-
8916           negative double float value, default value is 0.
8917
8918       matrix_encoding
8919           Select matrixed stereo encoding.
8920
8921           It accepts the following values:
8922
8923           none
8924               select none
8925
8926           dolby
8927               select Dolby
8928
8929           dplii
8930               select Dolby Pro Logic II
8931
8932           Default value is "none".
8933
8934       filter_type
8935           For swr only, select resampling filter type. This only affects
8936           resampling operations.
8937
8938           It accepts the following values:
8939
8940           cubic
8941               select cubic
8942
8943           blackman_nuttall
8944               select Blackman Nuttall windowed sinc
8945
8946           kaiser
8947               select Kaiser windowed sinc
8948
8949       kaiser_beta
8950           For swr only, set Kaiser window beta value. Must be a double float
8951           value in the interval [2,16], default value is 9.
8952
8953       output_sample_bits
8954           For swr only, set number of used output sample bits for dithering.
8955           Must be an integer in the interval [0,64], default value is 0,
8956           which means it's not used.
8957

SCALER OPTIONS

8959       The video scaler supports the following named options.
8960
8961       Options may be set by specifying -option value in the FFmpeg tools,
8962       with a few API-only exceptions noted below.  For programmatic use, they
8963       can be set explicitly in the "SwsContext" options or through the
8964       libavutil/opt.h API.
8965
8966       sws_flags
8967           Set the scaler flags. This is also used to set the scaling
8968           algorithm. Only a single algorithm should be selected. Default
8969           value is bicubic.
8970
8971           It accepts the following values:
8972
8973           fast_bilinear
8974               Select fast bilinear scaling algorithm.
8975
8976           bilinear
8977               Select bilinear scaling algorithm.
8978
8979           bicubic
8980               Select bicubic scaling algorithm.
8981
8982           experimental
8983               Select experimental scaling algorithm.
8984
8985           neighbor
8986               Select nearest neighbor rescaling algorithm.
8987
8988           area
8989               Select averaging area rescaling algorithm.
8990
8991           bicublin
8992               Select bicubic scaling algorithm for the luma component,
8993               bilinear for chroma components.
8994
8995           gauss
8996               Select Gaussian rescaling algorithm.
8997
8998           sinc
8999               Select sinc rescaling algorithm.
9000
9001           lanczos
9002               Select Lanczos rescaling algorithm. The default width (alpha)
9003               is 3 and can be changed by setting "param0".
9004
9005           spline
9006               Select natural bicubic spline rescaling algorithm.
9007
9008           print_info
9009               Enable printing/debug logging.
9010
9011           accurate_rnd
9012               Enable accurate rounding.
9013
9014           full_chroma_int
9015               Enable full chroma interpolation.
9016
9017           full_chroma_inp
9018               Select full chroma input.
9019
9020           bitexact
9021               Enable bitexact output.
9022
9023       srcw (API only)
9024           Set source width.
9025
9026       srch (API only)
9027           Set source height.
9028
9029       dstw (API only)
9030           Set destination width.
9031
9032       dsth (API only)
9033           Set destination height.
9034
9035       src_format (API only)
9036           Set source pixel format (must be expressed as an integer).
9037
9038       dst_format (API only)
9039           Set destination pixel format (must be expressed as an integer).
9040
9041       src_range (boolean)
9042           If value is set to 1, indicates source is full range. Default value
9043           is 0, which indicates source is limited range.
9044
9045       dst_range (boolean)
9046           If value is set to 1, enable full range for destination. Default
9047           value is 0, which enables limited range.
9048
9049       param0, param1
9050           Set scaling algorithm parameters. The specified values are specific
9051           of some scaling algorithms and ignored by others. The specified
9052           values are floating point number values.
9053
9054       sws_dither
9055           Set the dithering algorithm. Accepts one of the following values.
9056           Default value is auto.
9057
9058           auto
9059               automatic choice
9060
9061           none
9062               no dithering
9063
9064           bayer
9065               bayer dither
9066
9067           ed  error diffusion dither
9068
9069           a_dither
9070               arithmetic dither, based using addition
9071
9072           x_dither
9073               arithmetic dither, based using xor (more random/less apparent
9074               patterning that a_dither).
9075
9076       alphablend
9077           Set the alpha blending to use when the input has alpha but the
9078           output does not.  Default value is none.
9079
9080           uniform_color
9081               Blend onto a uniform background color
9082
9083           checkerboard
9084               Blend onto a checkerboard
9085
9086           none
9087               No blending
9088

FILTERING INTRODUCTION

9090       Filtering in FFmpeg is enabled through the libavfilter library.
9091
9092       In libavfilter, a filter can have multiple inputs and multiple outputs.
9093       To illustrate the sorts of things that are possible, we consider the
9094       following filtergraph.
9095
9096                               [main]
9097               input --> split ---------------------> overlay --> output
9098                           |                             ^
9099                           |[tmp]                  [flip]|
9100                           +-----> crop --> vflip -------+
9101
9102       This filtergraph splits the input stream in two streams, then sends one
9103       stream through the crop filter and the vflip filter, before merging it
9104       back with the other stream by overlaying it on top. You can use the
9105       following command to achieve this:
9106
9107               ffmpeg -i INPUT -vf "split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2" OUTPUT
9108
9109       The result will be that the top half of the video is mirrored onto the
9110       bottom half of the output video.
9111
9112       Filters in the same linear chain are separated by commas, and distinct
9113       linear chains of filters are separated by semicolons. In our example,
9114       crop,vflip are in one linear chain, split and overlay are separately in
9115       another. The points where the linear chains join are labelled by names
9116       enclosed in square brackets. In the example, the split filter generates
9117       two outputs that are associated to the labels [main] and [tmp].
9118
9119       The stream sent to the second output of split, labelled as [tmp], is
9120       processed through the crop filter, which crops away the lower half part
9121       of the video, and then vertically flipped. The overlay filter takes in
9122       input the first unchanged output of the split filter (which was
9123       labelled as [main]), and overlay on its lower half the output generated
9124       by the crop,vflip filterchain.
9125
9126       Some filters take in input a list of parameters: they are specified
9127       after the filter name and an equal sign, and are separated from each
9128       other by a colon.
9129
9130       There exist so-called source filters that do not have an audio/video
9131       input, and sink filters that will not have audio/video output.
9132

GRAPH

9134       The graph2dot program included in the FFmpeg tools directory can be
9135       used to parse a filtergraph description and issue a corresponding
9136       textual representation in the dot language.
9137
9138       Invoke the command:
9139
9140               graph2dot -h
9141
9142       to see how to use graph2dot.
9143
9144       You can then pass the dot description to the dot program (from the
9145       graphviz suite of programs) and obtain a graphical representation of
9146       the filtergraph.
9147
9148       For example the sequence of commands:
9149
9150               echo <GRAPH_DESCRIPTION> | \
9151               tools/graph2dot -o graph.tmp && \
9152               dot -Tpng graph.tmp -o graph.png && \
9153               display graph.png
9154
9155       can be used to create and display an image representing the graph
9156       described by the GRAPH_DESCRIPTION string. Note that this string must
9157       be a complete self-contained graph, with its inputs and outputs
9158       explicitly defined.  For example if your command line is of the form:
9159
9160               ffmpeg -i infile -vf scale=640:360 outfile
9161
9162       your GRAPH_DESCRIPTION string will need to be of the form:
9163
9164               nullsrc,scale=640:360,nullsink
9165
9166       you may also need to set the nullsrc parameters and add a format filter
9167       in order to simulate a specific input file.
9168

FILTERGRAPH DESCRIPTION

9170       A filtergraph is a directed graph of connected filters. It can contain
9171       cycles, and there can be multiple links between a pair of filters. Each
9172       link has one input pad on one side connecting it to one filter from
9173       which it takes its input, and one output pad on the other side
9174       connecting it to one filter accepting its output.
9175
9176       Each filter in a filtergraph is an instance of a filter class
9177       registered in the application, which defines the features and the
9178       number of input and output pads of the filter.
9179
9180       A filter with no input pads is called a "source", and a filter with no
9181       output pads is called a "sink".
9182
9183   Filtergraph syntax
9184       A filtergraph has a textual representation, which is recognized by the
9185       -filter/-vf/-af and -filter_complex options in ffmpeg and -vf/-af in
9186       ffplay, and by the "avfilter_graph_parse_ptr()" function defined in
9187       libavfilter/avfilter.h.
9188
9189       A filterchain consists of a sequence of connected filters, each one
9190       connected to the previous one in the sequence. A filterchain is
9191       represented by a list of ","-separated filter descriptions.
9192
9193       A filtergraph consists of a sequence of filterchains. A sequence of
9194       filterchains is represented by a list of ";"-separated filterchain
9195       descriptions.
9196
9197       A filter is represented by a string of the form:
9198       [in_link_1]...[in_link_N]filter_name@id=arguments[out_link_1]...[out_link_M]
9199
9200       filter_name is the name of the filter class of which the described
9201       filter is an instance of, and has to be the name of one of the filter
9202       classes registered in the program optionally followed by "@id".  The
9203       name of the filter class is optionally followed by a string
9204       "=arguments".
9205
9206       arguments is a string which contains the parameters used to initialize
9207       the filter instance. It may have one of two forms:
9208
9209       •   A ':'-separated list of key=value pairs.
9210
9211       •   A ':'-separated list of value. In this case, the keys are assumed
9212           to be the option names in the order they are declared. E.g. the
9213           "fade" filter declares three options in this order -- type,
9214           start_frame and nb_frames. Then the parameter list in:0:30 means
9215           that the value in is assigned to the option type, 0 to start_frame
9216           and 30 to nb_frames.
9217
9218       •   A ':'-separated list of mixed direct value and long key=value
9219           pairs. The direct value must precede the key=value pairs, and
9220           follow the same constraints order of the previous point. The
9221           following key=value pairs can be set in any preferred order.
9222
9223       If the option value itself is a list of items (e.g. the "format" filter
9224       takes a list of pixel formats), the items in the list are usually
9225       separated by |.
9226
9227       The list of arguments can be quoted using the character ' as initial
9228       and ending mark, and the character \ for escaping the characters within
9229       the quoted text; otherwise the argument string is considered terminated
9230       when the next special character (belonging to the set []=;,) is
9231       encountered.
9232
9233       The name and arguments of the filter are optionally preceded and
9234       followed by a list of link labels.  A link label allows one to name a
9235       link and associate it to a filter output or input pad. The preceding
9236       labels in_link_1 ... in_link_N, are associated to the filter input
9237       pads, the following labels out_link_1 ... out_link_M, are associated to
9238       the output pads.
9239
9240       When two link labels with the same name are found in the filtergraph, a
9241       link between the corresponding input and output pad is created.
9242
9243       If an output pad is not labelled, it is linked by default to the first
9244       unlabelled input pad of the next filter in the filterchain.  For
9245       example in the filterchain
9246
9247               nullsrc, split[L1], [L2]overlay, nullsink
9248
9249       the split filter instance has two output pads, and the overlay filter
9250       instance two input pads. The first output pad of split is labelled
9251       "L1", the first input pad of overlay is labelled "L2", and the second
9252       output pad of split is linked to the second input pad of overlay, which
9253       are both unlabelled.
9254
9255       In a filter description, if the input label of the first filter is not
9256       specified, "in" is assumed; if the output label of the last filter is
9257       not specified, "out" is assumed.
9258
9259       In a complete filterchain all the unlabelled filter input and output
9260       pads must be connected. A filtergraph is considered valid if all the
9261       filter input and output pads of all the filterchains are connected.
9262
9263       Libavfilter will automatically insert scale filters where format
9264       conversion is required. It is possible to specify swscale flags for
9265       those automatically inserted scalers by prepending "sws_flags=flags;"
9266       to the filtergraph description.
9267
9268       Here is a BNF description of the filtergraph syntax:
9269
9270               <NAME>             ::= sequence of alphanumeric characters and '_'
9271               <FILTER_NAME>      ::= <NAME>["@"<NAME>]
9272               <LINKLABEL>        ::= "[" <NAME> "]"
9273               <LINKLABELS>       ::= <LINKLABEL> [<LINKLABELS>]
9274               <FILTER_ARGUMENTS> ::= sequence of chars (possibly quoted)
9275               <FILTER>           ::= [<LINKLABELS>] <FILTER_NAME> ["=" <FILTER_ARGUMENTS>] [<LINKLABELS>]
9276               <FILTERCHAIN>      ::= <FILTER> [,<FILTERCHAIN>]
9277               <FILTERGRAPH>      ::= [sws_flags=<flags>;] <FILTERCHAIN> [;<FILTERGRAPH>]
9278
9279   Notes on filtergraph escaping
9280       Filtergraph description composition entails several levels of escaping.
9281       See the "Quoting and escaping" section in the ffmpeg-utils(1) manual
9282       for more information about the employed escaping procedure.
9283
9284       A first level escaping affects the content of each filter option value,
9285       which may contain the special character ":" used to separate values, or
9286       one of the escaping characters "\'".
9287
9288       A second level escaping affects the whole filter description, which may
9289       contain the escaping characters "\'" or the special characters "[],;"
9290       used by the filtergraph description.
9291
9292       Finally, when you specify a filtergraph on a shell commandline, you
9293       need to perform a third level escaping for the shell special characters
9294       contained within it.
9295
9296       For example, consider the following string to be embedded in the
9297       drawtext filter description text value:
9298
9299               this is a 'string': may contain one, or more, special characters
9300
9301       This string contains the "'" special escaping character, and the ":"
9302       special character, so it needs to be escaped in this way:
9303
9304               text=this is a \'string\'\: may contain one, or more, special characters
9305
9306       A second level of escaping is required when embedding the filter
9307       description in a filtergraph description, in order to escape all the
9308       filtergraph special characters. Thus the example above becomes:
9309
9310               drawtext=text=this is a \\\'string\\\'\\: may contain one\, or more\, special characters
9311
9312       (note that in addition to the "\'" escaping special characters, also
9313       "," needs to be escaped).
9314
9315       Finally an additional level of escaping is needed when writing the
9316       filtergraph description in a shell command, which depends on the
9317       escaping rules of the adopted shell. For example, assuming that "\" is
9318       special and needs to be escaped with another "\", the previous string
9319       will finally result in:
9320
9321               -vf "drawtext=text=this is a \\\\\\'string\\\\\\'\\\\: may contain one\\, or more\\, special characters"
9322

TIMELINE EDITING

9324       Some filters support a generic enable option. For the filters
9325       supporting timeline editing, this option can be set to an expression
9326       which is evaluated before sending a frame to the filter. If the
9327       evaluation is non-zero, the filter will be enabled, otherwise the frame
9328       will be sent unchanged to the next filter in the filtergraph.
9329
9330       The expression accepts the following values:
9331
9332       t   timestamp expressed in seconds, NAN if the input timestamp is
9333           unknown
9334
9335       n   sequential number of the input frame, starting from 0
9336
9337       pos the position in the file of the input frame, NAN if unknown
9338
9339       w
9340       h   width and height of the input frame if video
9341
9342       Additionally, these filters support an enable command that can be used
9343       to re-define the expression.
9344
9345       Like any other filtering option, the enable option follows the same
9346       rules.
9347
9348       For example, to enable a blur filter (smartblur) from 10 seconds to 3
9349       minutes, and a curves filter starting at 3 seconds:
9350
9351               smartblur = enable='between(t,10,3*60)',
9352               curves    = enable='gte(t,3)' : preset=cross_process
9353
9354       See "ffmpeg -filters" to view which filters have timeline support.
9355

CHANGING OPTIONS AT RUNTIME WITH A COMMAND

9357       Some options can be changed during the operation of the filter using a
9358       command. These options are marked 'T' on the output of ffmpeg -h
9359       filter=<name of filter>.  The name of the command is the name of the
9360       option and the argument is the new value.
9361

OPTIONS FOR FILTERS WITH SEVERAL INPUTS

9363       Some filters with several inputs support a common set of options.
9364       These options can only be set by name, not with the short notation.
9365
9366       eof_action
9367           The action to take when EOF is encountered on the secondary input;
9368           it accepts one of the following values:
9369
9370           repeat
9371               Repeat the last frame (the default).
9372
9373           endall
9374               End both streams.
9375
9376           pass
9377               Pass the main input through.
9378
9379       shortest
9380           If set to 1, force the output to terminate when the shortest input
9381           terminates. Default value is 0.
9382
9383       repeatlast
9384           If set to 1, force the filter to extend the last frame of secondary
9385           streams until the end of the primary stream. A value of 0 disables
9386           this behavior.  Default value is 1.
9387

AUDIO FILTERS

9389       When you configure your FFmpeg build, you can disable any of the
9390       existing filters using "--disable-filters".  The configure output will
9391       show the audio filters included in your build.
9392
9393       Below is a description of the currently available audio filters.
9394
9395   acompressor
9396       A compressor is mainly used to reduce the dynamic range of a signal.
9397       Especially modern music is mostly compressed at a high ratio to improve
9398       the overall loudness. It's done to get the highest attention of a
9399       listener, "fatten" the sound and bring more "power" to the track.  If a
9400       signal is compressed too much it may sound dull or "dead" afterwards or
9401       it may start to "pump" (which could be a powerful effect but can also
9402       destroy a track completely).  The right compression is the key to reach
9403       a professional sound and is the high art of mixing and mastering.
9404       Because of its complex settings it may take a long time to get the
9405       right feeling for this kind of effect.
9406
9407       Compression is done by detecting the volume above a chosen level
9408       "threshold" and dividing it by the factor set with "ratio".  So if you
9409       set the threshold to -12dB and your signal reaches -6dB a ratio of 2:1
9410       will result in a signal at -9dB. Because an exact manipulation of the
9411       signal would cause distortion of the waveform the reduction can be
9412       levelled over the time. This is done by setting "Attack" and "Release".
9413       "attack" determines how long the signal has to rise above the threshold
9414       before any reduction will occur and "release" sets the time the signal
9415       has to fall below the threshold to reduce the reduction again. Shorter
9416       signals than the chosen attack time will be left untouched.  The
9417       overall reduction of the signal can be made up afterwards with the
9418       "makeup" setting. So compressing the peaks of a signal about 6dB and
9419       raising the makeup to this level results in a signal twice as loud than
9420       the source. To gain a softer entry in the compression the "knee"
9421       flattens the hard edge at the threshold in the range of the chosen
9422       decibels.
9423
9424       The filter accepts the following options:
9425
9426       level_in
9427           Set input gain. Default is 1. Range is between 0.015625 and 64.
9428
9429       mode
9430           Set mode of compressor operation. Can be "upward" or "downward".
9431           Default is "downward".
9432
9433       threshold
9434           If a signal of stream rises above this level it will affect the
9435           gain reduction.  By default it is 0.125. Range is between
9436           0.00097563 and 1.
9437
9438       ratio
9439           Set a ratio by which the signal is reduced. 1:2 means that if the
9440           level rose 4dB above the threshold, it will be only 2dB above after
9441           the reduction.  Default is 2. Range is between 1 and 20.
9442
9443       attack
9444           Amount of milliseconds the signal has to rise above the threshold
9445           before gain reduction starts. Default is 20. Range is between 0.01
9446           and 2000.
9447
9448       release
9449           Amount of milliseconds the signal has to fall below the threshold
9450           before reduction is decreased again. Default is 250. Range is
9451           between 0.01 and 9000.
9452
9453       makeup
9454           Set the amount by how much signal will be amplified after
9455           processing.  Default is 1. Range is from 1 to 64.
9456
9457       knee
9458           Curve the sharp knee around the threshold to enter gain reduction
9459           more softly.  Default is 2.82843. Range is between 1 and 8.
9460
9461       link
9462           Choose if the "average" level between all channels of input stream
9463           or the louder("maximum") channel of input stream affects the
9464           reduction. Default is "average".
9465
9466       detection
9467           Should the exact signal be taken in case of "peak" or an RMS one in
9468           case of "rms". Default is "rms" which is mostly smoother.
9469
9470       mix How much to use compressed signal in output. Default is 1.  Range
9471           is between 0 and 1.
9472
9473       Commands
9474
9475       This filter supports the all above options as commands.
9476
9477   acontrast
9478       Simple audio dynamic range compression/expansion filter.
9479
9480       The filter accepts the following options:
9481
9482       contrast
9483           Set contrast. Default is 33. Allowed range is between 0 and 100.
9484
9485   acopy
9486       Copy the input audio source unchanged to the output. This is mainly
9487       useful for testing purposes.
9488
9489   acrossfade
9490       Apply cross fade from one input audio stream to another input audio
9491       stream.  The cross fade is applied for specified duration near the end
9492       of first stream.
9493
9494       The filter accepts the following options:
9495
9496       nb_samples, ns
9497           Specify the number of samples for which the cross fade effect has
9498           to last.  At the end of the cross fade effect the first input audio
9499           will be completely silent. Default is 44100.
9500
9501       duration, d
9502           Specify the duration of the cross fade effect. See the Time
9503           duration section in the ffmpeg-utils(1) manual for the accepted
9504           syntax.  By default the duration is determined by nb_samples.  If
9505           set this option is used instead of nb_samples.
9506
9507       overlap, o
9508           Should first stream end overlap with second stream start. Default
9509           is enabled.
9510
9511       curve1
9512           Set curve for cross fade transition for first stream.
9513
9514       curve2
9515           Set curve for cross fade transition for second stream.
9516
9517           For description of available curve types see afade filter
9518           description.
9519
9520       Examples
9521
9522       •   Cross fade from one input to another:
9523
9524                   ffmpeg -i first.flac -i second.flac -filter_complex acrossfade=d=10:c1=exp:c2=exp output.flac
9525
9526       •   Cross fade from one input to another but without overlapping:
9527
9528                   ffmpeg -i first.flac -i second.flac -filter_complex acrossfade=d=10:o=0:c1=exp:c2=exp output.flac
9529
9530   acrossover
9531       Split audio stream into several bands.
9532
9533       This filter splits audio stream into two or more frequency ranges.
9534       Summing all streams back will give flat output.
9535
9536       The filter accepts the following options:
9537
9538       split
9539           Set split frequencies. Those must be positive and increasing.
9540
9541       order
9542           Set filter order for each band split. This controls filter roll-off
9543           or steepness of filter transfer function.  Available values are:
9544
9545           2nd 12 dB per octave.
9546
9547           4th 24 dB per octave.
9548
9549           6th 36 dB per octave.
9550
9551           8th 48 dB per octave.
9552
9553           10th
9554               60 dB per octave.
9555
9556           12th
9557               72 dB per octave.
9558
9559           14th
9560               84 dB per octave.
9561
9562           16th
9563               96 dB per octave.
9564
9565           18th
9566               108 dB per octave.
9567
9568           20th
9569               120 dB per octave.
9570
9571           Default is 4th.
9572
9573       level
9574           Set input gain level. Allowed range is from 0 to 1. Default value
9575           is 1.
9576
9577       gains
9578           Set output gain for each band. Default value is 1 for all bands.
9579
9580       Examples
9581
9582       •   Split input audio stream into two bands (low and high) with split
9583           frequency of 1500 Hz, each band will be in separate stream:
9584
9585                   ffmpeg -i in.flac -filter_complex 'acrossover=split=1500[LOW][HIGH]' -map '[LOW]' low.wav -map '[HIGH]' high.wav
9586
9587       •   Same as above, but with higher filter order:
9588
9589                   ffmpeg -i in.flac -filter_complex 'acrossover=split=1500:order=8th[LOW][HIGH]' -map '[LOW]' low.wav -map '[HIGH]' high.wav
9590
9591       •   Same as above, but also with additional middle band (frequencies
9592           between 1500 and 8000):
9593
9594                   ffmpeg -i in.flac -filter_complex 'acrossover=split=1500 8000:order=8th[LOW][MID][HIGH]' -map '[LOW]' low.wav -map '[MID]' mid.wav -map '[HIGH]' high.wav
9595
9596   acrusher
9597       Reduce audio bit resolution.
9598
9599       This filter is bit crusher with enhanced functionality. A bit crusher
9600       is used to audibly reduce number of bits an audio signal is sampled
9601       with. This doesn't change the bit depth at all, it just produces the
9602       effect. Material reduced in bit depth sounds more harsh and "digital".
9603       This filter is able to even round to continuous values instead of
9604       discrete bit depths.  Additionally it has a D/C offset which results in
9605       different crushing of the lower and the upper half of the signal.  An
9606       Anti-Aliasing setting is able to produce "softer" crushing sounds.
9607
9608       Another feature of this filter is the logarithmic mode.  This setting
9609       switches from linear distances between bits to logarithmic ones.  The
9610       result is a much more "natural" sounding crusher which doesn't gate low
9611       signals for example. The human ear has a logarithmic perception, so
9612       this kind of crushing is much more pleasant.  Logarithmic crushing is
9613       also able to get anti-aliased.
9614
9615       The filter accepts the following options:
9616
9617       level_in
9618           Set level in.
9619
9620       level_out
9621           Set level out.
9622
9623       bits
9624           Set bit reduction.
9625
9626       mix Set mixing amount.
9627
9628       mode
9629           Can be linear: "lin" or logarithmic: "log".
9630
9631       dc  Set DC.
9632
9633       aa  Set anti-aliasing.
9634
9635       samples
9636           Set sample reduction.
9637
9638       lfo Enable LFO. By default disabled.
9639
9640       lforange
9641           Set LFO range.
9642
9643       lforate
9644           Set LFO rate.
9645
9646       Commands
9647
9648       This filter supports the all above options as commands.
9649
9650   acue
9651       Delay audio filtering until a given wallclock timestamp. See the cue
9652       filter.
9653
9654   adeclick
9655       Remove impulsive noise from input audio.
9656
9657       Samples detected as impulsive noise are replaced by interpolated
9658       samples using autoregressive modelling.
9659
9660       window, w
9661           Set window size, in milliseconds. Allowed range is from 10 to 100.
9662           Default value is 55 milliseconds.  This sets size of window which
9663           will be processed at once.
9664
9665       overlap, o
9666           Set window overlap, in percentage of window size. Allowed range is
9667           from 50 to 95. Default value is 75 percent.  Setting this to a very
9668           high value increases impulsive noise removal but makes whole
9669           process much slower.
9670
9671       arorder, a
9672           Set autoregression order, in percentage of window size. Allowed
9673           range is from 0 to 25. Default value is 2 percent. This option also
9674           controls quality of interpolated samples using neighbour good
9675           samples.
9676
9677       threshold, t
9678           Set threshold value. Allowed range is from 1 to 100.  Default value
9679           is 2.  This controls the strength of impulsive noise which is going
9680           to be removed.  The lower value, the more samples will be detected
9681           as impulsive noise.
9682
9683       burst, b
9684           Set burst fusion, in percentage of window size. Allowed range is 0
9685           to 10. Default value is 2.  If any two samples detected as noise
9686           are spaced less than this value then any sample between those two
9687           samples will be also detected as noise.
9688
9689       method, m
9690           Set overlap method.
9691
9692           It accepts the following values:
9693
9694           add, a
9695               Select overlap-add method. Even not interpolated samples are
9696               slightly changed with this method.
9697
9698           save, s
9699               Select overlap-save method. Not interpolated samples remain
9700               unchanged.
9701
9702           Default value is "a".
9703
9704   adeclip
9705       Remove clipped samples from input audio.
9706
9707       Samples detected as clipped are replaced by interpolated samples using
9708       autoregressive modelling.
9709
9710       window, w
9711           Set window size, in milliseconds. Allowed range is from 10 to 100.
9712           Default value is 55 milliseconds.  This sets size of window which
9713           will be processed at once.
9714
9715       overlap, o
9716           Set window overlap, in percentage of window size. Allowed range is
9717           from 50 to 95. Default value is 75 percent.
9718
9719       arorder, a
9720           Set autoregression order, in percentage of window size. Allowed
9721           range is from 0 to 25. Default value is 8 percent. This option also
9722           controls quality of interpolated samples using neighbour good
9723           samples.
9724
9725       threshold, t
9726           Set threshold value. Allowed range is from 1 to 100.  Default value
9727           is 10. Higher values make clip detection less aggressive.
9728
9729       hsize, n
9730           Set size of histogram used to detect clips. Allowed range is from
9731           100 to 9999.  Default value is 1000. Higher values make clip
9732           detection less aggressive.
9733
9734       method, m
9735           Set overlap method.
9736
9737           It accepts the following values:
9738
9739           add, a
9740               Select overlap-add method. Even not interpolated samples are
9741               slightly changed with this method.
9742
9743           save, s
9744               Select overlap-save method. Not interpolated samples remain
9745               unchanged.
9746
9747           Default value is "a".
9748
9749   adecorrelate
9750       Apply decorrelation to input audio stream.
9751
9752       The filter accepts the following options:
9753
9754       stages
9755           Set decorrelation stages of filtering. Allowed range is from 1 to
9756           16. Default value is 6.
9757
9758       seed
9759           Set random seed used for setting delay in samples across channels.
9760
9761   adelay
9762       Delay one or more audio channels.
9763
9764       Samples in delayed channel are filled with silence.
9765
9766       The filter accepts the following option:
9767
9768       delays
9769           Set list of delays in milliseconds for each channel separated by
9770           '|'.  Unused delays will be silently ignored. If number of given
9771           delays is smaller than number of channels all remaining channels
9772           will not be delayed.  If you want to delay exact number of samples,
9773           append 'S' to number.  If you want instead to delay in seconds,
9774           append 's' to number.
9775
9776       all Use last set delay for all remaining channels. By default is
9777           disabled.  This option if enabled changes how option "delays" is
9778           interpreted.
9779
9780       Examples
9781
9782       •   Delay first channel by 1.5 seconds, the third channel by 0.5
9783           seconds and leave the second channel (and any other channels that
9784           may be present) unchanged.
9785
9786                   adelay=1500|0|500
9787
9788       •   Delay second channel by 500 samples, the third channel by 700
9789           samples and leave the first channel (and any other channels that
9790           may be present) unchanged.
9791
9792                   adelay=0|500S|700S
9793
9794       •   Delay all channels by same number of samples:
9795
9796                   adelay=delays=64S:all=1
9797
9798   adenorm
9799       Remedy denormals in audio by adding extremely low-level noise.
9800
9801       This filter shall be placed before any filter that can produce
9802       denormals.
9803
9804       A description of the accepted parameters follows.
9805
9806       level
9807           Set level of added noise in dB. Default is "-351".  Allowed range
9808           is from -451 to -90.
9809
9810       type
9811           Set type of added noise.
9812
9813           dc  Add DC signal.
9814
9815           ac  Add AC signal.
9816
9817           square
9818               Add square signal.
9819
9820           pulse
9821               Add pulse signal.
9822
9823           Default is "dc".
9824
9825       Commands
9826
9827       This filter supports the all above options as commands.
9828
9829   aderivative, aintegral
9830       Compute derivative/integral of audio stream.
9831
9832       Applying both filters one after another produces original audio.
9833
9834   adynamicequalizer
9835       Apply dynamic equalization to input audio stream.
9836
9837       A description of the accepted options follows.
9838
9839       threshold
9840           Set the detection threshold used to trigger equalization.
9841           Threshold detection is using bandpass filter.  Default value is 0.
9842           Allowed range is from 0 to 100.
9843
9844       dfrequency
9845           Set the detection frequency in Hz used for bandpass filter used to
9846           trigger equalization.  Default value is 1000 Hz. Allowed range is
9847           between 2 and 1000000 Hz.
9848
9849       dqfactor
9850           Set the detection resonance factor for bandpass filter used to
9851           trigger equalization.  Default value is 1. Allowed range is from
9852           0.001 to 1000.
9853
9854       tfrequency
9855           Set the target frequency of equalization filter.  Default value is
9856           1000 Hz. Allowed range is between 2 and 1000000 Hz.
9857
9858       tqfactor
9859           Set the target resonance factor for target equalization filter.
9860           Default value is 1. Allowed range is from 0.001 to 1000.
9861
9862       attack
9863           Set the amount of milliseconds the signal from detection has to
9864           rise above the detection threshold before equalization starts.
9865           Default is 20. Allowed range is between 1 and 2000.
9866
9867       release
9868           Set the amount of milliseconds the signal from detection has to
9869           fall below the detection threshold before equalization ends.
9870           Default is 200. Allowed range is between 1 and 2000.
9871
9872       knee
9873           Curve the sharp knee around the detection threshold to calculate
9874           equalization gain more softly.  Default is 1. Allowed range is
9875           between 0 and 8.
9876
9877       ratio
9878           Set the ratio by which the equalization gain is raised.  Default is
9879           1. Allowed range is between 1 and 20.
9880
9881       makeup
9882           Set the makeup offset in dB by which the equalization gain is
9883           raised.  Default is 0. Allowed range is between 0 and 30.
9884
9885       range
9886           Set the max allowed cut/boost amount in dB. Default is 0.  Allowed
9887           range is from 0 to 200.
9888
9889       slew
9890           Set the slew factor. Default is 1. Allowed range is from 1 to 200.
9891
9892       mode
9893           Set the mode of filter operation, can be one of the following:
9894
9895           listen
9896               Output only isolated bandpass signal.
9897
9898           cut Cut frequencies above detection threshold.
9899
9900           boost
9901               Boost frequencies bellow detection threshold.
9902
9903           Default mode is cut.
9904
9905       Commands
9906
9907       This filter supports the all above options as commands.
9908
9909   adynamicsmooth
9910       Apply dynamic smoothing to input audio stream.
9911
9912       A description of the accepted options follows.
9913
9914       sensitivity
9915           Set an amount of sensitivity to frequency fluctations. Default is
9916           2.  Allowed range is from 0 to 1e+06.
9917
9918       basefreq
9919           Set a base frequency for smoothing. Default value is 22050.
9920           Allowed range is from 2 to 1e+06.
9921
9922       Commands
9923
9924       This filter supports the all above options as commands.
9925
9926   aecho
9927       Apply echoing to the input audio.
9928
9929       Echoes are reflected sound and can occur naturally amongst mountains
9930       (and sometimes large buildings) when talking or shouting; digital echo
9931       effects emulate this behaviour and are often used to help fill out the
9932       sound of a single instrument or vocal. The time difference between the
9933       original signal and the reflection is the "delay", and the loudness of
9934       the reflected signal is the "decay".  Multiple echoes can have
9935       different delays and decays.
9936
9937       A description of the accepted parameters follows.
9938
9939       in_gain
9940           Set input gain of reflected signal. Default is 0.6.
9941
9942       out_gain
9943           Set output gain of reflected signal. Default is 0.3.
9944
9945       delays
9946           Set list of time intervals in milliseconds between original signal
9947           and reflections separated by '|'. Allowed range for each "delay" is
9948           "(0 - 90000.0]".  Default is 1000.
9949
9950       decays
9951           Set list of loudness of reflected signals separated by '|'.
9952           Allowed range for each "decay" is "(0 - 1.0]".  Default is 0.5.
9953
9954       Examples
9955
9956       •   Make it sound as if there are twice as many instruments as are
9957           actually playing:
9958
9959                   aecho=0.8:0.88:60:0.4
9960
9961       •   If delay is very short, then it sounds like a (metallic) robot
9962           playing music:
9963
9964                   aecho=0.8:0.88:6:0.4
9965
9966       •   A longer delay will sound like an open air concert in the
9967           mountains:
9968
9969                   aecho=0.8:0.9:1000:0.3
9970
9971       •   Same as above but with one more mountain:
9972
9973                   aecho=0.8:0.9:1000|1800:0.3|0.25
9974
9975   aemphasis
9976       Audio emphasis filter creates or restores material directly taken from
9977       LPs or emphased CDs with different filter curves. E.g. to store music
9978       on vinyl the signal has to be altered by a filter first to even out the
9979       disadvantages of this recording medium.  Once the material is played
9980       back the inverse filter has to be applied to restore the distortion of
9981       the frequency response.
9982
9983       The filter accepts the following options:
9984
9985       level_in
9986           Set input gain.
9987
9988       level_out
9989           Set output gain.
9990
9991       mode
9992           Set filter mode. For restoring material use "reproduction" mode,
9993           otherwise use "production" mode. Default is "reproduction" mode.
9994
9995       type
9996           Set filter type. Selects medium. Can be one of the following:
9997
9998           col select Columbia.
9999
10000           emi select EMI.
10001
10002           bsi select BSI (78RPM).
10003
10004           riaa
10005               select RIAA.
10006
10007           cd  select Compact Disc (CD).
10008
10009           50fm
10010               select 50Xs (FM).
10011
10012           75fm
10013               select 75Xs (FM).
10014
10015           50kf
10016               select 50Xs (FM-KF).
10017
10018           75kf
10019               select 75Xs (FM-KF).
10020
10021       Commands
10022
10023       This filter supports the all above options as commands.
10024
10025   aeval
10026       Modify an audio signal according to the specified expressions.
10027
10028       This filter accepts one or more expressions (one for each channel),
10029       which are evaluated and used to modify a corresponding audio signal.
10030
10031       It accepts the following parameters:
10032
10033       exprs
10034           Set the '|'-separated expressions list for each separate channel.
10035           If the number of input channels is greater than the number of
10036           expressions, the last specified expression is used for the
10037           remaining output channels.
10038
10039       channel_layout, c
10040           Set output channel layout. If not specified, the channel layout is
10041           specified by the number of expressions. If set to same, it will use
10042           by default the same input channel layout.
10043
10044       Each expression in exprs can contain the following constants and
10045       functions:
10046
10047       ch  channel number of the current expression
10048
10049       n   number of the evaluated sample, starting from 0
10050
10051       s   sample rate
10052
10053       t   time of the evaluated sample expressed in seconds
10054
10055       nb_in_channels
10056       nb_out_channels
10057           input and output number of channels
10058
10059       val(CH)
10060           the value of input channel with number CH
10061
10062       Note: this filter is slow. For faster processing you should use a
10063       dedicated filter.
10064
10065       Examples
10066
10067       •   Half volume:
10068
10069                   aeval=val(ch)/2:c=same
10070
10071       •   Invert phase of the second channel:
10072
10073                   aeval=val(0)|-val(1)
10074
10075   aexciter
10076       An exciter is used to produce high sound that is not present in the
10077       original signal. This is done by creating harmonic distortions of the
10078       signal which are restricted in range and added to the original signal.
10079       An Exciter raises the upper end of an audio signal without simply
10080       raising the higher frequencies like an equalizer would do to create a
10081       more "crisp" or "brilliant" sound.
10082
10083       The filter accepts the following options:
10084
10085       level_in
10086           Set input level prior processing of signal.  Allowed range is from
10087           0 to 64.  Default value is 1.
10088
10089       level_out
10090           Set output level after processing of signal.  Allowed range is from
10091           0 to 64.  Default value is 1.
10092
10093       amount
10094           Set the amount of harmonics added to original signal.  Allowed
10095           range is from 0 to 64.  Default value is 1.
10096
10097       drive
10098           Set the amount of newly created harmonics.  Allowed range is from
10099           0.1 to 10.  Default value is 8.5.
10100
10101       blend
10102           Set the octave of newly created harmonics.  Allowed range is from
10103           -10 to 10.  Default value is 0.
10104
10105       freq
10106           Set the lower frequency limit of producing harmonics in Hz.
10107           Allowed range is from 2000 to 12000 Hz.  Default is 7500 Hz.
10108
10109       ceil
10110           Set the upper frequency limit of producing harmonics.  Allowed
10111           range is from 9999 to 20000 Hz.  If value is lower than 10000 Hz no
10112           limit is applied.
10113
10114       listen
10115           Mute the original signal and output only added harmonics.  By
10116           default is disabled.
10117
10118       Commands
10119
10120       This filter supports the all above options as commands.
10121
10122   afade
10123       Apply fade-in/out effect to input audio.
10124
10125       A description of the accepted parameters follows.
10126
10127       type, t
10128           Specify the effect type, can be either "in" for fade-in, or "out"
10129           for a fade-out effect. Default is "in".
10130
10131       start_sample, ss
10132           Specify the number of the start sample for starting to apply the
10133           fade effect. Default is 0.
10134
10135       nb_samples, ns
10136           Specify the number of samples for which the fade effect has to
10137           last. At the end of the fade-in effect the output audio will have
10138           the same volume as the input audio, at the end of the fade-out
10139           transition the output audio will be silence. Default is 44100.
10140
10141       start_time, st
10142           Specify the start time of the fade effect. Default is 0.  The value
10143           must be specified as a time duration; see the Time duration section
10144           in the ffmpeg-utils(1) manual for the accepted syntax.  If set this
10145           option is used instead of start_sample.
10146
10147       duration, d
10148           Specify the duration of the fade effect. See the Time duration
10149           section in the ffmpeg-utils(1) manual for the accepted syntax.  At
10150           the end of the fade-in effect the output audio will have the same
10151           volume as the input audio, at the end of the fade-out transition
10152           the output audio will be silence.  By default the duration is
10153           determined by nb_samples.  If set this option is used instead of
10154           nb_samples.
10155
10156       curve
10157           Set curve for fade transition.
10158
10159           It accepts the following values:
10160
10161           tri select triangular, linear slope (default)
10162
10163           qsin
10164               select quarter of sine wave
10165
10166           hsin
10167               select half of sine wave
10168
10169           esin
10170               select exponential sine wave
10171
10172           log select logarithmic
10173
10174           ipar
10175               select inverted parabola
10176
10177           qua select quadratic
10178
10179           cub select cubic
10180
10181           squ select square root
10182
10183           cbr select cubic root
10184
10185           par select parabola
10186
10187           exp select exponential
10188
10189           iqsin
10190               select inverted quarter of sine wave
10191
10192           ihsin
10193               select inverted half of sine wave
10194
10195           dese
10196               select double-exponential seat
10197
10198           desi
10199               select double-exponential sigmoid
10200
10201           losi
10202               select logistic sigmoid
10203
10204           sinc
10205               select sine cardinal function
10206
10207           isinc
10208               select inverted sine cardinal function
10209
10210           nofade
10211               no fade applied
10212
10213       Commands
10214
10215       This filter supports the all above options as commands.
10216
10217       Examples
10218
10219       •   Fade in first 15 seconds of audio:
10220
10221                   afade=t=in:ss=0:d=15
10222
10223       •   Fade out last 25 seconds of a 900 seconds audio:
10224
10225                   afade=t=out:st=875:d=25
10226
10227   afftdn
10228       Denoise audio samples with FFT.
10229
10230       A description of the accepted parameters follows.
10231
10232       nr  Set the noise reduction in dB, allowed range is 0.01 to 97.
10233           Default value is 12 dB.
10234
10235       nf  Set the noise floor in dB, allowed range is -80 to -20.  Default
10236           value is -50 dB.
10237
10238       nt  Set the noise type.
10239
10240           It accepts the following values:
10241
10242           w   Select white noise.
10243
10244           v   Select vinyl noise.
10245
10246           s   Select shellac noise.
10247
10248           c   Select custom noise, defined in "bn" option.
10249
10250               Default value is white noise.
10251
10252       bn  Set custom band noise for every one of 15 bands.  Bands are
10253           separated by ' ' or '|'.
10254
10255       rf  Set the residual floor in dB, allowed range is -80 to -20.  Default
10256           value is -38 dB.
10257
10258       tn  Enable noise tracking. By default is disabled.  With this enabled,
10259           noise floor is automatically adjusted.
10260
10261       tr  Enable residual tracking. By default is disabled.
10262
10263       om  Set the output mode.
10264
10265           It accepts the following values:
10266
10267           i   Pass input unchanged.
10268
10269           o   Pass noise filtered out.
10270
10271           n   Pass only noise.
10272
10273               Default value is o.
10274
10275       Commands
10276
10277       This filter supports the following commands:
10278
10279       sample_noise, sn
10280           Start or stop measuring noise profile.  Syntax for the command is :
10281           "start" or "stop" string.  After measuring noise profile is stopped
10282           it will be automatically applied in filtering.
10283
10284       noise_reduction, nr
10285           Change noise reduction. Argument is single float number.  Syntax
10286           for the command is : "noise_reduction"
10287
10288       noise_floor, nf
10289           Change noise floor. Argument is single float number.  Syntax for
10290           the command is : "noise_floor"
10291
10292       output_mode, om
10293           Change output mode operation.  Syntax for the command is : "i", "o"
10294           or "n" string.
10295
10296   afftfilt
10297       Apply arbitrary expressions to samples in frequency domain.
10298
10299       real
10300           Set frequency domain real expression for each separate channel
10301           separated by '|'. Default is "re".  If the number of input channels
10302           is greater than the number of expressions, the last specified
10303           expression is used for the remaining output channels.
10304
10305       imag
10306           Set frequency domain imaginary expression for each separate channel
10307           separated by '|'. Default is "im".
10308
10309           Each expression in real and imag can contain the following
10310           constants and functions:
10311
10312           sr  sample rate
10313
10314           b   current frequency bin number
10315
10316           nb  number of available bins
10317
10318           ch  channel number of the current expression
10319
10320           chs number of channels
10321
10322           pts current frame pts
10323
10324           re  current real part of frequency bin of current channel
10325
10326           im  current imaginary part of frequency bin of current channel
10327
10328           real(b, ch)
10329               Return the value of real part of frequency bin at location
10330               (bin,channel)
10331
10332           imag(b, ch)
10333               Return the value of imaginary part of frequency bin at location
10334               (bin,channel)
10335
10336       win_size
10337           Set window size. Allowed range is from 16 to 131072.  Default is
10338           4096
10339
10340       win_func
10341           Set window function.
10342
10343           It accepts the following values:
10344
10345           rect
10346           bartlett
10347           hann, hanning
10348           hamming
10349           blackman
10350           welch
10351           flattop
10352           bharris
10353           bnuttall
10354           bhann
10355           sine
10356           nuttall
10357           lanczos
10358           gauss
10359           tukey
10360           dolph
10361           cauchy
10362           parzen
10363           poisson
10364           bohman
10365
10366           Default is "hann".
10367
10368       overlap
10369           Set window overlap. If set to 1, the recommended overlap for
10370           selected window function will be picked. Default is 0.75.
10371
10372       Examples
10373
10374       •   Leave almost only low frequencies in audio:
10375
10376                   afftfilt="'real=re * (1-clip((b/nb)*b,0,1))':imag='im * (1-clip((b/nb)*b,0,1))'"
10377
10378       •   Apply robotize effect:
10379
10380                   afftfilt="real='hypot(re,im)*sin(0)':imag='hypot(re,im)*cos(0)':win_size=512:overlap=0.75"
10381
10382       •   Apply whisper effect:
10383
10384                   afftfilt="real='hypot(re,im)*cos((random(0)*2-1)*2*3.14)':imag='hypot(re,im)*sin((random(1)*2-1)*2*3.14)':win_size=128:overlap=0.8"
10385
10386   afir
10387       Apply an arbitrary Finite Impulse Response filter.
10388
10389       This filter is designed for applying long FIR filters, up to 60 seconds
10390       long.
10391
10392       It can be used as component for digital crossover filters, room
10393       equalization, cross talk cancellation, wavefield synthesis,
10394       auralization, ambiophonics, ambisonics and spatialization.
10395
10396       This filter uses the streams higher than first one as FIR coefficients.
10397       If the non-first stream holds a single channel, it will be used for all
10398       input channels in the first stream, otherwise the number of channels in
10399       the non-first stream must be same as the number of channels in the
10400       first stream.
10401
10402       It accepts the following parameters:
10403
10404       dry Set dry gain. This sets input gain.
10405
10406       wet Set wet gain. This sets final output gain.
10407
10408       length
10409           Set Impulse Response filter length. Default is 1, which means whole
10410           IR is processed.
10411
10412       gtype
10413           Enable applying gain measured from power of IR.
10414
10415           Set which approach to use for auto gain measurement.
10416
10417           none
10418               Do not apply any gain.
10419
10420           peak
10421               select peak gain, very conservative approach. This is default
10422               value.
10423
10424           dc  select DC gain, limited application.
10425
10426           gn  select gain to noise approach, this is most popular one.
10427
10428       irgain
10429           Set gain to be applied to IR coefficients before filtering.
10430           Allowed range is 0 to 1. This gain is applied after any gain
10431           applied with gtype option.
10432
10433       irfmt
10434           Set format of IR stream. Can be "mono" or "input".  Default is
10435           "input".
10436
10437       maxir
10438           Set max allowed Impulse Response filter duration in seconds.
10439           Default is 30 seconds.  Allowed range is 0.1 to 60 seconds.
10440
10441       response
10442           Show IR frequency response, magnitude(magenta), phase(green) and
10443           group delay(yellow) in additional video stream.  By default it is
10444           disabled.
10445
10446       channel
10447           Set for which IR channel to display frequency response. By default
10448           is first channel displayed. This option is used only when response
10449           is enabled.
10450
10451       size
10452           Set video stream size. This option is used only when response is
10453           enabled.
10454
10455       rate
10456           Set video stream frame rate. This option is used only when response
10457           is enabled.
10458
10459       minp
10460           Set minimal partition size used for convolution. Default is 8192.
10461           Allowed range is from 1 to 32768.  Lower values decreases latency
10462           at cost of higher CPU usage.
10463
10464       maxp
10465           Set maximal partition size used for convolution. Default is 8192.
10466           Allowed range is from 8 to 32768.  Lower values may increase CPU
10467           usage.
10468
10469       nbirs
10470           Set number of input impulse responses streams which will be
10471           switchable at runtime.  Allowed range is from 1 to 32. Default is
10472           1.
10473
10474       ir  Set IR stream which will be used for convolution, starting from 0,
10475           should always be lower than supplied value by "nbirs" option.
10476           Default is 0.  This option can be changed at runtime via commands.
10477
10478       Examples
10479
10480       •   Apply reverb to stream using mono IR file as second input, complete
10481           command using ffmpeg:
10482
10483                   ffmpeg -i input.wav -i middle_tunnel_1way_mono.wav -lavfi afir output.wav
10484
10485   aformat
10486       Set output format constraints for the input audio. The framework will
10487       negotiate the most appropriate format to minimize conversions.
10488
10489       It accepts the following parameters:
10490
10491       sample_fmts, f
10492           A '|'-separated list of requested sample formats.
10493
10494       sample_rates, r
10495           A '|'-separated list of requested sample rates.
10496
10497       channel_layouts, cl
10498           A '|'-separated list of requested channel layouts.
10499
10500           See the Channel Layout section in the ffmpeg-utils(1) manual for
10501           the required syntax.
10502
10503       If a parameter is omitted, all values are allowed.
10504
10505       Force the output to either unsigned 8-bit or signed 16-bit stereo
10506
10507               aformat=sample_fmts=u8|s16:channel_layouts=stereo
10508
10509   afreqshift
10510       Apply frequency shift to input audio samples.
10511
10512       The filter accepts the following options:
10513
10514       shift
10515           Specify frequency shift. Allowed range is -INT_MAX to INT_MAX.
10516           Default value is 0.0.
10517
10518       level
10519           Set output gain applied to final output. Allowed range is from 0.0
10520           to 1.0.  Default value is 1.0.
10521
10522       order
10523           Set filter order used for filtering. Allowed range is from 1 to 16.
10524           Default value is 8.
10525
10526       Commands
10527
10528       This filter supports the all above options as commands.
10529
10530   afwtdn
10531       Reduce broadband noise from input samples using Wavelets.
10532
10533       A description of the accepted options follows.
10534
10535       sigma
10536           Set the noise sigma, allowed range is from 0 to 1.  Default value
10537           is 0.  This option controls strength of denoising applied to input
10538           samples.  Most useful way to set this option is via decibels, eg.
10539           -45dB.
10540
10541       levels
10542           Set the number of wavelet levels of decomposition.  Allowed range
10543           is from 1 to 12.  Default value is 10.  Setting this too low make
10544           denoising performance very poor.
10545
10546       wavet
10547           Set wavelet type for decomposition of input frame.  They are sorted
10548           by number of coefficients, from lowest to highest.  More
10549           coefficients means worse filtering speed, but overall better
10550           quality.  Available wavelets are:
10551
10552           sym2
10553           sym4
10554           rbior68
10555           deb10
10556           sym10
10557           coif5
10558           bl3
10559       percent
10560           Set percent of full denoising. Allowed range is from 0 to 100
10561           percent.  Default value is 85 percent or partial denoising.
10562
10563       profile
10564           If enabled, first input frame will be used as noise profile.  If
10565           first frame samples contain non-noise performance will be very
10566           poor.
10567
10568       adaptive
10569           If enabled, input frames are analyzed for presence of noise.  If
10570           noise is detected with high possibility then input frame profile
10571           will be used for processing following frames, until new noise frame
10572           is detected.
10573
10574       samples
10575           Set size of single frame in number of samples. Allowed range is
10576           from 512 to 65536. Default frame size is 8192 samples.
10577
10578       softness
10579           Set softness applied inside thresholding function. Allowed range is
10580           from 0 to 10. Default softness is 1.
10581
10582       Commands
10583
10584       This filter supports the all above options as commands.
10585
10586   agate
10587       A gate is mainly used to reduce lower parts of a signal. This kind of
10588       signal processing reduces disturbing noise between useful signals.
10589
10590       Gating is done by detecting the volume below a chosen level threshold
10591       and dividing it by the factor set with ratio. The bottom of the noise
10592       floor is set via range. Because an exact manipulation of the signal
10593       would cause distortion of the waveform the reduction can be levelled
10594       over time. This is done by setting attack and release.
10595
10596       attack determines how long the signal has to fall below the threshold
10597       before any reduction will occur and release sets the time the signal
10598       has to rise above the threshold to reduce the reduction again.  Shorter
10599       signals than the chosen attack time will be left untouched.
10600
10601       level_in
10602           Set input level before filtering.  Default is 1. Allowed range is
10603           from 0.015625 to 64.
10604
10605       mode
10606           Set the mode of operation. Can be "upward" or "downward".  Default
10607           is "downward". If set to "upward" mode, higher parts of signal will
10608           be amplified, expanding dynamic range in upward direction.
10609           Otherwise, in case of "downward" lower parts of signal will be
10610           reduced.
10611
10612       range
10613           Set the level of gain reduction when the signal is below the
10614           threshold.  Default is 0.06125. Allowed range is from 0 to 1.
10615           Setting this to 0 disables reduction and then filter behaves like
10616           expander.
10617
10618       threshold
10619           If a signal rises above this level the gain reduction is released.
10620           Default is 0.125. Allowed range is from 0 to 1.
10621
10622       ratio
10623           Set a ratio by which the signal is reduced.  Default is 2. Allowed
10624           range is from 1 to 9000.
10625
10626       attack
10627           Amount of milliseconds the signal has to rise above the threshold
10628           before gain reduction stops.  Default is 20 milliseconds. Allowed
10629           range is from 0.01 to 9000.
10630
10631       release
10632           Amount of milliseconds the signal has to fall below the threshold
10633           before the reduction is increased again. Default is 250
10634           milliseconds.  Allowed range is from 0.01 to 9000.
10635
10636       makeup
10637           Set amount of amplification of signal after processing.  Default is
10638           1. Allowed range is from 1 to 64.
10639
10640       knee
10641           Curve the sharp knee around the threshold to enter gain reduction
10642           more softly.  Default is 2.828427125. Allowed range is from 1 to 8.
10643
10644       detection
10645           Choose if exact signal should be taken for detection or an RMS like
10646           one.  Default is "rms". Can be "peak" or "rms".
10647
10648       link
10649           Choose if the average level between all channels or the louder
10650           channel affects the reduction.  Default is "average". Can be
10651           "average" or "maximum".
10652
10653       Commands
10654
10655       This filter supports the all above options as commands.
10656
10657   aiir
10658       Apply an arbitrary Infinite Impulse Response filter.
10659
10660       It accepts the following parameters:
10661
10662       zeros, z
10663           Set B/numerator/zeros/reflection coefficients.
10664
10665       poles, p
10666           Set A/denominator/poles/ladder coefficients.
10667
10668       gains, k
10669           Set channels gains.
10670
10671       dry_gain
10672           Set input gain.
10673
10674       wet_gain
10675           Set output gain.
10676
10677       format, f
10678           Set coefficients format.
10679
10680           ll  lattice-ladder function
10681
10682           sf  analog transfer function
10683
10684           tf  digital transfer function
10685
10686           zp  Z-plane zeros/poles, cartesian (default)
10687
10688           pr  Z-plane zeros/poles, polar radians
10689
10690           pd  Z-plane zeros/poles, polar degrees
10691
10692           sp  S-plane zeros/poles
10693
10694       process, r
10695           Set type of processing.
10696
10697           d   direct processing
10698
10699           s   serial processing
10700
10701           p   parallel processing
10702
10703       precision, e
10704           Set filtering precision.
10705
10706           dbl double-precision floating-point (default)
10707
10708           flt single-precision floating-point
10709
10710           i32 32-bit integers
10711
10712           i16 16-bit integers
10713
10714       normalize, n
10715           Normalize filter coefficients, by default is enabled.  Enabling it
10716           will normalize magnitude response at DC to 0dB.
10717
10718       mix How much to use filtered signal in output. Default is 1.  Range is
10719           between 0 and 1.
10720
10721       response
10722           Show IR frequency response, magnitude(magenta), phase(green) and
10723           group delay(yellow) in additional video stream.  By default it is
10724           disabled.
10725
10726       channel
10727           Set for which IR channel to display frequency response. By default
10728           is first channel displayed. This option is used only when response
10729           is enabled.
10730
10731       size
10732           Set video stream size. This option is used only when response is
10733           enabled.
10734
10735       Coefficients in "tf" and "sf" format are separated by spaces and are in
10736       ascending order.
10737
10738       Coefficients in "zp" format are separated by spaces and order of
10739       coefficients doesn't matter. Coefficients in "zp" format are complex
10740       numbers with i imaginary unit.
10741
10742       Different coefficients and gains can be provided for every channel, in
10743       such case use '|' to separate coefficients or gains. Last provided
10744       coefficients will be used for all remaining channels.
10745
10746       Examples
10747
10748       •   Apply 2 pole elliptic notch at around 5000Hz for 48000 Hz sample
10749           rate:
10750
10751                   aiir=k=1:z=7.957584807809675810E-1 -2.575128568908332300 3.674839853930788710 -2.57512875289799137 7.957586296317130880E-1:p=1 -2.86950072432325953 3.63022088054647218 -2.28075678147272232 6.361362326477423500E-1:f=tf:r=d
10752
10753       •   Same as above but in "zp" format:
10754
10755                   aiir=k=0.79575848078096756:z=0.80918701+0.58773007i 0.80918701-0.58773007i 0.80884700+0.58784055i 0.80884700-0.58784055i:p=0.63892345+0.59951235i 0.63892345-0.59951235i 0.79582691+0.44198673i 0.79582691-0.44198673i:f=zp:r=s
10756
10757       •   Apply 3-rd order analog normalized Butterworth low-pass filter,
10758           using analog transfer function format:
10759
10760                   aiir=z=1.3057 0 0 0:p=1.3057 2.3892 2.1860 1:f=sf:r=d
10761
10762   alimiter
10763       The limiter prevents an input signal from rising over a desired
10764       threshold.  This limiter uses lookahead technology to prevent your
10765       signal from distorting.  It means that there is a small delay after the
10766       signal is processed. Keep in mind that the delay it produces is the
10767       attack time you set.
10768
10769       The filter accepts the following options:
10770
10771       level_in
10772           Set input gain. Default is 1.
10773
10774       level_out
10775           Set output gain. Default is 1.
10776
10777       limit
10778           Don't let signals above this level pass the limiter. Default is 1.
10779
10780       attack
10781           The limiter will reach its attenuation level in this amount of time
10782           in milliseconds. Default is 5 milliseconds.
10783
10784       release
10785           Come back from limiting to attenuation 1.0 in this amount of
10786           milliseconds.  Default is 50 milliseconds.
10787
10788       asc When gain reduction is always needed ASC takes care of releasing to
10789           an average reduction level rather than reaching a reduction of 0 in
10790           the release time.
10791
10792       asc_level
10793           Select how much the release time is affected by ASC, 0 means nearly
10794           no changes in release time while 1 produces higher release times.
10795
10796       level
10797           Auto level output signal. Default is enabled.  This normalizes
10798           audio back to 0dB if enabled.
10799
10800       Depending on picked setting it is recommended to upsample input 2x or
10801       4x times with aresample before applying this filter.
10802
10803   allpass
10804       Apply a two-pole all-pass filter with central frequency (in Hz)
10805       frequency, and filter-width width.  An all-pass filter changes the
10806       audio's frequency to phase relationship without changing its frequency
10807       to amplitude relationship.
10808
10809       The filter accepts the following options:
10810
10811       frequency, f
10812           Set frequency in Hz.
10813
10814       width_type, t
10815           Set method to specify band-width of filter.
10816
10817           h   Hz
10818
10819           q   Q-Factor
10820
10821           o   octave
10822
10823           s   slope
10824
10825           k   kHz
10826
10827       width, w
10828           Specify the band-width of a filter in width_type units.
10829
10830       mix, m
10831           How much to use filtered signal in output. Default is 1.  Range is
10832           between 0 and 1.
10833
10834       channels, c
10835           Specify which channels to filter, by default all available are
10836           filtered.
10837
10838       normalize, n
10839           Normalize biquad coefficients, by default is disabled.  Enabling it
10840           will normalize magnitude response at DC to 0dB.
10841
10842       order, o
10843           Set the filter order, can be 1 or 2. Default is 2.
10844
10845       transform, a
10846           Set transform type of IIR filter.
10847
10848           di
10849           dii
10850           tdii
10851           latt
10852           svf
10853       precision, r
10854           Set precison of filtering.
10855
10856           auto
10857               Pick automatic sample format depending on surround filters.
10858
10859           s16 Always use signed 16-bit.
10860
10861           s32 Always use signed 32-bit.
10862
10863           f32 Always use float 32-bit.
10864
10865           f64 Always use float 64-bit.
10866
10867       Commands
10868
10869       This filter supports the following commands:
10870
10871       frequency, f
10872           Change allpass frequency.  Syntax for the command is : "frequency"
10873
10874       width_type, t
10875           Change allpass width_type.  Syntax for the command is :
10876           "width_type"
10877
10878       width, w
10879           Change allpass width.  Syntax for the command is : "width"
10880
10881       mix, m
10882           Change allpass mix.  Syntax for the command is : "mix"
10883
10884   aloop
10885       Loop audio samples.
10886
10887       The filter accepts the following options:
10888
10889       loop
10890           Set the number of loops. Setting this value to -1 will result in
10891           infinite loops.  Default is 0.
10892
10893       size
10894           Set maximal number of samples. Default is 0.
10895
10896       start
10897           Set first sample of loop. Default is 0.
10898
10899   amerge
10900       Merge two or more audio streams into a single multi-channel stream.
10901
10902       The filter accepts the following options:
10903
10904       inputs
10905           Set the number of inputs. Default is 2.
10906
10907       If the channel layouts of the inputs are disjoint, and therefore
10908       compatible, the channel layout of the output will be set accordingly
10909       and the channels will be reordered as necessary. If the channel layouts
10910       of the inputs are not disjoint, the output will have all the channels
10911       of the first input then all the channels of the second input, in that
10912       order, and the channel layout of the output will be the default value
10913       corresponding to the total number of channels.
10914
10915       For example, if the first input is in 2.1 (FL+FR+LF) and the second
10916       input is FC+BL+BR, then the output will be in 5.1, with the channels in
10917       the following order: a1, a2, b1, a3, b2, b3 (a1 is the first channel of
10918       the first input, b1 is the first channel of the second input).
10919
10920       On the other hand, if both input are in stereo, the output channels
10921       will be in the default order: a1, a2, b1, b2, and the channel layout
10922       will be arbitrarily set to 4.0, which may or may not be the expected
10923       value.
10924
10925       All inputs must have the same sample rate, and format.
10926
10927       If inputs do not have the same duration, the output will stop with the
10928       shortest.
10929
10930       Examples
10931
10932       •   Merge two mono files into a stereo stream:
10933
10934                   amovie=left.wav [l] ; amovie=right.mp3 [r] ; [l] [r] amerge
10935
10936       •   Multiple merges assuming 1 video stream and 6 audio streams in
10937           input.mkv:
10938
10939                   ffmpeg -i input.mkv -filter_complex "[0:1][0:2][0:3][0:4][0:5][0:6] amerge=inputs=6" -c:a pcm_s16le output.mkv
10940
10941   amix
10942       Mixes multiple audio inputs into a single output.
10943
10944       Note that this filter only supports float samples (the amerge and pan
10945       audio filters support many formats). If the amix input has integer
10946       samples then aresample will be automatically inserted to perform the
10947       conversion to float samples.
10948
10949       For example
10950
10951               ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 OUTPUT
10952
10953       will mix 3 input audio streams to a single output with the same
10954       duration as the first input and a dropout transition time of 3 seconds.
10955
10956       It accepts the following parameters:
10957
10958       inputs
10959           The number of inputs. If unspecified, it defaults to 2.
10960
10961       duration
10962           How to determine the end-of-stream.
10963
10964           longest
10965               The duration of the longest input. (default)
10966
10967           shortest
10968               The duration of the shortest input.
10969
10970           first
10971               The duration of the first input.
10972
10973       dropout_transition
10974           The transition time, in seconds, for volume renormalization when an
10975           input stream ends. The default value is 2 seconds.
10976
10977       weights
10978           Specify weight of each input audio stream as sequence.  Each weight
10979           is separated by space. By default all inputs have same weight.
10980
10981       normalize
10982           Always scale inputs instead of only doing summation of samples.
10983           Beware of heavy clipping if inputs are not normalized prior or
10984           after filtering by this filter if this option is disabled. By
10985           default is enabled.
10986
10987       Commands
10988
10989       This filter supports the following commands:
10990
10991       weights
10992       normalize
10993           Syntax is same as option with same name.
10994
10995   amultiply
10996       Multiply first audio stream with second audio stream and store result
10997       in output audio stream. Multiplication is done by multiplying each
10998       sample from first stream with sample at same position from second
10999       stream.
11000
11001       With this element-wise multiplication one can create amplitude fades
11002       and amplitude modulations.
11003
11004   anequalizer
11005       High-order parametric multiband equalizer for each channel.
11006
11007       It accepts the following parameters:
11008
11009       params
11010           This option string is in format: "cchn f=cf w=w g=g t=f | ..."
11011           Each equalizer band is separated by '|'.
11012
11013           chn Set channel number to which equalization will be applied.  If
11014               input doesn't have that channel the entry is ignored.
11015
11016           f   Set central frequency for band.  If input doesn't have that
11017               frequency the entry is ignored.
11018
11019           w   Set band width in Hertz.
11020
11021           g   Set band gain in dB.
11022
11023           t   Set filter type for band, optional, can be:
11024
11025               0   Butterworth, this is default.
11026
11027               1   Chebyshev type 1.
11028
11029               2   Chebyshev type 2.
11030
11031       curves
11032           With this option activated frequency response of anequalizer is
11033           displayed in video stream.
11034
11035       size
11036           Set video stream size. Only useful if curves option is activated.
11037
11038       mgain
11039           Set max gain that will be displayed. Only useful if curves option
11040           is activated.  Setting this to a reasonable value makes it possible
11041           to display gain which is derived from neighbour bands which are too
11042           close to each other and thus produce higher gain when both are
11043           activated.
11044
11045       fscale
11046           Set frequency scale used to draw frequency response in video
11047           output.  Can be linear or logarithmic. Default is logarithmic.
11048
11049       colors
11050           Set color for each channel curve which is going to be displayed in
11051           video stream.  This is list of color names separated by space or by
11052           '|'.  Unrecognised or missing colors will be replaced by white
11053           color.
11054
11055       Examples
11056
11057       •   Lower gain by 10 of central frequency 200Hz and width 100 Hz for
11058           first 2 channels using Chebyshev type 1 filter:
11059
11060                   anequalizer=c0 f=200 w=100 g=-10 t=1|c1 f=200 w=100 g=-10 t=1
11061
11062       Commands
11063
11064       This filter supports the following commands:
11065
11066       change
11067           Alter existing filter parameters.  Syntax for the commands is :
11068           "fN|f=freq|w=width|g=gain"
11069
11070           fN is existing filter number, starting from 0, if no such filter is
11071           available error is returned.  freq set new frequency parameter.
11072           width set new width parameter in Hertz.  gain set new gain
11073           parameter in dB.
11074
11075           Full filter invocation with asendcmd may look like this:
11076           asendcmd=c='4.0 anequalizer change
11077           0|f=200|w=50|g=1',anequalizer=...
11078
11079   anlmdn
11080       Reduce broadband noise in audio samples using Non-Local Means
11081       algorithm.
11082
11083       Each sample is adjusted by looking for other samples with similar
11084       contexts. This context similarity is defined by comparing their
11085       surrounding patches of size p. Patches are searched in an area of r
11086       around the sample.
11087
11088       The filter accepts the following options:
11089
11090       strength, s
11091           Set denoising strength. Allowed range is from 0.00001 to 10.
11092           Default value is 0.00001.
11093
11094       patch, p
11095           Set patch radius duration. Allowed range is from 1 to 100
11096           milliseconds.  Default value is 2 milliseconds.
11097
11098       research, r
11099           Set research radius duration. Allowed range is from 2 to 300
11100           milliseconds.  Default value is 6 milliseconds.
11101
11102       output, o
11103           Set the output mode.
11104
11105           It accepts the following values:
11106
11107           i   Pass input unchanged.
11108
11109           o   Pass noise filtered out.
11110
11111           n   Pass only noise.
11112
11113               Default value is o.
11114
11115       smooth, m
11116           Set smooth factor. Default value is 11. Allowed range is from 1 to
11117           15.
11118
11119       Commands
11120
11121       This filter supports the all above options as commands.
11122
11123   anlmf, anlms
11124       Apply Normalized Least-Mean-(Squares|Fourth) algorithm to the first
11125       audio stream using the second audio stream.
11126
11127       This adaptive filter is used to mimic a desired filter by finding the
11128       filter coefficients that relate to producing the least mean square of
11129       the error signal (difference between the desired, 2nd input audio
11130       stream and the actual signal, the 1st input audio stream).
11131
11132       A description of the accepted options follows.
11133
11134       order
11135           Set filter order.
11136
11137       mu  Set filter mu.
11138
11139       eps Set the filter eps.
11140
11141       leakage
11142           Set the filter leakage.
11143
11144       out_mode
11145           It accepts the following values:
11146
11147           i   Pass the 1st input.
11148
11149           d   Pass the 2nd input.
11150
11151           o   Pass filtered samples.
11152
11153           n   Pass difference between desired and filtered samples.
11154
11155               Default value is o.
11156
11157       Examples
11158
11159       •   One of many usages of this filter is noise reduction, input audio
11160           is filtered with same samples that are delayed by fixed amount, one
11161           such example for stereo audio is:
11162
11163                   asplit[a][b],[a]adelay=32S|32S[a],[b][a]anlms=order=128:leakage=0.0005:mu=.5:out_mode=o
11164
11165       Commands
11166
11167       This filter supports the same commands as options, excluding option
11168       "order".
11169
11170   anull
11171       Pass the audio source unchanged to the output.
11172
11173   apad
11174       Pad the end of an audio stream with silence.
11175
11176       This can be used together with ffmpeg -shortest to extend audio streams
11177       to the same length as the video stream.
11178
11179       A description of the accepted options follows.
11180
11181       packet_size
11182           Set silence packet size. Default value is 4096.
11183
11184       pad_len
11185           Set the number of samples of silence to add to the end. After the
11186           value is reached, the stream is terminated. This option is mutually
11187           exclusive with whole_len.
11188
11189       whole_len
11190           Set the minimum total number of samples in the output audio stream.
11191           If the value is longer than the input audio length, silence is
11192           added to the end, until the value is reached. This option is
11193           mutually exclusive with pad_len.
11194
11195       pad_dur
11196           Specify the duration of samples of silence to add. See the Time
11197           duration section in the ffmpeg-utils(1) manual for the accepted
11198           syntax. Used only if set to non-negative value.
11199
11200       whole_dur
11201           Specify the minimum total duration in the output audio stream. See
11202           the Time duration section in the ffmpeg-utils(1) manual for the
11203           accepted syntax. Used only if set to non-negative value. If the
11204           value is longer than the input audio length, silence is added to
11205           the end, until the value is reached.  This option is mutually
11206           exclusive with pad_dur
11207
11208       If neither the pad_len nor the whole_len nor pad_dur nor whole_dur
11209       option is set, the filter will add silence to the end of the input
11210       stream indefinitely.
11211
11212       Note that for ffmpeg 4.4 and earlier a zero pad_dur or whole_dur also
11213       caused the filter to add silence indefinitely.
11214
11215       Examples
11216
11217       •   Add 1024 samples of silence to the end of the input:
11218
11219                   apad=pad_len=1024
11220
11221       •   Make sure the audio output will contain at least 10000 samples, pad
11222           the input with silence if required:
11223
11224                   apad=whole_len=10000
11225
11226       •   Use ffmpeg to pad the audio input with silence, so that the video
11227           stream will always result the shortest and will be converted until
11228           the end in the output file when using the shortest option:
11229
11230                   ffmpeg -i VIDEO -i AUDIO -filter_complex "[1:0]apad" -shortest OUTPUT
11231
11232   aphaser
11233       Add a phasing effect to the input audio.
11234
11235       A phaser filter creates series of peaks and troughs in the frequency
11236       spectrum.  The position of the peaks and troughs are modulated so that
11237       they vary over time, creating a sweeping effect.
11238
11239       A description of the accepted parameters follows.
11240
11241       in_gain
11242           Set input gain. Default is 0.4.
11243
11244       out_gain
11245           Set output gain. Default is 0.74
11246
11247       delay
11248           Set delay in milliseconds. Default is 3.0.
11249
11250       decay
11251           Set decay. Default is 0.4.
11252
11253       speed
11254           Set modulation speed in Hz. Default is 0.5.
11255
11256       type
11257           Set modulation type. Default is triangular.
11258
11259           It accepts the following values:
11260
11261           triangular, t
11262           sinusoidal, s
11263
11264   aphaseshift
11265       Apply phase shift to input audio samples.
11266
11267       The filter accepts the following options:
11268
11269       shift
11270           Specify phase shift. Allowed range is from -1.0 to 1.0.  Default
11271           value is 0.0.
11272
11273       level
11274           Set output gain applied to final output. Allowed range is from 0.0
11275           to 1.0.  Default value is 1.0.
11276
11277       order
11278           Set filter order used for filtering. Allowed range is from 1 to 16.
11279           Default value is 8.
11280
11281       Commands
11282
11283       This filter supports the all above options as commands.
11284
11285   apsyclip
11286       Apply Psychoacoustic clipper to input audio stream.
11287
11288       The filter accepts the following options:
11289
11290       level_in
11291           Set input gain. By default it is 1. Range is [0.015625 - 64].
11292
11293       level_out
11294           Set output gain. By default it is 1. Range is [0.015625 - 64].
11295
11296       clip
11297           Set the clipping start value. Default value is 0dBFS or 1.
11298
11299       diff
11300           Output only difference samples, useful to hear introduced
11301           distortions.  By default is disabled.
11302
11303       adaptive
11304           Set strenght of adaptive distortion applied. Default value is 0.5.
11305           Allowed range is from 0 to 1.
11306
11307       iterations
11308           Set number of iterations of psychoacoustic clipper.  Allowed range
11309           is from 1 to 20. Default value is 10.
11310
11311       level
11312           Auto level output signal. Default is disabled.  This normalizes
11313           audio back to 0dBFS if enabled.
11314
11315       Commands
11316
11317       This filter supports the all above options as commands.
11318
11319   apulsator
11320       Audio pulsator is something between an autopanner and a tremolo.  But
11321       it can produce funny stereo effects as well. Pulsator changes the
11322       volume of the left and right channel based on a LFO (low frequency
11323       oscillator) with different waveforms and shifted phases.  This filter
11324       have the ability to define an offset between left and right channel. An
11325       offset of 0 means that both LFO shapes match each other.  The left and
11326       right channel are altered equally - a conventional tremolo.  An offset
11327       of 50% means that the shape of the right channel is exactly shifted in
11328       phase (or moved backwards about half of the frequency) - pulsator acts
11329       as an autopanner. At 1 both curves match again. Every setting in
11330       between moves the phase shift gapless between all stages and produces
11331       some "bypassing" sounds with sine and triangle waveforms. The more you
11332       set the offset near 1 (starting from the 0.5) the faster the signal
11333       passes from the left to the right speaker.
11334
11335       The filter accepts the following options:
11336
11337       level_in
11338           Set input gain. By default it is 1. Range is [0.015625 - 64].
11339
11340       level_out
11341           Set output gain. By default it is 1. Range is [0.015625 - 64].
11342
11343       mode
11344           Set waveform shape the LFO will use. Can be one of: sine, triangle,
11345           square, sawup or sawdown. Default is sine.
11346
11347       amount
11348           Set modulation. Define how much of original signal is affected by
11349           the LFO.
11350
11351       offset_l
11352           Set left channel offset. Default is 0. Allowed range is [0 - 1].
11353
11354       offset_r
11355           Set right channel offset. Default is 0.5. Allowed range is [0 - 1].
11356
11357       width
11358           Set pulse width. Default is 1. Allowed range is [0 - 2].
11359
11360       timing
11361           Set possible timing mode. Can be one of: bpm, ms or hz. Default is
11362           hz.
11363
11364       bpm Set bpm. Default is 120. Allowed range is [30 - 300]. Only used if
11365           timing is set to bpm.
11366
11367       ms  Set ms. Default is 500. Allowed range is [10 - 2000]. Only used if
11368           timing is set to ms.
11369
11370       hz  Set frequency in Hz. Default is 2. Allowed range is [0.01 - 100].
11371           Only used if timing is set to hz.
11372
11373   aresample
11374       Resample the input audio to the specified parameters, using the
11375       libswresample library. If none are specified then the filter will
11376       automatically convert between its input and output.
11377
11378       This filter is also able to stretch/squeeze the audio data to make it
11379       match the timestamps or to inject silence / cut out audio to make it
11380       match the timestamps, do a combination of both or do neither.
11381
11382       The filter accepts the syntax [sample_rate:]resampler_options, where
11383       sample_rate expresses a sample rate and resampler_options is a list of
11384       key=value pairs, separated by ":". See the "Resampler Options" section
11385       in the ffmpeg-resampler(1) manual for the complete list of supported
11386       options.
11387
11388       Examples
11389
11390       •   Resample the input audio to 44100Hz:
11391
11392                   aresample=44100
11393
11394       •   Stretch/squeeze samples to the given timestamps, with a maximum of
11395           1000 samples per second compensation:
11396
11397                   aresample=async=1000
11398
11399   areverse
11400       Reverse an audio clip.
11401
11402       Warning: This filter requires memory to buffer the entire clip, so
11403       trimming is suggested.
11404
11405       Examples
11406
11407       •   Take the first 5 seconds of a clip, and reverse it.
11408
11409                   atrim=end=5,areverse
11410
11411   arnndn
11412       Reduce noise from speech using Recurrent Neural Networks.
11413
11414       This filter accepts the following options:
11415
11416       model, m
11417           Set train model file to load. This option is always required.
11418
11419       mix Set how much to mix filtered samples into final output.  Allowed
11420           range is from -1 to 1. Default value is 1.  Negative values are
11421           special, they set how much to keep filtered noise in the final
11422           filter output. Set this option to -1 to hear actual noise removed
11423           from input signal.
11424
11425       Commands
11426
11427       This filter supports the all above options as commands.
11428
11429   asdr
11430       Measure Audio Signal-to-Distortion Ratio.
11431
11432       This filter takes two audio streams for input, and outputs first audio
11433       stream.  Results are in dB per channel at end of either input.
11434
11435   asetnsamples
11436       Set the number of samples per each output audio frame.
11437
11438       The last output packet may contain a different number of samples, as
11439       the filter will flush all the remaining samples when the input audio
11440       signals its end.
11441
11442       The filter accepts the following options:
11443
11444       nb_out_samples, n
11445           Set the number of frames per each output audio frame. The number is
11446           intended as the number of samples per each channel.  Default value
11447           is 1024.
11448
11449       pad, p
11450           If set to 1, the filter will pad the last audio frame with zeroes,
11451           so that the last frame will contain the same number of samples as
11452           the previous ones. Default value is 1.
11453
11454       For example, to set the number of per-frame samples to 1234 and disable
11455       padding for the last frame, use:
11456
11457               asetnsamples=n=1234:p=0
11458
11459   asetrate
11460       Set the sample rate without altering the PCM data.  This will result in
11461       a change of speed and pitch.
11462
11463       The filter accepts the following options:
11464
11465       sample_rate, r
11466           Set the output sample rate. Default is 44100 Hz.
11467
11468   ashowinfo
11469       Show a line containing various information for each input audio frame.
11470       The input audio is not modified.
11471
11472       The shown line contains a sequence of key/value pairs of the form
11473       key:value.
11474
11475       The following values are shown in the output:
11476
11477       n   The (sequential) number of the input frame, starting from 0.
11478
11479       pts The presentation timestamp of the input frame, in time base units;
11480           the time base depends on the filter input pad, and is usually
11481           1/sample_rate.
11482
11483       pts_time
11484           The presentation timestamp of the input frame in seconds.
11485
11486       pos position of the frame in the input stream, -1 if this information
11487           in unavailable and/or meaningless (for example in case of synthetic
11488           audio)
11489
11490       fmt The sample format.
11491
11492       chlayout
11493           The channel layout.
11494
11495       rate
11496           The sample rate for the audio frame.
11497
11498       nb_samples
11499           The number of samples (per channel) in the frame.
11500
11501       checksum
11502           The Adler-32 checksum (printed in hexadecimal) of the audio data.
11503           For planar audio, the data is treated as if all the planes were
11504           concatenated.
11505
11506       plane_checksums
11507           A list of Adler-32 checksums for each data plane.
11508
11509   asoftclip
11510       Apply audio soft clipping.
11511
11512       Soft clipping is a type of distortion effect where the amplitude of a
11513       signal is saturated along a smooth curve, rather than the abrupt shape
11514       of hard-clipping.
11515
11516       This filter accepts the following options:
11517
11518       type
11519           Set type of soft-clipping.
11520
11521           It accepts the following values:
11522
11523           hard
11524           tanh
11525           atan
11526           cubic
11527           exp
11528           alg
11529           quintic
11530           sin
11531           erf
11532       threshold
11533           Set threshold from where to start clipping. Default value is 0dB or
11534           1.
11535
11536       output
11537           Set gain applied to output. Default value is 0dB or 1.
11538
11539       param
11540           Set additional parameter which controls sigmoid function.
11541
11542       oversample
11543           Set oversampling factor.
11544
11545       Commands
11546
11547       This filter supports the all above options as commands.
11548
11549   aspectralstats
11550       Display frequency domain statistical information about the audio
11551       channels.  Statistics are calculated and stored as metadata for each
11552       audio channel and for each audio frame.
11553
11554       It accepts the following option:
11555
11556       win_size
11557           Set the window length in samples. Default value is 2048.  Allowed
11558           range is from 32 to 65536.
11559
11560       win_func
11561           Set window function.
11562
11563           It accepts the following values:
11564
11565           rect
11566           bartlett
11567           hann, hanning
11568           hamming
11569           blackman
11570           welch
11571           flattop
11572           bharris
11573           bnuttall
11574           bhann
11575           sine
11576           nuttall
11577           lanczos
11578           gauss
11579           tukey
11580           dolph
11581           cauchy
11582           parzen
11583           poisson
11584           bohman
11585
11586           Default is "hann".
11587
11588       overlap
11589           Set window overlap. Allowed range is from 0 to 1. Default value is
11590           0.5.
11591
11592       A list of each metadata key follows:
11593
11594       mean
11595       variance
11596       centroid
11597       spread
11598       skewness
11599       kurtosis
11600       entropy
11601       flatness
11602       crest
11603       flux
11604       slope
11605       decrease
11606       rolloff
11607
11608   asr
11609       Automatic Speech Recognition
11610
11611       This filter uses PocketSphinx for speech recognition. To enable
11612       compilation of this filter, you need to configure FFmpeg with
11613       "--enable-pocketsphinx".
11614
11615       It accepts the following options:
11616
11617       rate
11618           Set sampling rate of input audio. Defaults is 16000.  This need to
11619           match speech models, otherwise one will get poor results.
11620
11621       hmm Set dictionary containing acoustic model files.
11622
11623       dict
11624           Set pronunciation dictionary.
11625
11626       lm  Set language model file.
11627
11628       lmctl
11629           Set language model set.
11630
11631       lmname
11632           Set which language model to use.
11633
11634       logfn
11635           Set output for log messages.
11636
11637       The filter exports recognized speech as the frame metadata
11638       "lavfi.asr.text".
11639
11640   astats
11641       Display time domain statistical information about the audio channels.
11642       Statistics are calculated and displayed for each audio channel and,
11643       where applicable, an overall figure is also given.
11644
11645       It accepts the following option:
11646
11647       length
11648           Short window length in seconds, used for peak and trough RMS
11649           measurement.  Default is 0.05 (50 milliseconds). Allowed range is
11650           "[0 - 10]".
11651
11652       metadata
11653           Set metadata injection. All the metadata keys are prefixed with
11654           "lavfi.astats.X", where "X" is channel number starting from 1 or
11655           string "Overall". Default is disabled.
11656
11657           Available keys for each channel are: DC_offset Min_level Max_level
11658           Min_difference Max_difference Mean_difference RMS_difference
11659           Peak_level RMS_peak RMS_trough Crest_factor Flat_factor Peak_count
11660           Noise_floor Noise_floor_count Entropy Bit_depth Dynamic_range
11661           Zero_crossings Zero_crossings_rate Number_of_NaNs Number_of_Infs
11662           Number_of_denormals
11663
11664           and for Overall: DC_offset Min_level Max_level Min_difference
11665           Max_difference Mean_difference RMS_difference Peak_level RMS_level
11666           RMS_peak RMS_trough Flat_factor Peak_count Noise_floor
11667           Noise_floor_count Entropy Bit_depth Number_of_samples
11668           Number_of_NaNs Number_of_Infs Number_of_denormals
11669
11670           For example full key look like this "lavfi.astats.1.DC_offset" or
11671           this "lavfi.astats.Overall.Peak_count".
11672
11673           For description what each key means read below.
11674
11675       reset
11676           Set the number of frames over which cumulative stats are calculated
11677           before being reset Default is disabled.
11678
11679       measure_perchannel
11680           Select the parameters which are measured per channel. The metadata
11681           keys can be used as flags, default is all which measures
11682           everything.  none disables all per channel measurement.
11683
11684       measure_overall
11685           Select the parameters which are measured overall. The metadata keys
11686           can be used as flags, default is all which measures everything.
11687           none disables all overall measurement.
11688
11689       A description of each shown parameter follows:
11690
11691       DC offset
11692           Mean amplitude displacement from zero.
11693
11694       Min level
11695           Minimal sample level.
11696
11697       Max level
11698           Maximal sample level.
11699
11700       Min difference
11701           Minimal difference between two consecutive samples.
11702
11703       Max difference
11704           Maximal difference between two consecutive samples.
11705
11706       Mean difference
11707           Mean difference between two consecutive samples.  The average of
11708           each difference between two consecutive samples.
11709
11710       RMS difference
11711           Root Mean Square difference between two consecutive samples.
11712
11713       Peak level dB
11714       RMS level dB
11715           Standard peak and RMS level measured in dBFS.
11716
11717       RMS peak dB
11718       RMS trough dB
11719           Peak and trough values for RMS level measured over a short window.
11720
11721       Crest factor
11722           Standard ratio of peak to RMS level (note: not in dB).
11723
11724       Flat factor
11725           Flatness (i.e. consecutive samples with the same value) of the
11726           signal at its peak levels (i.e. either Min level or Max level).
11727
11728       Peak count
11729           Number of occasions (not the number of samples) that the signal
11730           attained either Min level or Max level.
11731
11732       Noise floor dB
11733           Minimum local peak measured in dBFS over a short window.
11734
11735       Noise floor count
11736           Number of occasions (not the number of samples) that the signal
11737           attained Noise floor.
11738
11739       Entropy
11740           Entropy measured across whole audio. Entropy of value near 1.0 is
11741           typically measured for white noise.
11742
11743       Bit depth
11744           Overall bit depth of audio. Number of bits used for each sample.
11745
11746       Dynamic range
11747           Measured dynamic range of audio in dB.
11748
11749       Zero crossings
11750           Number of points where the waveform crosses the zero level axis.
11751
11752       Zero crossings rate
11753           Rate of Zero crossings and number of audio samples.
11754
11755   asubboost
11756       Boost subwoofer frequencies.
11757
11758       The filter accepts the following options:
11759
11760       dry Set dry gain, how much of original signal is kept. Allowed range is
11761           from 0 to 1.  Default value is 0.7.
11762
11763       wet Set wet gain, how much of filtered signal is kept. Allowed range is
11764           from 0 to 1.  Default value is 0.7.
11765
11766       decay
11767           Set delay line decay gain value. Allowed range is from 0 to 1.
11768           Default value is 0.7.
11769
11770       feedback
11771           Set delay line feedback gain value. Allowed range is from 0 to 1.
11772           Default value is 0.9.
11773
11774       cutoff
11775           Set cutoff frequency in Hertz. Allowed range is 50 to 900.  Default
11776           value is 100.
11777
11778       slope
11779           Set slope amount for cutoff frequency. Allowed range is 0.0001 to
11780           1.  Default value is 0.5.
11781
11782       delay
11783           Set delay. Allowed range is from 1 to 100.  Default value is 20.
11784
11785       Commands
11786
11787       This filter supports the all above options as commands.
11788
11789   asubcut
11790       Cut subwoofer frequencies.
11791
11792       This filter allows to set custom, steeper roll off than highpass
11793       filter, and thus is able to more attenuate frequency content in stop-
11794       band.
11795
11796       The filter accepts the following options:
11797
11798       cutoff
11799           Set cutoff frequency in Hertz. Allowed range is 2 to 200.  Default
11800           value is 20.
11801
11802       order
11803           Set filter order. Available values are from 3 to 20.  Default value
11804           is 10.
11805
11806       level
11807           Set input gain level. Allowed range is from 0 to 1. Default value
11808           is 1.
11809
11810       Commands
11811
11812       This filter supports the all above options as commands.
11813
11814   asupercut
11815       Cut super frequencies.
11816
11817       The filter accepts the following options:
11818
11819       cutoff
11820           Set cutoff frequency in Hertz. Allowed range is 20000 to 192000.
11821           Default value is 20000.
11822
11823       order
11824           Set filter order. Available values are from 3 to 20.  Default value
11825           is 10.
11826
11827       level
11828           Set input gain level. Allowed range is from 0 to 1. Default value
11829           is 1.
11830
11831       Commands
11832
11833       This filter supports the all above options as commands.
11834
11835   asuperpass
11836       Apply high order Butterworth band-pass filter.
11837
11838       The filter accepts the following options:
11839
11840       centerf
11841           Set center frequency in Hertz. Allowed range is 2 to 999999.
11842           Default value is 1000.
11843
11844       order
11845           Set filter order. Available values are from 4 to 20.  Default value
11846           is 4.
11847
11848       qfactor
11849           Set Q-factor. Allowed range is from 0.01 to 100. Default value is
11850           1.
11851
11852       level
11853           Set input gain level. Allowed range is from 0 to 2. Default value
11854           is 1.
11855
11856       Commands
11857
11858       This filter supports the all above options as commands.
11859
11860   asuperstop
11861       Apply high order Butterworth band-stop filter.
11862
11863       The filter accepts the following options:
11864
11865       centerf
11866           Set center frequency in Hertz. Allowed range is 2 to 999999.
11867           Default value is 1000.
11868
11869       order
11870           Set filter order. Available values are from 4 to 20.  Default value
11871           is 4.
11872
11873       qfactor
11874           Set Q-factor. Allowed range is from 0.01 to 100. Default value is
11875           1.
11876
11877       level
11878           Set input gain level. Allowed range is from 0 to 2. Default value
11879           is 1.
11880
11881       Commands
11882
11883       This filter supports the all above options as commands.
11884
11885   atempo
11886       Adjust audio tempo.
11887
11888       The filter accepts exactly one parameter, the audio tempo. If not
11889       specified then the filter will assume nominal 1.0 tempo. Tempo must be
11890       in the [0.5, 100.0] range.
11891
11892       Note that tempo greater than 2 will skip some samples rather than blend
11893       them in.  If for any reason this is a concern it is always possible to
11894       daisy-chain several instances of atempo to achieve the desired product
11895       tempo.
11896
11897       Examples
11898
11899       •   Slow down audio to 80% tempo:
11900
11901                   atempo=0.8
11902
11903       •   To speed up audio to 300% tempo:
11904
11905                   atempo=3
11906
11907       •   To speed up audio to 300% tempo by daisy-chaining two atempo
11908           instances:
11909
11910                   atempo=sqrt(3),atempo=sqrt(3)
11911
11912       Commands
11913
11914       This filter supports the following commands:
11915
11916       tempo
11917           Change filter tempo scale factor.  Syntax for the command is :
11918           "tempo"
11919
11920   atilt
11921       Apply spectral tilt filter to audio stream.
11922
11923       This filter apply any spectral roll-off slope over any specified
11924       frequency band.
11925
11926       The filter accepts the following options:
11927
11928       freq
11929           Set central frequency of tilt in Hz. Default is 10000 Hz.
11930
11931       slope
11932           Set slope direction of tilt. Default is 0. Allowed range is from -1
11933           to 1.
11934
11935       width
11936           Set width of tilt. Default is 1000. Allowed range is from 100 to
11937           10000.
11938
11939       order
11940           Set order of tilt filter.
11941
11942       level
11943           Set input volume level. Allowed range is from 0 to 4.  Defalt is 1.
11944
11945       Commands
11946
11947       This filter supports the all above options as commands.
11948
11949   atrim
11950       Trim the input so that the output contains one continuous subpart of
11951       the input.
11952
11953       It accepts the following parameters:
11954
11955       start
11956           Timestamp (in seconds) of the start of the section to keep. I.e.
11957           the audio sample with the timestamp start will be the first sample
11958           in the output.
11959
11960       end Specify time of the first audio sample that will be dropped, i.e.
11961           the audio sample immediately preceding the one with the timestamp
11962           end will be the last sample in the output.
11963
11964       start_pts
11965           Same as start, except this option sets the start timestamp in
11966           samples instead of seconds.
11967
11968       end_pts
11969           Same as end, except this option sets the end timestamp in samples
11970           instead of seconds.
11971
11972       duration
11973           The maximum duration of the output in seconds.
11974
11975       start_sample
11976           The number of the first sample that should be output.
11977
11978       end_sample
11979           The number of the first sample that should be dropped.
11980
11981       start, end, and duration are expressed as time duration specifications;
11982       see the Time duration section in the ffmpeg-utils(1) manual.
11983
11984       Note that the first two sets of the start/end options and the duration
11985       option look at the frame timestamp, while the _sample options simply
11986       count the samples that pass through the filter. So start/end_pts and
11987       start/end_sample will give different results when the timestamps are
11988       wrong, inexact or do not start at zero. Also note that this filter does
11989       not modify the timestamps. If you wish to have the output timestamps
11990       start at zero, insert the asetpts filter after the atrim filter.
11991
11992       If multiple start or end options are set, this filter tries to be
11993       greedy and keep all samples that match at least one of the specified
11994       constraints. To keep only the part that matches all the constraints at
11995       once, chain multiple atrim filters.
11996
11997       The defaults are such that all the input is kept. So it is possible to
11998       set e.g.  just the end values to keep everything before the specified
11999       time.
12000
12001       Examples:
12002
12003       •   Drop everything except the second minute of input:
12004
12005                   ffmpeg -i INPUT -af atrim=60:120
12006
12007       •   Keep only the first 1000 samples:
12008
12009                   ffmpeg -i INPUT -af atrim=end_sample=1000
12010
12011   axcorrelate
12012       Calculate normalized windowed cross-correlation between two input audio
12013       streams.
12014
12015       Resulted samples are always between -1 and 1 inclusive.  If result is 1
12016       it means two input samples are highly correlated in that selected
12017       segment.  Result 0 means they are not correlated at all.  If result is
12018       -1 it means two input samples are out of phase, which means they cancel
12019       each other.
12020
12021       The filter accepts the following options:
12022
12023       size
12024           Set size of segment over which cross-correlation is calculated.
12025           Default is 256. Allowed range is from 2 to 131072.
12026
12027       algo
12028           Set algorithm for cross-correlation. Can be "slow" or "fast".
12029           Default is "slow". Fast algorithm assumes mean values over any
12030           given segment are always zero and thus need much less calculations
12031           to make.  This is generally not true, but is valid for typical
12032           audio streams.
12033
12034       Examples
12035
12036       •   Calculate correlation between channels in stereo audio stream:
12037
12038                   ffmpeg -i stereo.wav -af channelsplit,axcorrelate=size=1024:algo=fast correlation.wav
12039
12040   bandpass
12041       Apply a two-pole Butterworth band-pass filter with central frequency
12042       frequency, and (3dB-point) band-width width.  The csg option selects a
12043       constant skirt gain (peak gain = Q) instead of the default: constant
12044       0dB peak gain.  The filter roll off at 6dB per octave (20dB per
12045       decade).
12046
12047       The filter accepts the following options:
12048
12049       frequency, f
12050           Set the filter's central frequency. Default is 3000.
12051
12052       csg Constant skirt gain if set to 1. Defaults to 0.
12053
12054       width_type, t
12055           Set method to specify band-width of filter.
12056
12057           h   Hz
12058
12059           q   Q-Factor
12060
12061           o   octave
12062
12063           s   slope
12064
12065           k   kHz
12066
12067       width, w
12068           Specify the band-width of a filter in width_type units.
12069
12070       mix, m
12071           How much to use filtered signal in output. Default is 1.  Range is
12072           between 0 and 1.
12073
12074       channels, c
12075           Specify which channels to filter, by default all available are
12076           filtered.
12077
12078       normalize, n
12079           Normalize biquad coefficients, by default is disabled.  Enabling it
12080           will normalize magnitude response at DC to 0dB.
12081
12082       transform, a
12083           Set transform type of IIR filter.
12084
12085           di
12086           dii
12087           tdii
12088           latt
12089           svf
12090       precision, r
12091           Set precison of filtering.
12092
12093           auto
12094               Pick automatic sample format depending on surround filters.
12095
12096           s16 Always use signed 16-bit.
12097
12098           s32 Always use signed 32-bit.
12099
12100           f32 Always use float 32-bit.
12101
12102           f64 Always use float 64-bit.
12103
12104       Commands
12105
12106       This filter supports the following commands:
12107
12108       frequency, f
12109           Change bandpass frequency.  Syntax for the command is : "frequency"
12110
12111       width_type, t
12112           Change bandpass width_type.  Syntax for the command is :
12113           "width_type"
12114
12115       width, w
12116           Change bandpass width.  Syntax for the command is : "width"
12117
12118       mix, m
12119           Change bandpass mix.  Syntax for the command is : "mix"
12120
12121   bandreject
12122       Apply a two-pole Butterworth band-reject filter with central frequency
12123       frequency, and (3dB-point) band-width width.  The filter roll off at
12124       6dB per octave (20dB per decade).
12125
12126       The filter accepts the following options:
12127
12128       frequency, f
12129           Set the filter's central frequency. Default is 3000.
12130
12131       width_type, t
12132           Set method to specify band-width of filter.
12133
12134           h   Hz
12135
12136           q   Q-Factor
12137
12138           o   octave
12139
12140           s   slope
12141
12142           k   kHz
12143
12144       width, w
12145           Specify the band-width of a filter in width_type units.
12146
12147       mix, m
12148           How much to use filtered signal in output. Default is 1.  Range is
12149           between 0 and 1.
12150
12151       channels, c
12152           Specify which channels to filter, by default all available are
12153           filtered.
12154
12155       normalize, n
12156           Normalize biquad coefficients, by default is disabled.  Enabling it
12157           will normalize magnitude response at DC to 0dB.
12158
12159       transform, a
12160           Set transform type of IIR filter.
12161
12162           di
12163           dii
12164           tdii
12165           latt
12166           svf
12167       precision, r
12168           Set precison of filtering.
12169
12170           auto
12171               Pick automatic sample format depending on surround filters.
12172
12173           s16 Always use signed 16-bit.
12174
12175           s32 Always use signed 32-bit.
12176
12177           f32 Always use float 32-bit.
12178
12179           f64 Always use float 64-bit.
12180
12181       Commands
12182
12183       This filter supports the following commands:
12184
12185       frequency, f
12186           Change bandreject frequency.  Syntax for the command is :
12187           "frequency"
12188
12189       width_type, t
12190           Change bandreject width_type.  Syntax for the command is :
12191           "width_type"
12192
12193       width, w
12194           Change bandreject width.  Syntax for the command is : "width"
12195
12196       mix, m
12197           Change bandreject mix.  Syntax for the command is : "mix"
12198
12199   bass, lowshelf
12200       Boost or cut the bass (lower) frequencies of the audio using a two-pole
12201       shelving filter with a response similar to that of a standard hi-fi's
12202       tone-controls. This is also known as shelving equalisation (EQ).
12203
12204       The filter accepts the following options:
12205
12206       gain, g
12207           Give the gain at 0 Hz. Its useful range is about -20 (for a large
12208           cut) to +20 (for a large boost).  Beware of clipping when using a
12209           positive gain.
12210
12211       frequency, f
12212           Set the filter's central frequency and so can be used to extend or
12213           reduce the frequency range to be boosted or cut.  The default value
12214           is 100 Hz.
12215
12216       width_type, t
12217           Set method to specify band-width of filter.
12218
12219           h   Hz
12220
12221           q   Q-Factor
12222
12223           o   octave
12224
12225           s   slope
12226
12227           k   kHz
12228
12229       width, w
12230           Determine how steep is the filter's shelf transition.
12231
12232       poles, p
12233           Set number of poles. Default is 2.
12234
12235       mix, m
12236           How much to use filtered signal in output. Default is 1.  Range is
12237           between 0 and 1.
12238
12239       channels, c
12240           Specify which channels to filter, by default all available are
12241           filtered.
12242
12243       normalize, n
12244           Normalize biquad coefficients, by default is disabled.  Enabling it
12245           will normalize magnitude response at DC to 0dB.
12246
12247       transform, a
12248           Set transform type of IIR filter.
12249
12250           di
12251           dii
12252           tdii
12253           latt
12254           svf
12255       precision, r
12256           Set precison of filtering.
12257
12258           auto
12259               Pick automatic sample format depending on surround filters.
12260
12261           s16 Always use signed 16-bit.
12262
12263           s32 Always use signed 32-bit.
12264
12265           f32 Always use float 32-bit.
12266
12267           f64 Always use float 64-bit.
12268
12269       Commands
12270
12271       This filter supports the following commands:
12272
12273       frequency, f
12274           Change bass frequency.  Syntax for the command is : "frequency"
12275
12276       width_type, t
12277           Change bass width_type.  Syntax for the command is : "width_type"
12278
12279       width, w
12280           Change bass width.  Syntax for the command is : "width"
12281
12282       gain, g
12283           Change bass gain.  Syntax for the command is : "gain"
12284
12285       mix, m
12286           Change bass mix.  Syntax for the command is : "mix"
12287
12288   biquad
12289       Apply a biquad IIR filter with the given coefficients.  Where b0, b1,
12290       b2 and a0, a1, a2 are the numerator and denominator coefficients
12291       respectively.  and channels, c specify which channels to filter, by
12292       default all available are filtered.
12293
12294       Commands
12295
12296       This filter supports the following commands:
12297
12298       a0
12299       a1
12300       a2
12301       b0
12302       b1
12303       b2  Change biquad parameter.  Syntax for the command is : "value"
12304
12305       mix, m
12306           How much to use filtered signal in output. Default is 1.  Range is
12307           between 0 and 1.
12308
12309       channels, c
12310           Specify which channels to filter, by default all available are
12311           filtered.
12312
12313       normalize, n
12314           Normalize biquad coefficients, by default is disabled.  Enabling it
12315           will normalize magnitude response at DC to 0dB.
12316
12317       transform, a
12318           Set transform type of IIR filter.
12319
12320           di
12321           dii
12322           tdii
12323           latt
12324           svf
12325       precision, r
12326           Set precison of filtering.
12327
12328           auto
12329               Pick automatic sample format depending on surround filters.
12330
12331           s16 Always use signed 16-bit.
12332
12333           s32 Always use signed 32-bit.
12334
12335           f32 Always use float 32-bit.
12336
12337           f64 Always use float 64-bit.
12338
12339   bs2b
12340       Bauer stereo to binaural transformation, which improves headphone
12341       listening of stereo audio records.
12342
12343       To enable compilation of this filter you need to configure FFmpeg with
12344       "--enable-libbs2b".
12345
12346       It accepts the following parameters:
12347
12348       profile
12349           Pre-defined crossfeed level.
12350
12351           default
12352               Default level (fcut=700, feed=50).
12353
12354           cmoy
12355               Chu Moy circuit (fcut=700, feed=60).
12356
12357           jmeier
12358               Jan Meier circuit (fcut=650, feed=95).
12359
12360       fcut
12361           Cut frequency (in Hz).
12362
12363       feed
12364           Feed level (in Hz).
12365
12366   channelmap
12367       Remap input channels to new locations.
12368
12369       It accepts the following parameters:
12370
12371       map Map channels from input to output. The argument is a '|'-separated
12372           list of mappings, each in the "in_channel-out_channel" or
12373           in_channel form. in_channel can be either the name of the input
12374           channel (e.g. FL for front left) or its index in the input channel
12375           layout.  out_channel is the name of the output channel or its index
12376           in the output channel layout. If out_channel is not given then it
12377           is implicitly an index, starting with zero and increasing by one
12378           for each mapping.
12379
12380       channel_layout
12381           The channel layout of the output stream.
12382
12383       If no mapping is present, the filter will implicitly map input channels
12384       to output channels, preserving indices.
12385
12386       Examples
12387
12388       •   For example, assuming a 5.1+downmix input MOV file,
12389
12390                   ffmpeg -i in.mov -filter 'channelmap=map=DL-FL|DR-FR' out.wav
12391
12392           will create an output WAV file tagged as stereo from the downmix
12393           channels of the input.
12394
12395       •   To fix a 5.1 WAV improperly encoded in AAC's native channel order
12396
12397                   ffmpeg -i in.wav -filter 'channelmap=1|2|0|5|3|4:5.1' out.wav
12398
12399   channelsplit
12400       Split each channel from an input audio stream into a separate output
12401       stream.
12402
12403       It accepts the following parameters:
12404
12405       channel_layout
12406           The channel layout of the input stream. The default is "stereo".
12407
12408       channels
12409           A channel layout describing the channels to be extracted as
12410           separate output streams or "all" to extract each input channel as a
12411           separate stream. The default is "all".
12412
12413           Choosing channels not present in channel layout in the input will
12414           result in an error.
12415
12416       Examples
12417
12418       •   For example, assuming a stereo input MP3 file,
12419
12420                   ffmpeg -i in.mp3 -filter_complex channelsplit out.mkv
12421
12422           will create an output Matroska file with two audio streams, one
12423           containing only the left channel and the other the right channel.
12424
12425       •   Split a 5.1 WAV file into per-channel files:
12426
12427                   ffmpeg -i in.wav -filter_complex
12428                   'channelsplit=channel_layout=5.1[FL][FR][FC][LFE][SL][SR]'
12429                   -map '[FL]' front_left.wav -map '[FR]' front_right.wav -map '[FC]'
12430                   front_center.wav -map '[LFE]' lfe.wav -map '[SL]' side_left.wav -map '[SR]'
12431                   side_right.wav
12432
12433       •   Extract only LFE from a 5.1 WAV file:
12434
12435                   ffmpeg -i in.wav -filter_complex 'channelsplit=channel_layout=5.1:channels=LFE[LFE]'
12436                   -map '[LFE]' lfe.wav
12437
12438   chorus
12439       Add a chorus effect to the audio.
12440
12441       Can make a single vocal sound like a chorus, but can also be applied to
12442       instrumentation.
12443
12444       Chorus resembles an echo effect with a short delay, but whereas with
12445       echo the delay is constant, with chorus, it is varied using using
12446       sinusoidal or triangular modulation.  The modulation depth defines the
12447       range the modulated delay is played before or after the delay. Hence
12448       the delayed sound will sound slower or faster, that is the delayed
12449       sound tuned around the original one, like in a chorus where some vocals
12450       are slightly off key.
12451
12452       It accepts the following parameters:
12453
12454       in_gain
12455           Set input gain. Default is 0.4.
12456
12457       out_gain
12458           Set output gain. Default is 0.4.
12459
12460       delays
12461           Set delays. A typical delay is around 40ms to 60ms.
12462
12463       decays
12464           Set decays.
12465
12466       speeds
12467           Set speeds.
12468
12469       depths
12470           Set depths.
12471
12472       Examples
12473
12474       •   A single delay:
12475
12476                   chorus=0.7:0.9:55:0.4:0.25:2
12477
12478       •   Two delays:
12479
12480                   chorus=0.6:0.9:50|60:0.4|0.32:0.25|0.4:2|1.3
12481
12482       •   Fuller sounding chorus with three delays:
12483
12484                   chorus=0.5:0.9:50|60|40:0.4|0.32|0.3:0.25|0.4|0.3:2|2.3|1.3
12485
12486   compand
12487       Compress or expand the audio's dynamic range.
12488
12489       It accepts the following parameters:
12490
12491       attacks
12492       decays
12493           A list of times in seconds for each channel over which the
12494           instantaneous level of the input signal is averaged to determine
12495           its volume. attacks refers to increase of volume and decays refers
12496           to decrease of volume. For most situations, the attack time
12497           (response to the audio getting louder) should be shorter than the
12498           decay time, because the human ear is more sensitive to sudden loud
12499           audio than sudden soft audio. A typical value for attack is 0.3
12500           seconds and a typical value for decay is 0.8 seconds.  If specified
12501           number of attacks & decays is lower than number of channels, the
12502           last set attack/decay will be used for all remaining channels.
12503
12504       points
12505           A list of points for the transfer function, specified in dB
12506           relative to the maximum possible signal amplitude. Each key points
12507           list must be defined using the following syntax:
12508           "x0/y0|x1/y1|x2/y2|...." or "x0/y0 x1/y1 x2/y2 ...."
12509
12510           The input values must be in strictly increasing order but the
12511           transfer function does not have to be monotonically rising. The
12512           point "0/0" is assumed but may be overridden (by "0/out-dBn").
12513           Typical values for the transfer function are "-70/-70|-60/-20|1/0".
12514
12515       soft-knee
12516           Set the curve radius in dB for all joints. It defaults to 0.01.
12517
12518       gain
12519           Set the additional gain in dB to be applied at all points on the
12520           transfer function. This allows for easy adjustment of the overall
12521           gain.  It defaults to 0.
12522
12523       volume
12524           Set an initial volume, in dB, to be assumed for each channel when
12525           filtering starts. This permits the user to supply a nominal level
12526           initially, so that, for example, a very large gain is not applied
12527           to initial signal levels before the companding has begun to
12528           operate. A typical value for audio which is initially quiet is -90
12529           dB. It defaults to 0.
12530
12531       delay
12532           Set a delay, in seconds. The input audio is analyzed immediately,
12533           but audio is delayed before being fed to the volume adjuster.
12534           Specifying a delay approximately equal to the attack/decay times
12535           allows the filter to effectively operate in predictive rather than
12536           reactive mode. It defaults to 0.
12537
12538       Examples
12539
12540       •   Make music with both quiet and loud passages suitable for listening
12541           to in a noisy environment:
12542
12543                   compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2
12544
12545           Another example for audio with whisper and explosion parts:
12546
12547                   compand=0|0:1|1:-90/-900|-70/-70|-30/-9|0/-3:6:0:0:0
12548
12549       •   A noise gate for when the noise is at a lower level than the
12550           signal:
12551
12552                   compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1
12553
12554       •   Here is another noise gate, this time for when the noise is at a
12555           higher level than the signal (making it, in some ways, similar to
12556           squelch):
12557
12558                   compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1
12559
12560       •   2:1 compression starting at -6dB:
12561
12562                   compand=points=-80/-80|-6/-6|0/-3.8|20/3.5
12563
12564       •   2:1 compression starting at -9dB:
12565
12566                   compand=points=-80/-80|-9/-9|0/-5.3|20/2.9
12567
12568       •   2:1 compression starting at -12dB:
12569
12570                   compand=points=-80/-80|-12/-12|0/-6.8|20/1.9
12571
12572       •   2:1 compression starting at -18dB:
12573
12574                   compand=points=-80/-80|-18/-18|0/-9.8|20/0.7
12575
12576       •   3:1 compression starting at -15dB:
12577
12578                   compand=points=-80/-80|-15/-15|0/-10.8|20/-5.2
12579
12580       •   Compressor/Gate:
12581
12582                   compand=points=-80/-105|-62/-80|-15.4/-15.4|0/-12|20/-7.6
12583
12584       •   Expander:
12585
12586                   compand=attacks=0:points=-80/-169|-54/-80|-49.5/-64.6|-41.1/-41.1|-25.8/-15|-10.8/-4.5|0/0|20/8.3
12587
12588       •   Hard limiter at -6dB:
12589
12590                   compand=attacks=0:points=-80/-80|-6/-6|20/-6
12591
12592       •   Hard limiter at -12dB:
12593
12594                   compand=attacks=0:points=-80/-80|-12/-12|20/-12
12595
12596       •   Hard noise gate at -35 dB:
12597
12598                   compand=attacks=0:points=-80/-115|-35.1/-80|-35/-35|20/20
12599
12600       •   Soft limiter:
12601
12602                   compand=attacks=0:points=-80/-80|-12.4/-12.4|-6/-8|0/-6.8|20/-2.8
12603
12604   compensationdelay
12605       Compensation Delay Line is a metric based delay to compensate differing
12606       positions of microphones or speakers.
12607
12608       For example, you have recorded guitar with two microphones placed in
12609       different locations. Because the front of sound wave has fixed speed in
12610       normal conditions, the phasing of microphones can vary and depends on
12611       their location and interposition. The best sound mix can be achieved
12612       when these microphones are in phase (synchronized). Note that a
12613       distance of ~30 cm between microphones makes one microphone capture the
12614       signal in antiphase to the other microphone. That makes the final mix
12615       sound moody.  This filter helps to solve phasing problems by adding
12616       different delays to each microphone track and make them synchronized.
12617
12618       The best result can be reached when you take one track as base and
12619       synchronize other tracks one by one with it.  Remember that
12620       synchronization/delay tolerance depends on sample rate, too.  Higher
12621       sample rates will give more tolerance.
12622
12623       The filter accepts the following parameters:
12624
12625       mm  Set millimeters distance. This is compensation distance for fine
12626           tuning.  Default is 0.
12627
12628       cm  Set cm distance. This is compensation distance for tightening
12629           distance setup.  Default is 0.
12630
12631       m   Set meters distance. This is compensation distance for hard
12632           distance setup.  Default is 0.
12633
12634       dry Set dry amount. Amount of unprocessed (dry) signal.  Default is 0.
12635
12636       wet Set wet amount. Amount of processed (wet) signal.  Default is 1.
12637
12638       temp
12639           Set temperature in degrees Celsius. This is the temperature of the
12640           environment.  Default is 20.
12641
12642   crossfeed
12643       Apply headphone crossfeed filter.
12644
12645       Crossfeed is the process of blending the left and right channels of
12646       stereo audio recording.  It is mainly used to reduce extreme stereo
12647       separation of low frequencies.
12648
12649       The intent is to produce more speaker like sound to the listener.
12650
12651       The filter accepts the following options:
12652
12653       strength
12654           Set strength of crossfeed. Default is 0.2. Allowed range is from 0
12655           to 1.  This sets gain of low shelf filter for side part of stereo
12656           image.  Default is -6dB. Max allowed is -30db when strength is set
12657           to 1.
12658
12659       range
12660           Set soundstage wideness. Default is 0.5. Allowed range is from 0 to
12661           1.  This sets cut off frequency of low shelf filter. Default is cut
12662           off near 1550 Hz. With range set to 1 cut off frequency is set to
12663           2100 Hz.
12664
12665       slope
12666           Set curve slope of low shelf filter. Default is 0.5.  Allowed range
12667           is from 0.01 to 1.
12668
12669       level_in
12670           Set input gain. Default is 0.9.
12671
12672       level_out
12673           Set output gain. Default is 1.
12674
12675       Commands
12676
12677       This filter supports the all above options as commands.
12678
12679   crystalizer
12680       Simple algorithm for audio noise sharpening.
12681
12682       This filter linearly increases differences betweeen each audio sample.
12683
12684       The filter accepts the following options:
12685
12686       i   Sets the intensity of effect (default: 2.0). Must be in range
12687           between -10.0 to 0 (unchanged sound) to 10.0 (maximum effect).  To
12688           inverse filtering use negative value.
12689
12690       c   Enable clipping. By default is enabled.
12691
12692       Commands
12693
12694       This filter supports the all above options as commands.
12695
12696   dcshift
12697       Apply a DC shift to the audio.
12698
12699       This can be useful to remove a DC offset (caused perhaps by a hardware
12700       problem in the recording chain) from the audio. The effect of a DC
12701       offset is reduced headroom and hence volume. The astats filter can be
12702       used to determine if a signal has a DC offset.
12703
12704       shift
12705           Set the DC shift, allowed range is [-1, 1]. It indicates the amount
12706           to shift the audio.
12707
12708       limitergain
12709           Optional. It should have a value much less than 1 (e.g. 0.05 or
12710           0.02) and is used to prevent clipping.
12711
12712   deesser
12713       Apply de-essing to the audio samples.
12714
12715       i   Set intensity for triggering de-essing. Allowed range is from 0 to
12716           1.  Default is 0.
12717
12718       m   Set amount of ducking on treble part of sound. Allowed range is
12719           from 0 to 1.  Default is 0.5.
12720
12721       f   How much of original frequency content to keep when de-essing.
12722           Allowed range is from 0 to 1.  Default is 0.5.
12723
12724       s   Set the output mode.
12725
12726           It accepts the following values:
12727
12728           i   Pass input unchanged.
12729
12730           o   Pass ess filtered out.
12731
12732           e   Pass only ess.
12733
12734               Default value is o.
12735
12736   drmeter
12737       Measure audio dynamic range.
12738
12739       DR values of 14 and higher is found in very dynamic material. DR of 8
12740       to 13 is found in transition material. And anything less that 8 have
12741       very poor dynamics and is very compressed.
12742
12743       The filter accepts the following options:
12744
12745       length
12746           Set window length in seconds used to split audio into segments of
12747           equal length.  Default is 3 seconds.
12748
12749   dynaudnorm
12750       Dynamic Audio Normalizer.
12751
12752       This filter applies a certain amount of gain to the input audio in
12753       order to bring its peak magnitude to a target level (e.g. 0 dBFS).
12754       However, in contrast to more "simple" normalization algorithms, the
12755       Dynamic Audio Normalizer *dynamically* re-adjusts the gain factor to
12756       the input audio.  This allows for applying extra gain to the "quiet"
12757       sections of the audio while avoiding distortions or clipping the "loud"
12758       sections. In other words: The Dynamic Audio Normalizer will "even out"
12759       the volume of quiet and loud sections, in the sense that the volume of
12760       each section is brought to the same target level. Note, however, that
12761       the Dynamic Audio Normalizer achieves this goal *without* applying
12762       "dynamic range compressing". It will retain 100% of the dynamic range
12763       *within* each section of the audio file.
12764
12765       framelen, f
12766           Set the frame length in milliseconds. In range from 10 to 8000
12767           milliseconds.  Default is 500 milliseconds.  The Dynamic Audio
12768           Normalizer processes the input audio in small chunks, referred to
12769           as frames. This is required, because a peak magnitude has no
12770           meaning for just a single sample value. Instead, we need to
12771           determine the peak magnitude for a contiguous sequence of sample
12772           values. While a "standard" normalizer would simply use the peak
12773           magnitude of the complete file, the Dynamic Audio Normalizer
12774           determines the peak magnitude individually for each frame. The
12775           length of a frame is specified in milliseconds. By default, the
12776           Dynamic Audio Normalizer uses a frame length of 500 milliseconds,
12777           which has been found to give good results with most files.  Note
12778           that the exact frame length, in number of samples, will be
12779           determined automatically, based on the sampling rate of the
12780           individual input audio file.
12781
12782       gausssize, g
12783           Set the Gaussian filter window size. In range from 3 to 301, must
12784           be odd number. Default is 31.  Probably the most important
12785           parameter of the Dynamic Audio Normalizer is the "window size" of
12786           the Gaussian smoothing filter. The filter's window size is
12787           specified in frames, centered around the current frame. For the
12788           sake of simplicity, this must be an odd number. Consequently, the
12789           default value of 31 takes into account the current frame, as well
12790           as the 15 preceding frames and the 15 subsequent frames. Using a
12791           larger window results in a stronger smoothing effect and thus in
12792           less gain variation, i.e. slower gain adaptation. Conversely, using
12793           a smaller window results in a weaker smoothing effect and thus in
12794           more gain variation, i.e. faster gain adaptation.  In other words,
12795           the more you increase this value, the more the Dynamic Audio
12796           Normalizer will behave like a "traditional" normalization filter.
12797           On the contrary, the more you decrease this value, the more the
12798           Dynamic Audio Normalizer will behave like a dynamic range
12799           compressor.
12800
12801       peak, p
12802           Set the target peak value. This specifies the highest permissible
12803           magnitude level for the normalized audio input. This filter will
12804           try to approach the target peak magnitude as closely as possible,
12805           but at the same time it also makes sure that the normalized signal
12806           will never exceed the peak magnitude.  A frame's maximum local gain
12807           factor is imposed directly by the target peak magnitude. The
12808           default value is 0.95 and thus leaves a headroom of 5%*.  It is not
12809           recommended to go above this value.
12810
12811       maxgain, m
12812           Set the maximum gain factor. In range from 1.0 to 100.0. Default is
12813           10.0.  The Dynamic Audio Normalizer determines the maximum possible
12814           (local) gain factor for each input frame, i.e. the maximum gain
12815           factor that does not result in clipping or distortion. The maximum
12816           gain factor is determined by the frame's highest magnitude sample.
12817           However, the Dynamic Audio Normalizer additionally bounds the
12818           frame's maximum gain factor by a predetermined (global) maximum
12819           gain factor. This is done in order to avoid excessive gain factors
12820           in "silent" or almost silent frames. By default, the maximum gain
12821           factor is 10.0, For most inputs the default value should be
12822           sufficient and it usually is not recommended to increase this
12823           value. Though, for input with an extremely low overall volume
12824           level, it may be necessary to allow even higher gain factors. Note,
12825           however, that the Dynamic Audio Normalizer does not simply apply a
12826           "hard" threshold (i.e. cut off values above the threshold).
12827           Instead, a "sigmoid" threshold function will be applied. This way,
12828           the gain factors will smoothly approach the threshold value, but
12829           never exceed that value.
12830
12831       targetrms, r
12832           Set the target RMS. In range from 0.0 to 1.0. Default is 0.0 -
12833           disabled.  By default, the Dynamic Audio Normalizer performs "peak"
12834           normalization.  This means that the maximum local gain factor for
12835           each frame is defined (only) by the frame's highest magnitude
12836           sample. This way, the samples can be amplified as much as possible
12837           without exceeding the maximum signal level, i.e. without clipping.
12838           Optionally, however, the Dynamic Audio Normalizer can also take
12839           into account the frame's root mean square, abbreviated RMS. In
12840           electrical engineering, the RMS is commonly used to determine the
12841           power of a time-varying signal. It is therefore considered that the
12842           RMS is a better approximation of the "perceived loudness" than just
12843           looking at the signal's peak magnitude. Consequently, by adjusting
12844           all frames to a constant RMS value, a uniform "perceived loudness"
12845           can be established. If a target RMS value has been specified, a
12846           frame's local gain factor is defined as the factor that would
12847           result in exactly that RMS value.  Note, however, that the maximum
12848           local gain factor is still restricted by the frame's highest
12849           magnitude sample, in order to prevent clipping.
12850
12851       coupling, n
12852           Enable channels coupling. By default is enabled.  By default, the
12853           Dynamic Audio Normalizer will amplify all channels by the same
12854           amount. This means the same gain factor will be applied to all
12855           channels, i.e.  the maximum possible gain factor is determined by
12856           the "loudest" channel.  However, in some recordings, it may happen
12857           that the volume of the different channels is uneven, e.g. one
12858           channel may be "quieter" than the other one(s).  In this case, this
12859           option can be used to disable the channel coupling. This way, the
12860           gain factor will be determined independently for each channel,
12861           depending only on the individual channel's highest magnitude
12862           sample. This allows for harmonizing the volume of the different
12863           channels.
12864
12865       correctdc, c
12866           Enable DC bias correction. By default is disabled.  An audio signal
12867           (in the time domain) is a sequence of sample values.  In the
12868           Dynamic Audio Normalizer these sample values are represented in the
12869           -1.0 to 1.0 range, regardless of the original input format.
12870           Normally, the audio signal, or "waveform", should be centered
12871           around the zero point.  That means if we calculate the mean value
12872           of all samples in a file, or in a single frame, then the result
12873           should be 0.0 or at least very close to that value. If, however,
12874           there is a significant deviation of the mean value from 0.0, in
12875           either positive or negative direction, this is referred to as a DC
12876           bias or DC offset. Since a DC bias is clearly undesirable, the
12877           Dynamic Audio Normalizer provides optional DC bias correction.
12878           With DC bias correction enabled, the Dynamic Audio Normalizer will
12879           determine the mean value, or "DC correction" offset, of each input
12880           frame and subtract that value from all of the frame's sample values
12881           which ensures those samples are centered around 0.0 again. Also, in
12882           order to avoid "gaps" at the frame boundaries, the DC correction
12883           offset values will be interpolated smoothly between neighbouring
12884           frames.
12885
12886       altboundary, b
12887           Enable alternative boundary mode. By default is disabled.  The
12888           Dynamic Audio Normalizer takes into account a certain neighbourhood
12889           around each frame. This includes the preceding frames as well as
12890           the subsequent frames. However, for the "boundary" frames, located
12891           at the very beginning and at the very end of the audio file, not
12892           all neighbouring frames are available. In particular, for the first
12893           few frames in the audio file, the preceding frames are not known.
12894           And, similarly, for the last few frames in the audio file, the
12895           subsequent frames are not known. Thus, the question arises which
12896           gain factors should be assumed for the missing frames in the
12897           "boundary" region. The Dynamic Audio Normalizer implements two
12898           modes to deal with this situation. The default boundary mode
12899           assumes a gain factor of exactly 1.0 for the missing frames,
12900           resulting in a smooth "fade in" and "fade out" at the beginning and
12901           at the end of the input, respectively.
12902
12903       compress, s
12904           Set the compress factor. In range from 0.0 to 30.0. Default is 0.0.
12905           By default, the Dynamic Audio Normalizer does not apply
12906           "traditional" compression. This means that signal peaks will not be
12907           pruned and thus the full dynamic range will be retained within each
12908           local neighbourhood. However, in some cases it may be desirable to
12909           combine the Dynamic Audio Normalizer's normalization algorithm with
12910           a more "traditional" compression.  For this purpose, the Dynamic
12911           Audio Normalizer provides an optional compression (thresholding)
12912           function. If (and only if) the compression feature is enabled, all
12913           input frames will be processed by a soft knee thresholding function
12914           prior to the actual normalization process. Put simply, the
12915           thresholding function is going to prune all samples whose magnitude
12916           exceeds a certain threshold value.  However, the Dynamic Audio
12917           Normalizer does not simply apply a fixed threshold value. Instead,
12918           the threshold value will be adjusted for each individual frame.  In
12919           general, smaller parameters result in stronger compression, and
12920           vice versa.  Values below 3.0 are not recommended, because audible
12921           distortion may appear.
12922
12923       threshold, t
12924           Set the target threshold value. This specifies the lowest
12925           permissible magnitude level for the audio input which will be
12926           normalized.  If input frame volume is above this value frame will
12927           be normalized.  Otherwise frame may not be normalized at all. The
12928           default value is set to 0, which means all input frames will be
12929           normalized.  This option is mostly useful if digital noise is not
12930           wanted to be amplified.
12931
12932       Commands
12933
12934       This filter supports the all above options as commands.
12935
12936   earwax
12937       Make audio easier to listen to on headphones.
12938
12939       This filter adds `cues' to 44.1kHz stereo (i.e. audio CD format) audio
12940       so that when listened to on headphones the stereo image is moved from
12941       inside your head (standard for headphones) to outside and in front of
12942       the listener (standard for speakers).
12943
12944       Ported from SoX.
12945
12946   equalizer
12947       Apply a two-pole peaking equalisation (EQ) filter. With this filter,
12948       the signal-level at and around a selected frequency can be increased or
12949       decreased, whilst (unlike bandpass and bandreject filters) that at all
12950       other frequencies is unchanged.
12951
12952       In order to produce complex equalisation curves, this filter can be
12953       given several times, each with a different central frequency.
12954
12955       The filter accepts the following options:
12956
12957       frequency, f
12958           Set the filter's central frequency in Hz.
12959
12960       width_type, t
12961           Set method to specify band-width of filter.
12962
12963           h   Hz
12964
12965           q   Q-Factor
12966
12967           o   octave
12968
12969           s   slope
12970
12971           k   kHz
12972
12973       width, w
12974           Specify the band-width of a filter in width_type units.
12975
12976       gain, g
12977           Set the required gain or attenuation in dB.  Beware of clipping
12978           when using a positive gain.
12979
12980       mix, m
12981           How much to use filtered signal in output. Default is 1.  Range is
12982           between 0 and 1.
12983
12984       channels, c
12985           Specify which channels to filter, by default all available are
12986           filtered.
12987
12988       normalize, n
12989           Normalize biquad coefficients, by default is disabled.  Enabling it
12990           will normalize magnitude response at DC to 0dB.
12991
12992       transform, a
12993           Set transform type of IIR filter.
12994
12995           di
12996           dii
12997           tdii
12998           latt
12999           svf
13000       precision, r
13001           Set precison of filtering.
13002
13003           auto
13004               Pick automatic sample format depending on surround filters.
13005
13006           s16 Always use signed 16-bit.
13007
13008           s32 Always use signed 32-bit.
13009
13010           f32 Always use float 32-bit.
13011
13012           f64 Always use float 64-bit.
13013
13014       Examples
13015
13016       •   Attenuate 10 dB at 1000 Hz, with a bandwidth of 200 Hz:
13017
13018                   equalizer=f=1000:t=h:width=200:g=-10
13019
13020       •   Apply 2 dB gain at 1000 Hz with Q 1 and attenuate 5 dB at 100 Hz
13021           with Q 2:
13022
13023                   equalizer=f=1000:t=q:w=1:g=2,equalizer=f=100:t=q:w=2:g=-5
13024
13025       Commands
13026
13027       This filter supports the following commands:
13028
13029       frequency, f
13030           Change equalizer frequency.  Syntax for the command is :
13031           "frequency"
13032
13033       width_type, t
13034           Change equalizer width_type.  Syntax for the command is :
13035           "width_type"
13036
13037       width, w
13038           Change equalizer width.  Syntax for the command is : "width"
13039
13040       gain, g
13041           Change equalizer gain.  Syntax for the command is : "gain"
13042
13043       mix, m
13044           Change equalizer mix.  Syntax for the command is : "mix"
13045
13046   extrastereo
13047       Linearly increases the difference between left and right channels which
13048       adds some sort of "live" effect to playback.
13049
13050       The filter accepts the following options:
13051
13052       m   Sets the difference coefficient (default: 2.5). 0.0 means mono
13053           sound (average of both channels), with 1.0 sound will be unchanged,
13054           with -1.0 left and right channels will be swapped.
13055
13056       c   Enable clipping. By default is enabled.
13057
13058       Commands
13059
13060       This filter supports the all above options as commands.
13061
13062   firequalizer
13063       Apply FIR Equalization using arbitrary frequency response.
13064
13065       The filter accepts the following option:
13066
13067       gain
13068           Set gain curve equation (in dB). The expression can contain
13069           variables:
13070
13071           f   the evaluated frequency
13072
13073           sr  sample rate
13074
13075           ch  channel number, set to 0 when multichannels evaluation is
13076               disabled
13077
13078           chid
13079               channel id, see libavutil/channel_layout.h, set to the first
13080               channel id when multichannels evaluation is disabled
13081
13082           chs number of channels
13083
13084           chlayout
13085               channel_layout, see libavutil/channel_layout.h
13086
13087           and functions:
13088
13089           gain_interpolate(f)
13090               interpolate gain on frequency f based on gain_entry
13091
13092           cubic_interpolate(f)
13093               same as gain_interpolate, but smoother
13094
13095           This option is also available as command. Default is
13096           gain_interpolate(f).
13097
13098       gain_entry
13099           Set gain entry for gain_interpolate function. The expression can
13100           contain functions:
13101
13102           entry(f, g)
13103               store gain entry at frequency f with value g
13104
13105           This option is also available as command.
13106
13107       delay
13108           Set filter delay in seconds. Higher value means more accurate.
13109           Default is 0.01.
13110
13111       accuracy
13112           Set filter accuracy in Hz. Lower value means more accurate.
13113           Default is 5.
13114
13115       wfunc
13116           Set window function. Acceptable values are:
13117
13118           rectangular
13119               rectangular window, useful when gain curve is already smooth
13120
13121           hann
13122               hann window (default)
13123
13124           hamming
13125               hamming window
13126
13127           blackman
13128               blackman window
13129
13130           nuttall3
13131               3-terms continuous 1st derivative nuttall window
13132
13133           mnuttall3
13134               minimum 3-terms discontinuous nuttall window
13135
13136           nuttall
13137               4-terms continuous 1st derivative nuttall window
13138
13139           bnuttall
13140               minimum 4-terms discontinuous nuttall (blackman-nuttall) window
13141
13142           bharris
13143               blackman-harris window
13144
13145           tukey
13146               tukey window
13147
13148       fixed
13149           If enabled, use fixed number of audio samples. This improves speed
13150           when filtering with large delay. Default is disabled.
13151
13152       multi
13153           Enable multichannels evaluation on gain. Default is disabled.
13154
13155       zero_phase
13156           Enable zero phase mode by subtracting timestamp to compensate
13157           delay.  Default is disabled.
13158
13159       scale
13160           Set scale used by gain. Acceptable values are:
13161
13162           linlin
13163               linear frequency, linear gain
13164
13165           linlog
13166               linear frequency, logarithmic (in dB) gain (default)
13167
13168           loglin
13169               logarithmic (in octave scale where 20 Hz is 0) frequency,
13170               linear gain
13171
13172           loglog
13173               logarithmic frequency, logarithmic gain
13174
13175       dumpfile
13176           Set file for dumping, suitable for gnuplot.
13177
13178       dumpscale
13179           Set scale for dumpfile. Acceptable values are same with scale
13180           option.  Default is linlog.
13181
13182       fft2
13183           Enable 2-channel convolution using complex FFT. This improves speed
13184           significantly.  Default is disabled.
13185
13186       min_phase
13187           Enable minimum phase impulse response. Default is disabled.
13188
13189       Examples
13190
13191       •   lowpass at 1000 Hz:
13192
13193                   firequalizer=gain='if(lt(f,1000), 0, -INF)'
13194
13195       •   lowpass at 1000 Hz with gain_entry:
13196
13197                   firequalizer=gain_entry='entry(1000,0); entry(1001, -INF)'
13198
13199       •   custom equalization:
13200
13201                   firequalizer=gain_entry='entry(100,0); entry(400, -4); entry(1000, -6); entry(2000, 0)'
13202
13203       •   higher delay with zero phase to compensate delay:
13204
13205                   firequalizer=delay=0.1:fixed=on:zero_phase=on
13206
13207       •   lowpass on left channel, highpass on right channel:
13208
13209                   firequalizer=gain='if(eq(chid,1), gain_interpolate(f), if(eq(chid,2), gain_interpolate(1e6+f), 0))'
13210                   :gain_entry='entry(1000, 0); entry(1001,-INF); entry(1e6+1000,0)':multi=on
13211
13212   flanger
13213       Apply a flanging effect to the audio.
13214
13215       The filter accepts the following options:
13216
13217       delay
13218           Set base delay in milliseconds. Range from 0 to 30. Default value
13219           is 0.
13220
13221       depth
13222           Set added sweep delay in milliseconds. Range from 0 to 10. Default
13223           value is 2.
13224
13225       regen
13226           Set percentage regeneration (delayed signal feedback). Range from
13227           -95 to 95.  Default value is 0.
13228
13229       width
13230           Set percentage of delayed signal mixed with original. Range from 0
13231           to 100.  Default value is 71.
13232
13233       speed
13234           Set sweeps per second (Hz). Range from 0.1 to 10. Default value is
13235           0.5.
13236
13237       shape
13238           Set swept wave shape, can be triangular or sinusoidal.  Default
13239           value is sinusoidal.
13240
13241       phase
13242           Set swept wave percentage-shift for multi channel. Range from 0 to
13243           100.  Default value is 25.
13244
13245       interp
13246           Set delay-line interpolation, linear or quadratic.  Default is
13247           linear.
13248
13249   haas
13250       Apply Haas effect to audio.
13251
13252       Note that this makes most sense to apply on mono signals.  With this
13253       filter applied to mono signals it give some directionality and
13254       stretches its stereo image.
13255
13256       The filter accepts the following options:
13257
13258       level_in
13259           Set input level. By default is 1, or 0dB
13260
13261       level_out
13262           Set output level. By default is 1, or 0dB.
13263
13264       side_gain
13265           Set gain applied to side part of signal. By default is 1.
13266
13267       middle_source
13268           Set kind of middle source. Can be one of the following:
13269
13270           left
13271               Pick left channel.
13272
13273           right
13274               Pick right channel.
13275
13276           mid Pick middle part signal of stereo image.
13277
13278           side
13279               Pick side part signal of stereo image.
13280
13281       middle_phase
13282           Change middle phase. By default is disabled.
13283
13284       left_delay
13285           Set left channel delay. By default is 2.05 milliseconds.
13286
13287       left_balance
13288           Set left channel balance. By default is -1.
13289
13290       left_gain
13291           Set left channel gain. By default is 1.
13292
13293       left_phase
13294           Change left phase. By default is disabled.
13295
13296       right_delay
13297           Set right channel delay. By defaults is 2.12 milliseconds.
13298
13299       right_balance
13300           Set right channel balance. By default is 1.
13301
13302       right_gain
13303           Set right channel gain. By default is 1.
13304
13305       right_phase
13306           Change right phase. By default is enabled.
13307
13308   hdcd
13309       Decodes High Definition Compatible Digital (HDCD) data. A 16-bit PCM
13310       stream with embedded HDCD codes is expanded into a 20-bit PCM stream.
13311
13312       The filter supports the Peak Extend and Low-level Gain Adjustment
13313       features of HDCD, and detects the Transient Filter flag.
13314
13315               ffmpeg -i HDCD16.flac -af hdcd OUT24.flac
13316
13317       When using the filter with wav, note the default encoding for wav is
13318       16-bit, so the resulting 20-bit stream will be truncated back to
13319       16-bit. Use something like -acodec pcm_s24le after the filter to get
13320       24-bit PCM output.
13321
13322               ffmpeg -i HDCD16.wav -af hdcd OUT16.wav
13323               ffmpeg -i HDCD16.wav -af hdcd -c:a pcm_s24le OUT24.wav
13324
13325       The filter accepts the following options:
13326
13327       disable_autoconvert
13328           Disable any automatic format conversion or resampling in the filter
13329           graph.
13330
13331       process_stereo
13332           Process the stereo channels together. If target_gain does not match
13333           between channels, consider it invalid and use the last valid
13334           target_gain.
13335
13336       cdt_ms
13337           Set the code detect timer period in ms.
13338
13339       force_pe
13340           Always extend peaks above -3dBFS even if PE isn't signaled.
13341
13342       analyze_mode
13343           Replace audio with a solid tone and adjust the amplitude to signal
13344           some specific aspect of the decoding process. The output file can
13345           be loaded in an audio editor alongside the original to aid
13346           analysis.
13347
13348           "analyze_mode=pe:force_pe=true" can be used to see all samples
13349           above the PE level.
13350
13351           Modes are:
13352
13353           0, off
13354               Disabled
13355
13356           1, lle
13357               Gain adjustment level at each sample
13358
13359           2, pe
13360               Samples where peak extend occurs
13361
13362           3, cdt
13363               Samples where the code detect timer is active
13364
13365           4, tgm
13366               Samples where the target gain does not match between channels
13367
13368   headphone
13369       Apply head-related transfer functions (HRTFs) to create virtual
13370       loudspeakers around the user for binaural listening via headphones.
13371       The HRIRs are provided via additional streams, for each channel one
13372       stereo input stream is needed.
13373
13374       The filter accepts the following options:
13375
13376       map Set mapping of input streams for convolution.  The argument is a
13377           '|'-separated list of channel names in order as they are given as
13378           additional stream inputs for filter.  This also specify number of
13379           input streams. Number of input streams must be not less than number
13380           of channels in first stream plus one.
13381
13382       gain
13383           Set gain applied to audio. Value is in dB. Default is 0.
13384
13385       type
13386           Set processing type. Can be time or freq. time is processing audio
13387           in time domain which is slow.  freq is processing audio in
13388           frequency domain which is fast.  Default is freq.
13389
13390       lfe Set custom gain for LFE channels. Value is in dB. Default is 0.
13391
13392       size
13393           Set size of frame in number of samples which will be processed at
13394           once.  Default value is 1024. Allowed range is from 1024 to 96000.
13395
13396       hrir
13397           Set format of hrir stream.  Default value is stereo. Alternative
13398           value is multich.  If value is set to stereo, number of additional
13399           streams should be greater or equal to number of input channels in
13400           first input stream.  Also each additional stream should have stereo
13401           number of channels.  If value is set to multich, number of
13402           additional streams should be exactly one. Also number of input
13403           channels of additional stream should be equal or greater than twice
13404           number of channels of first input stream.
13405
13406       Examples
13407
13408       •   Full example using wav files as coefficients with amovie filters
13409           for 7.1 downmix, each amovie filter use stereo file with IR
13410           coefficients as input.  The files give coefficients for each
13411           position of virtual loudspeaker:
13412
13413                   ffmpeg -i input.wav
13414                   -filter_complex "amovie=azi_270_ele_0_DFC.wav[sr];amovie=azi_90_ele_0_DFC.wav[sl];amovie=azi_225_ele_0_DFC.wav[br];amovie=azi_135_ele_0_DFC.wav[bl];amovie=azi_0_ele_0_DFC.wav,asplit[fc][lfe];amovie=azi_35_ele_0_DFC.wav[fl];amovie=azi_325_ele_0_DFC.wav[fr];[0:a][fl][fr][fc][lfe][bl][br][sl][sr]headphone=FL|FR|FC|LFE|BL|BR|SL|SR"
13415                   output.wav
13416
13417       •   Full example using wav files as coefficients with amovie filters
13418           for 7.1 downmix, but now in multich hrir format.
13419
13420                   ffmpeg -i input.wav -filter_complex "amovie=minp.wav[hrirs];[0:a][hrirs]headphone=map=FL|FR|FC|LFE|BL|BR|SL|SR:hrir=multich"
13421                   output.wav
13422
13423   highpass
13424       Apply a high-pass filter with 3dB point frequency.  The filter can be
13425       either single-pole, or double-pole (the default).  The filter roll off
13426       at 6dB per pole per octave (20dB per pole per decade).
13427
13428       The filter accepts the following options:
13429
13430       frequency, f
13431           Set frequency in Hz. Default is 3000.
13432
13433       poles, p
13434           Set number of poles. Default is 2.
13435
13436       width_type, t
13437           Set method to specify band-width of filter.
13438
13439           h   Hz
13440
13441           q   Q-Factor
13442
13443           o   octave
13444
13445           s   slope
13446
13447           k   kHz
13448
13449       width, w
13450           Specify the band-width of a filter in width_type units.  Applies
13451           only to double-pole filter.  The default is 0.707q and gives a
13452           Butterworth response.
13453
13454       mix, m
13455           How much to use filtered signal in output. Default is 1.  Range is
13456           between 0 and 1.
13457
13458       channels, c
13459           Specify which channels to filter, by default all available are
13460           filtered.
13461
13462       normalize, n
13463           Normalize biquad coefficients, by default is disabled.  Enabling it
13464           will normalize magnitude response at DC to 0dB.
13465
13466       transform, a
13467           Set transform type of IIR filter.
13468
13469           di
13470           dii
13471           tdii
13472           latt
13473           svf
13474       precision, r
13475           Set precison of filtering.
13476
13477           auto
13478               Pick automatic sample format depending on surround filters.
13479
13480           s16 Always use signed 16-bit.
13481
13482           s32 Always use signed 32-bit.
13483
13484           f32 Always use float 32-bit.
13485
13486           f64 Always use float 64-bit.
13487
13488       Commands
13489
13490       This filter supports the following commands:
13491
13492       frequency, f
13493           Change highpass frequency.  Syntax for the command is : "frequency"
13494
13495       width_type, t
13496           Change highpass width_type.  Syntax for the command is :
13497           "width_type"
13498
13499       width, w
13500           Change highpass width.  Syntax for the command is : "width"
13501
13502       mix, m
13503           Change highpass mix.  Syntax for the command is : "mix"
13504
13505   join
13506       Join multiple input streams into one multi-channel stream.
13507
13508       It accepts the following parameters:
13509
13510       inputs
13511           The number of input streams. It defaults to 2.
13512
13513       channel_layout
13514           The desired output channel layout. It defaults to stereo.
13515
13516       map Map channels from inputs to output. The argument is a '|'-separated
13517           list of mappings, each in the "input_idx.in_channel-out_channel"
13518           form. input_idx is the 0-based index of the input stream.
13519           in_channel can be either the name of the input channel (e.g. FL for
13520           front left) or its index in the specified input stream. out_channel
13521           is the name of the output channel.
13522
13523       The filter will attempt to guess the mappings when they are not
13524       specified explicitly. It does so by first trying to find an unused
13525       matching input channel and if that fails it picks the first unused
13526       input channel.
13527
13528       Join 3 inputs (with properly set channel layouts):
13529
13530               ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex join=inputs=3 OUTPUT
13531
13532       Build a 5.1 output from 6 single-channel streams:
13533
13534               ffmpeg -i fl -i fr -i fc -i sl -i sr -i lfe -filter_complex
13535               'join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-SL|4.0-SR|5.0-LFE'
13536               out
13537
13538   ladspa
13539       Load a LADSPA (Linux Audio Developer's Simple Plugin API) plugin.
13540
13541       To enable compilation of this filter you need to configure FFmpeg with
13542       "--enable-ladspa".
13543
13544       file, f
13545           Specifies the name of LADSPA plugin library to load. If the
13546           environment variable LADSPA_PATH is defined, the LADSPA plugin is
13547           searched in each one of the directories specified by the colon
13548           separated list in LADSPA_PATH, otherwise in the standard LADSPA
13549           paths, which are in this order: HOME/.ladspa/lib/,
13550           /usr/local/lib/ladspa/, /usr/lib/ladspa/.
13551
13552       plugin, p
13553           Specifies the plugin within the library. Some libraries contain
13554           only one plugin, but others contain many of them. If this is not
13555           set filter will list all available plugins within the specified
13556           library.
13557
13558       controls, c
13559           Set the '|' separated list of controls which are zero or more
13560           floating point values that determine the behavior of the loaded
13561           plugin (for example delay, threshold or gain).  Controls need to be
13562           defined using the following syntax:
13563           c0=value0|c1=value1|c2=value2|..., where valuei is the value set on
13564           the i-th control.  Alternatively they can be also defined using the
13565           following syntax: value0|value1|value2|..., where valuei is the
13566           value set on the i-th control.  If controls is set to "help", all
13567           available controls and their valid ranges are printed.
13568
13569       sample_rate, s
13570           Specify the sample rate, default to 44100. Only used if plugin have
13571           zero inputs.
13572
13573       nb_samples, n
13574           Set the number of samples per channel per each output frame,
13575           default is 1024. Only used if plugin have zero inputs.
13576
13577       duration, d
13578           Set the minimum duration of the sourced audio. See the Time
13579           duration section in the ffmpeg-utils(1) manual for the accepted
13580           syntax.  Note that the resulting duration may be greater than the
13581           specified duration, as the generated audio is always cut at the end
13582           of a complete frame.  If not specified, or the expressed duration
13583           is negative, the audio is supposed to be generated forever.  Only
13584           used if plugin have zero inputs.
13585
13586       latency, l
13587           Enable latency compensation, by default is disabled.  Only used if
13588           plugin have inputs.
13589
13590       Examples
13591
13592       •   List all available plugins within amp (LADSPA example plugin)
13593           library:
13594
13595                   ladspa=file=amp
13596
13597       •   List all available controls and their valid ranges for "vcf_notch"
13598           plugin from "VCF" library:
13599
13600                   ladspa=f=vcf:p=vcf_notch:c=help
13601
13602       •   Simulate low quality audio equipment using "Computer Music Toolkit"
13603           (CMT) plugin library:
13604
13605                   ladspa=file=cmt:plugin=lofi:controls=c0=22|c1=12|c2=12
13606
13607       •   Add reverberation to the audio using TAP-plugins (Tom's Audio
13608           Processing plugins):
13609
13610                   ladspa=file=tap_reverb:tap_reverb
13611
13612       •   Generate white noise, with 0.2 amplitude:
13613
13614                   ladspa=file=cmt:noise_source_white:c=c0=.2
13615
13616       •   Generate 20 bpm clicks using plugin "C* Click - Metronome" from the
13617           "C* Audio Plugin Suite" (CAPS) library:
13618
13619                   ladspa=file=caps:Click:c=c1=20'
13620
13621       •   Apply "C* Eq10X2 - Stereo 10-band equaliser" effect:
13622
13623                   ladspa=caps:Eq10X2:c=c0=-48|c9=-24|c3=12|c4=2
13624
13625       •   Increase volume by 20dB using fast lookahead limiter from Steve
13626           Harris "SWH Plugins" collection:
13627
13628                   ladspa=fast_lookahead_limiter_1913:fastLookaheadLimiter:20|0|2
13629
13630       •   Attenuate low frequencies using Multiband EQ from Steve Harris "SWH
13631           Plugins" collection:
13632
13633                   ladspa=mbeq_1197:mbeq:-24|-24|-24|0|0|0|0|0|0|0|0|0|0|0|0
13634
13635       •   Reduce stereo image using "Narrower" from the "C* Audio Plugin
13636           Suite" (CAPS) library:
13637
13638                   ladspa=caps:Narrower
13639
13640       •   Another white noise, now using "C* Audio Plugin Suite" (CAPS)
13641           library:
13642
13643                   ladspa=caps:White:.2
13644
13645       •   Some fractal noise, using "C* Audio Plugin Suite" (CAPS) library:
13646
13647                   ladspa=caps:Fractal:c=c1=1
13648
13649       •   Dynamic volume normalization using "VLevel" plugin:
13650
13651                   ladspa=vlevel-ladspa:vlevel_mono
13652
13653       Commands
13654
13655       This filter supports the following commands:
13656
13657       cN  Modify the N-th control value.
13658
13659           If the specified value is not valid, it is ignored and prior one is
13660           kept.
13661
13662   loudnorm
13663       EBU R128 loudness normalization. Includes both dynamic and linear
13664       normalization modes.  Support for both single pass (livestreams, files)
13665       and double pass (files) modes.  This algorithm can target IL, LRA, and
13666       maximum true peak. In dynamic mode, to accurately detect true peaks,
13667       the audio stream will be upsampled to 192 kHz.  Use the "-ar" option or
13668       "aresample" filter to explicitly set an output sample rate.
13669
13670       The filter accepts the following options:
13671
13672       I, i
13673           Set integrated loudness target.  Range is -70.0 - -5.0. Default
13674           value is -24.0.
13675
13676       LRA, lra
13677           Set loudness range target.  Range is 1.0 - 20.0. Default value is
13678           7.0.
13679
13680       TP, tp
13681           Set maximum true peak.  Range is -9.0 - +0.0. Default value is
13682           -2.0.
13683
13684       measured_I, measured_i
13685           Measured IL of input file.  Range is -99.0 - +0.0.
13686
13687       measured_LRA, measured_lra
13688           Measured LRA of input file.  Range is  0.0 - 99.0.
13689
13690       measured_TP, measured_tp
13691           Measured true peak of input file.  Range is  -99.0 - +99.0.
13692
13693       measured_thresh
13694           Measured threshold of input file.  Range is -99.0 - +0.0.
13695
13696       offset
13697           Set offset gain. Gain is applied before the true-peak limiter.
13698           Range is  -99.0 - +99.0. Default is +0.0.
13699
13700       linear
13701           Normalize by linearly scaling the source audio.  "measured_I",
13702           "measured_LRA", "measured_TP", and "measured_thresh" must all be
13703           specified. Target LRA shouldn't be lower than source LRA and the
13704           change in integrated loudness shouldn't result in a true peak which
13705           exceeds the target TP. If any of these conditions aren't met,
13706           normalization mode will revert to dynamic.  Options are "true" or
13707           "false". Default is "true".
13708
13709       dual_mono
13710           Treat mono input files as "dual-mono". If a mono file is intended
13711           for playback on a stereo system, its EBU R128 measurement will be
13712           perceptually incorrect.  If set to "true", this option will
13713           compensate for this effect.  Multi-channel input files are not
13714           affected by this option.  Options are true or false. Default is
13715           false.
13716
13717       print_format
13718           Set print format for stats. Options are summary, json, or none.
13719           Default value is none.
13720
13721   lowpass
13722       Apply a low-pass filter with 3dB point frequency.  The filter can be
13723       either single-pole or double-pole (the default).  The filter roll off
13724       at 6dB per pole per octave (20dB per pole per decade).
13725
13726       The filter accepts the following options:
13727
13728       frequency, f
13729           Set frequency in Hz. Default is 500.
13730
13731       poles, p
13732           Set number of poles. Default is 2.
13733
13734       width_type, t
13735           Set method to specify band-width of filter.
13736
13737           h   Hz
13738
13739           q   Q-Factor
13740
13741           o   octave
13742
13743           s   slope
13744
13745           k   kHz
13746
13747       width, w
13748           Specify the band-width of a filter in width_type units.  Applies
13749           only to double-pole filter.  The default is 0.707q and gives a
13750           Butterworth response.
13751
13752       mix, m
13753           How much to use filtered signal in output. Default is 1.  Range is
13754           between 0 and 1.
13755
13756       channels, c
13757           Specify which channels to filter, by default all available are
13758           filtered.
13759
13760       normalize, n
13761           Normalize biquad coefficients, by default is disabled.  Enabling it
13762           will normalize magnitude response at DC to 0dB.
13763
13764       transform, a
13765           Set transform type of IIR filter.
13766
13767           di
13768           dii
13769           tdii
13770           latt
13771           svf
13772       precision, r
13773           Set precison of filtering.
13774
13775           auto
13776               Pick automatic sample format depending on surround filters.
13777
13778           s16 Always use signed 16-bit.
13779
13780           s32 Always use signed 32-bit.
13781
13782           f32 Always use float 32-bit.
13783
13784           f64 Always use float 64-bit.
13785
13786       Examples
13787
13788       •   Lowpass only LFE channel, it LFE is not present it does nothing:
13789
13790                   lowpass=c=LFE
13791
13792       Commands
13793
13794       This filter supports the following commands:
13795
13796       frequency, f
13797           Change lowpass frequency.  Syntax for the command is : "frequency"
13798
13799       width_type, t
13800           Change lowpass width_type.  Syntax for the command is :
13801           "width_type"
13802
13803       width, w
13804           Change lowpass width.  Syntax for the command is : "width"
13805
13806       mix, m
13807           Change lowpass mix.  Syntax for the command is : "mix"
13808
13809   lv2
13810       Load a LV2 (LADSPA Version 2) plugin.
13811
13812       To enable compilation of this filter you need to configure FFmpeg with
13813       "--enable-lv2".
13814
13815       plugin, p
13816           Specifies the plugin URI. You may need to escape ':'.
13817
13818       controls, c
13819           Set the '|' separated list of controls which are zero or more
13820           floating point values that determine the behavior of the loaded
13821           plugin (for example delay, threshold or gain).  If controls is set
13822           to "help", all available controls and their valid ranges are
13823           printed.
13824
13825       sample_rate, s
13826           Specify the sample rate, default to 44100. Only used if plugin have
13827           zero inputs.
13828
13829       nb_samples, n
13830           Set the number of samples per channel per each output frame,
13831           default is 1024. Only used if plugin have zero inputs.
13832
13833       duration, d
13834           Set the minimum duration of the sourced audio. See the Time
13835           duration section in the ffmpeg-utils(1) manual for the accepted
13836           syntax.  Note that the resulting duration may be greater than the
13837           specified duration, as the generated audio is always cut at the end
13838           of a complete frame.  If not specified, or the expressed duration
13839           is negative, the audio is supposed to be generated forever.  Only
13840           used if plugin have zero inputs.
13841
13842       Examples
13843
13844       •   Apply bass enhancer plugin from Calf:
13845
13846                   lv2=p=http\\\\://calf.sourceforge.net/plugins/BassEnhancer:c=amount=2
13847
13848       •   Apply vinyl plugin from Calf:
13849
13850                   lv2=p=http\\\\://calf.sourceforge.net/plugins/Vinyl:c=drone=0.2|aging=0.5
13851
13852       •   Apply bit crusher plugin from ArtyFX:
13853
13854                   lv2=p=http\\\\://www.openavproductions.com/artyfx#bitta:c=crush=0.3
13855
13856   mcompand
13857       Multiband Compress or expand the audio's dynamic range.
13858
13859       The input audio is divided into bands using 4th order Linkwitz-Riley
13860       IIRs.  This is akin to the crossover of a loudspeaker, and results in
13861       flat frequency response when absent compander action.
13862
13863       It accepts the following parameters:
13864
13865       args
13866           This option syntax is: attack,decay,[attack,decay..] soft-knee
13867           points crossover_frequency [delay [initial_volume [gain]]] |
13868           attack,decay ...  For explanation of each item refer to compand
13869           filter documentation.
13870
13871   pan
13872       Mix channels with specific gain levels. The filter accepts the output
13873       channel layout followed by a set of channels definitions.
13874
13875       This filter is also designed to efficiently remap the channels of an
13876       audio stream.
13877
13878       The filter accepts parameters of the form: "l|outdef|outdef|..."
13879
13880       l   output channel layout or number of channels
13881
13882       outdef
13883           output channel specification, of the form:
13884           "out_name=[gain*]in_name[(+-)[gain*]in_name...]"
13885
13886       out_name
13887           output channel to define, either a channel name (FL, FR, etc.) or a
13888           channel number (c0, c1, etc.)
13889
13890       gain
13891           multiplicative coefficient for the channel, 1 leaving the volume
13892           unchanged
13893
13894       in_name
13895           input channel to use, see out_name for details; it is not possible
13896           to mix named and numbered input channels
13897
13898       If the `=' in a channel specification is replaced by `<', then the
13899       gains for that specification will be renormalized so that the total is
13900       1, thus avoiding clipping noise.
13901
13902       Mixing examples
13903
13904       For example, if you want to down-mix from stereo to mono, but with a
13905       bigger factor for the left channel:
13906
13907               pan=1c|c0=0.9*c0+0.1*c1
13908
13909       A customized down-mix to stereo that works automatically for 3-, 4-, 5-
13910       and 7-channels surround:
13911
13912               pan=stereo| FL < FL + 0.5*FC + 0.6*BL + 0.6*SL | FR < FR + 0.5*FC + 0.6*BR + 0.6*SR
13913
13914       Note that ffmpeg integrates a default down-mix (and up-mix) system that
13915       should be preferred (see "-ac" option) unless you have very specific
13916       needs.
13917
13918       Remapping examples
13919
13920       The channel remapping will be effective if, and only if:
13921
13922       *<gain coefficients are zeroes or ones,>
13923       *<only one input per channel output,>
13924
13925       If all these conditions are satisfied, the filter will notify the user
13926       ("Pure channel mapping detected"), and use an optimized and lossless
13927       method to do the remapping.
13928
13929       For example, if you have a 5.1 source and want a stereo audio stream by
13930       dropping the extra channels:
13931
13932               pan="stereo| c0=FL | c1=FR"
13933
13934       Given the same source, you can also switch front left and front right
13935       channels and keep the input channel layout:
13936
13937               pan="5.1| c0=c1 | c1=c0 | c2=c2 | c3=c3 | c4=c4 | c5=c5"
13938
13939       If the input is a stereo audio stream, you can mute the front left
13940       channel (and still keep the stereo channel layout) with:
13941
13942               pan="stereo|c1=c1"
13943
13944       Still with a stereo audio stream input, you can copy the right channel
13945       in both front left and right:
13946
13947               pan="stereo| c0=FR | c1=FR"
13948
13949   replaygain
13950       ReplayGain scanner filter. This filter takes an audio stream as an
13951       input and outputs it unchanged.  At end of filtering it displays
13952       "track_gain" and "track_peak".
13953
13954   resample
13955       Convert the audio sample format, sample rate and channel layout. It is
13956       not meant to be used directly.
13957
13958   rubberband
13959       Apply time-stretching and pitch-shifting with librubberband.
13960
13961       To enable compilation of this filter, you need to configure FFmpeg with
13962       "--enable-librubberband".
13963
13964       The filter accepts the following options:
13965
13966       tempo
13967           Set tempo scale factor.
13968
13969       pitch
13970           Set pitch scale factor.
13971
13972       transients
13973           Set transients detector.  Possible values are:
13974
13975           crisp
13976           mixed
13977           smooth
13978       detector
13979           Set detector.  Possible values are:
13980
13981           compound
13982           percussive
13983           soft
13984       phase
13985           Set phase.  Possible values are:
13986
13987           laminar
13988           independent
13989       window
13990           Set processing window size.  Possible values are:
13991
13992           standard
13993           short
13994           long
13995       smoothing
13996           Set smoothing.  Possible values are:
13997
13998           off
13999           on
14000       formant
14001           Enable formant preservation when shift pitching.  Possible values
14002           are:
14003
14004           shifted
14005           preserved
14006       pitchq
14007           Set pitch quality.  Possible values are:
14008
14009           quality
14010           speed
14011           consistency
14012       channels
14013           Set channels.  Possible values are:
14014
14015           apart
14016           together
14017
14018       Commands
14019
14020       This filter supports the following commands:
14021
14022       tempo
14023           Change filter tempo scale factor.  Syntax for the command is :
14024           "tempo"
14025
14026       pitch
14027           Change filter pitch scale factor.  Syntax for the command is :
14028           "pitch"
14029
14030   sidechaincompress
14031       This filter acts like normal compressor but has the ability to compress
14032       detected signal using second input signal.  It needs two input streams
14033       and returns one output stream.  First input stream will be processed
14034       depending on second stream signal.  The filtered signal then can be
14035       filtered with other filters in later stages of processing. See pan and
14036       amerge filter.
14037
14038       The filter accepts the following options:
14039
14040       level_in
14041           Set input gain. Default is 1. Range is between 0.015625 and 64.
14042
14043       mode
14044           Set mode of compressor operation. Can be "upward" or "downward".
14045           Default is "downward".
14046
14047       threshold
14048           If a signal of second stream raises above this level it will affect
14049           the gain reduction of first stream.  By default is 0.125. Range is
14050           between 0.00097563 and 1.
14051
14052       ratio
14053           Set a ratio about which the signal is reduced. 1:2 means that if
14054           the level raised 4dB above the threshold, it will be only 2dB above
14055           after the reduction.  Default is 2. Range is between 1 and 20.
14056
14057       attack
14058           Amount of milliseconds the signal has to rise above the threshold
14059           before gain reduction starts. Default is 20. Range is between 0.01
14060           and 2000.
14061
14062       release
14063           Amount of milliseconds the signal has to fall below the threshold
14064           before reduction is decreased again. Default is 250. Range is
14065           between 0.01 and 9000.
14066
14067       makeup
14068           Set the amount by how much signal will be amplified after
14069           processing.  Default is 1. Range is from 1 to 64.
14070
14071       knee
14072           Curve the sharp knee around the threshold to enter gain reduction
14073           more softly.  Default is 2.82843. Range is between 1 and 8.
14074
14075       link
14076           Choose if the "average" level between all channels of side-chain
14077           stream or the louder("maximum") channel of side-chain stream
14078           affects the reduction. Default is "average".
14079
14080       detection
14081           Should the exact signal be taken in case of "peak" or an RMS one in
14082           case of "rms". Default is "rms" which is mainly smoother.
14083
14084       level_sc
14085           Set sidechain gain. Default is 1. Range is between 0.015625 and 64.
14086
14087       mix How much to use compressed signal in output. Default is 1.  Range
14088           is between 0 and 1.
14089
14090       Commands
14091
14092       This filter supports the all above options as commands.
14093
14094       Examples
14095
14096       •   Full ffmpeg example taking 2 audio inputs, 1st input to be
14097           compressed depending on the signal of 2nd input and later
14098           compressed signal to be merged with 2nd input:
14099
14100                   ffmpeg -i main.flac -i sidechain.flac -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress[compr];[compr][mix]amerge"
14101
14102   sidechaingate
14103       A sidechain gate acts like a normal (wideband) gate but has the ability
14104       to filter the detected signal before sending it to the gain reduction
14105       stage.  Normally a gate uses the full range signal to detect a level
14106       above the threshold.  For example: If you cut all lower frequencies
14107       from your sidechain signal the gate will decrease the volume of your
14108       track only if not enough highs appear. With this technique you are able
14109       to reduce the resonation of a natural drum or remove "rumbling" of
14110       muted strokes from a heavily distorted guitar.  It needs two input
14111       streams and returns one output stream.  First input stream will be
14112       processed depending on second stream signal.
14113
14114       The filter accepts the following options:
14115
14116       level_in
14117           Set input level before filtering.  Default is 1. Allowed range is
14118           from 0.015625 to 64.
14119
14120       mode
14121           Set the mode of operation. Can be "upward" or "downward".  Default
14122           is "downward". If set to "upward" mode, higher parts of signal will
14123           be amplified, expanding dynamic range in upward direction.
14124           Otherwise, in case of "downward" lower parts of signal will be
14125           reduced.
14126
14127       range
14128           Set the level of gain reduction when the signal is below the
14129           threshold.  Default is 0.06125. Allowed range is from 0 to 1.
14130           Setting this to 0 disables reduction and then filter behaves like
14131           expander.
14132
14133       threshold
14134           If a signal rises above this level the gain reduction is released.
14135           Default is 0.125. Allowed range is from 0 to 1.
14136
14137       ratio
14138           Set a ratio about which the signal is reduced.  Default is 2.
14139           Allowed range is from 1 to 9000.
14140
14141       attack
14142           Amount of milliseconds the signal has to rise above the threshold
14143           before gain reduction stops.  Default is 20 milliseconds. Allowed
14144           range is from 0.01 to 9000.
14145
14146       release
14147           Amount of milliseconds the signal has to fall below the threshold
14148           before the reduction is increased again. Default is 250
14149           milliseconds.  Allowed range is from 0.01 to 9000.
14150
14151       makeup
14152           Set amount of amplification of signal after processing.  Default is
14153           1. Allowed range is from 1 to 64.
14154
14155       knee
14156           Curve the sharp knee around the threshold to enter gain reduction
14157           more softly.  Default is 2.828427125. Allowed range is from 1 to 8.
14158
14159       detection
14160           Choose if exact signal should be taken for detection or an RMS like
14161           one.  Default is rms. Can be peak or rms.
14162
14163       link
14164           Choose if the average level between all channels or the louder
14165           channel affects the reduction.  Default is average. Can be average
14166           or maximum.
14167
14168       level_sc
14169           Set sidechain gain. Default is 1. Range is from 0.015625 to 64.
14170
14171       Commands
14172
14173       This filter supports the all above options as commands.
14174
14175   silencedetect
14176       Detect silence in an audio stream.
14177
14178       This filter logs a message when it detects that the input audio volume
14179       is less or equal to a noise tolerance value for a duration greater or
14180       equal to the minimum detected noise duration.
14181
14182       The printed times and duration are expressed in seconds. The
14183       "lavfi.silence_start" or "lavfi.silence_start.X" metadata key is set on
14184       the first frame whose timestamp equals or exceeds the detection
14185       duration and it contains the timestamp of the first frame of the
14186       silence.
14187
14188       The "lavfi.silence_duration" or "lavfi.silence_duration.X" and
14189       "lavfi.silence_end" or "lavfi.silence_end.X" metadata keys are set on
14190       the first frame after the silence. If mono is enabled, and each channel
14191       is evaluated separately, the ".X" suffixed keys are used, and "X"
14192       corresponds to the channel number.
14193
14194       The filter accepts the following options:
14195
14196       noise, n
14197           Set noise tolerance. Can be specified in dB (in case "dB" is
14198           appended to the specified value) or amplitude ratio. Default is
14199           -60dB, or 0.001.
14200
14201       duration, d
14202           Set silence duration until notification (default is 2 seconds). See
14203           the Time duration section in the ffmpeg-utils(1) manual for the
14204           accepted syntax.
14205
14206       mono, m
14207           Process each channel separately, instead of combined. By default is
14208           disabled.
14209
14210       Examples
14211
14212       •   Detect 5 seconds of silence with -50dB noise tolerance:
14213
14214                   silencedetect=n=-50dB:d=5
14215
14216       •   Complete example with ffmpeg to detect silence with 0.0001 noise
14217           tolerance in silence.mp3:
14218
14219                   ffmpeg -i silence.mp3 -af silencedetect=noise=0.0001 -f null -
14220
14221   silenceremove
14222       Remove silence from the beginning, middle or end of the audio.
14223
14224       The filter accepts the following options:
14225
14226       start_periods
14227           This value is used to indicate if audio should be trimmed at
14228           beginning of the audio. A value of zero indicates no silence should
14229           be trimmed from the beginning. When specifying a non-zero value, it
14230           trims audio up until it finds non-silence. Normally, when trimming
14231           silence from beginning of audio the start_periods will be 1 but it
14232           can be increased to higher values to trim all audio up to specific
14233           count of non-silence periods.  Default value is 0.
14234
14235       start_duration
14236           Specify the amount of time that non-silence must be detected before
14237           it stops trimming audio. By increasing the duration, bursts of
14238           noises can be treated as silence and trimmed off. Default value is
14239           0.
14240
14241       start_threshold
14242           This indicates what sample value should be treated as silence. For
14243           digital audio, a value of 0 may be fine but for audio recorded from
14244           analog, you may wish to increase the value to account for
14245           background noise.  Can be specified in dB (in case "dB" is appended
14246           to the specified value) or amplitude ratio. Default value is 0.
14247
14248       start_silence
14249           Specify max duration of silence at beginning that will be kept
14250           after trimming. Default is 0, which is equal to trimming all
14251           samples detected as silence.
14252
14253       start_mode
14254           Specify mode of detection of silence end in start of multi-channel
14255           audio.  Can be any or all. Default is any.  With any, any sample
14256           that is detected as non-silence will cause stopped trimming of
14257           silence.  With all, only if all channels are detected as non-
14258           silence will cause stopped trimming of silence.
14259
14260       stop_periods
14261           Set the count for trimming silence from the end of audio.  To
14262           remove silence from the middle of a file, specify a stop_periods
14263           that is negative. This value is then treated as a positive value
14264           and is used to indicate the effect should restart processing as
14265           specified by start_periods, making it suitable for removing periods
14266           of silence in the middle of the audio.  Default value is 0.
14267
14268       stop_duration
14269           Specify a duration of silence that must exist before audio is not
14270           copied any more. By specifying a higher duration, silence that is
14271           wanted can be left in the audio.  Default value is 0.
14272
14273       stop_threshold
14274           This is the same as start_threshold but for trimming silence from
14275           the end of audio.  Can be specified in dB (in case "dB" is appended
14276           to the specified value) or amplitude ratio. Default value is 0.
14277
14278       stop_silence
14279           Specify max duration of silence at end that will be kept after
14280           trimming. Default is 0, which is equal to trimming all samples
14281           detected as silence.
14282
14283       stop_mode
14284           Specify mode of detection of silence start in end of multi-channel
14285           audio.  Can be any or all. Default is any.  With any, any sample
14286           that is detected as non-silence will cause stopped trimming of
14287           silence.  With all, only if all channels are detected as non-
14288           silence will cause stopped trimming of silence.
14289
14290       detection
14291           Set how is silence detected. Can be "rms" or "peak". Second is
14292           faster and works better with digital silence which is exactly 0.
14293           Default value is "rms".
14294
14295       window
14296           Set duration in number of seconds used to calculate size of window
14297           in number of samples for detecting silence.  Default value is 0.02.
14298           Allowed range is from 0 to 10.
14299
14300       Examples
14301
14302       •   The following example shows how this filter can be used to start a
14303           recording that does not contain the delay at the start which
14304           usually occurs between pressing the record button and the start of
14305           the performance:
14306
14307                   silenceremove=start_periods=1:start_duration=5:start_threshold=0.02
14308
14309       •   Trim all silence encountered from beginning to end where there is
14310           more than 1 second of silence in audio:
14311
14312                   silenceremove=stop_periods=-1:stop_duration=1:stop_threshold=-90dB
14313
14314       •   Trim all digital silence samples, using peak detection, from
14315           beginning to end where there is more than 0 samples of digital
14316           silence in audio and digital silence is detected in all channels at
14317           same positions in stream:
14318
14319                   silenceremove=window=0:detection=peak:stop_mode=all:start_mode=all:stop_periods=-1:stop_threshold=0
14320
14321   sofalizer
14322       SOFAlizer uses head-related transfer functions (HRTFs) to create
14323       virtual loudspeakers around the user for binaural listening via
14324       headphones (audio formats up to 9 channels supported).  The HRTFs are
14325       stored in SOFA files (see <http://www.sofacoustics.org/> for a
14326       database).  SOFAlizer is developed at the Acoustics Research Institute
14327       (ARI) of the Austrian Academy of Sciences.
14328
14329       To enable compilation of this filter you need to configure FFmpeg with
14330       "--enable-libmysofa".
14331
14332       The filter accepts the following options:
14333
14334       sofa
14335           Set the SOFA file used for rendering.
14336
14337       gain
14338           Set gain applied to audio. Value is in dB. Default is 0.
14339
14340       rotation
14341           Set rotation of virtual loudspeakers in deg. Default is 0.
14342
14343       elevation
14344           Set elevation of virtual speakers in deg. Default is 0.
14345
14346       radius
14347           Set distance in meters between loudspeakers and the listener with
14348           near-field HRTFs. Default is 1.
14349
14350       type
14351           Set processing type. Can be time or freq. time is processing audio
14352           in time domain which is slow.  freq is processing audio in
14353           frequency domain which is fast.  Default is freq.
14354
14355       speakers
14356           Set custom positions of virtual loudspeakers. Syntax for this
14357           option is: <CH> <AZIM> <ELEV>[|<CH> <AZIM> <ELEV>|...].  Each
14358           virtual loudspeaker is described with short channel name following
14359           with azimuth and elevation in degrees.  Each virtual loudspeaker
14360           description is separated by '|'.  For example to override front
14361           left and front right channel positions use: 'speakers=FL 45 15|FR
14362           345 15'.  Descriptions with unrecognised channel names are ignored.
14363
14364       lfegain
14365           Set custom gain for LFE channels. Value is in dB. Default is 0.
14366
14367       framesize
14368           Set custom frame size in number of samples. Default is 1024.
14369           Allowed range is from 1024 to 96000. Only used if option type is
14370           set to freq.
14371
14372       normalize
14373           Should all IRs be normalized upon importing SOFA file.  By default
14374           is enabled.
14375
14376       interpolate
14377           Should nearest IRs be interpolated with neighbor IRs if exact
14378           position does not match. By default is disabled.
14379
14380       minphase
14381           Minphase all IRs upon loading of SOFA file. By default is disabled.
14382
14383       anglestep
14384           Set neighbor search angle step. Only used if option interpolate is
14385           enabled.
14386
14387       radstep
14388           Set neighbor search radius step. Only used if option interpolate is
14389           enabled.
14390
14391       Examples
14392
14393       •   Using ClubFritz6 sofa file:
14394
14395                   sofalizer=sofa=/path/to/ClubFritz6.sofa:type=freq:radius=1
14396
14397       •   Using ClubFritz12 sofa file and bigger radius with small rotation:
14398
14399                   sofalizer=sofa=/path/to/ClubFritz12.sofa:type=freq:radius=2:rotation=5
14400
14401       •   Similar as above but with custom speaker positions for front left,
14402           front right, back left and back right and also with custom gain:
14403
14404                   "sofalizer=sofa=/path/to/ClubFritz6.sofa:type=freq:radius=2:speakers=FL 45|FR 315|BL 135|BR 225:gain=28"
14405
14406   speechnorm
14407       Speech Normalizer.
14408
14409       This filter expands or compresses each half-cycle of audio samples
14410       (local set of samples all above or all below zero and between two
14411       nearest zero crossings) depending on threshold value, so audio reaches
14412       target peak value under conditions controlled by below options.
14413
14414       The filter accepts the following options:
14415
14416       peak, p
14417           Set the expansion target peak value. This specifies the highest
14418           allowed absolute amplitude level for the normalized audio input.
14419           Default value is 0.95. Allowed range is from 0.0 to 1.0.
14420
14421       expansion, e
14422           Set the maximum expansion factor. Allowed range is from 1.0 to
14423           50.0. Default value is 2.0.  This option controls maximum local
14424           half-cycle of samples expansion. The maximum expansion would be
14425           such that local peak value reaches target peak value but never to
14426           surpass it and that ratio between new and previous peak value does
14427           not surpass this option value.
14428
14429       compression, c
14430           Set the maximum compression factor. Allowed range is from 1.0 to
14431           50.0. Default value is 2.0.  This option controls maximum local
14432           half-cycle of samples compression. This option is used only if
14433           threshold option is set to value greater than 0.0, then in such
14434           cases when local peak is lower or same as value set by threshold
14435           all samples belonging to that peak's half-cycle will be compressed
14436           by current compression factor.
14437
14438       threshold, t
14439           Set the threshold value. Default value is 0.0. Allowed range is
14440           from 0.0 to 1.0.  This option specifies which half-cycles of
14441           samples will be compressed and which will be expanded.  Any half-
14442           cycle samples with their local peak value below or same as this
14443           option value will be compressed by current compression factor,
14444           otherwise, if greater than threshold value they will be expanded
14445           with expansion factor so that it could reach peak target value but
14446           never surpass it.
14447
14448       raise, r
14449           Set the expansion raising amount per each half-cycle of samples.
14450           Default value is 0.001.  Allowed range is from 0.0 to 1.0. This
14451           controls how fast expansion factor is raised per each new half-
14452           cycle until it reaches expansion value.  Setting this options too
14453           high may lead to distortions.
14454
14455       fall, f
14456           Set the compression raising amount per each half-cycle of samples.
14457           Default value is 0.001.  Allowed range is from 0.0 to 1.0. This
14458           controls how fast compression factor is raised per each new half-
14459           cycle until it reaches compression value.
14460
14461       channels, h
14462           Specify which channels to filter, by default all available channels
14463           are filtered.
14464
14465       invert, i
14466           Enable inverted filtering, by default is disabled. This inverts
14467           interpretation of threshold option. When enabled any half-cycle of
14468           samples with their local peak value below or same as threshold
14469           option will be expanded otherwise it will be compressed.
14470
14471       link, l
14472           Link channels when calculating gain applied to each filtered
14473           channel sample, by default is disabled.  When disabled each
14474           filtered channel gain calculation is independent, otherwise when
14475           this option is enabled the minimum of all possible gains for each
14476           filtered channel is used.
14477
14478       Commands
14479
14480       This filter supports the all above options as commands.
14481
14482   stereotools
14483       This filter has some handy utilities to manage stereo signals, for
14484       converting M/S stereo recordings to L/R signal while having control
14485       over the parameters or spreading the stereo image of master track.
14486
14487       The filter accepts the following options:
14488
14489       level_in
14490           Set input level before filtering for both channels. Defaults is 1.
14491           Allowed range is from 0.015625 to 64.
14492
14493       level_out
14494           Set output level after filtering for both channels. Defaults is 1.
14495           Allowed range is from 0.015625 to 64.
14496
14497       balance_in
14498           Set input balance between both channels. Default is 0.  Allowed
14499           range is from -1 to 1.
14500
14501       balance_out
14502           Set output balance between both channels. Default is 0.  Allowed
14503           range is from -1 to 1.
14504
14505       softclip
14506           Enable softclipping. Results in analog distortion instead of harsh
14507           digital 0dB clipping. Disabled by default.
14508
14509       mutel
14510           Mute the left channel. Disabled by default.
14511
14512       muter
14513           Mute the right channel. Disabled by default.
14514
14515       phasel
14516           Change the phase of the left channel. Disabled by default.
14517
14518       phaser
14519           Change the phase of the right channel. Disabled by default.
14520
14521       mode
14522           Set stereo mode. Available values are:
14523
14524           lr>lr
14525               Left/Right to Left/Right, this is default.
14526
14527           lr>ms
14528               Left/Right to Mid/Side.
14529
14530           ms>lr
14531               Mid/Side to Left/Right.
14532
14533           lr>ll
14534               Left/Right to Left/Left.
14535
14536           lr>rr
14537               Left/Right to Right/Right.
14538
14539           lr>l+r
14540               Left/Right to Left + Right.
14541
14542           lr>rl
14543               Left/Right to Right/Left.
14544
14545           ms>ll
14546               Mid/Side to Left/Left.
14547
14548           ms>rr
14549               Mid/Side to Right/Right.
14550
14551           ms>rl
14552               Mid/Side to Right/Left.
14553
14554           lr>l-r
14555               Left/Right to Left - Right.
14556
14557       slev
14558           Set level of side signal. Default is 1.  Allowed range is from
14559           0.015625 to 64.
14560
14561       sbal
14562           Set balance of side signal. Default is 0.  Allowed range is from -1
14563           to 1.
14564
14565       mlev
14566           Set level of the middle signal. Default is 1.  Allowed range is
14567           from 0.015625 to 64.
14568
14569       mpan
14570           Set middle signal pan. Default is 0. Allowed range is from -1 to 1.
14571
14572       base
14573           Set stereo base between mono and inversed channels. Default is 0.
14574           Allowed range is from -1 to 1.
14575
14576       delay
14577           Set delay in milliseconds how much to delay left from right channel
14578           and vice versa. Default is 0. Allowed range is from -20 to 20.
14579
14580       sclevel
14581           Set S/C level. Default is 1. Allowed range is from 1 to 100.
14582
14583       phase
14584           Set the stereo phase in degrees. Default is 0. Allowed range is
14585           from 0 to 360.
14586
14587       bmode_in, bmode_out
14588           Set balance mode for balance_in/balance_out option.
14589
14590           Can be one of the following:
14591
14592           balance
14593               Classic balance mode. Attenuate one channel at time.  Gain is
14594               raised up to 1.
14595
14596           amplitude
14597               Similar as classic mode above but gain is raised up to 2.
14598
14599           power
14600               Equal power distribution, from -6dB to +6dB range.
14601
14602       Commands
14603
14604       This filter supports the all above options as commands.
14605
14606       Examples
14607
14608       •   Apply karaoke like effect:
14609
14610                   stereotools=mlev=0.015625
14611
14612       •   Convert M/S signal to L/R:
14613
14614                   "stereotools=mode=ms>lr"
14615
14616   stereowiden
14617       This filter enhance the stereo effect by suppressing signal common to
14618       both channels and by delaying the signal of left into right and vice
14619       versa, thereby widening the stereo effect.
14620
14621       The filter accepts the following options:
14622
14623       delay
14624           Time in milliseconds of the delay of left signal into right and
14625           vice versa.  Default is 20 milliseconds.
14626
14627       feedback
14628           Amount of gain in delayed signal into right and vice versa. Gives a
14629           delay effect of left signal in right output and vice versa which
14630           gives widening effect. Default is 0.3.
14631
14632       crossfeed
14633           Cross feed of left into right with inverted phase. This helps in
14634           suppressing the mono. If the value is 1 it will cancel all the
14635           signal common to both channels. Default is 0.3.
14636
14637       drymix
14638           Set level of input signal of original channel. Default is 0.8.
14639
14640       Commands
14641
14642       This filter supports the all above options except "delay" as commands.
14643
14644   superequalizer
14645       Apply 18 band equalizer.
14646
14647       The filter accepts the following options:
14648
14649       1b  Set 65Hz band gain.
14650
14651       2b  Set 92Hz band gain.
14652
14653       3b  Set 131Hz band gain.
14654
14655       4b  Set 185Hz band gain.
14656
14657       5b  Set 262Hz band gain.
14658
14659       6b  Set 370Hz band gain.
14660
14661       7b  Set 523Hz band gain.
14662
14663       8b  Set 740Hz band gain.
14664
14665       9b  Set 1047Hz band gain.
14666
14667       10b Set 1480Hz band gain.
14668
14669       11b Set 2093Hz band gain.
14670
14671       12b Set 2960Hz band gain.
14672
14673       13b Set 4186Hz band gain.
14674
14675       14b Set 5920Hz band gain.
14676
14677       15b Set 8372Hz band gain.
14678
14679       16b Set 11840Hz band gain.
14680
14681       17b Set 16744Hz band gain.
14682
14683       18b Set 20000Hz band gain.
14684
14685   surround
14686       Apply audio surround upmix filter.
14687
14688       This filter allows to produce multichannel output from audio stream.
14689
14690       The filter accepts the following options:
14691
14692       chl_out
14693           Set output channel layout. By default, this is 5.1.
14694
14695           See the Channel Layout section in the ffmpeg-utils(1) manual for
14696           the required syntax.
14697
14698       chl_in
14699           Set input channel layout. By default, this is stereo.
14700
14701           See the Channel Layout section in the ffmpeg-utils(1) manual for
14702           the required syntax.
14703
14704       level_in
14705           Set input volume level. By default, this is 1.
14706
14707       level_out
14708           Set output volume level. By default, this is 1.
14709
14710       lfe Enable LFE channel output if output channel layout has it. By
14711           default, this is enabled.
14712
14713       lfe_low
14714           Set LFE low cut off frequency. By default, this is 128 Hz.
14715
14716       lfe_high
14717           Set LFE high cut off frequency. By default, this is 256 Hz.
14718
14719       lfe_mode
14720           Set LFE mode, can be add or sub. Default is add.  In add mode, LFE
14721           channel is created from input audio and added to output.  In sub
14722           mode, LFE channel is created from input audio and added to output
14723           but also all non-LFE output channels are subtracted with output LFE
14724           channel.
14725
14726       angle
14727           Set angle of stereo surround transform, Allowed range is from 0 to
14728           360.  Default is 90.
14729
14730       fc_in
14731           Set front center input volume. By default, this is 1.
14732
14733       fc_out
14734           Set front center output volume. By default, this is 1.
14735
14736       fl_in
14737           Set front left input volume. By default, this is 1.
14738
14739       fl_out
14740           Set front left output volume. By default, this is 1.
14741
14742       fr_in
14743           Set front right input volume. By default, this is 1.
14744
14745       fr_out
14746           Set front right output volume. By default, this is 1.
14747
14748       sl_in
14749           Set side left input volume. By default, this is 1.
14750
14751       sl_out
14752           Set side left output volume. By default, this is 1.
14753
14754       sr_in
14755           Set side right input volume. By default, this is 1.
14756
14757       sr_out
14758           Set side right output volume. By default, this is 1.
14759
14760       bl_in
14761           Set back left input volume. By default, this is 1.
14762
14763       bl_out
14764           Set back left output volume. By default, this is 1.
14765
14766       br_in
14767           Set back right input volume. By default, this is 1.
14768
14769       br_out
14770           Set back right output volume. By default, this is 1.
14771
14772       bc_in
14773           Set back center input volume. By default, this is 1.
14774
14775       bc_out
14776           Set back center output volume. By default, this is 1.
14777
14778       lfe_in
14779           Set LFE input volume. By default, this is 1.
14780
14781       lfe_out
14782           Set LFE output volume. By default, this is 1.
14783
14784       allx
14785           Set spread usage of stereo image across X axis for all channels.
14786
14787       ally
14788           Set spread usage of stereo image across Y axis for all channels.
14789
14790       fcx, flx, frx, blx, brx, slx, srx, bcx
14791           Set spread usage of stereo image across X axis for each channel.
14792
14793       fcy, fly, fry, bly, bry, sly, sry, bcy
14794           Set spread usage of stereo image across Y axis for each channel.
14795
14796       win_size
14797           Set window size. Allowed range is from 1024 to 65536. Default size
14798           is 4096.
14799
14800       win_func
14801           Set window function.
14802
14803           It accepts the following values:
14804
14805           rect
14806           bartlett
14807           hann, hanning
14808           hamming
14809           blackman
14810           welch
14811           flattop
14812           bharris
14813           bnuttall
14814           bhann
14815           sine
14816           nuttall
14817           lanczos
14818           gauss
14819           tukey
14820           dolph
14821           cauchy
14822           parzen
14823           poisson
14824           bohman
14825
14826           Default is "hann".
14827
14828       overlap
14829           Set window overlap. If set to 1, the recommended overlap for
14830           selected window function will be picked. Default is 0.5.
14831
14832   treble, highshelf
14833       Boost or cut treble (upper) frequencies of the audio using a two-pole
14834       shelving filter with a response similar to that of a standard hi-fi's
14835       tone-controls. This is also known as shelving equalisation (EQ).
14836
14837       The filter accepts the following options:
14838
14839       gain, g
14840           Give the gain at whichever is the lower of ~22 kHz and the Nyquist
14841           frequency. Its useful range is about -20 (for a large cut) to +20
14842           (for a large boost). Beware of clipping when using a positive gain.
14843
14844       frequency, f
14845           Set the filter's central frequency and so can be used to extend or
14846           reduce the frequency range to be boosted or cut.  The default value
14847           is 3000 Hz.
14848
14849       width_type, t
14850           Set method to specify band-width of filter.
14851
14852           h   Hz
14853
14854           q   Q-Factor
14855
14856           o   octave
14857
14858           s   slope
14859
14860           k   kHz
14861
14862       width, w
14863           Determine how steep is the filter's shelf transition.
14864
14865       poles, p
14866           Set number of poles. Default is 2.
14867
14868       mix, m
14869           How much to use filtered signal in output. Default is 1.  Range is
14870           between 0 and 1.
14871
14872       channels, c
14873           Specify which channels to filter, by default all available are
14874           filtered.
14875
14876       normalize, n
14877           Normalize biquad coefficients, by default is disabled.  Enabling it
14878           will normalize magnitude response at DC to 0dB.
14879
14880       transform, a
14881           Set transform type of IIR filter.
14882
14883           di
14884           dii
14885           tdii
14886           latt
14887           svf
14888       precision, r
14889           Set precison of filtering.
14890
14891           auto
14892               Pick automatic sample format depending on surround filters.
14893
14894           s16 Always use signed 16-bit.
14895
14896           s32 Always use signed 32-bit.
14897
14898           f32 Always use float 32-bit.
14899
14900           f64 Always use float 64-bit.
14901
14902       Commands
14903
14904       This filter supports the following commands:
14905
14906       frequency, f
14907           Change treble frequency.  Syntax for the command is : "frequency"
14908
14909       width_type, t
14910           Change treble width_type.  Syntax for the command is : "width_type"
14911
14912       width, w
14913           Change treble width.  Syntax for the command is : "width"
14914
14915       gain, g
14916           Change treble gain.  Syntax for the command is : "gain"
14917
14918       mix, m
14919           Change treble mix.  Syntax for the command is : "mix"
14920
14921   tremolo
14922       Sinusoidal amplitude modulation.
14923
14924       The filter accepts the following options:
14925
14926       f   Modulation frequency in Hertz. Modulation frequencies in the
14927           subharmonic range (20 Hz or lower) will result in a tremolo effect.
14928           This filter may also be used as a ring modulator by specifying a
14929           modulation frequency higher than 20 Hz.  Range is 0.1 - 20000.0.
14930           Default value is 5.0 Hz.
14931
14932       d   Depth of modulation as a percentage. Range is 0.0 - 1.0.  Default
14933           value is 0.5.
14934
14935   vibrato
14936       Sinusoidal phase modulation.
14937
14938       The filter accepts the following options:
14939
14940       f   Modulation frequency in Hertz.  Range is 0.1 - 20000.0. Default
14941           value is 5.0 Hz.
14942
14943       d   Depth of modulation as a percentage. Range is 0.0 - 1.0.  Default
14944           value is 0.5.
14945
14946   volume
14947       Adjust the input audio volume.
14948
14949       It accepts the following parameters:
14950
14951       volume
14952           Set audio volume expression.
14953
14954           Output values are clipped to the maximum value.
14955
14956           The output audio volume is given by the relation:
14957
14958                   <output_volume> = <volume> * <input_volume>
14959
14960           The default value for volume is "1.0".
14961
14962       precision
14963           This parameter represents the mathematical precision.
14964
14965           It determines which input sample formats will be allowed, which
14966           affects the precision of the volume scaling.
14967
14968           fixed
14969               8-bit fixed-point; this limits input sample format to U8, S16,
14970               and S32.
14971
14972           float
14973               32-bit floating-point; this limits input sample format to FLT.
14974               (default)
14975
14976           double
14977               64-bit floating-point; this limits input sample format to DBL.
14978
14979       replaygain
14980           Choose the behaviour on encountering ReplayGain side data in input
14981           frames.
14982
14983           drop
14984               Remove ReplayGain side data, ignoring its contents (the
14985               default).
14986
14987           ignore
14988               Ignore ReplayGain side data, but leave it in the frame.
14989
14990           track
14991               Prefer the track gain, if present.
14992
14993           album
14994               Prefer the album gain, if present.
14995
14996       replaygain_preamp
14997           Pre-amplification gain in dB to apply to the selected replaygain
14998           gain.
14999
15000           Default value for replaygain_preamp is 0.0.
15001
15002       replaygain_noclip
15003           Prevent clipping by limiting the gain applied.
15004
15005           Default value for replaygain_noclip is 1.
15006
15007       eval
15008           Set when the volume expression is evaluated.
15009
15010           It accepts the following values:
15011
15012           once
15013               only evaluate expression once during the filter initialization,
15014               or when the volume command is sent
15015
15016           frame
15017               evaluate expression for each incoming frame
15018
15019           Default value is once.
15020
15021       The volume expression can contain the following parameters.
15022
15023       n   frame number (starting at zero)
15024
15025       nb_channels
15026           number of channels
15027
15028       nb_consumed_samples
15029           number of samples consumed by the filter
15030
15031       nb_samples
15032           number of samples in the current frame
15033
15034       pos original frame position in the file
15035
15036       pts frame PTS
15037
15038       sample_rate
15039           sample rate
15040
15041       startpts
15042           PTS at start of stream
15043
15044       startt
15045           time at start of stream
15046
15047       t   frame time
15048
15049       tb  timestamp timebase
15050
15051       volume
15052           last set volume value
15053
15054       Note that when eval is set to once only the sample_rate and tb
15055       variables are available, all other variables will evaluate to NAN.
15056
15057       Commands
15058
15059       This filter supports the following commands:
15060
15061       volume
15062           Modify the volume expression.  The command accepts the same syntax
15063           of the corresponding option.
15064
15065           If the specified expression is not valid, it is kept at its current
15066           value.
15067
15068       Examples
15069
15070       •   Halve the input audio volume:
15071
15072                   volume=volume=0.5
15073                   volume=volume=1/2
15074                   volume=volume=-6.0206dB
15075
15076           In all the above example the named key for volume can be omitted,
15077           for example like in:
15078
15079                   volume=0.5
15080
15081       •   Increase input audio power by 6 decibels using fixed-point
15082           precision:
15083
15084                   volume=volume=6dB:precision=fixed
15085
15086       •   Fade volume after time 10 with an annihilation period of 5 seconds:
15087
15088                   volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame
15089
15090   volumedetect
15091       Detect the volume of the input video.
15092
15093       The filter has no parameters. The input is not modified. Statistics
15094       about the volume will be printed in the log when the input stream end
15095       is reached.
15096
15097       In particular it will show the mean volume (root mean square), maximum
15098       volume (on a per-sample basis), and the beginning of a histogram of the
15099       registered volume values (from the maximum value to a cumulated 1/1000
15100       of the samples).
15101
15102       All volumes are in decibels relative to the maximum PCM value.
15103
15104       Examples
15105
15106       Here is an excerpt of the output:
15107
15108               [Parsed_volumedetect_0  0xa23120] mean_volume: -27 dB
15109               [Parsed_volumedetect_0  0xa23120] max_volume: -4 dB
15110               [Parsed_volumedetect_0  0xa23120] histogram_4db: 6
15111               [Parsed_volumedetect_0  0xa23120] histogram_5db: 62
15112               [Parsed_volumedetect_0  0xa23120] histogram_6db: 286
15113               [Parsed_volumedetect_0  0xa23120] histogram_7db: 1042
15114               [Parsed_volumedetect_0  0xa23120] histogram_8db: 2551
15115               [Parsed_volumedetect_0  0xa23120] histogram_9db: 4609
15116               [Parsed_volumedetect_0  0xa23120] histogram_10db: 8409
15117
15118       It means that:
15119
15120       •   The mean square energy is approximately -27 dB, or 10^-2.7.
15121
15122       •   The largest sample is at -4 dB, or more precisely between -4 dB and
15123           -5 dB.
15124
15125       •   There are 6 samples at -4 dB, 62 at -5 dB, 286 at -6 dB, etc.
15126
15127       In other words, raising the volume by +4 dB does not cause any
15128       clipping, raising it by +5 dB causes clipping for 6 samples, etc.
15129

AUDIO SOURCES

15131       Below is a description of the currently available audio sources.
15132
15133   abuffer
15134       Buffer audio frames, and make them available to the filter chain.
15135
15136       This source is mainly intended for a programmatic use, in particular
15137       through the interface defined in libavfilter/buffersrc.h.
15138
15139       It accepts the following parameters:
15140
15141       time_base
15142           The timebase which will be used for timestamps of submitted frames.
15143           It must be either a floating-point number or in
15144           numerator/denominator form.
15145
15146       sample_rate
15147           The sample rate of the incoming audio buffers.
15148
15149       sample_fmt
15150           The sample format of the incoming audio buffers.  Either a sample
15151           format name or its corresponding integer representation from the
15152           enum AVSampleFormat in libavutil/samplefmt.h
15153
15154       channel_layout
15155           The channel layout of the incoming audio buffers.  Either a channel
15156           layout name from channel_layout_map in libavutil/channel_layout.c
15157           or its corresponding integer representation from the AV_CH_LAYOUT_*
15158           macros in libavutil/channel_layout.h
15159
15160       channels
15161           The number of channels of the incoming audio buffers.  If both
15162           channels and channel_layout are specified, then they must be
15163           consistent.
15164
15165       Examples
15166
15167               abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=stereo
15168
15169       will instruct the source to accept planar 16bit signed stereo at
15170       44100Hz.  Since the sample format with name "s16p" corresponds to the
15171       number 6 and the "stereo" channel layout corresponds to the value 0x3,
15172       this is equivalent to:
15173
15174               abuffer=sample_rate=44100:sample_fmt=6:channel_layout=0x3
15175
15176   aevalsrc
15177       Generate an audio signal specified by an expression.
15178
15179       This source accepts in input one or more expressions (one for each
15180       channel), which are evaluated and used to generate a corresponding
15181       audio signal.
15182
15183       This source accepts the following options:
15184
15185       exprs
15186           Set the '|'-separated expressions list for each separate channel.
15187           In case the channel_layout option is not specified, the selected
15188           channel layout depends on the number of provided expressions.
15189           Otherwise the last specified expression is applied to the remaining
15190           output channels.
15191
15192       channel_layout, c
15193           Set the channel layout. The number of channels in the specified
15194           layout must be equal to the number of specified expressions.
15195
15196       duration, d
15197           Set the minimum duration of the sourced audio. See the Time
15198           duration section in the ffmpeg-utils(1) manual for the accepted
15199           syntax.  Note that the resulting duration may be greater than the
15200           specified duration, as the generated audio is always cut at the end
15201           of a complete frame.
15202
15203           If not specified, or the expressed duration is negative, the audio
15204           is supposed to be generated forever.
15205
15206       nb_samples, n
15207           Set the number of samples per channel per each output frame,
15208           default to 1024.
15209
15210       sample_rate, s
15211           Specify the sample rate, default to 44100.
15212
15213       Each expression in exprs can contain the following constants:
15214
15215       n   number of the evaluated sample, starting from 0
15216
15217       t   time of the evaluated sample expressed in seconds, starting from 0
15218
15219       s   sample rate
15220
15221       Examples
15222
15223       •   Generate silence:
15224
15225                   aevalsrc=0
15226
15227       •   Generate a sin signal with frequency of 440 Hz, set sample rate to
15228           8000 Hz:
15229
15230                   aevalsrc="sin(440*2*PI*t):s=8000"
15231
15232       •   Generate a two channels signal, specify the channel layout (Front
15233           Center + Back Center) explicitly:
15234
15235                   aevalsrc="sin(420*2*PI*t)|cos(430*2*PI*t):c=FC|BC"
15236
15237       •   Generate white noise:
15238
15239                   aevalsrc="-2+random(0)"
15240
15241       •   Generate an amplitude modulated signal:
15242
15243                   aevalsrc="sin(10*2*PI*t)*sin(880*2*PI*t)"
15244
15245       •   Generate 2.5 Hz binaural beats on a 360 Hz carrier:
15246
15247                   aevalsrc="0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)"
15248
15249   afirsrc
15250       Generate a FIR coefficients using frequency sampling method.
15251
15252       The resulting stream can be used with afir filter for filtering the
15253       audio signal.
15254
15255       The filter accepts the following options:
15256
15257       taps, t
15258           Set number of filter coefficents in output audio stream.  Default
15259           value is 1025.
15260
15261       frequency, f
15262           Set frequency points from where magnitude and phase are set.  This
15263           must be in non decreasing order, and first element must be 0, while
15264           last element must be 1. Elements are separated by white spaces.
15265
15266       magnitude, m
15267           Set magnitude value for every frequency point set by frequency.
15268           Number of values must be same as number of frequency points.
15269           Values are separated by white spaces.
15270
15271       phase, p
15272           Set phase value for every frequency point set by frequency.  Number
15273           of values must be same as number of frequency points.  Values are
15274           separated by white spaces.
15275
15276       sample_rate, r
15277           Set sample rate, default is 44100.
15278
15279       nb_samples, n
15280           Set number of samples per each frame. Default is 1024.
15281
15282       win_func, w
15283           Set window function. Default is blackman.
15284
15285   anullsrc
15286       The null audio source, return unprocessed audio frames. It is mainly
15287       useful as a template and to be employed in analysis / debugging tools,
15288       or as the source for filters which ignore the input data (for example
15289       the sox synth filter).
15290
15291       This source accepts the following options:
15292
15293       channel_layout, cl
15294           Specifies the channel layout, and can be either an integer or a
15295           string representing a channel layout. The default value of
15296           channel_layout is "stereo".
15297
15298           Check the channel_layout_map definition in
15299           libavutil/channel_layout.c for the mapping between strings and
15300           channel layout values.
15301
15302       sample_rate, r
15303           Specifies the sample rate, and defaults to 44100.
15304
15305       nb_samples, n
15306           Set the number of samples per requested frames.
15307
15308       duration, d
15309           Set the duration of the sourced audio. See the Time duration
15310           section in the ffmpeg-utils(1) manual for the accepted syntax.
15311
15312           If not specified, or the expressed duration is negative, the audio
15313           is supposed to be generated forever.
15314
15315       Examples
15316
15317       •   Set the sample rate to 48000 Hz and the channel layout to
15318           AV_CH_LAYOUT_MONO.
15319
15320                   anullsrc=r=48000:cl=4
15321
15322       •   Do the same operation with a more obvious syntax:
15323
15324                   anullsrc=r=48000:cl=mono
15325
15326       All the parameters need to be explicitly defined.
15327
15328   flite
15329       Synthesize a voice utterance using the libflite library.
15330
15331       To enable compilation of this filter you need to configure FFmpeg with
15332       "--enable-libflite".
15333
15334       Note that versions of the flite library prior to 2.0 are not thread-
15335       safe.
15336
15337       The filter accepts the following options:
15338
15339       list_voices
15340           If set to 1, list the names of the available voices and exit
15341           immediately. Default value is 0.
15342
15343       nb_samples, n
15344           Set the maximum number of samples per frame. Default value is 512.
15345
15346       textfile
15347           Set the filename containing the text to speak.
15348
15349       text
15350           Set the text to speak.
15351
15352       voice, v
15353           Set the voice to use for the speech synthesis. Default value is
15354           "kal". See also the list_voices option.
15355
15356       Examples
15357
15358       •   Read from file speech.txt, and synthesize the text using the
15359           standard flite voice:
15360
15361                   flite=textfile=speech.txt
15362
15363       •   Read the specified text selecting the "slt" voice:
15364
15365                   flite=text='So fare thee well, poor devil of a Sub-Sub, whose commentator I am':voice=slt
15366
15367       •   Input text to ffmpeg:
15368
15369                   ffmpeg -f lavfi -i flite=text='So fare thee well, poor devil of a Sub-Sub, whose commentator I am':voice=slt
15370
15371       •   Make ffplay speak the specified text, using "flite" and the "lavfi"
15372           device:
15373
15374                   ffplay -f lavfi flite=text='No more be grieved for which that thou hast done.'
15375
15376       For more information about libflite, check:
15377       <http://www.festvox.org/flite/>
15378
15379   anoisesrc
15380       Generate a noise audio signal.
15381
15382       The filter accepts the following options:
15383
15384       sample_rate, r
15385           Specify the sample rate. Default value is 48000 Hz.
15386
15387       amplitude, a
15388           Specify the amplitude (0.0 - 1.0) of the generated audio stream.
15389           Default value is 1.0.
15390
15391       duration, d
15392           Specify the duration of the generated audio stream. Not specifying
15393           this option results in noise with an infinite length.
15394
15395       color, colour, c
15396           Specify the color of noise. Available noise colors are white, pink,
15397           brown, blue, violet and velvet. Default color is white.
15398
15399       seed, s
15400           Specify a value used to seed the PRNG.
15401
15402       nb_samples, n
15403           Set the number of samples per each output frame, default is 1024.
15404
15405       Examples
15406
15407       •   Generate 60 seconds of pink noise, with a 44.1 kHz sampling rate
15408           and an amplitude of 0.5:
15409
15410                   anoisesrc=d=60:c=pink:r=44100:a=0.5
15411
15412   hilbert
15413       Generate odd-tap Hilbert transform FIR coefficients.
15414
15415       The resulting stream can be used with afir filter for phase-shifting
15416       the signal by 90 degrees.
15417
15418       This is used in many matrix coding schemes and for analytic signal
15419       generation.  The process is often written as a multiplication by i (or
15420       j), the imaginary unit.
15421
15422       The filter accepts the following options:
15423
15424       sample_rate, s
15425           Set sample rate, default is 44100.
15426
15427       taps, t
15428           Set length of FIR filter, default is 22051.
15429
15430       nb_samples, n
15431           Set number of samples per each frame.
15432
15433       win_func, w
15434           Set window function to be used when generating FIR coefficients.
15435
15436   sinc
15437       Generate a sinc kaiser-windowed low-pass, high-pass, band-pass, or
15438       band-reject FIR coefficients.
15439
15440       The resulting stream can be used with afir filter for filtering the
15441       audio signal.
15442
15443       The filter accepts the following options:
15444
15445       sample_rate, r
15446           Set sample rate, default is 44100.
15447
15448       nb_samples, n
15449           Set number of samples per each frame. Default is 1024.
15450
15451       hp  Set high-pass frequency. Default is 0.
15452
15453       lp  Set low-pass frequency. Default is 0.  If high-pass frequency is
15454           lower than low-pass frequency and low-pass frequency is higher than
15455           0 then filter will create band-pass filter coefficients, otherwise
15456           band-reject filter coefficients.
15457
15458       phase
15459           Set filter phase response. Default is 50. Allowed range is from 0
15460           to 100.
15461
15462       beta
15463           Set Kaiser window beta.
15464
15465       att Set stop-band attenuation. Default is 120dB, allowed range is from
15466           40 to 180 dB.
15467
15468       round
15469           Enable rounding, by default is disabled.
15470
15471       hptaps
15472           Set number of taps for high-pass filter.
15473
15474       lptaps
15475           Set number of taps for low-pass filter.
15476
15477   sine
15478       Generate an audio signal made of a sine wave with amplitude 1/8.
15479
15480       The audio signal is bit-exact.
15481
15482       The filter accepts the following options:
15483
15484       frequency, f
15485           Set the carrier frequency. Default is 440 Hz.
15486
15487       beep_factor, b
15488           Enable a periodic beep every second with frequency beep_factor
15489           times the carrier frequency. Default is 0, meaning the beep is
15490           disabled.
15491
15492       sample_rate, r
15493           Specify the sample rate, default is 44100.
15494
15495       duration, d
15496           Specify the duration of the generated audio stream.
15497
15498       samples_per_frame
15499           Set the number of samples per output frame.
15500
15501           The expression can contain the following constants:
15502
15503           n   The (sequential) number of the output audio frame, starting
15504               from 0.
15505
15506           pts The PTS (Presentation TimeStamp) of the output audio frame,
15507               expressed in TB units.
15508
15509           t   The PTS of the output audio frame, expressed in seconds.
15510
15511           TB  The timebase of the output audio frames.
15512
15513           Default is 1024.
15514
15515       Examples
15516
15517       •   Generate a simple 440 Hz sine wave:
15518
15519                   sine
15520
15521       •   Generate a 220 Hz sine wave with a 880 Hz beep each second, for 5
15522           seconds:
15523
15524                   sine=220:4:d=5
15525                   sine=f=220:b=4:d=5
15526                   sine=frequency=220:beep_factor=4:duration=5
15527
15528       •   Generate a 1 kHz sine wave following "1602,1601,1602,1601,1602"
15529           NTSC pattern:
15530
15531                   sine=1000:samples_per_frame='st(0,mod(n,5)); 1602-not(not(eq(ld(0),1)+eq(ld(0),3)))'
15532

AUDIO SINKS

15534       Below is a description of the currently available audio sinks.
15535
15536   abuffersink
15537       Buffer audio frames, and make them available to the end of filter
15538       chain.
15539
15540       This sink is mainly intended for programmatic use, in particular
15541       through the interface defined in libavfilter/buffersink.h or the
15542       options system.
15543
15544       It accepts a pointer to an AVABufferSinkContext structure, which
15545       defines the incoming buffers' formats, to be passed as the opaque
15546       parameter to "avfilter_init_filter" for initialization.
15547
15548   anullsink
15549       Null audio sink; do absolutely nothing with the input audio. It is
15550       mainly useful as a template and for use in analysis / debugging tools.
15551

VIDEO FILTERS

15553       When you configure your FFmpeg build, you can disable any of the
15554       existing filters using "--disable-filters".  The configure output will
15555       show the video filters included in your build.
15556
15557       Below is a description of the currently available video filters.
15558
15559   addroi
15560       Mark a region of interest in a video frame.
15561
15562       The frame data is passed through unchanged, but metadata is attached to
15563       the frame indicating regions of interest which can affect the behaviour
15564       of later encoding.  Multiple regions can be marked by applying the
15565       filter multiple times.
15566
15567       x   Region distance in pixels from the left edge of the frame.
15568
15569       y   Region distance in pixels from the top edge of the frame.
15570
15571       w   Region width in pixels.
15572
15573       h   Region height in pixels.
15574
15575           The parameters x, y, w and h are expressions, and may contain the
15576           following variables:
15577
15578           iw  Width of the input frame.
15579
15580           ih  Height of the input frame.
15581
15582       qoffset
15583           Quantisation offset to apply within the region.
15584
15585           This must be a real value in the range -1 to +1.  A value of zero
15586           indicates no quality change.  A negative value asks for better
15587           quality (less quantisation), while a positive value asks for worse
15588           quality (greater quantisation).
15589
15590           The range is calibrated so that the extreme values indicate the
15591           largest possible offset - if the rest of the frame is encoded with
15592           the worst possible quality, an offset of -1 indicates that this
15593           region should be encoded with the best possible quality anyway.
15594           Intermediate values are then interpolated in some codec-dependent
15595           way.
15596
15597           For example, in 10-bit H.264 the quantisation parameter varies
15598           between -12 and 51.  A typical qoffset value of -1/10 therefore
15599           indicates that this region should be encoded with a QP around one-
15600           tenth of the full range better than the rest of the frame.  So, if
15601           most of the frame were to be encoded with a QP of around 30, this
15602           region would get a QP of around 24 (an offset of approximately
15603           -1/10 * (51 - -12) = -6.3).  An extreme value of -1 would indicate
15604           that this region should be encoded with the best possible quality
15605           regardless of the treatment of the rest of the frame - that is,
15606           should be encoded at a QP of -12.
15607
15608       clear
15609           If set to true, remove any existing regions of interest marked on
15610           the frame before adding the new one.
15611
15612       Examples
15613
15614       •   Mark the centre quarter of the frame as interesting.
15615
15616                   addroi=iw/4:ih/4:iw/2:ih/2:-1/10
15617
15618       •   Mark the 100-pixel-wide region on the left edge of the frame as
15619           very uninteresting (to be encoded at much lower quality than the
15620           rest of the frame).
15621
15622                   addroi=0:0:100:ih:+1/5
15623
15624   alphaextract
15625       Extract the alpha component from the input as a grayscale video. This
15626       is especially useful with the alphamerge filter.
15627
15628   alphamerge
15629       Add or replace the alpha component of the primary input with the
15630       grayscale value of a second input. This is intended for use with
15631       alphaextract to allow the transmission or storage of frame sequences
15632       that have alpha in a format that doesn't support an alpha channel.
15633
15634       For example, to reconstruct full frames from a normal YUV-encoded video
15635       and a separate video created with alphaextract, you might use:
15636
15637               movie=in_alpha.mkv [alpha]; [in][alpha] alphamerge [out]
15638
15639   amplify
15640       Amplify differences between current pixel and pixels of adjacent frames
15641       in same pixel location.
15642
15643       This filter accepts the following options:
15644
15645       radius
15646           Set frame radius. Default is 2. Allowed range is from 1 to 63.  For
15647           example radius of 3 will instruct filter to calculate average of 7
15648           frames.
15649
15650       factor
15651           Set factor to amplify difference. Default is 2. Allowed range is
15652           from 0 to 65535.
15653
15654       threshold
15655           Set threshold for difference amplification. Any difference greater
15656           or equal to this value will not alter source pixel. Default is 10.
15657           Allowed range is from 0 to 65535.
15658
15659       tolerance
15660           Set tolerance for difference amplification. Any difference lower to
15661           this value will not alter source pixel. Default is 0.  Allowed
15662           range is from 0 to 65535.
15663
15664       low Set lower limit for changing source pixel. Default is 65535.
15665           Allowed range is from 0 to 65535.  This option controls maximum
15666           possible value that will decrease source pixel value.
15667
15668       high
15669           Set high limit for changing source pixel. Default is 65535. Allowed
15670           range is from 0 to 65535.  This option controls maximum possible
15671           value that will increase source pixel value.
15672
15673       planes
15674           Set which planes to filter. Default is all. Allowed range is from 0
15675           to 15.
15676
15677       Commands
15678
15679       This filter supports the following commands that corresponds to option
15680       of same name:
15681
15682       factor
15683       threshold
15684       tolerance
15685       low
15686       high
15687       planes
15688
15689   ass
15690       Same as the subtitles filter, except that it doesn't require libavcodec
15691       and libavformat to work. On the other hand, it is limited to ASS
15692       (Advanced Substation Alpha) subtitles files.
15693
15694       This filter accepts the following option in addition to the common
15695       options from the subtitles filter:
15696
15697       shaping
15698           Set the shaping engine
15699
15700           Available values are:
15701
15702           auto
15703               The default libass shaping engine, which is the best available.
15704
15705           simple
15706               Fast, font-agnostic shaper that can do only substitutions
15707
15708           complex
15709               Slower shaper using OpenType for substitutions and positioning
15710
15711           The default is "auto".
15712
15713   atadenoise
15714       Apply an Adaptive Temporal Averaging Denoiser to the video input.
15715
15716       The filter accepts the following options:
15717
15718       0a  Set threshold A for 1st plane. Default is 0.02.  Valid range is 0
15719           to 0.3.
15720
15721       0b  Set threshold B for 1st plane. Default is 0.04.  Valid range is 0
15722           to 5.
15723
15724       1a  Set threshold A for 2nd plane. Default is 0.02.  Valid range is 0
15725           to 0.3.
15726
15727       1b  Set threshold B for 2nd plane. Default is 0.04.  Valid range is 0
15728           to 5.
15729
15730       2a  Set threshold A for 3rd plane. Default is 0.02.  Valid range is 0
15731           to 0.3.
15732
15733       2b  Set threshold B for 3rd plane. Default is 0.04.  Valid range is 0
15734           to 5.
15735
15736           Threshold A is designed to react on abrupt changes in the input
15737           signal and threshold B is designed to react on continuous changes
15738           in the input signal.
15739
15740       s   Set number of frames filter will use for averaging. Default is 9.
15741           Must be odd number in range [5, 129].
15742
15743       p   Set what planes of frame filter will use for averaging. Default is
15744           all.
15745
15746       a   Set what variant of algorithm filter will use for averaging.
15747           Default is "p" parallel.  Alternatively can be set to "s" serial.
15748
15749           Parallel can be faster then serial, while other way around is never
15750           true.  Parallel will abort early on first change being greater then
15751           thresholds, while serial will continue processing other side of
15752           frames if they are equal or below thresholds.
15753
15754       0s
15755       1s
15756       2s  Set sigma for 1st plane, 2nd plane or 3rd plane. Default is 32767.
15757           Valid range is from 0 to 32767.  This options controls weight for
15758           each pixel in radius defined by size.  Default value means every
15759           pixel have same weight.  Setting this option to 0 effectively
15760           disables filtering.
15761
15762       Commands
15763
15764       This filter supports same commands as options except option "s".  The
15765       command accepts the same syntax of the corresponding option.
15766
15767   avgblur
15768       Apply average blur filter.
15769
15770       The filter accepts the following options:
15771
15772       sizeX
15773           Set horizontal radius size.
15774
15775       planes
15776           Set which planes to filter. By default all planes are filtered.
15777
15778       sizeY
15779           Set vertical radius size, if zero it will be same as "sizeX".
15780           Default is 0.
15781
15782       Commands
15783
15784       This filter supports same commands as options.  The command accepts the
15785       same syntax of the corresponding option.
15786
15787       If the specified expression is not valid, it is kept at its current
15788       value.
15789
15790   bbox
15791       Compute the bounding box for the non-black pixels in the input frame
15792       luminance plane.
15793
15794       This filter computes the bounding box containing all the pixels with a
15795       luminance value greater than the minimum allowed value.  The parameters
15796       describing the bounding box are printed on the filter log.
15797
15798       The filter accepts the following option:
15799
15800       min_val
15801           Set the minimal luminance value. Default is 16.
15802
15803       Commands
15804
15805       This filter supports the all above options as commands.
15806
15807   bilateral
15808       Apply bilateral filter, spatial smoothing while preserving edges.
15809
15810       The filter accepts the following options:
15811
15812       sigmaS
15813           Set sigma of gaussian function to calculate spatial weight.
15814           Allowed range is 0 to 512. Default is 0.1.
15815
15816       sigmaR
15817           Set sigma of gaussian function to calculate range weight.  Allowed
15818           range is 0 to 1. Default is 0.1.
15819
15820       planes
15821           Set planes to filter. Default is first only.
15822
15823       Commands
15824
15825       This filter supports the all above options as commands.
15826
15827   bitplanenoise
15828       Show and measure bit plane noise.
15829
15830       The filter accepts the following options:
15831
15832       bitplane
15833           Set which plane to analyze. Default is 1.
15834
15835       filter
15836           Filter out noisy pixels from "bitplane" set above.  Default is
15837           disabled.
15838
15839   blackdetect
15840       Detect video intervals that are (almost) completely black. Can be
15841       useful to detect chapter transitions, commercials, or invalid
15842       recordings.
15843
15844       The filter outputs its detection analysis to both the log as well as
15845       frame metadata. If a black segment of at least the specified minimum
15846       duration is found, a line with the start and end timestamps as well as
15847       duration is printed to the log with level "info". In addition, a log
15848       line with level "debug" is printed per frame showing the black amount
15849       detected for that frame.
15850
15851       The filter also attaches metadata to the first frame of a black segment
15852       with key "lavfi.black_start" and to the first frame after the black
15853       segment ends with key "lavfi.black_end". The value is the frame's
15854       timestamp. This metadata is added regardless of the minimum duration
15855       specified.
15856
15857       The filter accepts the following options:
15858
15859       black_min_duration, d
15860           Set the minimum detected black duration expressed in seconds. It
15861           must be a non-negative floating point number.
15862
15863           Default value is 2.0.
15864
15865       picture_black_ratio_th, pic_th
15866           Set the threshold for considering a picture "black".  Express the
15867           minimum value for the ratio:
15868
15869                   <nb_black_pixels> / <nb_pixels>
15870
15871           for which a picture is considered black.  Default value is 0.98.
15872
15873       pixel_black_th, pix_th
15874           Set the threshold for considering a pixel "black".
15875
15876           The threshold expresses the maximum pixel luminance value for which
15877           a pixel is considered "black". The provided value is scaled
15878           according to the following equation:
15879
15880                   <absolute_threshold> = <luminance_minimum_value> + <pixel_black_th> * <luminance_range_size>
15881
15882           luminance_range_size and luminance_minimum_value depend on the
15883           input video format, the range is [0-255] for YUV full-range formats
15884           and [16-235] for YUV non full-range formats.
15885
15886           Default value is 0.10.
15887
15888       The following example sets the maximum pixel threshold to the minimum
15889       value, and detects only black intervals of 2 or more seconds:
15890
15891               blackdetect=d=2:pix_th=0.00
15892
15893   blackframe
15894       Detect frames that are (almost) completely black. Can be useful to
15895       detect chapter transitions or commercials. Output lines consist of the
15896       frame number of the detected frame, the percentage of blackness, the
15897       position in the file if known or -1 and the timestamp in seconds.
15898
15899       In order to display the output lines, you need to set the loglevel at
15900       least to the AV_LOG_INFO value.
15901
15902       This filter exports frame metadata "lavfi.blackframe.pblack".  The
15903       value represents the percentage of pixels in the picture that are below
15904       the threshold value.
15905
15906       It accepts the following parameters:
15907
15908       amount
15909           The percentage of the pixels that have to be below the threshold;
15910           it defaults to 98.
15911
15912       threshold, thresh
15913           The threshold below which a pixel value is considered black; it
15914           defaults to 32.
15915
15916   blend
15917       Blend two video frames into each other.
15918
15919       The "blend" filter takes two input streams and outputs one stream, the
15920       first input is the "top" layer and second input is "bottom" layer.  By
15921       default, the output terminates when the longest input terminates.
15922
15923       The "tblend" (time blend) filter takes two consecutive frames from one
15924       single stream, and outputs the result obtained by blending the new
15925       frame on top of the old frame.
15926
15927       A description of the accepted options follows.
15928
15929       c0_mode
15930       c1_mode
15931       c2_mode
15932       c3_mode
15933       all_mode
15934           Set blend mode for specific pixel component or all pixel components
15935           in case of all_mode. Default value is "normal".
15936
15937           Available values for component modes are:
15938
15939           addition
15940           and
15941           average
15942           bleach
15943           burn
15944           darken
15945           difference
15946           divide
15947           dodge
15948           exclusion
15949           extremity
15950           freeze
15951           geometric
15952           glow
15953           grainextract
15954           grainmerge
15955           hardlight
15956           hardmix
15957           hardoverlay
15958           harmonic
15959           heat
15960           interpolate
15961           lighten
15962           linearlight
15963           multiply
15964           multiply128
15965           negation
15966           normal
15967           or
15968           overlay
15969           phoenix
15970           pinlight
15971           reflect
15972           screen
15973           softdifference
15974           softlight
15975           stain
15976           subtract
15977           vividlight
15978           xor
15979       c0_opacity
15980       c1_opacity
15981       c2_opacity
15982       c3_opacity
15983       all_opacity
15984           Set blend opacity for specific pixel component or all pixel
15985           components in case of all_opacity. Only used in combination with
15986           pixel component blend modes.
15987
15988       c0_expr
15989       c1_expr
15990       c2_expr
15991       c3_expr
15992       all_expr
15993           Set blend expression for specific pixel component or all pixel
15994           components in case of all_expr. Note that related mode options will
15995           be ignored if those are set.
15996
15997           The expressions can use the following variables:
15998
15999           N   The sequential number of the filtered frame, starting from 0.
16000
16001           X
16002           Y   the coordinates of the current sample
16003
16004           W
16005           H   the width and height of currently filtered plane
16006
16007           SW
16008           SH  Width and height scale for the plane being filtered. It is the
16009               ratio between the dimensions of the current plane to the luma
16010               plane, e.g. for a "yuv420p" frame, the values are "1,1" for the
16011               luma plane and "0.5,0.5" for the chroma planes.
16012
16013           T   Time of the current frame, expressed in seconds.
16014
16015           TOP, A
16016               Value of pixel component at current location for first video
16017               frame (top layer).
16018
16019           BOTTOM, B
16020               Value of pixel component at current location for second video
16021               frame (bottom layer).
16022
16023       The "blend" filter also supports the framesync options.
16024
16025       Examples
16026
16027       •   Apply transition from bottom layer to top layer in first 10
16028           seconds:
16029
16030                   blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-(if(gte(T,10),1,T/10)))'
16031
16032       •   Apply linear horizontal transition from top layer to bottom layer:
16033
16034                   blend=all_expr='A*(X/W)+B*(1-X/W)'
16035
16036       •   Apply 1x1 checkerboard effect:
16037
16038                   blend=all_expr='if(eq(mod(X,2),mod(Y,2)),A,B)'
16039
16040       •   Apply uncover left effect:
16041
16042                   blend=all_expr='if(gte(N*SW+X,W),A,B)'
16043
16044       •   Apply uncover down effect:
16045
16046                   blend=all_expr='if(gte(Y-N*SH,0),A,B)'
16047
16048       •   Apply uncover up-left effect:
16049
16050                   blend=all_expr='if(gte(T*SH*40+Y,H)*gte((T*40*SW+X)*W/H,W),A,B)'
16051
16052       •   Split diagonally video and shows top and bottom layer on each side:
16053
16054                   blend=all_expr='if(gt(X,Y*(W/H)),A,B)'
16055
16056       •   Display differences between the current and the previous frame:
16057
16058                   tblend=all_mode=grainextract
16059
16060       Commands
16061
16062       This filter supports same commands as options.
16063
16064   bm3d
16065       Denoise frames using Block-Matching 3D algorithm.
16066
16067       The filter accepts the following options.
16068
16069       sigma
16070           Set denoising strength. Default value is 1.  Allowed range is from
16071           0 to 999.9.  The denoising algorithm is very sensitive to sigma, so
16072           adjust it according to the source.
16073
16074       block
16075           Set local patch size. This sets dimensions in 2D.
16076
16077       bstep
16078           Set sliding step for processing blocks. Default value is 4.
16079           Allowed range is from 1 to 64.  Smaller values allows processing
16080           more reference blocks and is slower.
16081
16082       group
16083           Set maximal number of similar blocks for 3rd dimension. Default
16084           value is 1.  When set to 1, no block matching is done. Larger
16085           values allows more blocks in single group.  Allowed range is from 1
16086           to 256.
16087
16088       range
16089           Set radius for search block matching. Default is 9.  Allowed range
16090           is from 1 to INT32_MAX.
16091
16092       mstep
16093           Set step between two search locations for block matching. Default
16094           is 1.  Allowed range is from 1 to 64. Smaller is slower.
16095
16096       thmse
16097           Set threshold of mean square error for block matching. Valid range
16098           is 0 to INT32_MAX.
16099
16100       hdthr
16101           Set thresholding parameter for hard thresholding in 3D transformed
16102           domain.  Larger values results in stronger hard-thresholding
16103           filtering in frequency domain.
16104
16105       estim
16106           Set filtering estimation mode. Can be "basic" or "final".  Default
16107           is "basic".
16108
16109       ref If enabled, filter will use 2nd stream for block matching.  Default
16110           is disabled for "basic" value of estim option, and always enabled
16111           if value of estim is "final".
16112
16113       planes
16114           Set planes to filter. Default is all available except alpha.
16115
16116       Examples
16117
16118       •   Basic filtering with bm3d:
16119
16120                   bm3d=sigma=3:block=4:bstep=2:group=1:estim=basic
16121
16122       •   Same as above, but filtering only luma:
16123
16124                   bm3d=sigma=3:block=4:bstep=2:group=1:estim=basic:planes=1
16125
16126       •   Same as above, but with both estimation modes:
16127
16128                   split[a][b],[a]bm3d=sigma=3:block=4:bstep=2:group=1:estim=basic[a],[b][a]bm3d=sigma=3:block=4:bstep=2:group=16:estim=final:ref=1
16129
16130       •   Same as above, but prefilter with nlmeans filter instead:
16131
16132                   split[a][b],[a]nlmeans=s=3:r=7:p=3[a],[b][a]bm3d=sigma=3:block=4:bstep=2:group=16:estim=final:ref=1
16133
16134   boxblur
16135       Apply a boxblur algorithm to the input video.
16136
16137       It accepts the following parameters:
16138
16139       luma_radius, lr
16140       luma_power, lp
16141       chroma_radius, cr
16142       chroma_power, cp
16143       alpha_radius, ar
16144       alpha_power, ap
16145
16146       A description of the accepted options follows.
16147
16148       luma_radius, lr
16149       chroma_radius, cr
16150       alpha_radius, ar
16151           Set an expression for the box radius in pixels used for blurring
16152           the corresponding input plane.
16153
16154           The radius value must be a non-negative number, and must not be
16155           greater than the value of the expression "min(w,h)/2" for the luma
16156           and alpha planes, and of "min(cw,ch)/2" for the chroma planes.
16157
16158           Default value for luma_radius is "2". If not specified,
16159           chroma_radius and alpha_radius default to the corresponding value
16160           set for luma_radius.
16161
16162           The expressions can contain the following constants:
16163
16164           w
16165           h   The input width and height in pixels.
16166
16167           cw
16168           ch  The input chroma image width and height in pixels.
16169
16170           hsub
16171           vsub
16172               The horizontal and vertical chroma subsample values. For
16173               example, for the pixel format "yuv422p", hsub is 2 and vsub is
16174               1.
16175
16176       luma_power, lp
16177       chroma_power, cp
16178       alpha_power, ap
16179           Specify how many times the boxblur filter is applied to the
16180           corresponding plane.
16181
16182           Default value for luma_power is 2. If not specified, chroma_power
16183           and alpha_power default to the corresponding value set for
16184           luma_power.
16185
16186           A value of 0 will disable the effect.
16187
16188       Examples
16189
16190       •   Apply a boxblur filter with the luma, chroma, and alpha radii set
16191           to 2:
16192
16193                   boxblur=luma_radius=2:luma_power=1
16194                   boxblur=2:1
16195
16196       •   Set the luma radius to 2, and alpha and chroma radius to 0:
16197
16198                   boxblur=2:1:cr=0:ar=0
16199
16200       •   Set the luma and chroma radii to a fraction of the video dimension:
16201
16202                   boxblur=luma_radius=min(h\,w)/10:luma_power=1:chroma_radius=min(cw\,ch)/10:chroma_power=1
16203
16204   bwdif
16205       Deinterlace the input video ("bwdif" stands for "Bob Weaver
16206       Deinterlacing Filter").
16207
16208       Motion adaptive deinterlacing based on yadif with the use of w3fdif and
16209       cubic interpolation algorithms.  It accepts the following parameters:
16210
16211       mode
16212           The interlacing mode to adopt. It accepts one of the following
16213           values:
16214
16215           0, send_frame
16216               Output one frame for each frame.
16217
16218           1, send_field
16219               Output one frame for each field.
16220
16221           The default value is "send_field".
16222
16223       parity
16224           The picture field parity assumed for the input interlaced video. It
16225           accepts one of the following values:
16226
16227           0, tff
16228               Assume the top field is first.
16229
16230           1, bff
16231               Assume the bottom field is first.
16232
16233           -1, auto
16234               Enable automatic detection of field parity.
16235
16236           The default value is "auto".  If the interlacing is unknown or the
16237           decoder does not export this information, top field first will be
16238           assumed.
16239
16240       deint
16241           Specify which frames to deinterlace. Accepts one of the following
16242           values:
16243
16244           0, all
16245               Deinterlace all frames.
16246
16247           1, interlaced
16248               Only deinterlace frames marked as interlaced.
16249
16250           The default value is "all".
16251
16252   cas
16253       Apply Contrast Adaptive Sharpen filter to video stream.
16254
16255       The filter accepts the following options:
16256
16257       strength
16258           Set the sharpening strength. Default value is 0.
16259
16260       planes
16261           Set planes to filter. Default value is to filter all planes except
16262           alpha plane.
16263
16264       Commands
16265
16266       This filter supports same commands as options.
16267
16268   chromahold
16269       Remove all color information for all colors except for certain one.
16270
16271       The filter accepts the following options:
16272
16273       color
16274           The color which will not be replaced with neutral chroma.
16275
16276       similarity
16277           Similarity percentage with the above color.  0.01 matches only the
16278           exact key color, while 1.0 matches everything.
16279
16280       blend
16281           Blend percentage.  0.0 makes pixels either fully gray, or not gray
16282           at all.  Higher values result in more preserved color.
16283
16284       yuv Signals that the color passed is already in YUV instead of RGB.
16285
16286           Literal colors like "green" or "red" don't make sense with this
16287           enabled anymore.  This can be used to pass exact YUV values as
16288           hexadecimal numbers.
16289
16290       Commands
16291
16292       This filter supports same commands as options.  The command accepts the
16293       same syntax of the corresponding option.
16294
16295       If the specified expression is not valid, it is kept at its current
16296       value.
16297
16298   chromakey
16299       YUV colorspace color/chroma keying.
16300
16301       The filter accepts the following options:
16302
16303       color
16304           The color which will be replaced with transparency.
16305
16306       similarity
16307           Similarity percentage with the key color.
16308
16309           0.01 matches only the exact key color, while 1.0 matches
16310           everything.
16311
16312       blend
16313           Blend percentage.
16314
16315           0.0 makes pixels either fully transparent, or not transparent at
16316           all.
16317
16318           Higher values result in semi-transparent pixels, with a higher
16319           transparency the more similar the pixels color is to the key color.
16320
16321       yuv Signals that the color passed is already in YUV instead of RGB.
16322
16323           Literal colors like "green" or "red" don't make sense with this
16324           enabled anymore.  This can be used to pass exact YUV values as
16325           hexadecimal numbers.
16326
16327       Commands
16328
16329       This filter supports same commands as options.  The command accepts the
16330       same syntax of the corresponding option.
16331
16332       If the specified expression is not valid, it is kept at its current
16333       value.
16334
16335       Examples
16336
16337       •   Make every green pixel in the input image transparent:
16338
16339                   ffmpeg -i input.png -vf chromakey=green out.png
16340
16341       •   Overlay a greenscreen-video on top of a static black background.
16342
16343                   ffmpeg -f lavfi -i color=c=black:s=1280x720 -i video.mp4 -shortest -filter_complex "[1:v]chromakey=0x70de77:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.mkv
16344
16345   chromanr
16346       Reduce chrominance noise.
16347
16348       The filter accepts the following options:
16349
16350       thres
16351           Set threshold for averaging chrominance values.  Sum of absolute
16352           difference of Y, U and V pixel components of current pixel and
16353           neighbour pixels lower than this threshold will be used in
16354           averaging. Luma component is left unchanged and is copied to
16355           output.  Default value is 30. Allowed range is from 1 to 200.
16356
16357       sizew
16358           Set horizontal radius of rectangle used for averaging.  Allowed
16359           range is from 1 to 100. Default value is 5.
16360
16361       sizeh
16362           Set vertical radius of rectangle used for averaging.  Allowed range
16363           is from 1 to 100. Default value is 5.
16364
16365       stepw
16366           Set horizontal step when averaging. Default value is 1.  Allowed
16367           range is from 1 to 50.  Mostly useful to speed-up filtering.
16368
16369       steph
16370           Set vertical step when averaging. Default value is 1.  Allowed
16371           range is from 1 to 50.  Mostly useful to speed-up filtering.
16372
16373       threy
16374           Set Y threshold for averaging chrominance values.  Set finer
16375           control for max allowed difference between Y components of current
16376           pixel and neigbour pixels.  Default value is 200. Allowed range is
16377           from 1 to 200.
16378
16379       threu
16380           Set U threshold for averaging chrominance values.  Set finer
16381           control for max allowed difference between U components of current
16382           pixel and neigbour pixels.  Default value is 200. Allowed range is
16383           from 1 to 200.
16384
16385       threv
16386           Set V threshold for averaging chrominance values.  Set finer
16387           control for max allowed difference between V components of current
16388           pixel and neigbour pixels.  Default value is 200. Allowed range is
16389           from 1 to 200.
16390
16391       distance
16392           Set distance type used in calculations.
16393
16394           manhattan
16395               Absolute difference.
16396
16397           euclidean
16398               Difference squared.
16399
16400           Default distance type is manhattan.
16401
16402       Commands
16403
16404       This filter supports same commands as options.  The command accepts the
16405       same syntax of the corresponding option.
16406
16407   chromashift
16408       Shift chroma pixels horizontally and/or vertically.
16409
16410       The filter accepts the following options:
16411
16412       cbh Set amount to shift chroma-blue horizontally.
16413
16414       cbv Set amount to shift chroma-blue vertically.
16415
16416       crh Set amount to shift chroma-red horizontally.
16417
16418       crv Set amount to shift chroma-red vertically.
16419
16420       edge
16421           Set edge mode, can be smear, default, or warp.
16422
16423       Commands
16424
16425       This filter supports the all above options as commands.
16426
16427   ciescope
16428       Display CIE color diagram with pixels overlaid onto it.
16429
16430       The filter accepts the following options:
16431
16432       system
16433           Set color system.
16434
16435           ntsc, 470m
16436           ebu, 470bg
16437           smpte
16438           240m
16439           apple
16440           widergb
16441           cie1931
16442           rec709, hdtv
16443           uhdtv, rec2020
16444           dcip3
16445       cie Set CIE system.
16446
16447           xyy
16448           ucs
16449           luv
16450       gamuts
16451           Set what gamuts to draw.
16452
16453           See "system" option for available values.
16454
16455       size, s
16456           Set ciescope size, by default set to 512.
16457
16458       intensity, i
16459           Set intensity used to map input pixel values to CIE diagram.
16460
16461       contrast
16462           Set contrast used to draw tongue colors that are out of active
16463           color system gamut.
16464
16465       corrgamma
16466           Correct gamma displayed on scope, by default enabled.
16467
16468       showwhite
16469           Show white point on CIE diagram, by default disabled.
16470
16471       gamma
16472           Set input gamma. Used only with XYZ input color space.
16473
16474   codecview
16475       Visualize information exported by some codecs.
16476
16477       Some codecs can export information through frames using side-data or
16478       other means. For example, some MPEG based codecs export motion vectors
16479       through the export_mvs flag in the codec flags2 option.
16480
16481       The filter accepts the following option:
16482
16483       block
16484           Display block partition structure using the luma plane.
16485
16486       mv  Set motion vectors to visualize.
16487
16488           Available flags for mv are:
16489
16490           pf  forward predicted MVs of P-frames
16491
16492           bf  forward predicted MVs of B-frames
16493
16494           bb  backward predicted MVs of B-frames
16495
16496       qp  Display quantization parameters using the chroma planes.
16497
16498       mv_type, mvt
16499           Set motion vectors type to visualize. Includes MVs from all frames
16500           unless specified by frame_type option.
16501
16502           Available flags for mv_type are:
16503
16504           fp  forward predicted MVs
16505
16506           bp  backward predicted MVs
16507
16508       frame_type, ft
16509           Set frame type to visualize motion vectors of.
16510
16511           Available flags for frame_type are:
16512
16513           if  intra-coded frames (I-frames)
16514
16515           pf  predicted frames (P-frames)
16516
16517           bf  bi-directionally predicted frames (B-frames)
16518
16519       Examples
16520
16521       •   Visualize forward predicted MVs of all frames using ffplay:
16522
16523                   ffplay -flags2 +export_mvs input.mp4 -vf codecview=mv_type=fp
16524
16525       •   Visualize multi-directionals MVs of P and B-Frames using ffplay:
16526
16527                   ffplay -flags2 +export_mvs input.mp4 -vf codecview=mv=pf+bf+bb
16528
16529   colorbalance
16530       Modify intensity of primary colors (red, green and blue) of input
16531       frames.
16532
16533       The filter allows an input frame to be adjusted in the shadows,
16534       midtones or highlights regions for the red-cyan, green-magenta or blue-
16535       yellow balance.
16536
16537       A positive adjustment value shifts the balance towards the primary
16538       color, a negative value towards the complementary color.
16539
16540       The filter accepts the following options:
16541
16542       rs
16543       gs
16544       bs  Adjust red, green and blue shadows (darkest pixels).
16545
16546       rm
16547       gm
16548       bm  Adjust red, green and blue midtones (medium pixels).
16549
16550       rh
16551       gh
16552       bh  Adjust red, green and blue highlights (brightest pixels).
16553
16554           Allowed ranges for options are "[-1.0, 1.0]". Defaults are 0.
16555
16556       pl  Preserve lightness when changing color balance. Default is
16557           disabled.
16558
16559       Examples
16560
16561       •   Add red color cast to shadows:
16562
16563                   colorbalance=rs=.3
16564
16565       Commands
16566
16567       This filter supports the all above options as commands.
16568
16569   colorcontrast
16570       Adjust color contrast between RGB components.
16571
16572       The filter accepts the following options:
16573
16574       rc  Set the red-cyan contrast. Defaults is 0.0. Allowed range is from
16575           -1.0 to 1.0.
16576
16577       gm  Set the green-magenta contrast. Defaults is 0.0. Allowed range is
16578           from -1.0 to 1.0.
16579
16580       by  Set the blue-yellow contrast. Defaults is 0.0. Allowed range is
16581           from -1.0 to 1.0.
16582
16583       rcw
16584       gmw
16585       byw Set the weight of each "rc", "gm", "by" option value. Default value
16586           is 0.0.  Allowed range is from 0.0 to 1.0. If all weights are 0.0
16587           filtering is disabled.
16588
16589       pl  Set the amount of preserving lightness. Default value is 0.0.
16590           Allowed range is from 0.0 to 1.0.
16591
16592       Commands
16593
16594       This filter supports the all above options as commands.
16595
16596   colorcorrect
16597       Adjust color white balance selectively for blacks and whites.  This
16598       filter operates in YUV colorspace.
16599
16600       The filter accepts the following options:
16601
16602       rl  Set the red shadow spot. Allowed range is from -1.0 to 1.0.
16603           Default value is 0.
16604
16605       bl  Set the blue shadow spot. Allowed range is from -1.0 to 1.0.
16606           Default value is 0.
16607
16608       rh  Set the red highlight spot. Allowed range is from -1.0 to 1.0.
16609           Default value is 0.
16610
16611       bh  Set the red highlight spot. Allowed range is from -1.0 to 1.0.
16612           Default value is 0.
16613
16614       saturation
16615           Set the amount of saturation. Allowed range is from -3.0 to 3.0.
16616           Default value is 1.
16617
16618       analyze
16619           If set to anything other than "manual" it will analyze every frame
16620           and use derived parameters for filtering output frame.
16621
16622           Possible values are:
16623
16624           manual
16625           average
16626           minmax
16627           median
16628
16629           Default value is "manual".
16630
16631       Commands
16632
16633       This filter supports the all above options as commands.
16634
16635   colorchannelmixer
16636       Adjust video input frames by re-mixing color channels.
16637
16638       This filter modifies a color channel by adding the values associated to
16639       the other channels of the same pixels. For example if the value to
16640       modify is red, the output value will be:
16641
16642               <red>=<red>*<rr> + <blue>*<rb> + <green>*<rg> + <alpha>*<ra>
16643
16644       The filter accepts the following options:
16645
16646       rr
16647       rg
16648       rb
16649       ra  Adjust contribution of input red, green, blue and alpha channels
16650           for output red channel.  Default is 1 for rr, and 0 for rg, rb and
16651           ra.
16652
16653       gr
16654       gg
16655       gb
16656       ga  Adjust contribution of input red, green, blue and alpha channels
16657           for output green channel.  Default is 1 for gg, and 0 for gr, gb
16658           and ga.
16659
16660       br
16661       bg
16662       bb
16663       ba  Adjust contribution of input red, green, blue and alpha channels
16664           for output blue channel.  Default is 1 for bb, and 0 for br, bg and
16665           ba.
16666
16667       ar
16668       ag
16669       ab
16670       aa  Adjust contribution of input red, green, blue and alpha channels
16671           for output alpha channel.  Default is 1 for aa, and 0 for ar, ag
16672           and ab.
16673
16674           Allowed ranges for options are "[-2.0, 2.0]".
16675
16676       pc  Set preserve color mode. The accepted values are:
16677
16678           none
16679               Disable color preserving, this is default.
16680
16681           lum Preserve luminance.
16682
16683           max Preserve max value of RGB triplet.
16684
16685           avg Preserve average value of RGB triplet.
16686
16687           sum Preserve sum value of RGB triplet.
16688
16689           nrm Preserve normalized value of RGB triplet.
16690
16691           pwr Preserve power value of RGB triplet.
16692
16693       pa  Set the preserve color amount when changing colors. Allowed range
16694           is from "[0.0, 1.0]".  Default is 0.0, thus disabled.
16695
16696       Examples
16697
16698       •   Convert source to grayscale:
16699
16700                   colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3
16701
16702       •   Simulate sepia tones:
16703
16704                   colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131
16705
16706       Commands
16707
16708       This filter supports the all above options as commands.
16709
16710   colorize
16711       Overlay a solid color on the video stream.
16712
16713       The filter accepts the following options:
16714
16715       hue Set the color hue. Allowed range is from 0 to 360.  Default value
16716           is 0.
16717
16718       saturation
16719           Set the color saturation. Allowed range is from 0 to 1.  Default
16720           value is 0.5.
16721
16722       lightness
16723           Set the color lightness. Allowed range is from 0 to 1.  Default
16724           value is 0.5.
16725
16726       mix Set the mix of source lightness. By default is set to 1.0.  Allowed
16727           range is from 0.0 to 1.0.
16728
16729       Commands
16730
16731       This filter supports the all above options as commands.
16732
16733   colorkey
16734       RGB colorspace color keying.  This filter operates on 8-bit RGB format
16735       frames by setting the alpha component of each pixel which falls within
16736       the similarity radius of the key color to 0. The alpha value for pixels
16737       outside the similarity radius depends on the value of the blend option.
16738
16739       The filter accepts the following options:
16740
16741       color
16742           Set the color for which alpha will be set to 0 (full transparency).
16743           See "Color" section in the ffmpeg-utils manual.  Default is
16744           "black".
16745
16746       similarity
16747           Set the radius from the key color within which other colors also
16748           have full transparency.  The computed distance is related to the
16749           unit fractional distance in 3D space between the RGB values of the
16750           key color and the pixel's color. Range is 0.01 to 1.0. 0.01 matches
16751           within a very small radius around the exact key color, while 1.0
16752           matches everything.  Default is 0.01.
16753
16754       blend
16755           Set how the alpha value for pixels that fall outside the similarity
16756           radius is computed.  0.0 makes pixels either fully transparent or
16757           fully opaque.  Higher values result in semi-transparent pixels,
16758           with greater transparency the more similar the pixel color is to
16759           the key color.  Range is 0.0 to 1.0. Default is 0.0.
16760
16761       Examples
16762
16763       •   Make every green pixel in the input image transparent:
16764
16765                   ffmpeg -i input.png -vf colorkey=green out.png
16766
16767       •   Overlay a greenscreen-video on top of a static background image.
16768
16769                   ffmpeg -i background.png -i video.mp4 -filter_complex "[1:v]colorkey=0x3BBD1E:0.3:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.flv
16770
16771       Commands
16772
16773       This filter supports same commands as options.  The command accepts the
16774       same syntax of the corresponding option.
16775
16776       If the specified expression is not valid, it is kept at its current
16777       value.
16778
16779   colorhold
16780       Remove all color information for all RGB colors except for certain one.
16781
16782       The filter accepts the following options:
16783
16784       color
16785           The color which will not be replaced with neutral gray.
16786
16787       similarity
16788           Similarity percentage with the above color.  0.01 matches only the
16789           exact key color, while 1.0 matches everything.
16790
16791       blend
16792           Blend percentage. 0.0 makes pixels fully gray.  Higher values
16793           result in more preserved color.
16794
16795       Commands
16796
16797       This filter supports same commands as options.  The command accepts the
16798       same syntax of the corresponding option.
16799
16800       If the specified expression is not valid, it is kept at its current
16801       value.
16802
16803   colorlevels
16804       Adjust video input frames using levels.
16805
16806       The filter accepts the following options:
16807
16808       rimin
16809       gimin
16810       bimin
16811       aimin
16812           Adjust red, green, blue and alpha input black point.  Allowed
16813           ranges for options are "[-1.0, 1.0]". Defaults are 0.
16814
16815       rimax
16816       gimax
16817       bimax
16818       aimax
16819           Adjust red, green, blue and alpha input white point.  Allowed
16820           ranges for options are "[-1.0, 1.0]". Defaults are 1.
16821
16822           Input levels are used to lighten highlights (bright tones), darken
16823           shadows (dark tones), change the balance of bright and dark tones.
16824
16825       romin
16826       gomin
16827       bomin
16828       aomin
16829           Adjust red, green, blue and alpha output black point.  Allowed
16830           ranges for options are "[0, 1.0]". Defaults are 0.
16831
16832       romax
16833       gomax
16834       bomax
16835       aomax
16836           Adjust red, green, blue and alpha output white point.  Allowed
16837           ranges for options are "[0, 1.0]". Defaults are 1.
16838
16839           Output levels allows manual selection of a constrained output level
16840           range.
16841
16842       preserve
16843           Set preserve color mode. The accepted values are:
16844
16845           none
16846               Disable color preserving, this is default.
16847
16848           lum Preserve luminance.
16849
16850           max Preserve max value of RGB triplet.
16851
16852           avg Preserve average value of RGB triplet.
16853
16854           sum Preserve sum value of RGB triplet.
16855
16856           nrm Preserve normalized value of RGB triplet.
16857
16858           pwr Preserve power value of RGB triplet.
16859
16860       Examples
16861
16862       •   Make video output darker:
16863
16864                   colorlevels=rimin=0.058:gimin=0.058:bimin=0.058
16865
16866       •   Increase contrast:
16867
16868                   colorlevels=rimin=0.039:gimin=0.039:bimin=0.039:rimax=0.96:gimax=0.96:bimax=0.96
16869
16870       •   Make video output lighter:
16871
16872                   colorlevels=rimax=0.902:gimax=0.902:bimax=0.902
16873
16874       •   Increase brightness:
16875
16876                   colorlevels=romin=0.5:gomin=0.5:bomin=0.5
16877
16878       Commands
16879
16880       This filter supports the all above options as commands.
16881
16882   colormatrix
16883       Convert color matrix.
16884
16885       The filter accepts the following options:
16886
16887       src
16888       dst Specify the source and destination color matrix. Both values must
16889           be specified.
16890
16891           The accepted values are:
16892
16893           bt709
16894               BT.709
16895
16896           fcc FCC
16897
16898           bt601
16899               BT.601
16900
16901           bt470
16902               BT.470
16903
16904           bt470bg
16905               BT.470BG
16906
16907           smpte170m
16908               SMPTE-170M
16909
16910           smpte240m
16911               SMPTE-240M
16912
16913           bt2020
16914               BT.2020
16915
16916       For example to convert from BT.601 to SMPTE-240M, use the command:
16917
16918               colormatrix=bt601:smpte240m
16919
16920   colorspace
16921       Convert colorspace, transfer characteristics or color primaries.  Input
16922       video needs to have an even size.
16923
16924       The filter accepts the following options:
16925
16926       all Specify all color properties at once.
16927
16928           The accepted values are:
16929
16930           bt470m
16931               BT.470M
16932
16933           bt470bg
16934               BT.470BG
16935
16936           bt601-6-525
16937               BT.601-6 525
16938
16939           bt601-6-625
16940               BT.601-6 625
16941
16942           bt709
16943               BT.709
16944
16945           smpte170m
16946               SMPTE-170M
16947
16948           smpte240m
16949               SMPTE-240M
16950
16951           bt2020
16952               BT.2020
16953
16954       space
16955           Specify output colorspace.
16956
16957           The accepted values are:
16958
16959           bt709
16960               BT.709
16961
16962           fcc FCC
16963
16964           bt470bg
16965               BT.470BG or BT.601-6 625
16966
16967           smpte170m
16968               SMPTE-170M or BT.601-6 525
16969
16970           smpte240m
16971               SMPTE-240M
16972
16973           ycgco
16974               YCgCo
16975
16976           bt2020ncl
16977               BT.2020 with non-constant luminance
16978
16979       trc Specify output transfer characteristics.
16980
16981           The accepted values are:
16982
16983           bt709
16984               BT.709
16985
16986           bt470m
16987               BT.470M
16988
16989           bt470bg
16990               BT.470BG
16991
16992           gamma22
16993               Constant gamma of 2.2
16994
16995           gamma28
16996               Constant gamma of 2.8
16997
16998           smpte170m
16999               SMPTE-170M, BT.601-6 625 or BT.601-6 525
17000
17001           smpte240m
17002               SMPTE-240M
17003
17004           srgb
17005               SRGB
17006
17007           iec61966-2-1
17008               iec61966-2-1
17009
17010           iec61966-2-4
17011               iec61966-2-4
17012
17013           xvycc
17014               xvycc
17015
17016           bt2020-10
17017               BT.2020 for 10-bits content
17018
17019           bt2020-12
17020               BT.2020 for 12-bits content
17021
17022       primaries
17023           Specify output color primaries.
17024
17025           The accepted values are:
17026
17027           bt709
17028               BT.709
17029
17030           bt470m
17031               BT.470M
17032
17033           bt470bg
17034               BT.470BG or BT.601-6 625
17035
17036           smpte170m
17037               SMPTE-170M or BT.601-6 525
17038
17039           smpte240m
17040               SMPTE-240M
17041
17042           film
17043               film
17044
17045           smpte431
17046               SMPTE-431
17047
17048           smpte432
17049               SMPTE-432
17050
17051           bt2020
17052               BT.2020
17053
17054           jedec-p22
17055               JEDEC P22 phosphors
17056
17057       range
17058           Specify output color range.
17059
17060           The accepted values are:
17061
17062           tv  TV (restricted) range
17063
17064           mpeg
17065               MPEG (restricted) range
17066
17067           pc  PC (full) range
17068
17069           jpeg
17070               JPEG (full) range
17071
17072       format
17073           Specify output color format.
17074
17075           The accepted values are:
17076
17077           yuv420p
17078               YUV 4:2:0 planar 8-bits
17079
17080           yuv420p10
17081               YUV 4:2:0 planar 10-bits
17082
17083           yuv420p12
17084               YUV 4:2:0 planar 12-bits
17085
17086           yuv422p
17087               YUV 4:2:2 planar 8-bits
17088
17089           yuv422p10
17090               YUV 4:2:2 planar 10-bits
17091
17092           yuv422p12
17093               YUV 4:2:2 planar 12-bits
17094
17095           yuv444p
17096               YUV 4:4:4 planar 8-bits
17097
17098           yuv444p10
17099               YUV 4:4:4 planar 10-bits
17100
17101           yuv444p12
17102               YUV 4:4:4 planar 12-bits
17103
17104       fast
17105           Do a fast conversion, which skips gamma/primary correction. This
17106           will take significantly less CPU, but will be mathematically
17107           incorrect. To get output compatible with that produced by the
17108           colormatrix filter, use fast=1.
17109
17110       dither
17111           Specify dithering mode.
17112
17113           The accepted values are:
17114
17115           none
17116               No dithering
17117
17118           fsb Floyd-Steinberg dithering
17119
17120       wpadapt
17121           Whitepoint adaptation mode.
17122
17123           The accepted values are:
17124
17125           bradford
17126               Bradford whitepoint adaptation
17127
17128           vonkries
17129               von Kries whitepoint adaptation
17130
17131           identity
17132               identity whitepoint adaptation (i.e. no whitepoint adaptation)
17133
17134       iall
17135           Override all input properties at once. Same accepted values as all.
17136
17137       ispace
17138           Override input colorspace. Same accepted values as space.
17139
17140       iprimaries
17141           Override input color primaries. Same accepted values as primaries.
17142
17143       itrc
17144           Override input transfer characteristics. Same accepted values as
17145           trc.
17146
17147       irange
17148           Override input color range. Same accepted values as range.
17149
17150       The filter converts the transfer characteristics, color space and color
17151       primaries to the specified user values. The output value, if not
17152       specified, is set to a default value based on the "all" property. If
17153       that property is also not specified, the filter will log an error. The
17154       output color range and format default to the same value as the input
17155       color range and format. The input transfer characteristics, color
17156       space, color primaries and color range should be set on the input data.
17157       If any of these are missing, the filter will log an error and no
17158       conversion will take place.
17159
17160       For example to convert the input to SMPTE-240M, use the command:
17161
17162               colorspace=smpte240m
17163
17164   colortemperature
17165       Adjust color temperature in video to simulate variations in ambient
17166       color temperature.
17167
17168       The filter accepts the following options:
17169
17170       temperature
17171           Set the temperature in Kelvin. Allowed range is from 1000 to 40000.
17172           Default value is 6500 K.
17173
17174       mix Set mixing with filtered output. Allowed range is from 0 to 1.
17175           Default value is 1.
17176
17177       pl  Set the amount of preserving lightness. Allowed range is from 0 to
17178           1.  Default value is 0.
17179
17180       Commands
17181
17182       This filter supports same commands as options.
17183
17184   convolution
17185       Apply convolution of 3x3, 5x5, 7x7 or horizontal/vertical up to 49
17186       elements.
17187
17188       The filter accepts the following options:
17189
17190       0m
17191       1m
17192       2m
17193       3m  Set matrix for each plane.  Matrix is sequence of 9, 25 or 49
17194           signed integers in square mode, and from 1 to 49 odd number of
17195           signed integers in row mode.
17196
17197       0rdiv
17198       1rdiv
17199       2rdiv
17200       3rdiv
17201           Set multiplier for calculated value for each plane.  If unset or 0,
17202           it will be sum of all matrix elements.
17203
17204       0bias
17205       1bias
17206       2bias
17207       3bias
17208           Set bias for each plane. This value is added to the result of the
17209           multiplication.  Useful for making the overall image brighter or
17210           darker. Default is 0.0.
17211
17212       0mode
17213       1mode
17214       2mode
17215       3mode
17216           Set matrix mode for each plane. Can be square, row or column.
17217           Default is square.
17218
17219       Commands
17220
17221       This filter supports the all above options as commands.
17222
17223       Examples
17224
17225       •   Apply sharpen:
17226
17227                   convolution="0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0"
17228
17229       •   Apply blur:
17230
17231                   convolution="1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1/9:1/9:1/9:1/9"
17232
17233       •   Apply edge enhance:
17234
17235                   convolution="0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:5:1:1:1:0:128:128:128"
17236
17237       •   Apply edge detect:
17238
17239                   convolution="0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:5:5:5:1:0:128:128:128"
17240
17241       •   Apply laplacian edge detector which includes diagonals:
17242
17243                   convolution="1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:5:5:5:1:0:128:128:0"
17244
17245       •   Apply emboss:
17246
17247                   convolution="-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2"
17248
17249   convolve
17250       Apply 2D convolution of video stream in frequency domain using second
17251       stream as impulse.
17252
17253       The filter accepts the following options:
17254
17255       planes
17256           Set which planes to process.
17257
17258       impulse
17259           Set which impulse video frames will be processed, can be first or
17260           all. Default is all.
17261
17262       The "convolve" filter also supports the framesync options.
17263
17264   copy
17265       Copy the input video source unchanged to the output. This is mainly
17266       useful for testing purposes.
17267
17268   coreimage
17269       Video filtering on GPU using Apple's CoreImage API on OSX.
17270
17271       Hardware acceleration is based on an OpenGL context. Usually, this
17272       means it is processed by video hardware. However, software-based OpenGL
17273       implementations exist which means there is no guarantee for hardware
17274       processing. It depends on the respective OSX.
17275
17276       There are many filters and image generators provided by Apple that come
17277       with a large variety of options. The filter has to be referenced by its
17278       name along with its options.
17279
17280       The coreimage filter accepts the following options:
17281
17282       list_filters
17283           List all available filters and generators along with all their
17284           respective options as well as possible minimum and maximum values
17285           along with the default values.
17286
17287                   list_filters=true
17288
17289       filter
17290           Specify all filters by their respective name and options.  Use
17291           list_filters to determine all valid filter names and options.
17292           Numerical options are specified by a float value and are
17293           automatically clamped to their respective value range.  Vector and
17294           color options have to be specified by a list of space separated
17295           float values. Character escaping has to be done.  A special option
17296           name "default" is available to use default options for a filter.
17297
17298           It is required to specify either "default" or at least one of the
17299           filter options.  All omitted options are used with their default
17300           values.  The syntax of the filter string is as follows:
17301
17302                   filter=<NAME>@<OPTION>=<VALUE>[@<OPTION>=<VALUE>][@...][#<NAME>@<OPTION>=<VALUE>[@<OPTION>=<VALUE>][@...]][#...]
17303
17304       output_rect
17305           Specify a rectangle where the output of the filter chain is copied
17306           into the input image. It is given by a list of space separated
17307           float values:
17308
17309                   output_rect=x\ y\ width\ height
17310
17311           If not given, the output rectangle equals the dimensions of the
17312           input image.  The output rectangle is automatically cropped at the
17313           borders of the input image. Negative values are valid for each
17314           component.
17315
17316                   output_rect=25\ 25\ 100\ 100
17317
17318       Several filters can be chained for successive processing without GPU-
17319       HOST transfers allowing for fast processing of complex filter chains.
17320       Currently, only filters with zero (generators) or exactly one (filters)
17321       input image and one output image are supported. Also, transition
17322       filters are not yet usable as intended.
17323
17324       Some filters generate output images with additional padding depending
17325       on the respective filter kernel. The padding is automatically removed
17326       to ensure the filter output has the same size as the input image.
17327
17328       For image generators, the size of the output image is determined by the
17329       previous output image of the filter chain or the input image of the
17330       whole filterchain, respectively. The generators do not use the pixel
17331       information of this image to generate their output. However, the
17332       generated output is blended onto this image, resulting in partial or
17333       complete coverage of the output image.
17334
17335       The coreimagesrc video source can be used for generating input images
17336       which are directly fed into the filter chain. By using it, providing
17337       input images by another video source or an input video is not required.
17338
17339       Examples
17340
17341       •   List all filters available:
17342
17343                   coreimage=list_filters=true
17344
17345       •   Use the CIBoxBlur filter with default options to blur an image:
17346
17347                   coreimage=filter=CIBoxBlur@default
17348
17349       •   Use a filter chain with CISepiaTone at default values and
17350           CIVignetteEffect with its center at 100x100 and a radius of 50
17351           pixels:
17352
17353                   coreimage=filter=CIBoxBlur@default#CIVignetteEffect@inputCenter=100\ 100@inputRadius=50
17354
17355       •   Use nullsrc and CIQRCodeGenerator to create a QR code for the
17356           FFmpeg homepage, given as complete and escaped command-line for
17357           Apple's standard bash shell:
17358
17359                   ffmpeg -f lavfi -i nullsrc=s=100x100,coreimage=filter=CIQRCodeGenerator@inputMessage=https\\\\\://FFmpeg.org/@inputCorrectionLevel=H -frames:v 1 QRCode.png
17360
17361   cover_rect
17362       Cover a rectangular object
17363
17364       It accepts the following options:
17365
17366       cover
17367           Filepath of the optional cover image, needs to be in yuv420.
17368
17369       mode
17370           Set covering mode.
17371
17372           It accepts the following values:
17373
17374           cover
17375               cover it by the supplied image
17376
17377           blur
17378               cover it by interpolating the surrounding pixels
17379
17380           Default value is blur.
17381
17382       Examples
17383
17384       •   Cover a rectangular object by the supplied image of a given video
17385           using ffmpeg:
17386
17387                   ffmpeg -i file.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv
17388
17389   crop
17390       Crop the input video to given dimensions.
17391
17392       It accepts the following parameters:
17393
17394       w, out_w
17395           The width of the output video. It defaults to "iw".  This
17396           expression is evaluated only once during the filter configuration,
17397           or when the w or out_w command is sent.
17398
17399       h, out_h
17400           The height of the output video. It defaults to "ih".  This
17401           expression is evaluated only once during the filter configuration,
17402           or when the h or out_h command is sent.
17403
17404       x   The horizontal position, in the input video, of the left edge of
17405           the output video. It defaults to "(in_w-out_w)/2".  This expression
17406           is evaluated per-frame.
17407
17408       y   The vertical position, in the input video, of the top edge of the
17409           output video.  It defaults to "(in_h-out_h)/2".  This expression is
17410           evaluated per-frame.
17411
17412       keep_aspect
17413           If set to 1 will force the output display aspect ratio to be the
17414           same of the input, by changing the output sample aspect ratio. It
17415           defaults to 0.
17416
17417       exact
17418           Enable exact cropping. If enabled, subsampled videos will be
17419           cropped at exact width/height/x/y as specified and will not be
17420           rounded to nearest smaller value.  It defaults to 0.
17421
17422       The out_w, out_h, x, y parameters are expressions containing the
17423       following constants:
17424
17425       x
17426       y   The computed values for x and y. They are evaluated for each new
17427           frame.
17428
17429       in_w
17430       in_h
17431           The input width and height.
17432
17433       iw
17434       ih  These are the same as in_w and in_h.
17435
17436       out_w
17437       out_h
17438           The output (cropped) width and height.
17439
17440       ow
17441       oh  These are the same as out_w and out_h.
17442
17443       a   same as iw / ih
17444
17445       sar input sample aspect ratio
17446
17447       dar input display aspect ratio, it is the same as (iw / ih) * sar
17448
17449       hsub
17450       vsub
17451           horizontal and vertical chroma subsample values. For example for
17452           the pixel format "yuv422p" hsub is 2 and vsub is 1.
17453
17454       n   The number of the input frame, starting from 0.
17455
17456       pos the position in the file of the input frame, NAN if unknown
17457
17458       t   The timestamp expressed in seconds. It's NAN if the input timestamp
17459           is unknown.
17460
17461       The expression for out_w may depend on the value of out_h, and the
17462       expression for out_h may depend on out_w, but they cannot depend on x
17463       and y, as x and y are evaluated after out_w and out_h.
17464
17465       The x and y parameters specify the expressions for the position of the
17466       top-left corner of the output (non-cropped) area. They are evaluated
17467       for each frame. If the evaluated value is not valid, it is approximated
17468       to the nearest valid value.
17469
17470       The expression for x may depend on y, and the expression for y may
17471       depend on x.
17472
17473       Examples
17474
17475       •   Crop area with size 100x100 at position (12,34).
17476
17477                   crop=100:100:12:34
17478
17479           Using named options, the example above becomes:
17480
17481                   crop=w=100:h=100:x=12:y=34
17482
17483       •   Crop the central input area with size 100x100:
17484
17485                   crop=100:100
17486
17487       •   Crop the central input area with size 2/3 of the input video:
17488
17489                   crop=2/3*in_w:2/3*in_h
17490
17491       •   Crop the input video central square:
17492
17493                   crop=out_w=in_h
17494                   crop=in_h
17495
17496       •   Delimit the rectangle with the top-left corner placed at position
17497           100:100 and the right-bottom corner corresponding to the right-
17498           bottom corner of the input image.
17499
17500                   crop=in_w-100:in_h-100:100:100
17501
17502       •   Crop 10 pixels from the left and right borders, and 20 pixels from
17503           the top and bottom borders
17504
17505                   crop=in_w-2*10:in_h-2*20
17506
17507       •   Keep only the bottom right quarter of the input image:
17508
17509                   crop=in_w/2:in_h/2:in_w/2:in_h/2
17510
17511       •   Crop height for getting Greek harmony:
17512
17513                   crop=in_w:1/PHI*in_w
17514
17515       •   Apply trembling effect:
17516
17517                   crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(n/10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(n/7)
17518
17519       •   Apply erratic camera effect depending on timestamp:
17520
17521                   crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(t*10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(t*13)"
17522
17523       •   Set x depending on the value of y:
17524
17525                   crop=in_w/2:in_h/2:y:10+10*sin(n/10)
17526
17527       Commands
17528
17529       This filter supports the following commands:
17530
17531       w, out_w
17532       h, out_h
17533       x
17534       y   Set width/height of the output video and the horizontal/vertical
17535           position in the input video.  The command accepts the same syntax
17536           of the corresponding option.
17537
17538           If the specified expression is not valid, it is kept at its current
17539           value.
17540
17541   cropdetect
17542       Auto-detect the crop size.
17543
17544       It calculates the necessary cropping parameters and prints the
17545       recommended parameters via the logging system. The detected dimensions
17546       correspond to the non-black area of the input video.
17547
17548       It accepts the following parameters:
17549
17550       limit
17551           Set higher black value threshold, which can be optionally specified
17552           from nothing (0) to everything (255 for 8-bit based formats). An
17553           intensity value greater to the set value is considered non-black.
17554           It defaults to 24.  You can also specify a value between 0.0 and
17555           1.0 which will be scaled depending on the bitdepth of the pixel
17556           format.
17557
17558       round
17559           The value which the width/height should be divisible by. It
17560           defaults to 16. The offset is automatically adjusted to center the
17561           video. Use 2 to get only even dimensions (needed for 4:2:2 video).
17562           16 is best when encoding to most video codecs.
17563
17564       skip
17565           Set the number of initial frames for which evaluation is skipped.
17566           Default is 2. Range is 0 to INT_MAX.
17567
17568       reset_count, reset
17569           Set the counter that determines after how many frames cropdetect
17570           will reset the previously detected largest video area and start
17571           over to detect the current optimal crop area. Default value is 0.
17572
17573           This can be useful when channel logos distort the video area. 0
17574           indicates 'never reset', and returns the largest area encountered
17575           during playback.
17576
17577   cue
17578       Delay video filtering until a given wallclock timestamp. The filter
17579       first passes on preroll amount of frames, then it buffers at most
17580       buffer amount of frames and waits for the cue. After reaching the cue
17581       it forwards the buffered frames and also any subsequent frames coming
17582       in its input.
17583
17584       The filter can be used synchronize the output of multiple ffmpeg
17585       processes for realtime output devices like decklink. By putting the
17586       delay in the filtering chain and pre-buffering frames the process can
17587       pass on data to output almost immediately after the target wallclock
17588       timestamp is reached.
17589
17590       Perfect frame accuracy cannot be guaranteed, but the result is good
17591       enough for some use cases.
17592
17593       cue The cue timestamp expressed in a UNIX timestamp in microseconds.
17594           Default is 0.
17595
17596       preroll
17597           The duration of content to pass on as preroll expressed in seconds.
17598           Default is 0.
17599
17600       buffer
17601           The maximum duration of content to buffer before waiting for the
17602           cue expressed in seconds. Default is 0.
17603
17604   curves
17605       Apply color adjustments using curves.
17606
17607       This filter is similar to the Adobe Photoshop and GIMP curves tools.
17608       Each component (red, green and blue) has its values defined by N key
17609       points tied from each other using a smooth curve. The x-axis represents
17610       the pixel values from the input frame, and the y-axis the new pixel
17611       values to be set for the output frame.
17612
17613       By default, a component curve is defined by the two points (0;0) and
17614       (1;1). This creates a straight line where each original pixel value is
17615       "adjusted" to its own value, which means no change to the image.
17616
17617       The filter allows you to redefine these two points and add some more. A
17618       new curve (using a natural cubic spline interpolation) will be define
17619       to pass smoothly through all these new coordinates. The new defined
17620       points needs to be strictly increasing over the x-axis, and their x and
17621       y values must be in the [0;1] interval.  If the computed curves
17622       happened to go outside the vector spaces, the values will be clipped
17623       accordingly.
17624
17625       The filter accepts the following options:
17626
17627       preset
17628           Select one of the available color presets. This option can be used
17629           in addition to the r, g, b parameters; in this case, the later
17630           options takes priority on the preset values.  Available presets
17631           are:
17632
17633           none
17634           color_negative
17635           cross_process
17636           darker
17637           increase_contrast
17638           lighter
17639           linear_contrast
17640           medium_contrast
17641           negative
17642           strong_contrast
17643           vintage
17644
17645           Default is "none".
17646
17647       master, m
17648           Set the master key points. These points will define a second pass
17649           mapping. It is sometimes called a "luminance" or "value" mapping.
17650           It can be used with r, g, b or all since it acts like a post-
17651           processing LUT.
17652
17653       red, r
17654           Set the key points for the red component.
17655
17656       green, g
17657           Set the key points for the green component.
17658
17659       blue, b
17660           Set the key points for the blue component.
17661
17662       all Set the key points for all components (not including master).  Can
17663           be used in addition to the other key points component options. In
17664           this case, the unset component(s) will fallback on this all
17665           setting.
17666
17667       psfile
17668           Specify a Photoshop curves file (".acv") to import the settings
17669           from.
17670
17671       plot
17672           Save Gnuplot script of the curves in specified file.
17673
17674       To avoid some filtergraph syntax conflicts, each key points list need
17675       to be defined using the following syntax: "x0/y0 x1/y1 x2/y2 ...".
17676
17677       Commands
17678
17679       This filter supports same commands as options.
17680
17681       Examples
17682
17683       •   Increase slightly the middle level of blue:
17684
17685                   curves=blue='0/0 0.5/0.58 1/1'
17686
17687       •   Vintage effect:
17688
17689                   curves=r='0/0.11 .42/.51 1/0.95':g='0/0 0.50/0.48 1/1':b='0/0.22 .49/.44 1/0.8'
17690
17691           Here we obtain the following coordinates for each components:
17692
17693           red "(0;0.11) (0.42;0.51) (1;0.95)"
17694
17695           green
17696               "(0;0) (0.50;0.48) (1;1)"
17697
17698           blue
17699               "(0;0.22) (0.49;0.44) (1;0.80)"
17700
17701       •   The previous example can also be achieved with the associated
17702           built-in preset:
17703
17704                   curves=preset=vintage
17705
17706       •   Or simply:
17707
17708                   curves=vintage
17709
17710       •   Use a Photoshop preset and redefine the points of the green
17711           component:
17712
17713                   curves=psfile='MyCurvesPresets/purple.acv':green='0/0 0.45/0.53 1/1'
17714
17715       •   Check out the curves of the "cross_process" profile using ffmpeg
17716           and gnuplot:
17717
17718                   ffmpeg -f lavfi -i color -vf curves=cross_process:plot=/tmp/curves.plt -frames:v 1 -f null -
17719                   gnuplot -p /tmp/curves.plt
17720
17721   datascope
17722       Video data analysis filter.
17723
17724       This filter shows hexadecimal pixel values of part of video.
17725
17726       The filter accepts the following options:
17727
17728       size, s
17729           Set output video size.
17730
17731       x   Set x offset from where to pick pixels.
17732
17733       y   Set y offset from where to pick pixels.
17734
17735       mode
17736           Set scope mode, can be one of the following:
17737
17738           mono
17739               Draw hexadecimal pixel values with white color on black
17740               background.
17741
17742           color
17743               Draw hexadecimal pixel values with input video pixel color on
17744               black background.
17745
17746           color2
17747               Draw hexadecimal pixel values on color background picked from
17748               input video, the text color is picked in such way so its always
17749               visible.
17750
17751       axis
17752           Draw rows and columns numbers on left and top of video.
17753
17754       opacity
17755           Set background opacity.
17756
17757       format
17758           Set display number format. Can be "hex", or "dec". Default is
17759           "hex".
17760
17761       components
17762           Set pixel components to display. By default all pixel components
17763           are displayed.
17764
17765       Commands
17766
17767       This filter supports same commands as options excluding "size" option.
17768
17769   dblur
17770       Apply Directional blur filter.
17771
17772       The filter accepts the following options:
17773
17774       angle
17775           Set angle of directional blur. Default is 45.
17776
17777       radius
17778           Set radius of directional blur. Default is 5.
17779
17780       planes
17781           Set which planes to filter. By default all planes are filtered.
17782
17783       Commands
17784
17785       This filter supports same commands as options.  The command accepts the
17786       same syntax of the corresponding option.
17787
17788       If the specified expression is not valid, it is kept at its current
17789       value.
17790
17791   dctdnoiz
17792       Denoise frames using 2D DCT (frequency domain filtering).
17793
17794       This filter is not designed for real time.
17795
17796       The filter accepts the following options:
17797
17798       sigma, s
17799           Set the noise sigma constant.
17800
17801           This sigma defines a hard threshold of "3 * sigma"; every DCT
17802           coefficient (absolute value) below this threshold with be dropped.
17803
17804           If you need a more advanced filtering, see expr.
17805
17806           Default is 0.
17807
17808       overlap
17809           Set number overlapping pixels for each block. Since the filter can
17810           be slow, you may want to reduce this value, at the cost of a less
17811           effective filter and the risk of various artefacts.
17812
17813           If the overlapping value doesn't permit processing the whole input
17814           width or height, a warning will be displayed and according borders
17815           won't be denoised.
17816
17817           Default value is blocksize-1, which is the best possible setting.
17818
17819       expr, e
17820           Set the coefficient factor expression.
17821
17822           For each coefficient of a DCT block, this expression will be
17823           evaluated as a multiplier value for the coefficient.
17824
17825           If this is option is set, the sigma option will be ignored.
17826
17827           The absolute value of the coefficient can be accessed through the c
17828           variable.
17829
17830       n   Set the blocksize using the number of bits. "1<<n" defines the
17831           blocksize, which is the width and height of the processed blocks.
17832
17833           The default value is 3 (8x8) and can be raised to 4 for a blocksize
17834           of 16x16. Note that changing this setting has huge consequences on
17835           the speed processing. Also, a larger block size does not
17836           necessarily means a better de-noising.
17837
17838       Examples
17839
17840       Apply a denoise with a sigma of 4.5:
17841
17842               dctdnoiz=4.5
17843
17844       The same operation can be achieved using the expression system:
17845
17846               dctdnoiz=e='gte(c, 4.5*3)'
17847
17848       Violent denoise using a block size of "16x16":
17849
17850               dctdnoiz=15:n=4
17851
17852   deband
17853       Remove banding artifacts from input video.  It works by replacing
17854       banded pixels with average value of referenced pixels.
17855
17856       The filter accepts the following options:
17857
17858       1thr
17859       2thr
17860       3thr
17861       4thr
17862           Set banding detection threshold for each plane. Default is 0.02.
17863           Valid range is 0.00003 to 0.5.  If difference between current pixel
17864           and reference pixel is less than threshold, it will be considered
17865           as banded.
17866
17867       range, r
17868           Banding detection range in pixels. Default is 16. If positive,
17869           random number in range 0 to set value will be used. If negative,
17870           exact absolute value will be used.  The range defines square of
17871           four pixels around current pixel.
17872
17873       direction, d
17874           Set direction in radians from which four pixel will be compared. If
17875           positive, random direction from 0 to set direction will be picked.
17876           If negative, exact of absolute value will be picked. For example
17877           direction 0, -PI or -2*PI radians will pick only pixels on same row
17878           and -PI/2 will pick only pixels on same column.
17879
17880       blur, b
17881           If enabled, current pixel is compared with average value of all
17882           four surrounding pixels. The default is enabled. If disabled
17883           current pixel is compared with all four surrounding pixels. The
17884           pixel is considered banded if only all four differences with
17885           surrounding pixels are less than threshold.
17886
17887       coupling, c
17888           If enabled, current pixel is changed if and only if all pixel
17889           components are banded, e.g. banding detection threshold is
17890           triggered for all color components.  The default is disabled.
17891
17892       Commands
17893
17894       This filter supports the all above options as commands.
17895
17896   deblock
17897       Remove blocking artifacts from input video.
17898
17899       The filter accepts the following options:
17900
17901       filter
17902           Set filter type, can be weak or strong. Default is strong.  This
17903           controls what kind of deblocking is applied.
17904
17905       block
17906           Set size of block, allowed range is from 4 to 512. Default is 8.
17907
17908       alpha
17909       beta
17910       gamma
17911       delta
17912           Set blocking detection thresholds. Allowed range is 0 to 1.
17913           Defaults are: 0.098 for alpha and 0.05 for the rest.  Using higher
17914           threshold gives more deblocking strength.  Setting alpha controls
17915           threshold detection at exact edge of block.  Remaining options
17916           controls threshold detection near the edge. Each one for
17917           below/above or left/right. Setting any of those to 0 disables
17918           deblocking.
17919
17920       planes
17921           Set planes to filter. Default is to filter all available planes.
17922
17923       Examples
17924
17925       •   Deblock using weak filter and block size of 4 pixels.
17926
17927                   deblock=filter=weak:block=4
17928
17929       •   Deblock using strong filter, block size of 4 pixels and custom
17930           thresholds for deblocking more edges.
17931
17932                   deblock=filter=strong:block=4:alpha=0.12:beta=0.07:gamma=0.06:delta=0.05
17933
17934       •   Similar as above, but filter only first plane.
17935
17936                   deblock=filter=strong:block=4:alpha=0.12:beta=0.07:gamma=0.06:delta=0.05:planes=1
17937
17938       •   Similar as above, but filter only second and third plane.
17939
17940                   deblock=filter=strong:block=4:alpha=0.12:beta=0.07:gamma=0.06:delta=0.05:planes=6
17941
17942       Commands
17943
17944       This filter supports the all above options as commands.
17945
17946   decimate
17947       Drop duplicated frames at regular intervals.
17948
17949       The filter accepts the following options:
17950
17951       cycle
17952           Set the number of frames from which one will be dropped. Setting
17953           this to N means one frame in every batch of N frames will be
17954           dropped.  Default is 5.
17955
17956       dupthresh
17957           Set the threshold for duplicate detection. If the difference metric
17958           for a frame is less than or equal to this value, then it is
17959           declared as duplicate. Default is 1.1
17960
17961       scthresh
17962           Set scene change threshold. Default is 15.
17963
17964       blockx
17965       blocky
17966           Set the size of the x and y-axis blocks used during metric
17967           calculations.  Larger blocks give better noise suppression, but
17968           also give worse detection of small movements. Must be a power of
17969           two. Default is 32.
17970
17971       ppsrc
17972           Mark main input as a pre-processed input and activate clean source
17973           input stream. This allows the input to be pre-processed with
17974           various filters to help the metrics calculation while keeping the
17975           frame selection lossless. When set to 1, the first stream is for
17976           the pre-processed input, and the second stream is the clean source
17977           from where the kept frames are chosen. Default is 0.
17978
17979       chroma
17980           Set whether or not chroma is considered in the metric calculations.
17981           Default is 1.
17982
17983   deconvolve
17984       Apply 2D deconvolution of video stream in frequency domain using second
17985       stream as impulse.
17986
17987       The filter accepts the following options:
17988
17989       planes
17990           Set which planes to process.
17991
17992       impulse
17993           Set which impulse video frames will be processed, can be first or
17994           all. Default is all.
17995
17996       noise
17997           Set noise when doing divisions. Default is 0.0000001. Useful when
17998           width and height are not same and not power of 2 or if stream prior
17999           to convolving had noise.
18000
18001       The "deconvolve" filter also supports the framesync options.
18002
18003   dedot
18004       Reduce cross-luminance (dot-crawl) and cross-color (rainbows) from
18005       video.
18006
18007       It accepts the following options:
18008
18009       m   Set mode of operation. Can be combination of dotcrawl for cross-
18010           luminance reduction and/or rainbows for cross-color reduction.
18011
18012       lt  Set spatial luma threshold. Lower values increases reduction of
18013           cross-luminance.
18014
18015       tl  Set tolerance for temporal luma. Higher values increases reduction
18016           of cross-luminance.
18017
18018       tc  Set tolerance for chroma temporal variation. Higher values
18019           increases reduction of cross-color.
18020
18021       ct  Set temporal chroma threshold. Lower values increases reduction of
18022           cross-color.
18023
18024   deflate
18025       Apply deflate effect to the video.
18026
18027       This filter replaces the pixel by the local(3x3) average by taking into
18028       account only values lower than the pixel.
18029
18030       It accepts the following options:
18031
18032       threshold0
18033       threshold1
18034       threshold2
18035       threshold3
18036           Limit the maximum change for each plane, default is 65535.  If 0,
18037           plane will remain unchanged.
18038
18039       Commands
18040
18041       This filter supports the all above options as commands.
18042
18043   deflicker
18044       Remove temporal frame luminance variations.
18045
18046       It accepts the following options:
18047
18048       size, s
18049           Set moving-average filter size in frames. Default is 5. Allowed
18050           range is 2 - 129.
18051
18052       mode, m
18053           Set averaging mode to smooth temporal luminance variations.
18054
18055           Available values are:
18056
18057           am  Arithmetic mean
18058
18059           gm  Geometric mean
18060
18061           hm  Harmonic mean
18062
18063           qm  Quadratic mean
18064
18065           cm  Cubic mean
18066
18067           pm  Power mean
18068
18069           median
18070               Median
18071
18072       bypass
18073           Do not actually modify frame. Useful when one only wants metadata.
18074
18075   dejudder
18076       Remove judder produced by partially interlaced telecined content.
18077
18078       Judder can be introduced, for instance, by pullup filter. If the
18079       original source was partially telecined content then the output of
18080       "pullup,dejudder" will have a variable frame rate. May change the
18081       recorded frame rate of the container. Aside from that change, this
18082       filter will not affect constant frame rate video.
18083
18084       The option available in this filter is:
18085
18086       cycle
18087           Specify the length of the window over which the judder repeats.
18088
18089           Accepts any integer greater than 1. Useful values are:
18090
18091           4   If the original was telecined from 24 to 30 fps (Film to NTSC).
18092
18093           5   If the original was telecined from 25 to 30 fps (PAL to NTSC).
18094
18095           20  If a mixture of the two.
18096
18097           The default is 4.
18098
18099   delogo
18100       Suppress a TV station logo by a simple interpolation of the surrounding
18101       pixels. Just set a rectangle covering the logo and watch it disappear
18102       (and sometimes something even uglier appear - your mileage may vary).
18103
18104       It accepts the following parameters:
18105
18106       x
18107       y   Specify the top left corner coordinates of the logo. They must be
18108           specified.
18109
18110       w
18111       h   Specify the width and height of the logo to clear. They must be
18112           specified.
18113
18114       show
18115           When set to 1, a green rectangle is drawn on the screen to simplify
18116           finding the right x, y, w, and h parameters.  The default value is
18117           0.
18118
18119           The rectangle is drawn on the outermost pixels which will be
18120           (partly) replaced with interpolated values. The values of the next
18121           pixels immediately outside this rectangle in each direction will be
18122           used to compute the interpolated pixel values inside the rectangle.
18123
18124       Examples
18125
18126       •   Set a rectangle covering the area with top left corner coordinates
18127           0,0 and size 100x77:
18128
18129                   delogo=x=0:y=0:w=100:h=77
18130
18131   derain
18132       Remove the rain in the input image/video by applying the derain methods
18133       based on convolutional neural networks. Supported models:
18134
18135       •   Recurrent Squeeze-and-Excitation Context Aggregation Net (RESCAN).
18136           See
18137           <http://openaccess.thecvf.com/content_ECCV_2018/papers/Xia_Li_Recurrent_Squeeze-and-Excitation_Context_ECCV_2018_paper.pdf>.
18138
18139       Training as well as model generation scripts are provided in the
18140       repository at <https://github.com/XueweiMeng/derain_filter.git>.
18141
18142       Native model files (.model) can be generated from TensorFlow model
18143       files (.pb) by using tools/python/convert.py
18144
18145       The filter accepts the following options:
18146
18147       filter_type
18148           Specify which filter to use. This option accepts the following
18149           values:
18150
18151           derain
18152               Derain filter. To conduct derain filter, you need to use a
18153               derain model.
18154
18155           dehaze
18156               Dehaze filter. To conduct dehaze filter, you need to use a
18157               dehaze model.
18158
18159           Default value is derain.
18160
18161       dnn_backend
18162           Specify which DNN backend to use for model loading and execution.
18163           This option accepts the following values:
18164
18165           native
18166               Native implementation of DNN loading and execution.
18167
18168           tensorflow
18169               TensorFlow backend. To enable this backend you need to install
18170               the TensorFlow for C library (see
18171               <https://www.tensorflow.org/install/lang_c>) and configure
18172               FFmpeg with "--enable-libtensorflow"
18173
18174           Default value is native.
18175
18176       model
18177           Set path to model file specifying network architecture and its
18178           parameters.  Note that different backends use different file
18179           formats. TensorFlow and native backend can load files for only its
18180           format.
18181
18182       To get full functionality (such as async execution), please use the
18183       dnn_processing filter.
18184
18185   deshake
18186       Attempt to fix small changes in horizontal and/or vertical shift. This
18187       filter helps remove camera shake from hand-holding a camera, bumping a
18188       tripod, moving on a vehicle, etc.
18189
18190       The filter accepts the following options:
18191
18192       x
18193       y
18194       w
18195       h   Specify a rectangular area where to limit the search for motion
18196           vectors.  If desired the search for motion vectors can be limited
18197           to a rectangular area of the frame defined by its top left corner,
18198           width and height. These parameters have the same meaning as the
18199           drawbox filter which can be used to visualise the position of the
18200           bounding box.
18201
18202           This is useful when simultaneous movement of subjects within the
18203           frame might be confused for camera motion by the motion vector
18204           search.
18205
18206           If any or all of x, y, w and h are set to -1 then the full frame is
18207           used. This allows later options to be set without specifying the
18208           bounding box for the motion vector search.
18209
18210           Default - search the whole frame.
18211
18212       rx
18213       ry  Specify the maximum extent of movement in x and y directions in the
18214           range 0-64 pixels. Default 16.
18215
18216       edge
18217           Specify how to generate pixels to fill blanks at the edge of the
18218           frame. Available values are:
18219
18220           blank, 0
18221               Fill zeroes at blank locations
18222
18223           original, 1
18224               Original image at blank locations
18225
18226           clamp, 2
18227               Extruded edge value at blank locations
18228
18229           mirror, 3
18230               Mirrored edge at blank locations
18231
18232           Default value is mirror.
18233
18234       blocksize
18235           Specify the blocksize to use for motion search. Range 4-128 pixels,
18236           default 8.
18237
18238       contrast
18239           Specify the contrast threshold for blocks. Only blocks with more
18240           than the specified contrast (difference between darkest and
18241           lightest pixels) will be considered. Range 1-255, default 125.
18242
18243       search
18244           Specify the search strategy. Available values are:
18245
18246           exhaustive, 0
18247               Set exhaustive search
18248
18249           less, 1
18250               Set less exhaustive search.
18251
18252           Default value is exhaustive.
18253
18254       filename
18255           If set then a detailed log of the motion search is written to the
18256           specified file.
18257
18258   despill
18259       Remove unwanted contamination of foreground colors, caused by reflected
18260       color of greenscreen or bluescreen.
18261
18262       This filter accepts the following options:
18263
18264       type
18265           Set what type of despill to use.
18266
18267       mix Set how spillmap will be generated.
18268
18269       expand
18270           Set how much to get rid of still remaining spill.
18271
18272       red Controls amount of red in spill area.
18273
18274       green
18275           Controls amount of green in spill area.  Should be -1 for
18276           greenscreen.
18277
18278       blue
18279           Controls amount of blue in spill area.  Should be -1 for
18280           bluescreen.
18281
18282       brightness
18283           Controls brightness of spill area, preserving colors.
18284
18285       alpha
18286           Modify alpha from generated spillmap.
18287
18288       Commands
18289
18290       This filter supports the all above options as commands.
18291
18292   detelecine
18293       Apply an exact inverse of the telecine operation. It requires a
18294       predefined pattern specified using the pattern option which must be the
18295       same as that passed to the telecine filter.
18296
18297       This filter accepts the following options:
18298
18299       first_field
18300           top, t
18301               top field first
18302
18303           bottom, b
18304               bottom field first The default value is "top".
18305
18306       pattern
18307           A string of numbers representing the pulldown pattern you wish to
18308           apply.  The default value is 23.
18309
18310       start_frame
18311           A number representing position of the first frame with respect to
18312           the telecine pattern. This is to be used if the stream is cut. The
18313           default value is 0.
18314
18315   dilation
18316       Apply dilation effect to the video.
18317
18318       This filter replaces the pixel by the local(3x3) maximum.
18319
18320       It accepts the following options:
18321
18322       threshold0
18323       threshold1
18324       threshold2
18325       threshold3
18326           Limit the maximum change for each plane, default is 65535.  If 0,
18327           plane will remain unchanged.
18328
18329       coordinates
18330           Flag which specifies the pixel to refer to. Default is 255 i.e. all
18331           eight pixels are used.
18332
18333           Flags to local 3x3 coordinates maps like this:
18334
18335               1 2 3
18336               4   5
18337               6 7 8
18338
18339       Commands
18340
18341       This filter supports the all above options as commands.
18342
18343   displace
18344       Displace pixels as indicated by second and third input stream.
18345
18346       It takes three input streams and outputs one stream, the first input is
18347       the source, and second and third input are displacement maps.
18348
18349       The second input specifies how much to displace pixels along the
18350       x-axis, while the third input specifies how much to displace pixels
18351       along the y-axis.  If one of displacement map streams terminates, last
18352       frame from that displacement map will be used.
18353
18354       Note that once generated, displacements maps can be reused over and
18355       over again.
18356
18357       A description of the accepted options follows.
18358
18359       edge
18360           Set displace behavior for pixels that are out of range.
18361
18362           Available values are:
18363
18364           blank
18365               Missing pixels are replaced by black pixels.
18366
18367           smear
18368               Adjacent pixels will spread out to replace missing pixels.
18369
18370           wrap
18371               Out of range pixels are wrapped so they point to pixels of
18372               other side.
18373
18374           mirror
18375               Out of range pixels will be replaced with mirrored pixels.
18376
18377           Default is smear.
18378
18379       Examples
18380
18381       •   Add ripple effect to rgb input of video size hd720:
18382
18383                   ffmpeg -i INPUT -f lavfi -i nullsrc=s=hd720,lutrgb=128:128:128 -f lavfi -i nullsrc=s=hd720,geq='r=128+30*sin(2*PI*X/400+T):g=128+30*sin(2*PI*X/400+T):b=128+30*sin(2*PI*X/400+T)' -lavfi '[0][1][2]displace' OUTPUT
18384
18385       •   Add wave effect to rgb input of video size hd720:
18386
18387                   ffmpeg -i INPUT -f lavfi -i nullsrc=hd720,geq='r=128+80*(sin(sqrt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2))/220*2*PI+T)):g=128+80*(sin(sqrt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2))/220*2*PI+T)):b=128+80*(sin(sqrt((X-W/2)*(X-W/2)+(Y-H/2)*(Y-H/2))/220*2*PI+T))' -lavfi '[1]split[x][y],[0][x][y]displace' OUTPUT
18388
18389   dnn_classify
18390       Do classification with deep neural networks based on bounding boxes.
18391
18392       The filter accepts the following options:
18393
18394       dnn_backend
18395           Specify which DNN backend to use for model loading and execution.
18396           This option accepts only openvino now, tensorflow backends will be
18397           added.
18398
18399       model
18400           Set path to model file specifying network architecture and its
18401           parameters.  Note that different backends use different file
18402           formats.
18403
18404       input
18405           Set the input name of the dnn network.
18406
18407       output
18408           Set the output name of the dnn network.
18409
18410       confidence
18411           Set the confidence threshold (default: 0.5).
18412
18413       labels
18414           Set path to label file specifying the mapping between label id and
18415           name.  Each label name is written in one line, tailing spaces and
18416           empty lines are skipped.  The first line is the name of label id 0,
18417           and the second line is the name of label id 1, etc.  The label id
18418           is considered as name if the label file is not provided.
18419
18420       backend_configs
18421           Set the configs to be passed into backend
18422
18423           For tensorflow backend, you can set its configs with sess_config
18424           options, please use tools/python/tf_sess_config.py to get the
18425           configs for your system.
18426
18427   dnn_detect
18428       Do object detection with deep neural networks.
18429
18430       The filter accepts the following options:
18431
18432       dnn_backend
18433           Specify which DNN backend to use for model loading and execution.
18434           This option accepts only openvino now, tensorflow backends will be
18435           added.
18436
18437       model
18438           Set path to model file specifying network architecture and its
18439           parameters.  Note that different backends use different file
18440           formats.
18441
18442       input
18443           Set the input name of the dnn network.
18444
18445       output
18446           Set the output name of the dnn network.
18447
18448       confidence
18449           Set the confidence threshold (default: 0.5).
18450
18451       labels
18452           Set path to label file specifying the mapping between label id and
18453           name.  Each label name is written in one line, tailing spaces and
18454           empty lines are skipped.  The first line is the name of label id 0
18455           (usually it is 'background'), and the second line is the name of
18456           label id 1, etc.  The label id is considered as name if the label
18457           file is not provided.
18458
18459       backend_configs
18460           Set the configs to be passed into backend. To use async execution,
18461           set async (default: set).  Roll back to sync execution if the
18462           backend does not support async.
18463
18464   dnn_processing
18465       Do image processing with deep neural networks. It works together with
18466       another filter which converts the pixel format of the Frame to what the
18467       dnn network requires.
18468
18469       The filter accepts the following options:
18470
18471       dnn_backend
18472           Specify which DNN backend to use for model loading and execution.
18473           This option accepts the following values:
18474
18475           native
18476               Native implementation of DNN loading and execution.
18477
18478           tensorflow
18479               TensorFlow backend. To enable this backend you need to install
18480               the TensorFlow for C library (see
18481               <https://www.tensorflow.org/install/lang_c>) and configure
18482               FFmpeg with "--enable-libtensorflow"
18483
18484           openvino
18485               OpenVINO backend. To enable this backend you need to build and
18486               install the OpenVINO for C library (see
18487               <https://github.com/openvinotoolkit/openvino/blob/master/build-instruction.md>)
18488               and configure FFmpeg with "--enable-libopenvino"
18489               (--extra-cflags=-I... --extra-ldflags=-L... might be needed if
18490               the header files and libraries are not installed into system
18491               path)
18492
18493           Default value is native.
18494
18495       model
18496           Set path to model file specifying network architecture and its
18497           parameters.  Note that different backends use different file
18498           formats. TensorFlow, OpenVINO and native backend can load files for
18499           only its format.
18500
18501           Native model file (.model) can be generated from TensorFlow model
18502           file (.pb) by using tools/python/convert.py
18503
18504       input
18505           Set the input name of the dnn network.
18506
18507       output
18508           Set the output name of the dnn network.
18509
18510       backend_configs
18511           Set the configs to be passed into backend. To use async execution,
18512           set async (default: set).  Roll back to sync execution if the
18513           backend does not support async.
18514
18515           For tensorflow backend, you can set its configs with sess_config
18516           options, please use tools/python/tf_sess_config.py to get the
18517           configs of TensorFlow backend for your system.
18518
18519       Examples
18520
18521       •   Remove rain in rgb24 frame with can.pb (see derain filter):
18522
18523                   ./ffmpeg -i rain.jpg -vf format=rgb24,dnn_processing=dnn_backend=tensorflow:model=can.pb:input=x:output=y derain.jpg
18524
18525       •   Halve the pixel value of the frame with format gray32f:
18526
18527                   ffmpeg -i input.jpg -vf format=grayf32,dnn_processing=model=halve_gray_float.model:input=dnn_in:output=dnn_out:dnn_backend=native -y out.native.png
18528
18529       •   Handle the Y channel with srcnn.pb (see sr filter) for frame with
18530           yuv420p (planar YUV formats supported):
18531
18532                   ./ffmpeg -i 480p.jpg -vf format=yuv420p,scale=w=iw*2:h=ih*2,dnn_processing=dnn_backend=tensorflow:model=srcnn.pb:input=x:output=y -y srcnn.jpg
18533
18534       •   Handle the Y channel with espcn.pb (see sr filter), which changes
18535           frame size, for format yuv420p (planar YUV formats supported),
18536           please use tools/python/tf_sess_config.py to get the configs of
18537           TensorFlow backend for your system.
18538
18539                   ./ffmpeg -i 480p.jpg -vf format=yuv420p,dnn_processing=dnn_backend=tensorflow:model=espcn.pb:input=x:output=y:backend_configs=sess_config=0x10022805320e09cdccccccccccec3f20012a01303801 -y tmp.espcn.jpg
18540
18541   drawbox
18542       Draw a colored box on the input image.
18543
18544       It accepts the following parameters:
18545
18546       x
18547       y   The expressions which specify the top left corner coordinates of
18548           the box. It defaults to 0.
18549
18550       width, w
18551       height, h
18552           The expressions which specify the width and height of the box; if 0
18553           they are interpreted as the input width and height. It defaults to
18554           0.
18555
18556       color, c
18557           Specify the color of the box to write. For the general syntax of
18558           this option, check the "Color" section in the ffmpeg-utils manual.
18559           If the special value "invert" is used, the box edge color is the
18560           same as the video with inverted luma.
18561
18562       thickness, t
18563           The expression which sets the thickness of the box edge.  A value
18564           of "fill" will create a filled box. Default value is 3.
18565
18566           See below for the list of accepted constants.
18567
18568       replace
18569           Applicable if the input has alpha. With value 1, the pixels of the
18570           painted box will overwrite the video's color and alpha pixels.
18571           Default is 0, which composites the box onto the input, leaving the
18572           video's alpha intact.
18573
18574       The parameters for x, y, w and h and t are expressions containing the
18575       following constants:
18576
18577       dar The input display aspect ratio, it is the same as (w / h) * sar.
18578
18579       hsub
18580       vsub
18581           horizontal and vertical chroma subsample values. For example for
18582           the pixel format "yuv422p" hsub is 2 and vsub is 1.
18583
18584       in_h, ih
18585       in_w, iw
18586           The input width and height.
18587
18588       sar The input sample aspect ratio.
18589
18590       x
18591       y   The x and y offset coordinates where the box is drawn.
18592
18593       w
18594       h   The width and height of the drawn box.
18595
18596       box_source
18597           Box source can be set as side_data_detection_bboxes if you want to
18598           use box data in detection bboxes of side data.
18599
18600           If box_source is set, the x, y, width and height will be ignored
18601           and still use box data in detection bboxes of side data. So please
18602           do not use this parameter if you were not sure about the box
18603           source.
18604
18605       t   The thickness of the drawn box.
18606
18607           These constants allow the x, y, w, h and t expressions to refer to
18608           each other, so you may for example specify "y=x/dar" or "h=w/dar".
18609
18610       Examples
18611
18612       •   Draw a black box around the edge of the input image:
18613
18614                   drawbox
18615
18616       •   Draw a box with color red and an opacity of 50%:
18617
18618                   drawbox=10:20:200:60:red@0.5
18619
18620           The previous example can be specified as:
18621
18622                   drawbox=x=10:y=20:w=200:h=60:color=red@0.5
18623
18624       •   Fill the box with pink color:
18625
18626                   drawbox=x=10:y=10:w=100:h=100:color=pink@0.5:t=fill
18627
18628       •   Draw a 2-pixel red 2.40:1 mask:
18629
18630                   drawbox=x=-t:y=0.5*(ih-iw/2.4)-t:w=iw+t*2:h=iw/2.4+t*2:t=2:c=red
18631
18632       Commands
18633
18634       This filter supports same commands as options.  The command accepts the
18635       same syntax of the corresponding option.
18636
18637       If the specified expression is not valid, it is kept at its current
18638       value.
18639
18640   drawgraph
18641       Draw a graph using input video metadata.
18642
18643       It accepts the following parameters:
18644
18645       m1  Set 1st frame metadata key from which metadata values will be used
18646           to draw a graph.
18647
18648       fg1 Set 1st foreground color expression.
18649
18650       m2  Set 2nd frame metadata key from which metadata values will be used
18651           to draw a graph.
18652
18653       fg2 Set 2nd foreground color expression.
18654
18655       m3  Set 3rd frame metadata key from which metadata values will be used
18656           to draw a graph.
18657
18658       fg3 Set 3rd foreground color expression.
18659
18660       m4  Set 4th frame metadata key from which metadata values will be used
18661           to draw a graph.
18662
18663       fg4 Set 4th foreground color expression.
18664
18665       min Set minimal value of metadata value.
18666
18667       max Set maximal value of metadata value.
18668
18669       bg  Set graph background color. Default is white.
18670
18671       mode
18672           Set graph mode.
18673
18674           Available values for mode is:
18675
18676           bar
18677           dot
18678           line
18679
18680           Default is "line".
18681
18682       slide
18683           Set slide mode.
18684
18685           Available values for slide is:
18686
18687           frame
18688               Draw new frame when right border is reached.
18689
18690           replace
18691               Replace old columns with new ones.
18692
18693           scroll
18694               Scroll from right to left.
18695
18696           rscroll
18697               Scroll from left to right.
18698
18699           picture
18700               Draw single picture.
18701
18702           Default is "frame".
18703
18704       size
18705           Set size of graph video. For the syntax of this option, check the
18706           "Video size" section in the ffmpeg-utils manual.  The default value
18707           is "900x256".
18708
18709       rate, r
18710           Set the output frame rate. Default value is 25.
18711
18712           The foreground color expressions can use the following variables:
18713
18714           MIN Minimal value of metadata value.
18715
18716           MAX Maximal value of metadata value.
18717
18718           VAL Current metadata key value.
18719
18720           The color is defined as 0xAABBGGRR.
18721
18722       Example using metadata from signalstats filter:
18723
18724               signalstats,drawgraph=lavfi.signalstats.YAVG:min=0:max=255
18725
18726       Example using metadata from ebur128 filter:
18727
18728               ebur128=metadata=1,adrawgraph=lavfi.r128.M:min=-120:max=5
18729
18730   drawgrid
18731       Draw a grid on the input image.
18732
18733       It accepts the following parameters:
18734
18735       x
18736       y   The expressions which specify the coordinates of some point of grid
18737           intersection (meant to configure offset). Both default to 0.
18738
18739       width, w
18740       height, h
18741           The expressions which specify the width and height of the grid
18742           cell, if 0 they are interpreted as the input width and height,
18743           respectively, minus "thickness", so image gets framed. Default to
18744           0.
18745
18746       color, c
18747           Specify the color of the grid. For the general syntax of this
18748           option, check the "Color" section in the ffmpeg-utils manual. If
18749           the special value "invert" is used, the grid color is the same as
18750           the video with inverted luma.
18751
18752       thickness, t
18753           The expression which sets the thickness of the grid line. Default
18754           value is 1.
18755
18756           See below for the list of accepted constants.
18757
18758       replace
18759           Applicable if the input has alpha. With 1 the pixels of the painted
18760           grid will overwrite the video's color and alpha pixels.  Default is
18761           0, which composites the grid onto the input, leaving the video's
18762           alpha intact.
18763
18764       The parameters for x, y, w and h and t are expressions containing the
18765       following constants:
18766
18767       dar The input display aspect ratio, it is the same as (w / h) * sar.
18768
18769       hsub
18770       vsub
18771           horizontal and vertical chroma subsample values. For example for
18772           the pixel format "yuv422p" hsub is 2 and vsub is 1.
18773
18774       in_h, ih
18775       in_w, iw
18776           The input grid cell width and height.
18777
18778       sar The input sample aspect ratio.
18779
18780       x
18781       y   The x and y coordinates of some point of grid intersection (meant
18782           to configure offset).
18783
18784       w
18785       h   The width and height of the drawn cell.
18786
18787       t   The thickness of the drawn cell.
18788
18789           These constants allow the x, y, w, h and t expressions to refer to
18790           each other, so you may for example specify "y=x/dar" or "h=w/dar".
18791
18792       Examples
18793
18794       •   Draw a grid with cell 100x100 pixels, thickness 2 pixels, with
18795           color red and an opacity of 50%:
18796
18797                   drawgrid=width=100:height=100:thickness=2:color=red@0.5
18798
18799       •   Draw a white 3x3 grid with an opacity of 50%:
18800
18801                   drawgrid=w=iw/3:h=ih/3:t=2:c=white@0.5
18802
18803       Commands
18804
18805       This filter supports same commands as options.  The command accepts the
18806       same syntax of the corresponding option.
18807
18808       If the specified expression is not valid, it is kept at its current
18809       value.
18810
18811   drawtext
18812       Draw a text string or text from a specified file on top of a video,
18813       using the libfreetype library.
18814
18815       To enable compilation of this filter, you need to configure FFmpeg with
18816       "--enable-libfreetype".  To enable default font fallback and the font
18817       option you need to configure FFmpeg with "--enable-libfontconfig".  To
18818       enable the text_shaping option, you need to configure FFmpeg with
18819       "--enable-libfribidi".
18820
18821       Syntax
18822
18823       It accepts the following parameters:
18824
18825       box Used to draw a box around text using the background color.  The
18826           value must be either 1 (enable) or 0 (disable).  The default value
18827           of box is 0.
18828
18829       boxborderw
18830           Set the width of the border to be drawn around the box using
18831           boxcolor.  The default value of boxborderw is 0.
18832
18833       boxcolor
18834           The color to be used for drawing box around text. For the syntax of
18835           this option, check the "Color" section in the ffmpeg-utils manual.
18836
18837           The default value of boxcolor is "white".
18838
18839       line_spacing
18840           Set the line spacing in pixels of the border to be drawn around the
18841           box using box.  The default value of line_spacing is 0.
18842
18843       borderw
18844           Set the width of the border to be drawn around the text using
18845           bordercolor.  The default value of borderw is 0.
18846
18847       bordercolor
18848           Set the color to be used for drawing border around text. For the
18849           syntax of this option, check the "Color" section in the ffmpeg-
18850           utils manual.
18851
18852           The default value of bordercolor is "black".
18853
18854       expansion
18855           Select how the text is expanded. Can be either "none", "strftime"
18856           (deprecated) or "normal" (default). See the drawtext_expansion,
18857           Text expansion section below for details.
18858
18859       basetime
18860           Set a start time for the count. Value is in microseconds. Only
18861           applied in the deprecated strftime expansion mode. To emulate in
18862           normal expansion mode use the "pts" function, supplying the start
18863           time (in seconds) as the second argument.
18864
18865       fix_bounds
18866           If true, check and fix text coords to avoid clipping.
18867
18868       fontcolor
18869           The color to be used for drawing fonts. For the syntax of this
18870           option, check the "Color" section in the ffmpeg-utils manual.
18871
18872           The default value of fontcolor is "black".
18873
18874       fontcolor_expr
18875           String which is expanded the same way as text to obtain dynamic
18876           fontcolor value. By default this option has empty value and is not
18877           processed. When this option is set, it overrides fontcolor option.
18878
18879       font
18880           The font family to be used for drawing text. By default Sans.
18881
18882       fontfile
18883           The font file to be used for drawing text. The path must be
18884           included.  This parameter is mandatory if the fontconfig support is
18885           disabled.
18886
18887       alpha
18888           Draw the text applying alpha blending. The value can be a number
18889           between 0.0 and 1.0.  The expression accepts the same variables x,
18890           y as well.  The default value is 1.  Please see fontcolor_expr.
18891
18892       fontsize
18893           The font size to be used for drawing text.  The default value of
18894           fontsize is 16.
18895
18896       text_shaping
18897           If set to 1, attempt to shape the text (for example, reverse the
18898           order of right-to-left text and join Arabic characters) before
18899           drawing it.  Otherwise, just draw the text exactly as given.  By
18900           default 1 (if supported).
18901
18902       ft_load_flags
18903           The flags to be used for loading the fonts.
18904
18905           The flags map the corresponding flags supported by libfreetype, and
18906           are a combination of the following values:
18907
18908           default
18909           no_scale
18910           no_hinting
18911           render
18912           no_bitmap
18913           vertical_layout
18914           force_autohint
18915           crop_bitmap
18916           pedantic
18917           ignore_global_advance_width
18918           no_recurse
18919           ignore_transform
18920           monochrome
18921           linear_design
18922           no_autohint
18923
18924           Default value is "default".
18925
18926           For more information consult the documentation for the FT_LOAD_*
18927           libfreetype flags.
18928
18929       shadowcolor
18930           The color to be used for drawing a shadow behind the drawn text.
18931           For the syntax of this option, check the "Color" section in the
18932           ffmpeg-utils manual.
18933
18934           The default value of shadowcolor is "black".
18935
18936       shadowx
18937       shadowy
18938           The x and y offsets for the text shadow position with respect to
18939           the position of the text. They can be either positive or negative
18940           values. The default value for both is "0".
18941
18942       start_number
18943           The starting frame number for the n/frame_num variable. The default
18944           value is "0".
18945
18946       tabsize
18947           The size in number of spaces to use for rendering the tab.  Default
18948           value is 4.
18949
18950       timecode
18951           Set the initial timecode representation in "hh:mm:ss[:;.]ff"
18952           format. It can be used with or without text parameter.
18953           timecode_rate option must be specified.
18954
18955       timecode_rate, rate, r
18956           Set the timecode frame rate (timecode only). Value will be rounded
18957           to nearest integer. Minimum value is "1".  Drop-frame timecode is
18958           supported for frame rates 30 & 60.
18959
18960       tc24hmax
18961           If set to 1, the output of the timecode option will wrap around at
18962           24 hours.  Default is 0 (disabled).
18963
18964       text
18965           The text string to be drawn. The text must be a sequence of UTF-8
18966           encoded characters.  This parameter is mandatory if no file is
18967           specified with the parameter textfile.
18968
18969       textfile
18970           A text file containing text to be drawn. The text must be a
18971           sequence of UTF-8 encoded characters.
18972
18973           This parameter is mandatory if no text string is specified with the
18974           parameter text.
18975
18976           If both text and textfile are specified, an error is thrown.
18977
18978       text_source
18979           Text source should be set as side_data_detection_bboxes if you want
18980           to use text data in detection bboxes of side data.
18981
18982           If text source is set, text and textfile will be ignored and still
18983           use text data in detection bboxes of side data. So please do not
18984           use this parameter if you are not sure about the text source.
18985
18986       reload
18987           If set to 1, the textfile will be reloaded before each frame.  Be
18988           sure to update it atomically, or it may be read partially, or even
18989           fail.
18990
18991       x
18992       y   The expressions which specify the offsets where text will be drawn
18993           within the video frame. They are relative to the top/left border of
18994           the output image.
18995
18996           The default value of x and y is "0".
18997
18998           See below for the list of accepted constants and functions.
18999
19000       The parameters for x and y are expressions containing the following
19001       constants and functions:
19002
19003       dar input display aspect ratio, it is the same as (w / h) * sar
19004
19005       hsub
19006       vsub
19007           horizontal and vertical chroma subsample values. For example for
19008           the pixel format "yuv422p" hsub is 2 and vsub is 1.
19009
19010       line_h, lh
19011           the height of each text line
19012
19013       main_h, h, H
19014           the input height
19015
19016       main_w, w, W
19017           the input width
19018
19019       max_glyph_a, ascent
19020           the maximum distance from the baseline to the highest/upper grid
19021           coordinate used to place a glyph outline point, for all the
19022           rendered glyphs.  It is a positive value, due to the grid's
19023           orientation with the Y axis upwards.
19024
19025       max_glyph_d, descent
19026           the maximum distance from the baseline to the lowest grid
19027           coordinate used to place a glyph outline point, for all the
19028           rendered glyphs.  This is a negative value, due to the grid's
19029           orientation, with the Y axis upwards.
19030
19031       max_glyph_h
19032           maximum glyph height, that is the maximum height for all the glyphs
19033           contained in the rendered text, it is equivalent to ascent -
19034           descent.
19035
19036       max_glyph_w
19037           maximum glyph width, that is the maximum width for all the glyphs
19038           contained in the rendered text
19039
19040       n   the number of input frame, starting from 0
19041
19042       rand(min, max)
19043           return a random number included between min and max
19044
19045       sar The input sample aspect ratio.
19046
19047       t   timestamp expressed in seconds, NAN if the input timestamp is
19048           unknown
19049
19050       text_h, th
19051           the height of the rendered text
19052
19053       text_w, tw
19054           the width of the rendered text
19055
19056       x
19057       y   the x and y offset coordinates where the text is drawn.
19058
19059           These parameters allow the x and y expressions to refer to each
19060           other, so you can for example specify "y=x/dar".
19061
19062       pict_type
19063           A one character description of the current frame's picture type.
19064
19065       pkt_pos
19066           The current packet's position in the input file or stream (in
19067           bytes, from the start of the input). A value of -1 indicates this
19068           info is not available.
19069
19070       pkt_duration
19071           The current packet's duration, in seconds.
19072
19073       pkt_size
19074           The current packet's size (in bytes).
19075
19076       Text expansion
19077
19078       If expansion is set to "strftime", the filter recognizes strftime()
19079       sequences in the provided text and expands them accordingly. Check the
19080       documentation of strftime(). This feature is deprecated.
19081
19082       If expansion is set to "none", the text is printed verbatim.
19083
19084       If expansion is set to "normal" (which is the default), the following
19085       expansion mechanism is used.
19086
19087       The backslash character \, followed by any character, always expands to
19088       the second character.
19089
19090       Sequences of the form "%{...}" are expanded. The text between the
19091       braces is a function name, possibly followed by arguments separated by
19092       ':'.  If the arguments contain special characters or delimiters (':' or
19093       '}'), they should be escaped.
19094
19095       Note that they probably must also be escaped as the value for the text
19096       option in the filter argument string and as the filter argument in the
19097       filtergraph description, and possibly also for the shell, that makes up
19098       to four levels of escaping; using a text file avoids these problems.
19099
19100       The following functions are available:
19101
19102       expr, e
19103           The expression evaluation result.
19104
19105           It must take one argument specifying the expression to be
19106           evaluated, which accepts the same constants and functions as the x
19107           and y values. Note that not all constants should be used, for
19108           example the text size is not known when evaluating the expression,
19109           so the constants text_w and text_h will have an undefined value.
19110
19111       expr_int_format, eif
19112           Evaluate the expression's value and output as formatted integer.
19113
19114           The first argument is the expression to be evaluated, just as for
19115           the expr function.  The second argument specifies the output
19116           format. Allowed values are x, X, d and u. They are treated exactly
19117           as in the "printf" function.  The third parameter is optional and
19118           sets the number of positions taken by the output.  It can be used
19119           to add padding with zeros from the left.
19120
19121       gmtime
19122           The time at which the filter is running, expressed in UTC.  It can
19123           accept an argument: a strftime() format string.
19124
19125       localtime
19126           The time at which the filter is running, expressed in the local
19127           time zone.  It can accept an argument: a strftime() format string.
19128
19129       metadata
19130           Frame metadata. Takes one or two arguments.
19131
19132           The first argument is mandatory and specifies the metadata key.
19133
19134           The second argument is optional and specifies a default value, used
19135           when the metadata key is not found or empty.
19136
19137           Available metadata can be identified by inspecting entries starting
19138           with TAG included within each frame section printed by running
19139           "ffprobe -show_frames".
19140
19141           String metadata generated in filters leading to the drawtext filter
19142           are also available.
19143
19144       n, frame_num
19145           The frame number, starting from 0.
19146
19147       pict_type
19148           A one character description of the current picture type.
19149
19150       pts The timestamp of the current frame.  It can take up to three
19151           arguments.
19152
19153           The first argument is the format of the timestamp; it defaults to
19154           "flt" for seconds as a decimal number with microsecond accuracy;
19155           "hms" stands for a formatted [-]HH:MM:SS.mmm timestamp with
19156           millisecond accuracy.  "gmtime" stands for the timestamp of the
19157           frame formatted as UTC time; "localtime" stands for the timestamp
19158           of the frame formatted as local time zone time.
19159
19160           The second argument is an offset added to the timestamp.
19161
19162           If the format is set to "hms", a third argument "24HH" may be
19163           supplied to present the hour part of the formatted timestamp in 24h
19164           format (00-23).
19165
19166           If the format is set to "localtime" or "gmtime", a third argument
19167           may be supplied: a strftime() format string.  By default, YYYY-MM-
19168           DD HH:MM:SS format will be used.
19169
19170       Commands
19171
19172       This filter supports altering parameters via commands:
19173
19174       reinit
19175           Alter existing filter parameters.
19176
19177           Syntax for the argument is the same as for filter invocation, e.g.
19178
19179                   fontsize=56:fontcolor=green:text='Hello World'
19180
19181           Full filter invocation with sendcmd would look like this:
19182
19183                   sendcmd=c='56.0 drawtext reinit fontsize=56\:fontcolor=green\:text=Hello\\ World'
19184
19185       If the entire argument can't be parsed or applied as valid values then
19186       the filter will continue with its existing parameters.
19187
19188       Examples
19189
19190       •   Draw "Test Text" with font FreeSerif, using the default values for
19191           the optional parameters.
19192
19193                   drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text'"
19194
19195       •   Draw 'Test Text' with font FreeSerif of size 24 at position x=100
19196           and y=50 (counting from the top-left corner of the screen), text is
19197           yellow with a red box around it. Both the text and the box have an
19198           opacity of 20%.
19199
19200                   drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text':\
19201                             x=100: y=50: fontsize=24: fontcolor=yellow@0.2: box=1: boxcolor=red@0.2"
19202
19203           Note that the double quotes are not necessary if spaces are not
19204           used within the parameter list.
19205
19206       •   Show the text at the center of the video frame:
19207
19208                   drawtext="fontsize=30:fontfile=FreeSerif.ttf:text='hello world':x=(w-text_w)/2:y=(h-text_h)/2"
19209
19210       •   Show the text at a random position, switching to a new position
19211           every 30 seconds:
19212
19213                   drawtext="fontsize=30:fontfile=FreeSerif.ttf:text='hello world':x=if(eq(mod(t\,30)\,0)\,rand(0\,(w-text_w))\,x):y=if(eq(mod(t\,30)\,0)\,rand(0\,(h-text_h))\,y)"
19214
19215       •   Show a text line sliding from right to left in the last row of the
19216           video frame. The file LONG_LINE is assumed to contain a single line
19217           with no newlines.
19218
19219                   drawtext="fontsize=15:fontfile=FreeSerif.ttf:text=LONG_LINE:y=h-line_h:x=-50*t"
19220
19221       •   Show the content of file CREDITS off the bottom of the frame and
19222           scroll up.
19223
19224                   drawtext="fontsize=20:fontfile=FreeSerif.ttf:textfile=CREDITS:y=h-20*t"
19225
19226       •   Draw a single green letter "g", at the center of the input video.
19227           The glyph baseline is placed at half screen height.
19228
19229                   drawtext="fontsize=60:fontfile=FreeSerif.ttf:fontcolor=green:text=g:x=(w-max_glyph_w)/2:y=h/2-ascent"
19230
19231       •   Show text for 1 second every 3 seconds:
19232
19233                   drawtext="fontfile=FreeSerif.ttf:fontcolor=white:x=100:y=x/dar:enable=lt(mod(t\,3)\,1):text='blink'"
19234
19235       •   Use fontconfig to set the font. Note that the colons need to be
19236           escaped.
19237
19238                   drawtext='fontfile=Linux Libertine O-40\:style=Semibold:text=FFmpeg'
19239
19240       •   Draw "Test Text" with font size dependent on height of the video.
19241
19242                   drawtext="text='Test Text': fontsize=h/30: x=(w-text_w)/2: y=(h-text_h*2)"
19243
19244       •   Print the date of a real-time encoding (see strftime(3)):
19245
19246                   drawtext='fontfile=FreeSans.ttf:text=%{localtime\:%a %b %d %Y}'
19247
19248       •   Show text fading in and out (appearing/disappearing):
19249
19250                   #!/bin/sh
19251                   DS=1.0 # display start
19252                   DE=10.0 # display end
19253                   FID=1.5 # fade in duration
19254                   FOD=5 # fade out duration
19255                   ffplay -f lavfi "color,drawtext=text=TEST:fontsize=50:fontfile=FreeSerif.ttf:fontcolor_expr=ff0000%{eif\\\\: clip(255*(1*between(t\\, $DS + $FID\\, $DE - $FOD) + ((t - $DS)/$FID)*between(t\\, $DS\\, $DS + $FID) + (-(t - $DE)/$FOD)*between(t\\, $DE - $FOD\\, $DE) )\\, 0\\, 255) \\\\: x\\\\: 2 }"
19256
19257       •   Horizontally align multiple separate texts. Note that max_glyph_a
19258           and the fontsize value are included in the y offset.
19259
19260                   drawtext=fontfile=FreeSans.ttf:text=DOG:fontsize=24:x=10:y=20+24-max_glyph_a,
19261                   drawtext=fontfile=FreeSans.ttf:text=cow:fontsize=24:x=80:y=20+24-max_glyph_a
19262
19263       •   Plot special lavf.image2dec.source_basename metadata onto each
19264           frame if such metadata exists. Otherwise, plot the string "NA".
19265           Note that image2 demuxer must have option -export_path_metadata 1
19266           for the special metadata fields to be available for filters.
19267
19268                   drawtext="fontsize=20:fontcolor=white:fontfile=FreeSans.ttf:text='%{metadata\:lavf.image2dec.source_basename\:NA}':x=10:y=10"
19269
19270       For more information about libfreetype, check:
19271       <http://www.freetype.org/>.
19272
19273       For more information about fontconfig, check:
19274       <http://freedesktop.org/software/fontconfig/fontconfig-user.html>.
19275
19276       For more information about libfribidi, check: <http://fribidi.org/>.
19277
19278   edgedetect
19279       Detect and draw edges. The filter uses the Canny Edge Detection
19280       algorithm.
19281
19282       The filter accepts the following options:
19283
19284       low
19285       high
19286           Set low and high threshold values used by the Canny thresholding
19287           algorithm.
19288
19289           The high threshold selects the "strong" edge pixels, which are then
19290           connected through 8-connectivity with the "weak" edge pixels
19291           selected by the low threshold.
19292
19293           low and high threshold values must be chosen in the range [0,1],
19294           and low should be lesser or equal to high.
19295
19296           Default value for low is "20/255", and default value for high is
19297           "50/255".
19298
19299       mode
19300           Define the drawing mode.
19301
19302           wires
19303               Draw white/gray wires on black background.
19304
19305           colormix
19306               Mix the colors to create a paint/cartoon effect.
19307
19308           canny
19309               Apply Canny edge detector on all selected planes.
19310
19311           Default value is wires.
19312
19313       planes
19314           Select planes for filtering. By default all available planes are
19315           filtered.
19316
19317       Examples
19318
19319       •   Standard edge detection with custom values for the hysteresis
19320           thresholding:
19321
19322                   edgedetect=low=0.1:high=0.4
19323
19324       •   Painting effect without thresholding:
19325
19326                   edgedetect=mode=colormix:high=0
19327
19328   elbg
19329       Apply a posterize effect using the ELBG (Enhanced LBG) algorithm.
19330
19331       For each input image, the filter will compute the optimal mapping from
19332       the input to the output given the codebook length, that is the number
19333       of distinct output colors.
19334
19335       This filter accepts the following options.
19336
19337       codebook_length, l
19338           Set codebook length. The value must be a positive integer, and
19339           represents the number of distinct output colors. Default value is
19340           256.
19341
19342       nb_steps, n
19343           Set the maximum number of iterations to apply for computing the
19344           optimal mapping. The higher the value the better the result and the
19345           higher the computation time. Default value is 1.
19346
19347       seed, s
19348           Set a random seed, must be an integer included between 0 and
19349           UINT32_MAX. If not specified, or if explicitly set to -1, the
19350           filter will try to use a good random seed on a best effort basis.
19351
19352       pal8
19353           Set pal8 output pixel format. This option does not work with
19354           codebook length greater than 256. Default is disabled.
19355
19356       use_alpha
19357           Include alpha values in the quantization calculation. Allows
19358           creating palettized output images (e.g. PNG8) with multiple alpha
19359           smooth blending.
19360
19361   entropy
19362       Measure graylevel entropy in histogram of color channels of video
19363       frames.
19364
19365       It accepts the following parameters:
19366
19367       mode
19368           Can be either normal or diff. Default is normal.
19369
19370           diff mode measures entropy of histogram delta values, absolute
19371           differences between neighbour histogram values.
19372
19373   epx
19374       Apply the EPX magnification filter which is designed for pixel art.
19375
19376       It accepts the following option:
19377
19378       n   Set the scaling dimension: 2 for "2xEPX", 3 for "3xEPX".  Default
19379           is 3.
19380
19381   eq
19382       Set brightness, contrast, saturation and approximate gamma adjustment.
19383
19384       The filter accepts the following options:
19385
19386       contrast
19387           Set the contrast expression. The value must be a float value in
19388           range "-1000.0" to 1000.0. The default value is "1".
19389
19390       brightness
19391           Set the brightness expression. The value must be a float value in
19392           range "-1.0" to 1.0. The default value is "0".
19393
19394       saturation
19395           Set the saturation expression. The value must be a float in range
19396           0.0 to 3.0. The default value is "1".
19397
19398       gamma
19399           Set the gamma expression. The value must be a float in range 0.1 to
19400           10.0.  The default value is "1".
19401
19402       gamma_r
19403           Set the gamma expression for red. The value must be a float in
19404           range 0.1 to 10.0. The default value is "1".
19405
19406       gamma_g
19407           Set the gamma expression for green. The value must be a float in
19408           range 0.1 to 10.0. The default value is "1".
19409
19410       gamma_b
19411           Set the gamma expression for blue. The value must be a float in
19412           range 0.1 to 10.0. The default value is "1".
19413
19414       gamma_weight
19415           Set the gamma weight expression. It can be used to reduce the
19416           effect of a high gamma value on bright image areas, e.g. keep them
19417           from getting overamplified and just plain white. The value must be
19418           a float in range 0.0 to 1.0. A value of 0.0 turns the gamma
19419           correction all the way down while 1.0 leaves it at its full
19420           strength. Default is "1".
19421
19422       eval
19423           Set when the expressions for brightness, contrast, saturation and
19424           gamma expressions are evaluated.
19425
19426           It accepts the following values:
19427
19428           init
19429               only evaluate expressions once during the filter initialization
19430               or when a command is processed
19431
19432           frame
19433               evaluate expressions for each incoming frame
19434
19435           Default value is init.
19436
19437       The expressions accept the following parameters:
19438
19439       n   frame count of the input frame starting from 0
19440
19441       pos byte position of the corresponding packet in the input file, NAN if
19442           unspecified
19443
19444       r   frame rate of the input video, NAN if the input frame rate is
19445           unknown
19446
19447       t   timestamp expressed in seconds, NAN if the input timestamp is
19448           unknown
19449
19450       Commands
19451
19452       The filter supports the following commands:
19453
19454       contrast
19455           Set the contrast expression.
19456
19457       brightness
19458           Set the brightness expression.
19459
19460       saturation
19461           Set the saturation expression.
19462
19463       gamma
19464           Set the gamma expression.
19465
19466       gamma_r
19467           Set the gamma_r expression.
19468
19469       gamma_g
19470           Set gamma_g expression.
19471
19472       gamma_b
19473           Set gamma_b expression.
19474
19475       gamma_weight
19476           Set gamma_weight expression.
19477
19478           The command accepts the same syntax of the corresponding option.
19479
19480           If the specified expression is not valid, it is kept at its current
19481           value.
19482
19483   erosion
19484       Apply erosion effect to the video.
19485
19486       This filter replaces the pixel by the local(3x3) minimum.
19487
19488       It accepts the following options:
19489
19490       threshold0
19491       threshold1
19492       threshold2
19493       threshold3
19494           Limit the maximum change for each plane, default is 65535.  If 0,
19495           plane will remain unchanged.
19496
19497       coordinates
19498           Flag which specifies the pixel to refer to. Default is 255 i.e. all
19499           eight pixels are used.
19500
19501           Flags to local 3x3 coordinates maps like this:
19502
19503               1 2 3
19504               4   5
19505               6 7 8
19506
19507       Commands
19508
19509       This filter supports the all above options as commands.
19510
19511   estdif
19512       Deinterlace the input video ("estdif" stands for "Edge Slope Tracing
19513       Deinterlacing Filter").
19514
19515       Spatial only filter that uses edge slope tracing algorithm to
19516       interpolate missing lines.  It accepts the following parameters:
19517
19518       mode
19519           The interlacing mode to adopt. It accepts one of the following
19520           values:
19521
19522           frame
19523               Output one frame for each frame.
19524
19525           field
19526               Output one frame for each field.
19527
19528           The default value is "field".
19529
19530       parity
19531           The picture field parity assumed for the input interlaced video. It
19532           accepts one of the following values:
19533
19534           tff Assume the top field is first.
19535
19536           bff Assume the bottom field is first.
19537
19538           auto
19539               Enable automatic detection of field parity.
19540
19541           The default value is "auto".  If the interlacing is unknown or the
19542           decoder does not export this information, top field first will be
19543           assumed.
19544
19545       deint
19546           Specify which frames to deinterlace. Accepts one of the following
19547           values:
19548
19549           all Deinterlace all frames.
19550
19551           interlaced
19552               Only deinterlace frames marked as interlaced.
19553
19554           The default value is "all".
19555
19556       rslope
19557           Specify the search radius for edge slope tracing. Default value is
19558           1.  Allowed range is from 1 to 15.
19559
19560       redge
19561           Specify the search radius for best edge matching. Default value is
19562           2.  Allowed range is from 0 to 15.
19563
19564       ecost
19565           Specify the edge cost for edge matching. Default value is 0.03125.
19566           Allowed range is from 0 to 1.
19567
19568       mcost
19569           Specify the middle cost for edge matching. Default value is 0.5.
19570           Allowed range is from 0 to 1.
19571
19572       dcost
19573           Specify the distance cost for edge matching. Default value is 0.5.
19574           Allowed range is from 0 to 1.
19575
19576       interp
19577           Specify the interpolation used. Default is 4-point interpolation.
19578           It accepts one of the following values:
19579
19580           2p  Two-point interpolation.
19581
19582           4p  Four-point interpolation.
19583
19584           6p  Six-point interpolation.
19585
19586       Commands
19587
19588       This filter supports same commands as options.
19589
19590   exposure
19591       Adjust exposure of the video stream.
19592
19593       The filter accepts the following options:
19594
19595       exposure
19596           Set the exposure correction in EV. Allowed range is from -3.0 to
19597           3.0 EV Default value is 0 EV.
19598
19599       black
19600           Set the black level correction. Allowed range is from -1.0 to 1.0.
19601           Default value is 0.
19602
19603       Commands
19604
19605       This filter supports same commands as options.
19606
19607   extractplanes
19608       Extract color channel components from input video stream into separate
19609       grayscale video streams.
19610
19611       The filter accepts the following option:
19612
19613       planes
19614           Set plane(s) to extract.
19615
19616           Available values for planes are:
19617
19618           y
19619           u
19620           v
19621           a
19622           r
19623           g
19624           b
19625
19626           Choosing planes not available in the input will result in an error.
19627           That means you cannot select "r", "g", "b" planes with "y", "u",
19628           "v" planes at same time.
19629
19630       Examples
19631
19632       •   Extract luma, u and v color channel component from input video
19633           frame into 3 grayscale outputs:
19634
19635                   ffmpeg -i video.avi -filter_complex 'extractplanes=y+u+v[y][u][v]' -map '[y]' y.avi -map '[u]' u.avi -map '[v]' v.avi
19636
19637   fade
19638       Apply a fade-in/out effect to the input video.
19639
19640       It accepts the following parameters:
19641
19642       type, t
19643           The effect type can be either "in" for a fade-in, or "out" for a
19644           fade-out effect.  Default is "in".
19645
19646       start_frame, s
19647           Specify the number of the frame to start applying the fade effect
19648           at. Default is 0.
19649
19650       nb_frames, n
19651           The number of frames that the fade effect lasts. At the end of the
19652           fade-in effect, the output video will have the same intensity as
19653           the input video.  At the end of the fade-out transition, the output
19654           video will be filled with the selected color.  Default is 25.
19655
19656       alpha
19657           If set to 1, fade only alpha channel, if one exists on the input.
19658           Default value is 0.
19659
19660       start_time, st
19661           Specify the timestamp (in seconds) of the frame to start to apply
19662           the fade effect. If both start_frame and start_time are specified,
19663           the fade will start at whichever comes last.  Default is 0.
19664
19665       duration, d
19666           The number of seconds for which the fade effect has to last. At the
19667           end of the fade-in effect the output video will have the same
19668           intensity as the input video, at the end of the fade-out transition
19669           the output video will be filled with the selected color.  If both
19670           duration and nb_frames are specified, duration is used. Default is
19671           0 (nb_frames is used by default).
19672
19673       color, c
19674           Specify the color of the fade. Default is "black".
19675
19676       Examples
19677
19678       •   Fade in the first 30 frames of video:
19679
19680                   fade=in:0:30
19681
19682           The command above is equivalent to:
19683
19684                   fade=t=in:s=0:n=30
19685
19686       •   Fade out the last 45 frames of a 200-frame video:
19687
19688                   fade=out:155:45
19689                   fade=type=out:start_frame=155:nb_frames=45
19690
19691       •   Fade in the first 25 frames and fade out the last 25 frames of a
19692           1000-frame video:
19693
19694                   fade=in:0:25, fade=out:975:25
19695
19696       •   Make the first 5 frames yellow, then fade in from frame 5-24:
19697
19698                   fade=in:5:20:color=yellow
19699
19700       •   Fade in alpha over first 25 frames of video:
19701
19702                   fade=in:0:25:alpha=1
19703
19704       •   Make the first 5.5 seconds black, then fade in for 0.5 seconds:
19705
19706                   fade=t=in:st=5.5:d=0.5
19707
19708   fftdnoiz
19709       Denoise frames using 3D FFT (frequency domain filtering).
19710
19711       The filter accepts the following options:
19712
19713       sigma
19714           Set the noise sigma constant. This sets denoising strength.
19715           Default value is 1. Allowed range is from 0 to 30.  Using very high
19716           sigma with low overlap may give blocking artifacts.
19717
19718       amount
19719           Set amount of denoising. By default all detected noise is reduced.
19720           Default value is 1. Allowed range is from 0 to 1.
19721
19722       block
19723           Set size of block, Default is 4, can be 3, 4, 5 or 6.  Actual size
19724           of block in pixels is 2 to power of block, so by default block size
19725           in pixels is 2^4 which is 16.
19726
19727       overlap
19728           Set block overlap. Default is 0.5. Allowed range is from 0.2 to
19729           0.8.
19730
19731       prev
19732           Set number of previous frames to use for denoising. By default is
19733           set to 0.
19734
19735       next
19736           Set number of next frames to to use for denoising. By default is
19737           set to 0.
19738
19739       planes
19740           Set planes which will be filtered, by default are all available
19741           filtered except alpha.
19742
19743   fftfilt
19744       Apply arbitrary expressions to samples in frequency domain
19745
19746       dc_Y
19747           Adjust the dc value (gain) of the luma plane of the image. The
19748           filter accepts an integer value in range 0 to 1000. The default
19749           value is set to 0.
19750
19751       dc_U
19752           Adjust the dc value (gain) of the 1st chroma plane of the image.
19753           The filter accepts an integer value in range 0 to 1000. The default
19754           value is set to 0.
19755
19756       dc_V
19757           Adjust the dc value (gain) of the 2nd chroma plane of the image.
19758           The filter accepts an integer value in range 0 to 1000. The default
19759           value is set to 0.
19760
19761       weight_Y
19762           Set the frequency domain weight expression for the luma plane.
19763
19764       weight_U
19765           Set the frequency domain weight expression for the 1st chroma
19766           plane.
19767
19768       weight_V
19769           Set the frequency domain weight expression for the 2nd chroma
19770           plane.
19771
19772       eval
19773           Set when the expressions are evaluated.
19774
19775           It accepts the following values:
19776
19777           init
19778               Only evaluate expressions once during the filter
19779               initialization.
19780
19781           frame
19782               Evaluate expressions for each incoming frame.
19783
19784           Default value is init.
19785
19786           The filter accepts the following variables:
19787
19788       X
19789       Y   The coordinates of the current sample.
19790
19791       W
19792       H   The width and height of the image.
19793
19794       N   The number of input frame, starting from 0.
19795
19796       WS
19797       HS  The size of FFT array for horizontal and vertical processing.
19798
19799       Examples
19800
19801       •   High-pass:
19802
19803                   fftfilt=dc_Y=128:weight_Y='squish(1-(Y+X)/100)'
19804
19805       •   Low-pass:
19806
19807                   fftfilt=dc_Y=0:weight_Y='squish((Y+X)/100-1)'
19808
19809       •   Sharpen:
19810
19811                   fftfilt=dc_Y=0:weight_Y='1+squish(1-(Y+X)/100)'
19812
19813       •   Blur:
19814
19815                   fftfilt=dc_Y=0:weight_Y='exp(-4 * ((Y+X)/(W+H)))'
19816
19817   field
19818       Extract a single field from an interlaced image using stride arithmetic
19819       to avoid wasting CPU time. The output frames are marked as non-
19820       interlaced.
19821
19822       The filter accepts the following options:
19823
19824       type
19825           Specify whether to extract the top (if the value is 0 or "top") or
19826           the bottom field (if the value is 1 or "bottom").
19827
19828   fieldhint
19829       Create new frames by copying the top and bottom fields from surrounding
19830       frames supplied as numbers by the hint file.
19831
19832       hint
19833           Set file containing hints: absolute/relative frame numbers.
19834
19835           There must be one line for each frame in a clip. Each line must
19836           contain two numbers separated by the comma, optionally followed by
19837           "-" or "+".  Numbers supplied on each line of file can not be out
19838           of [N-1,N+1] where N is current frame number for "absolute" mode or
19839           out of [-1, 1] range for "relative" mode. First number tells from
19840           which frame to pick up top field and second number tells from which
19841           frame to pick up bottom field.
19842
19843           If optionally followed by "+" output frame will be marked as
19844           interlaced, else if followed by "-" output frame will be marked as
19845           progressive, else it will be marked same as input frame.  If
19846           optionally followed by "t" output frame will use only top field, or
19847           in case of "b" it will use only bottom field.  If line starts with
19848           "#" or ";" that line is skipped.
19849
19850       mode
19851           Can be item "absolute" or "relative". Default is "absolute".
19852
19853       Example of first several lines of "hint" file for "relative" mode:
19854
19855               0,0 - # first frame
19856               1,0 - # second frame, use third's frame top field and second's frame bottom field
19857               1,0 - # third frame, use fourth's frame top field and third's frame bottom field
19858               1,0 -
19859               0,0 -
19860               0,0 -
19861               1,0 -
19862               1,0 -
19863               1,0 -
19864               0,0 -
19865               0,0 -
19866               1,0 -
19867               1,0 -
19868               1,0 -
19869               0,0 -
19870
19871   fieldmatch
19872       Field matching filter for inverse telecine. It is meant to reconstruct
19873       the progressive frames from a telecined stream. The filter does not
19874       drop duplicated frames, so to achieve a complete inverse telecine
19875       "fieldmatch" needs to be followed by a decimation filter such as
19876       decimate in the filtergraph.
19877
19878       The separation of the field matching and the decimation is notably
19879       motivated by the possibility of inserting a de-interlacing filter
19880       fallback between the two.  If the source has mixed telecined and real
19881       interlaced content, "fieldmatch" will not be able to match fields for
19882       the interlaced parts.  But these remaining combed frames will be marked
19883       as interlaced, and thus can be de-interlaced by a later filter such as
19884       yadif before decimation.
19885
19886       In addition to the various configuration options, "fieldmatch" can take
19887       an optional second stream, activated through the ppsrc option. If
19888       enabled, the frames reconstruction will be based on the fields and
19889       frames from this second stream. This allows the first input to be pre-
19890       processed in order to help the various algorithms of the filter, while
19891       keeping the output lossless (assuming the fields are matched properly).
19892       Typically, a field-aware denoiser, or brightness/contrast adjustments
19893       can help.
19894
19895       Note that this filter uses the same algorithms as TIVTC/TFM (AviSynth
19896       project) and VIVTC/VFM (VapourSynth project). The later is a light
19897       clone of TFM from which "fieldmatch" is based on. While the semantic
19898       and usage are very close, some behaviour and options names can differ.
19899
19900       The decimate filter currently only works for constant frame rate input.
19901       If your input has mixed telecined (30fps) and progressive content with
19902       a lower framerate like 24fps use the following filterchain to produce
19903       the necessary cfr stream:
19904       "dejudder,fps=30000/1001,fieldmatch,decimate".
19905
19906       The filter accepts the following options:
19907
19908       order
19909           Specify the assumed field order of the input stream. Available
19910           values are:
19911
19912           auto
19913               Auto detect parity (use FFmpeg's internal parity value).
19914
19915           bff Assume bottom field first.
19916
19917           tff Assume top field first.
19918
19919           Note that it is sometimes recommended not to trust the parity
19920           announced by the stream.
19921
19922           Default value is auto.
19923
19924       mode
19925           Set the matching mode or strategy to use. pc mode is the safest in
19926           the sense that it won't risk creating jerkiness due to duplicate
19927           frames when possible, but if there are bad edits or blended fields
19928           it will end up outputting combed frames when a good match might
19929           actually exist. On the other hand, pcn_ub mode is the most risky in
19930           terms of creating jerkiness, but will almost always find a good
19931           frame if there is one. The other values are all somewhere in
19932           between pc and pcn_ub in terms of risking jerkiness and creating
19933           duplicate frames versus finding good matches in sections with bad
19934           edits, orphaned fields, blended fields, etc.
19935
19936           More details about p/c/n/u/b are available in p/c/n/u/b meaning
19937           section.
19938
19939           Available values are:
19940
19941           pc  2-way matching (p/c)
19942
19943           pc_n
19944               2-way matching, and trying 3rd match if still combed (p/c + n)
19945
19946           pc_u
19947               2-way matching, and trying 3rd match (same order) if still
19948               combed (p/c + u)
19949
19950           pc_n_ub
19951               2-way matching, trying 3rd match if still combed, and trying
19952               4th/5th matches if still combed (p/c + n + u/b)
19953
19954           pcn 3-way matching (p/c/n)
19955
19956           pcn_ub
19957               3-way matching, and trying 4th/5th matches if all 3 of the
19958               original matches are detected as combed (p/c/n + u/b)
19959
19960           The parenthesis at the end indicate the matches that would be used
19961           for that mode assuming order=tff (and field on auto or top).
19962
19963           In terms of speed pc mode is by far the fastest and pcn_ub is the
19964           slowest.
19965
19966           Default value is pc_n.
19967
19968       ppsrc
19969           Mark the main input stream as a pre-processed input, and enable the
19970           secondary input stream as the clean source to pick the fields from.
19971           See the filter introduction for more details. It is similar to the
19972           clip2 feature from VFM/TFM.
19973
19974           Default value is 0 (disabled).
19975
19976       field
19977           Set the field to match from. It is recommended to set this to the
19978           same value as order unless you experience matching failures with
19979           that setting. In certain circumstances changing the field that is
19980           used to match from can have a large impact on matching performance.
19981           Available values are:
19982
19983           auto
19984               Automatic (same value as order).
19985
19986           bottom
19987               Match from the bottom field.
19988
19989           top Match from the top field.
19990
19991           Default value is auto.
19992
19993       mchroma
19994           Set whether or not chroma is included during the match comparisons.
19995           In most cases it is recommended to leave this enabled. You should
19996           set this to 0 only if your clip has bad chroma problems such as
19997           heavy rainbowing or other artifacts. Setting this to 0 could also
19998           be used to speed things up at the cost of some accuracy.
19999
20000           Default value is 1.
20001
20002       y0
20003       y1  These define an exclusion band which excludes the lines between y0
20004           and y1 from being included in the field matching decision. An
20005           exclusion band can be used to ignore subtitles, a logo, or other
20006           things that may interfere with the matching. y0 sets the starting
20007           scan line and y1 sets the ending line; all lines in between y0 and
20008           y1 (including y0 and y1) will be ignored. Setting y0 and y1 to the
20009           same value will disable the feature.  y0 and y1 defaults to 0.
20010
20011       scthresh
20012           Set the scene change detection threshold as a percentage of maximum
20013           change on the luma plane. Good values are in the "[8.0, 14.0]"
20014           range. Scene change detection is only relevant in case
20015           combmatch=sc.  The range for scthresh is "[0.0, 100.0]".
20016
20017           Default value is 12.0.
20018
20019       combmatch
20020           When combatch is not none, "fieldmatch" will take into account the
20021           combed scores of matches when deciding what match to use as the
20022           final match. Available values are:
20023
20024           none
20025               No final matching based on combed scores.
20026
20027           sc  Combed scores are only used when a scene change is detected.
20028
20029           full
20030               Use combed scores all the time.
20031
20032           Default is sc.
20033
20034       combdbg
20035           Force "fieldmatch" to calculate the combed metrics for certain
20036           matches and print them. This setting is known as micout in TFM/VFM
20037           vocabulary.  Available values are:
20038
20039           none
20040               No forced calculation.
20041
20042           pcn Force p/c/n calculations.
20043
20044           pcnub
20045               Force p/c/n/u/b calculations.
20046
20047           Default value is none.
20048
20049       cthresh
20050           This is the area combing threshold used for combed frame detection.
20051           This essentially controls how "strong" or "visible" combing must be
20052           to be detected.  Larger values mean combing must be more visible
20053           and smaller values mean combing can be less visible or strong and
20054           still be detected. Valid settings are from "-1" (every pixel will
20055           be detected as combed) to 255 (no pixel will be detected as
20056           combed). This is basically a pixel difference value. A good range
20057           is "[8, 12]".
20058
20059           Default value is 9.
20060
20061       chroma
20062           Sets whether or not chroma is considered in the combed frame
20063           decision.  Only disable this if your source has chroma problems
20064           (rainbowing, etc.) that are causing problems for the combed frame
20065           detection with chroma enabled. Actually, using chroma=0 is usually
20066           more reliable, except for the case where there is chroma only
20067           combing in the source.
20068
20069           Default value is 0.
20070
20071       blockx
20072       blocky
20073           Respectively set the x-axis and y-axis size of the window used
20074           during combed frame detection. This has to do with the size of the
20075           area in which combpel pixels are required to be detected as combed
20076           for a frame to be declared combed. See the combpel parameter
20077           description for more info.  Possible values are any number that is
20078           a power of 2 starting at 4 and going up to 512.
20079
20080           Default value is 16.
20081
20082       combpel
20083           The number of combed pixels inside any of the blocky by blockx size
20084           blocks on the frame for the frame to be detected as combed. While
20085           cthresh controls how "visible" the combing must be, this setting
20086           controls "how much" combing there must be in any localized area (a
20087           window defined by the blockx and blocky settings) on the frame.
20088           Minimum value is 0 and maximum is "blocky x blockx" (at which point
20089           no frames will ever be detected as combed). This setting is known
20090           as MI in TFM/VFM vocabulary.
20091
20092           Default value is 80.
20093
20094       p/c/n/u/b meaning
20095
20096       p/c/n
20097
20098       We assume the following telecined stream:
20099
20100               Top fields:     1 2 2 3 4
20101               Bottom fields:  1 2 3 4 4
20102
20103       The numbers correspond to the progressive frame the fields relate to.
20104       Here, the first two frames are progressive, the 3rd and 4th are combed,
20105       and so on.
20106
20107       When "fieldmatch" is configured to run a matching from bottom
20108       (field=bottom) this is how this input stream get transformed:
20109
20110               Input stream:
20111                               T     1 2 2 3 4
20112                               B     1 2 3 4 4   <-- matching reference
20113
20114               Matches:              c c n n c
20115
20116               Output stream:
20117                               T     1 2 3 4 4
20118                               B     1 2 3 4 4
20119
20120       As a result of the field matching, we can see that some frames get
20121       duplicated.  To perform a complete inverse telecine, you need to rely
20122       on a decimation filter after this operation. See for instance the
20123       decimate filter.
20124
20125       The same operation now matching from top fields (field=top) looks like
20126       this:
20127
20128               Input stream:
20129                               T     1 2 2 3 4   <-- matching reference
20130                               B     1 2 3 4 4
20131
20132               Matches:              c c p p c
20133
20134               Output stream:
20135                               T     1 2 2 3 4
20136                               B     1 2 2 3 4
20137
20138       In these examples, we can see what p, c and n mean; basically, they
20139       refer to the frame and field of the opposite parity:
20140
20141       *<p matches the field of the opposite parity in the previous frame>
20142       *<c matches the field of the opposite parity in the current frame>
20143       *<n matches the field of the opposite parity in the next frame>
20144
20145       u/b
20146
20147       The u and b matching are a bit special in the sense that they match
20148       from the opposite parity flag. In the following examples, we assume
20149       that we are currently matching the 2nd frame (Top:2, bottom:2).
20150       According to the match, a 'x' is placed above and below each matched
20151       fields.
20152
20153       With bottom matching (field=bottom):
20154
20155               Match:           c         p           n          b          u
20156
20157                                x       x               x        x          x
20158                 Top          1 2 2     1 2 2       1 2 2      1 2 2      1 2 2
20159                 Bottom       1 2 3     1 2 3       1 2 3      1 2 3      1 2 3
20160                                x         x           x        x              x
20161
20162               Output frames:
20163                                2          1          2          2          2
20164                                2          2          2          1          3
20165
20166       With top matching (field=top):
20167
20168               Match:           c         p           n          b          u
20169
20170                                x         x           x        x              x
20171                 Top          1 2 2     1 2 2       1 2 2      1 2 2      1 2 2
20172                 Bottom       1 2 3     1 2 3       1 2 3      1 2 3      1 2 3
20173                                x       x               x        x          x
20174
20175               Output frames:
20176                                2          2          2          1          2
20177                                2          1          3          2          2
20178
20179       Examples
20180
20181       Simple IVTC of a top field first telecined stream:
20182
20183               fieldmatch=order=tff:combmatch=none, decimate
20184
20185       Advanced IVTC, with fallback on yadif for still combed frames:
20186
20187               fieldmatch=order=tff:combmatch=full, yadif=deint=interlaced, decimate
20188
20189   fieldorder
20190       Transform the field order of the input video.
20191
20192       It accepts the following parameters:
20193
20194       order
20195           The output field order. Valid values are tff for top field first or
20196           bff for bottom field first.
20197
20198       The default value is tff.
20199
20200       The transformation is done by shifting the picture content up or down
20201       by one line, and filling the remaining line with appropriate picture
20202       content.  This method is consistent with most broadcast field order
20203       converters.
20204
20205       If the input video is not flagged as being interlaced, or it is already
20206       flagged as being of the required output field order, then this filter
20207       does not alter the incoming video.
20208
20209       It is very useful when converting to or from PAL DV material, which is
20210       bottom field first.
20211
20212       For example:
20213
20214               ffmpeg -i in.vob -vf "fieldorder=bff" out.dv
20215
20216   fifo, afifo
20217       Buffer input images and send them when they are requested.
20218
20219       It is mainly useful when auto-inserted by the libavfilter framework.
20220
20221       It does not take parameters.
20222
20223   fillborders
20224       Fill borders of the input video, without changing video stream
20225       dimensions.  Sometimes video can have garbage at the four edges and you
20226       may not want to crop video input to keep size multiple of some number.
20227
20228       This filter accepts the following options:
20229
20230       left
20231           Number of pixels to fill from left border.
20232
20233       right
20234           Number of pixels to fill from right border.
20235
20236       top Number of pixels to fill from top border.
20237
20238       bottom
20239           Number of pixels to fill from bottom border.
20240
20241       mode
20242           Set fill mode.
20243
20244           It accepts the following values:
20245
20246           smear
20247               fill pixels using outermost pixels
20248
20249           mirror
20250               fill pixels using mirroring (half sample symmetric)
20251
20252           fixed
20253               fill pixels with constant value
20254
20255           reflect
20256               fill pixels using reflecting (whole sample symmetric)
20257
20258           wrap
20259               fill pixels using wrapping
20260
20261           fade
20262               fade pixels to constant value
20263
20264           margins
20265               fill pixels at top and bottom with weighted averages pixels
20266               near borders
20267
20268           Default is smear.
20269
20270       color
20271           Set color for pixels in fixed or fade mode. Default is black.
20272
20273       Commands
20274
20275       This filter supports same commands as options.  The command accepts the
20276       same syntax of the corresponding option.
20277
20278       If the specified expression is not valid, it is kept at its current
20279       value.
20280
20281   find_rect
20282       Find a rectangular object
20283
20284       It accepts the following options:
20285
20286       object
20287           Filepath of the object image, needs to be in gray8.
20288
20289       threshold
20290           Detection threshold, default is 0.5.
20291
20292       mipmaps
20293           Number of mipmaps, default is 3.
20294
20295       xmin, ymin, xmax, ymax
20296           Specifies the rectangle in which to search.
20297
20298       discard
20299           Discard frames where object is not detected. Default is disabled.
20300
20301       Examples
20302
20303       •   Cover a rectangular object by the supplied image of a given video
20304           using ffmpeg:
20305
20306                   ffmpeg -i file.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv
20307
20308   floodfill
20309       Flood area with values of same pixel components with another values.
20310
20311       It accepts the following options:
20312
20313       x   Set pixel x coordinate.
20314
20315       y   Set pixel y coordinate.
20316
20317       s0  Set source #0 component value.
20318
20319       s1  Set source #1 component value.
20320
20321       s2  Set source #2 component value.
20322
20323       s3  Set source #3 component value.
20324
20325       d0  Set destination #0 component value.
20326
20327       d1  Set destination #1 component value.
20328
20329       d2  Set destination #2 component value.
20330
20331       d3  Set destination #3 component value.
20332
20333   format
20334       Convert the input video to one of the specified pixel formats.
20335       Libavfilter will try to pick one that is suitable as input to the next
20336       filter.
20337
20338       It accepts the following parameters:
20339
20340       pix_fmts
20341           A '|'-separated list of pixel format names, such as
20342           "pix_fmts=yuv420p|monow|rgb24".
20343
20344       Examples
20345
20346       •   Convert the input video to the yuv420p format
20347
20348                   format=pix_fmts=yuv420p
20349
20350           Convert the input video to any of the formats in the list
20351
20352                   format=pix_fmts=yuv420p|yuv444p|yuv410p
20353
20354   fps
20355       Convert the video to specified constant frame rate by duplicating or
20356       dropping frames as necessary.
20357
20358       It accepts the following parameters:
20359
20360       fps The desired output frame rate. It accepts expressions containing
20361           the following constants:
20362
20363           source_fps
20364               The input's frame rate
20365
20366           ntsc
20367               NTSC frame rate of "30000/1001"
20368
20369           pal PAL frame rate of 25.0
20370
20371           film
20372               Film frame rate of 24.0
20373
20374           ntsc_film
20375               NTSC-film frame rate of "24000/1001"
20376
20377           The default is 25.
20378
20379       start_time
20380           Assume the first PTS should be the given value, in seconds. This
20381           allows for padding/trimming at the start of stream. By default, no
20382           assumption is made about the first frame's expected PTS, so no
20383           padding or trimming is done.  For example, this could be set to 0
20384           to pad the beginning with duplicates of the first frame if a video
20385           stream starts after the audio stream or to trim any frames with a
20386           negative PTS.
20387
20388       round
20389           Timestamp (PTS) rounding method.
20390
20391           Possible values are:
20392
20393           zero
20394               round towards 0
20395
20396           inf round away from 0
20397
20398           down
20399               round towards -infinity
20400
20401           up  round towards +infinity
20402
20403           near
20404               round to nearest
20405
20406           The default is "near".
20407
20408       eof_action
20409           Action performed when reading the last frame.
20410
20411           Possible values are:
20412
20413           round
20414               Use same timestamp rounding method as used for other frames.
20415
20416           pass
20417               Pass through last frame if input duration has not been reached
20418               yet.
20419
20420           The default is "round".
20421
20422       Alternatively, the options can be specified as a flat string:
20423       fps[:start_time[:round]].
20424
20425       See also the setpts filter.
20426
20427       Examples
20428
20429       •   A typical usage in order to set the fps to 25:
20430
20431                   fps=fps=25
20432
20433       •   Sets the fps to 24, using abbreviation and rounding method to round
20434           to nearest:
20435
20436                   fps=fps=film:round=near
20437
20438   framepack
20439       Pack two different video streams into a stereoscopic video, setting
20440       proper metadata on supported codecs. The two views should have the same
20441       size and framerate and processing will stop when the shorter video
20442       ends. Please note that you may conveniently adjust view properties with
20443       the scale and fps filters.
20444
20445       It accepts the following parameters:
20446
20447       format
20448           The desired packing format. Supported values are:
20449
20450           sbs The views are next to each other (default).
20451
20452           tab The views are on top of each other.
20453
20454           lines
20455               The views are packed by line.
20456
20457           columns
20458               The views are packed by column.
20459
20460           frameseq
20461               The views are temporally interleaved.
20462
20463       Some examples:
20464
20465               # Convert left and right views into a frame-sequential video
20466               ffmpeg -i LEFT -i RIGHT -filter_complex framepack=frameseq OUTPUT
20467
20468               # Convert views into a side-by-side video with the same output resolution as the input
20469               ffmpeg -i LEFT -i RIGHT -filter_complex [0:v]scale=w=iw/2[left],[1:v]scale=w=iw/2[right],[left][right]framepack=sbs OUTPUT
20470
20471   framerate
20472       Change the frame rate by interpolating new video output frames from the
20473       source frames.
20474
20475       This filter is not designed to function correctly with interlaced
20476       media. If you wish to change the frame rate of interlaced media then
20477       you are required to deinterlace before this filter and re-interlace
20478       after this filter.
20479
20480       A description of the accepted options follows.
20481
20482       fps Specify the output frames per second. This option can also be
20483           specified as a value alone. The default is 50.
20484
20485       interp_start
20486           Specify the start of a range where the output frame will be created
20487           as a linear interpolation of two frames. The range is [0-255], the
20488           default is 15.
20489
20490       interp_end
20491           Specify the end of a range where the output frame will be created
20492           as a linear interpolation of two frames. The range is [0-255], the
20493           default is 240.
20494
20495       scene
20496           Specify the level at which a scene change is detected as a value
20497           between 0 and 100 to indicate a new scene; a low value reflects a
20498           low probability for the current frame to introduce a new scene,
20499           while a higher value means the current frame is more likely to be
20500           one.  The default is 8.2.
20501
20502       flags
20503           Specify flags influencing the filter process.
20504
20505           Available value for flags is:
20506
20507           scene_change_detect, scd
20508               Enable scene change detection using the value of the option
20509               scene.  This flag is enabled by default.
20510
20511   framestep
20512       Select one frame every N-th frame.
20513
20514       This filter accepts the following option:
20515
20516       step
20517           Select frame after every "step" frames.  Allowed values are
20518           positive integers higher than 0. Default value is 1.
20519
20520   freezedetect
20521       Detect frozen video.
20522
20523       This filter logs a message and sets frame metadata when it detects that
20524       the input video has no significant change in content during a specified
20525       duration.  Video freeze detection calculates the mean average absolute
20526       difference of all the components of video frames and compares it to a
20527       noise floor.
20528
20529       The printed times and duration are expressed in seconds. The
20530       "lavfi.freezedetect.freeze_start" metadata key is set on the first
20531       frame whose timestamp equals or exceeds the detection duration and it
20532       contains the timestamp of the first frame of the freeze. The
20533       "lavfi.freezedetect.freeze_duration" and
20534       "lavfi.freezedetect.freeze_end" metadata keys are set on the first
20535       frame after the freeze.
20536
20537       The filter accepts the following options:
20538
20539       noise, n
20540           Set noise tolerance. Can be specified in dB (in case "dB" is
20541           appended to the specified value) or as a difference ratio between 0
20542           and 1. Default is -60dB, or 0.001.
20543
20544       duration, d
20545           Set freeze duration until notification (default is 2 seconds).
20546
20547   freezeframes
20548       Freeze video frames.
20549
20550       This filter freezes video frames using frame from 2nd input.
20551
20552       The filter accepts the following options:
20553
20554       first
20555           Set number of first frame from which to start freeze.
20556
20557       last
20558           Set number of last frame from which to end freeze.
20559
20560       replace
20561           Set number of frame from 2nd input which will be used instead of
20562           replaced frames.
20563
20564   frei0r
20565       Apply a frei0r effect to the input video.
20566
20567       To enable the compilation of this filter, you need to install the
20568       frei0r header and configure FFmpeg with "--enable-frei0r".
20569
20570       It accepts the following parameters:
20571
20572       filter_name
20573           The name of the frei0r effect to load. If the environment variable
20574           FREI0R_PATH is defined, the frei0r effect is searched for in each
20575           of the directories specified by the colon-separated list in
20576           FREI0R_PATH.  Otherwise, the standard frei0r paths are searched, in
20577           this order: HOME/.frei0r-1/lib/, /usr/local/lib/frei0r-1/,
20578           /usr/lib/frei0r-1/.
20579
20580       filter_params
20581           A '|'-separated list of parameters to pass to the frei0r effect.
20582
20583       A frei0r effect parameter can be a boolean (its value is either "y" or
20584       "n"), a double, a color (specified as R/G/B, where R, G, and B are
20585       floating point numbers between 0.0 and 1.0, inclusive) or a color
20586       description as specified in the "Color" section in the ffmpeg-utils
20587       manual, a position (specified as X/Y, where X and Y are floating point
20588       numbers) and/or a string.
20589
20590       The number and types of parameters depend on the loaded effect. If an
20591       effect parameter is not specified, the default value is set.
20592
20593       Examples
20594
20595       •   Apply the distort0r effect, setting the first two double
20596           parameters:
20597
20598                   frei0r=filter_name=distort0r:filter_params=0.5|0.01
20599
20600       •   Apply the colordistance effect, taking a color as the first
20601           parameter:
20602
20603                   frei0r=colordistance:0.2/0.3/0.4
20604                   frei0r=colordistance:violet
20605                   frei0r=colordistance:0x112233
20606
20607       •   Apply the perspective effect, specifying the top left and top right
20608           image positions:
20609
20610                   frei0r=perspective:0.2/0.2|0.8/0.2
20611
20612       For more information, see <http://frei0r.dyne.org>
20613
20614       Commands
20615
20616       This filter supports the filter_params option as commands.
20617
20618   fspp
20619       Apply fast and simple postprocessing. It is a faster version of spp.
20620
20621       It splits (I)DCT into horizontal/vertical passes. Unlike the simple
20622       post- processing filter, one of them is performed once per block, not
20623       per pixel.  This allows for much higher speed.
20624
20625       The filter accepts the following options:
20626
20627       quality
20628           Set quality. This option defines the number of levels for
20629           averaging. It accepts an integer in the range 4-5. Default value is
20630           4.
20631
20632       qp  Force a constant quantization parameter. It accepts an integer in
20633           range 0-63.  If not set, the filter will use the QP from the video
20634           stream (if available).
20635
20636       strength
20637           Set filter strength. It accepts an integer in range -15 to 32.
20638           Lower values mean more details but also more artifacts, while
20639           higher values make the image smoother but also blurrier. Default
20640           value is 0 X PSNR optimal.
20641
20642       use_bframe_qp
20643           Enable the use of the QP from the B-Frames if set to 1. Using this
20644           option may cause flicker since the B-Frames have often larger QP.
20645           Default is 0 (not enabled).
20646
20647   gblur
20648       Apply Gaussian blur filter.
20649
20650       The filter accepts the following options:
20651
20652       sigma
20653           Set horizontal sigma, standard deviation of Gaussian blur. Default
20654           is 0.5.
20655
20656       steps
20657           Set number of steps for Gaussian approximation. Default is 1.
20658
20659       planes
20660           Set which planes to filter. By default all planes are filtered.
20661
20662       sigmaV
20663           Set vertical sigma, if negative it will be same as "sigma".
20664           Default is "-1".
20665
20666       Commands
20667
20668       This filter supports same commands as options.  The command accepts the
20669       same syntax of the corresponding option.
20670
20671       If the specified expression is not valid, it is kept at its current
20672       value.
20673
20674   geq
20675       Apply generic equation to each pixel.
20676
20677       The filter accepts the following options:
20678
20679       lum_expr, lum
20680           Set the luminance expression.
20681
20682       cb_expr, cb
20683           Set the chrominance blue expression.
20684
20685       cr_expr, cr
20686           Set the chrominance red expression.
20687
20688       alpha_expr, a
20689           Set the alpha expression.
20690
20691       red_expr, r
20692           Set the red expression.
20693
20694       green_expr, g
20695           Set the green expression.
20696
20697       blue_expr, b
20698           Set the blue expression.
20699
20700       The colorspace is selected according to the specified options. If one
20701       of the lum_expr, cb_expr, or cr_expr options is specified, the filter
20702       will automatically select a YCbCr colorspace. If one of the red_expr,
20703       green_expr, or blue_expr options is specified, it will select an RGB
20704       colorspace.
20705
20706       If one of the chrominance expression is not defined, it falls back on
20707       the other one. If no alpha expression is specified it will evaluate to
20708       opaque value.  If none of chrominance expressions are specified, they
20709       will evaluate to the luminance expression.
20710
20711       The expressions can use the following variables and functions:
20712
20713       N   The sequential number of the filtered frame, starting from 0.
20714
20715       X
20716       Y   The coordinates of the current sample.
20717
20718       W
20719       H   The width and height of the image.
20720
20721       SW
20722       SH  Width and height scale depending on the currently filtered plane.
20723           It is the ratio between the corresponding luma plane number of
20724           pixels and the current plane ones. E.g. for YUV4:2:0 the values are
20725           "1,1" for the luma plane, and "0.5,0.5" for chroma planes.
20726
20727       T   Time of the current frame, expressed in seconds.
20728
20729       p(x, y)
20730           Return the value of the pixel at location (x,y) of the current
20731           plane.
20732
20733       lum(x, y)
20734           Return the value of the pixel at location (x,y) of the luminance
20735           plane.
20736
20737       cb(x, y)
20738           Return the value of the pixel at location (x,y) of the blue-
20739           difference chroma plane. Return 0 if there is no such plane.
20740
20741       cr(x, y)
20742           Return the value of the pixel at location (x,y) of the red-
20743           difference chroma plane. Return 0 if there is no such plane.
20744
20745       r(x, y)
20746       g(x, y)
20747       b(x, y)
20748           Return the value of the pixel at location (x,y) of the
20749           red/green/blue component. Return 0 if there is no such component.
20750
20751       alpha(x, y)
20752           Return the value of the pixel at location (x,y) of the alpha plane.
20753           Return 0 if there is no such plane.
20754
20755       psum(x,y), lumsum(x, y), cbsum(x,y), crsum(x,y), rsum(x,y), gsum(x,y),
20756       bsum(x,y), alphasum(x,y)
20757           Sum of sample values in the rectangle from (0,0) to (x,y), this
20758           allows obtaining sums of samples within a rectangle. See the
20759           functions without the sum postfix.
20760
20761       interpolation
20762           Set one of interpolation methods:
20763
20764           nearest, n
20765           bilinear, b
20766
20767           Default is bilinear.
20768
20769       For functions, if x and y are outside the area, the value will be
20770       automatically clipped to the closer edge.
20771
20772       Please note that this filter can use multiple threads in which case
20773       each slice will have its own expression state. If you want to use only
20774       a single expression state because your expressions depend on previous
20775       state then you should limit the number of filter threads to 1.
20776
20777       Examples
20778
20779       •   Flip the image horizontally:
20780
20781                   geq=p(W-X\,Y)
20782
20783       •   Generate a bidimensional sine wave, with angle "PI/3" and a
20784           wavelength of 100 pixels:
20785
20786                   geq=128 + 100*sin(2*(PI/100)*(cos(PI/3)*(X-50*T) + sin(PI/3)*Y)):128:128
20787
20788       •   Generate a fancy enigmatic moving light:
20789
20790                   nullsrc=s=256x256,geq=random(1)/hypot(X-cos(N*0.07)*W/2-W/2\,Y-sin(N*0.09)*H/2-H/2)^2*1000000*sin(N*0.02):128:128
20791
20792       •   Generate a quick emboss effect:
20793
20794                   format=gray,geq=lum_expr='(p(X,Y)+(256-p(X-4,Y-4)))/2'
20795
20796       •   Modify RGB components depending on pixel position:
20797
20798                   geq=r='X/W*r(X,Y)':g='(1-X/W)*g(X,Y)':b='(H-Y)/H*b(X,Y)'
20799
20800       •   Create a radial gradient that is the same size as the input (also
20801           see the vignette filter):
20802
20803                   geq=lum=255*gauss((X/W-0.5)*3)*gauss((Y/H-0.5)*3)/gauss(0)/gauss(0),format=gray
20804
20805   gradfun
20806       Fix the banding artifacts that are sometimes introduced into nearly
20807       flat regions by truncation to 8-bit color depth.  Interpolate the
20808       gradients that should go where the bands are, and dither them.
20809
20810       It is designed for playback only.  Do not use it prior to lossy
20811       compression, because compression tends to lose the dither and bring
20812       back the bands.
20813
20814       It accepts the following parameters:
20815
20816       strength
20817           The maximum amount by which the filter will change any one pixel.
20818           This is also the threshold for detecting nearly flat regions.
20819           Acceptable values range from .51 to 64; the default value is 1.2.
20820           Out-of-range values will be clipped to the valid range.
20821
20822       radius
20823           The neighborhood to fit the gradient to. A larger radius makes for
20824           smoother gradients, but also prevents the filter from modifying the
20825           pixels near detailed regions. Acceptable values are 8-32; the
20826           default value is 16. Out-of-range values will be clipped to the
20827           valid range.
20828
20829       Alternatively, the options can be specified as a flat string:
20830       strength[:radius]
20831
20832       Examples
20833
20834       •   Apply the filter with a 3.5 strength and radius of 8:
20835
20836                   gradfun=3.5:8
20837
20838       •   Specify radius, omitting the strength (which will fall-back to the
20839           default value):
20840
20841                   gradfun=radius=8
20842
20843   graphmonitor
20844       Show various filtergraph stats.
20845
20846       With this filter one can debug complete filtergraph.  Especially issues
20847       with links filling with queued frames.
20848
20849       The filter accepts the following options:
20850
20851       size, s
20852           Set video output size. Default is hd720.
20853
20854       opacity, o
20855           Set video opacity. Default is 0.9. Allowed range is from 0 to 1.
20856
20857       mode, m
20858           Set output mode, can be fulll or compact.  In compact mode only
20859           filters with some queued frames have displayed stats.
20860
20861       flags, f
20862           Set flags which enable which stats are shown in video.
20863
20864           Available values for flags are:
20865
20866           queue
20867               Display number of queued frames in each link.
20868
20869           frame_count_in
20870               Display number of frames taken from filter.
20871
20872           frame_count_out
20873               Display number of frames given out from filter.
20874
20875           pts Display current filtered frame pts.
20876
20877           time
20878               Display current filtered frame time.
20879
20880           timebase
20881               Display time base for filter link.
20882
20883           format
20884               Display used format for filter link.
20885
20886           size
20887               Display video size or number of audio channels in case of audio
20888               used by filter link.
20889
20890           rate
20891               Display video frame rate or sample rate in case of audio used
20892               by filter link.
20893
20894           eof Display link output status.
20895
20896           sample_count_in
20897               Display number of samples taken from filter.
20898
20899           sample_count_out
20900               Display number of samples given out from filter.
20901
20902       rate, r
20903           Set upper limit for video rate of output stream, Default value is
20904           25.  This guarantee that output video frame rate will not be higher
20905           than this value.
20906
20907   grayworld
20908       A color constancy filter that applies color correction based on the
20909       grayworld assumption
20910
20911       See:
20912       <https://www.researchgate.net/publication/275213614_A_New_Color_Correction_Method_for_Underwater_Imaging>
20913
20914       The algorithm  uses linear light, so input data should be linearized
20915       beforehand (and possibly correctly tagged).
20916
20917               ffmpeg -i INPUT -vf zscale=transfer=linear,grayworld,zscale=transfer=bt709,format=yuv420p OUTPUT
20918
20919   greyedge
20920       A color constancy variation filter which estimates scene illumination
20921       via grey edge algorithm and corrects the scene colors accordingly.
20922
20923       See: <https://staff.science.uva.nl/th.gevers/pub/GeversTIP07.pdf>
20924
20925       The filter accepts the following options:
20926
20927       difford
20928           The order of differentiation to be applied on the scene. Must be
20929           chosen in the range [0,2] and default value is 1.
20930
20931       minknorm
20932           The Minkowski parameter to be used for calculating the Minkowski
20933           distance. Must be chosen in the range [0,20] and default value is
20934           1. Set to 0 for getting max value instead of calculating Minkowski
20935           distance.
20936
20937       sigma
20938           The standard deviation of Gaussian blur to be applied on the scene.
20939           Must be chosen in the range [0,1024.0] and default value = 1.
20940           floor( sigma * break_off_sigma(3) ) can't be equal to 0 if difford
20941           is greater than 0.
20942
20943       Examples
20944
20945       •   Grey Edge:
20946
20947                   greyedge=difford=1:minknorm=5:sigma=2
20948
20949       •   Max Edge:
20950
20951                   greyedge=difford=1:minknorm=0:sigma=2
20952
20953   guided
20954       Apply guided filter for edge-preserving smoothing, dehazing and so on.
20955
20956       The filter accepts the following options:
20957
20958       radius
20959           Set the box radius in pixels.  Allowed range is 1 to 20. Default is
20960           3.
20961
20962       eps Set regularization parameter (with square).  Allowed range is 0 to
20963           1. Default is 0.01.
20964
20965       mode
20966           Set filter mode. Can be "basic" or "fast".  Default is "basic".
20967
20968       sub Set subsampling ratio for "fast" mode.  Range is 2 to 64. Default
20969           is 4.  No subsampling occurs in "basic" mode.
20970
20971       guidance
20972           Set guidance mode. Can be "off" or "on". Default is "off".  If
20973           "off", single input is required.  If "on", two inputs of the same
20974           resolution and pixel format are required.  The second input serves
20975           as the guidance.
20976
20977       planes
20978           Set planes to filter. Default is first only.
20979
20980       Commands
20981
20982       This filter supports the all above options as commands.
20983
20984       Examples
20985
20986       •   Edge-preserving smoothing with guided filter:
20987
20988                   ffmpeg -i in.png -vf guided out.png
20989
20990       •   Dehazing, structure-transferring filtering, detail enhancement with
20991           guided filter.  For the generation of guidance image, refer to
20992           paper "Guided Image Filtering".  See:
20993           <http://kaiminghe.com/publications/pami12guidedfilter.pdf>.
20994
20995                   ffmpeg -i in.png -i guidance.png -filter_complex guided=guidance=on out.png
20996
20997   haldclut
20998       Apply a Hald CLUT to a video stream.
20999
21000       First input is the video stream to process, and second one is the Hald
21001       CLUT.  The Hald CLUT input can be a simple picture or a complete video
21002       stream.
21003
21004       The filter accepts the following options:
21005
21006       shortest
21007           Force termination when the shortest input terminates. Default is 0.
21008
21009       repeatlast
21010           Continue applying the last CLUT after the end of the stream. A
21011           value of 0 disable the filter after the last frame of the CLUT is
21012           reached.  Default is 1.
21013
21014       "haldclut" also has the same interpolation options as lut3d (both
21015       filters share the same internals).
21016
21017       This filter also supports the framesync options.
21018
21019       More information about the Hald CLUT can be found on Eskil Steenberg's
21020       website (Hald CLUT author) at
21021       <http://www.quelsolaar.com/technology/clut.html>.
21022
21023       Commands
21024
21025       This filter supports the "interp" option as commands.
21026
21027       Workflow examples
21028
21029       Hald CLUT video stream
21030
21031       Generate an identity Hald CLUT stream altered with various effects:
21032
21033               ffmpeg -f lavfi -i B<haldclutsrc>=8 -vf "hue=H=2*PI*t:s=sin(2*PI*t)+1, curves=cross_process" -t 10 -c:v ffv1 clut.nut
21034
21035       Note: make sure you use a lossless codec.
21036
21037       Then use it with "haldclut" to apply it on some random stream:
21038
21039               ffmpeg -f lavfi -i mandelbrot -i clut.nut -filter_complex '[0][1] haldclut' -t 20 mandelclut.mkv
21040
21041       The Hald CLUT will be applied to the 10 first seconds (duration of
21042       clut.nut), then the latest picture of that CLUT stream will be applied
21043       to the remaining frames of the "mandelbrot" stream.
21044
21045       Hald CLUT with preview
21046
21047       A Hald CLUT is supposed to be a squared image of "Level*Level*Level" by
21048       "Level*Level*Level" pixels. For a given Hald CLUT, FFmpeg will select
21049       the biggest possible square starting at the top left of the picture.
21050       The remaining padding pixels (bottom or right) will be ignored. This
21051       area can be used to add a preview of the Hald CLUT.
21052
21053       Typically, the following generated Hald CLUT will be supported by the
21054       "haldclut" filter:
21055
21056               ffmpeg -f lavfi -i B<haldclutsrc>=8 -vf "
21057                  pad=iw+320 [padded_clut];
21058                  smptebars=s=320x256, split [a][b];
21059                  [padded_clut][a] overlay=W-320:h, curves=color_negative [main];
21060                  [main][b] overlay=W-320" -frames:v 1 clut.png
21061
21062       It contains the original and a preview of the effect of the CLUT: SMPTE
21063       color bars are displayed on the right-top, and below the same color
21064       bars processed by the color changes.
21065
21066       Then, the effect of this Hald CLUT can be visualized with:
21067
21068               ffplay input.mkv -vf "movie=clut.png, [in] haldclut"
21069
21070   hflip
21071       Flip the input video horizontally.
21072
21073       For example, to horizontally flip the input video with ffmpeg:
21074
21075               ffmpeg -i in.avi -vf "hflip" out.avi
21076
21077   histeq
21078       This filter applies a global color histogram equalization on a per-
21079       frame basis.
21080
21081       It can be used to correct video that has a compressed range of pixel
21082       intensities.  The filter redistributes the pixel intensities to
21083       equalize their distribution across the intensity range. It may be
21084       viewed as an "automatically adjusting contrast filter". This filter is
21085       useful only for correcting degraded or poorly captured source video.
21086
21087       The filter accepts the following options:
21088
21089       strength
21090           Determine the amount of equalization to be applied.  As the
21091           strength is reduced, the distribution of pixel intensities more-
21092           and-more approaches that of the input frame. The value must be a
21093           float number in the range [0,1] and defaults to 0.200.
21094
21095       intensity
21096           Set the maximum intensity that can generated and scale the output
21097           values appropriately.  The strength should be set as desired and
21098           then the intensity can be limited if needed to avoid washing-out.
21099           The value must be a float number in the range [0,1] and defaults to
21100           0.210.
21101
21102       antibanding
21103           Set the antibanding level. If enabled the filter will randomly vary
21104           the luminance of output pixels by a small amount to avoid banding
21105           of the histogram. Possible values are "none", "weak" or "strong".
21106           It defaults to "none".
21107
21108   histogram
21109       Compute and draw a color distribution histogram for the input video.
21110
21111       The computed histogram is a representation of the color component
21112       distribution in an image.
21113
21114       Standard histogram displays the color components distribution in an
21115       image.  Displays color graph for each color component. Shows
21116       distribution of the Y, U, V, A or R, G, B components, depending on
21117       input format, in the current frame. Below each graph a color component
21118       scale meter is shown.
21119
21120       The filter accepts the following options:
21121
21122       level_height
21123           Set height of level. Default value is 200.  Allowed range is [50,
21124           2048].
21125
21126       scale_height
21127           Set height of color scale. Default value is 12.  Allowed range is
21128           [0, 40].
21129
21130       display_mode
21131           Set display mode.  It accepts the following values:
21132
21133           stack
21134               Per color component graphs are placed below each other.
21135
21136           parade
21137               Per color component graphs are placed side by side.
21138
21139           overlay
21140               Presents information identical to that in the "parade", except
21141               that the graphs representing color components are superimposed
21142               directly over one another.
21143
21144           Default is "stack".
21145
21146       levels_mode
21147           Set mode. Can be either "linear", or "logarithmic".  Default is
21148           "linear".
21149
21150       components
21151           Set what color components to display.  Default is 7.
21152
21153       fgopacity
21154           Set foreground opacity. Default is 0.7.
21155
21156       bgopacity
21157           Set background opacity. Default is 0.5.
21158
21159       colors_mode
21160           Set colors mode.  It accepts the following values:
21161
21162           whiteonblack
21163           blackonwhite
21164           whiteongray
21165           blackongray
21166           coloronblack
21167           coloronwhite
21168           colorongray
21169           blackoncolor
21170           whiteoncolor
21171           grayoncolor
21172
21173           Default is "whiteonblack".
21174
21175       Examples
21176
21177       •   Calculate and draw histogram:
21178
21179                   ffplay -i input -vf histogram
21180
21181   hqdn3d
21182       This is a high precision/quality 3d denoise filter. It aims to reduce
21183       image noise, producing smooth images and making still images really
21184       still. It should enhance compressibility.
21185
21186       It accepts the following optional parameters:
21187
21188       luma_spatial
21189           A non-negative floating point number which specifies spatial luma
21190           strength.  It defaults to 4.0.
21191
21192       chroma_spatial
21193           A non-negative floating point number which specifies spatial chroma
21194           strength.  It defaults to 3.0*luma_spatial/4.0.
21195
21196       luma_tmp
21197           A floating point number which specifies luma temporal strength. It
21198           defaults to 6.0*luma_spatial/4.0.
21199
21200       chroma_tmp
21201           A floating point number which specifies chroma temporal strength.
21202           It defaults to luma_tmp*chroma_spatial/luma_spatial.
21203
21204       Commands
21205
21206       This filter supports same commands as options.  The command accepts the
21207       same syntax of the corresponding option.
21208
21209       If the specified expression is not valid, it is kept at its current
21210       value.
21211
21212   hwdownload
21213       Download hardware frames to system memory.
21214
21215       The input must be in hardware frames, and the output a non-hardware
21216       format.  Not all formats will be supported on the output - it may be
21217       necessary to insert an additional format filter immediately following
21218       in the graph to get the output in a supported format.
21219
21220   hwmap
21221       Map hardware frames to system memory or to another device.
21222
21223       This filter has several different modes of operation; which one is used
21224       depends on the input and output formats:
21225
21226       •   Hardware frame input, normal frame output
21227
21228           Map the input frames to system memory and pass them to the output.
21229           If the original hardware frame is later required (for example,
21230           after overlaying something else on part of it), the hwmap filter
21231           can be used again in the next mode to retrieve it.
21232
21233       •   Normal frame input, hardware frame output
21234
21235           If the input is actually a software-mapped hardware frame, then
21236           unmap it - that is, return the original hardware frame.
21237
21238           Otherwise, a device must be provided.  Create new hardware surfaces
21239           on that device for the output, then map them back to the software
21240           format at the input and give those frames to the preceding filter.
21241           This will then act like the hwupload filter, but may be able to
21242           avoid an additional copy when the input is already in a compatible
21243           format.
21244
21245       •   Hardware frame input and output
21246
21247           A device must be supplied for the output, either directly or with
21248           the derive_device option.  The input and output devices must be of
21249           different types and compatible - the exact meaning of this is
21250           system-dependent, but typically it means that they must refer to
21251           the same underlying hardware context (for example, refer to the
21252           same graphics card).
21253
21254           If the input frames were originally created on the output device,
21255           then unmap to retrieve the original frames.
21256
21257           Otherwise, map the frames to the output device - create new
21258           hardware frames on the output corresponding to the frames on the
21259           input.
21260
21261       The following additional parameters are accepted:
21262
21263       mode
21264           Set the frame mapping mode.  Some combination of:
21265
21266           read
21267               The mapped frame should be readable.
21268
21269           write
21270               The mapped frame should be writeable.
21271
21272           overwrite
21273               The mapping will always overwrite the entire frame.
21274
21275               This may improve performance in some cases, as the original
21276               contents of the frame need not be loaded.
21277
21278           direct
21279               The mapping must not involve any copying.
21280
21281               Indirect mappings to copies of frames are created in some cases
21282               where either direct mapping is not possible or it would have
21283               unexpected properties.  Setting this flag ensures that the
21284               mapping is direct and will fail if that is not possible.
21285
21286           Defaults to read+write if not specified.
21287
21288       derive_device type
21289           Rather than using the device supplied at initialisation, instead
21290           derive a new device of type type from the device the input frames
21291           exist on.
21292
21293       reverse
21294           In a hardware to hardware mapping, map in reverse - create frames
21295           in the sink and map them back to the source.  This may be necessary
21296           in some cases where a mapping in one direction is required but only
21297           the opposite direction is supported by the devices being used.
21298
21299           This option is dangerous - it may break the preceding filter in
21300           undefined ways if there are any additional constraints on that
21301           filter's output.  Do not use it without fully understanding the
21302           implications of its use.
21303
21304   hwupload
21305       Upload system memory frames to hardware surfaces.
21306
21307       The device to upload to must be supplied when the filter is
21308       initialised.  If using ffmpeg, select the appropriate device with the
21309       -filter_hw_device option or with the derive_device option.  The input
21310       and output devices must be of different types and compatible - the
21311       exact meaning of this is system-dependent, but typically it means that
21312       they must refer to the same underlying hardware context (for example,
21313       refer to the same graphics card).
21314
21315       The following additional parameters are accepted:
21316
21317       derive_device type
21318           Rather than using the device supplied at initialisation, instead
21319           derive a new device of type type from the device the input frames
21320           exist on.
21321
21322   hwupload_cuda
21323       Upload system memory frames to a CUDA device.
21324
21325       It accepts the following optional parameters:
21326
21327       device
21328           The number of the CUDA device to use
21329
21330   hqx
21331       Apply a high-quality magnification filter designed for pixel art. This
21332       filter was originally created by Maxim Stepin.
21333
21334       It accepts the following option:
21335
21336       n   Set the scaling dimension: 2 for "hq2x", 3 for "hq3x" and 4 for
21337           "hq4x".  Default is 3.
21338
21339   hstack
21340       Stack input videos horizontally.
21341
21342       All streams must be of same pixel format and of same height.
21343
21344       Note that this filter is faster than using overlay and pad filter to
21345       create same output.
21346
21347       The filter accepts the following option:
21348
21349       inputs
21350           Set number of input streams. Default is 2.
21351
21352       shortest
21353           If set to 1, force the output to terminate when the shortest input
21354           terminates. Default value is 0.
21355
21356   hsvhold
21357       Turns a certain HSV range into gray values.
21358
21359       This filter measures color difference between set HSV color in options
21360       and ones measured in video stream. Depending on options, output colors
21361       can be changed to be gray or not.
21362
21363       The filter accepts the following options:
21364
21365       hue Set the hue value which will be used in color difference
21366           calculation.  Allowed range is from -360 to 360. Default value is
21367           0.
21368
21369       sat Set the saturation value which will be used in color difference
21370           calculation.  Allowed range is from -1 to 1. Default value is 0.
21371
21372       val Set the value which will be used in color difference calculation.
21373           Allowed range is from -1 to 1. Default value is 0.
21374
21375       similarity
21376           Set similarity percentage with the key color.  Allowed range is
21377           from 0 to 1. Default value is 0.01.
21378
21379           0.00001 matches only the exact key color, while 1.0 matches
21380           everything.
21381
21382       blend
21383           Blend percentage.  Allowed range is from 0 to 1. Default value is
21384           0.
21385
21386           0.0 makes pixels either fully gray, or not gray at all.
21387
21388           Higher values result in more gray pixels, with a higher gray pixel
21389           the more similar the pixels color is to the key color.
21390
21391   hsvkey
21392       Turns a certain HSV range into transparency.
21393
21394       This filter measures color difference between set HSV color in options
21395       and ones measured in video stream. Depending on options, output colors
21396       can be changed to transparent by adding alpha channel.
21397
21398       The filter accepts the following options:
21399
21400       hue Set the hue value which will be used in color difference
21401           calculation.  Allowed range is from -360 to 360. Default value is
21402           0.
21403
21404       sat Set the saturation value which will be used in color difference
21405           calculation.  Allowed range is from -1 to 1. Default value is 0.
21406
21407       val Set the value which will be used in color difference calculation.
21408           Allowed range is from -1 to 1. Default value is 0.
21409
21410       similarity
21411           Set similarity percentage with the key color.  Allowed range is
21412           from 0 to 1. Default value is 0.01.
21413
21414           0.00001 matches only the exact key color, while 1.0 matches
21415           everything.
21416
21417       blend
21418           Blend percentage.  Allowed range is from 0 to 1. Default value is
21419           0.
21420
21421           0.0 makes pixels either fully transparent, or not transparent at
21422           all.
21423
21424           Higher values result in semi-transparent pixels, with a higher
21425           transparency the more similar the pixels color is to the key color.
21426
21427   hue
21428       Modify the hue and/or the saturation of the input.
21429
21430       It accepts the following parameters:
21431
21432       h   Specify the hue angle as a number of degrees. It accepts an
21433           expression, and defaults to "0".
21434
21435       s   Specify the saturation in the [-10,10] range. It accepts an
21436           expression and defaults to "1".
21437
21438       H   Specify the hue angle as a number of radians. It accepts an
21439           expression, and defaults to "0".
21440
21441       b   Specify the brightness in the [-10,10] range. It accepts an
21442           expression and defaults to "0".
21443
21444       h and H are mutually exclusive, and can't be specified at the same
21445       time.
21446
21447       The b, h, H and s option values are expressions containing the
21448       following constants:
21449
21450       n   frame count of the input frame starting from 0
21451
21452       pts presentation timestamp of the input frame expressed in time base
21453           units
21454
21455       r   frame rate of the input video, NAN if the input frame rate is
21456           unknown
21457
21458       t   timestamp expressed in seconds, NAN if the input timestamp is
21459           unknown
21460
21461       tb  time base of the input video
21462
21463       Examples
21464
21465       •   Set the hue to 90 degrees and the saturation to 1.0:
21466
21467                   hue=h=90:s=1
21468
21469       •   Same command but expressing the hue in radians:
21470
21471                   hue=H=PI/2:s=1
21472
21473       •   Rotate hue and make the saturation swing between 0 and 2 over a
21474           period of 1 second:
21475
21476                   hue="H=2*PI*t: s=sin(2*PI*t)+1"
21477
21478       •   Apply a 3 seconds saturation fade-in effect starting at 0:
21479
21480                   hue="s=min(t/3\,1)"
21481
21482           The general fade-in expression can be written as:
21483
21484                   hue="s=min(0\, max((t-START)/DURATION\, 1))"
21485
21486       •   Apply a 3 seconds saturation fade-out effect starting at 5 seconds:
21487
21488                   hue="s=max(0\, min(1\, (8-t)/3))"
21489
21490           The general fade-out expression can be written as:
21491
21492                   hue="s=max(0\, min(1\, (START+DURATION-t)/DURATION))"
21493
21494       Commands
21495
21496       This filter supports the following commands:
21497
21498       b
21499       s
21500       h
21501       H   Modify the hue and/or the saturation and/or brightness of the input
21502           video.  The command accepts the same syntax of the corresponding
21503           option.
21504
21505           If the specified expression is not valid, it is kept at its current
21506           value.
21507
21508   huesaturation
21509       Apply hue-saturation-intensity adjustments to input video stream.
21510
21511       This filter operates in RGB colorspace.
21512
21513       This filter accepts the following options:
21514
21515       hue Set the hue shift in degrees to apply. Default is 0.  Allowed range
21516           is from -180 to 180.
21517
21518       saturation
21519           Set the saturation shift. Default is 0.  Allowed range is from -1
21520           to 1.
21521
21522       intensity
21523           Set the intensity shift. Default is 0.  Allowed range is from -1 to
21524           1.
21525
21526       colors
21527           Set which primary and complementary colors are going to be
21528           adjusted.  This options is set by providing one or multiple values.
21529           This can select multiple colors at once. By default all colors are
21530           selected.
21531
21532           r   Adjust reds.
21533
21534           y   Adjust yellows.
21535
21536           g   Adjust greens.
21537
21538           c   Adjust cyans.
21539
21540           b   Adjust blues.
21541
21542           m   Adjust magentas.
21543
21544           a   Adjust all colors.
21545
21546       strength
21547           Set strength of filtering. Allowed range is from 0 to 100.  Default
21548           value is 1.
21549
21550       rw, gw, bw
21551           Set weight for each RGB component. Allowed range is from 0 to 1.
21552           By default is set to 0.333, 0.334, 0.333.  Those options are used
21553           in saturation and lightess processing.
21554
21555       lightness
21556           Set preserving lightness, by default is disabled.  Adjusting hues
21557           can change lightness from original RGB triplet, with this option
21558           enabled lightness is kept at same value.
21559
21560   hysteresis
21561       Grow first stream into second stream by connecting components.  This
21562       makes it possible to build more robust edge masks.
21563
21564       This filter accepts the following options:
21565
21566       planes
21567           Set which planes will be processed as bitmap, unprocessed planes
21568           will be copied from first stream.  By default value 0xf, all planes
21569           will be processed.
21570
21571       threshold
21572           Set threshold which is used in filtering. If pixel component value
21573           is higher than this value filter algorithm for connecting
21574           components is activated.  By default value is 0.
21575
21576       The "hysteresis" filter also supports the framesync options.
21577
21578   identity
21579       Obtain the identity score between two input videos.
21580
21581       This filter takes two input videos.
21582
21583       Both input videos must have the same resolution and pixel format for
21584       this filter to work correctly. Also it assumes that both inputs have
21585       the same number of frames, which are compared one by one.
21586
21587       The obtained per component, average, min and max identity score is
21588       printed through the logging system.
21589
21590       The filter stores the calculated identity scores of each frame in frame
21591       metadata.
21592
21593       In the below example the input file main.mpg being processed is
21594       compared with the reference file ref.mpg.
21595
21596               ffmpeg -i main.mpg -i ref.mpg -lavfi identity -f null -
21597
21598   idet
21599       Detect video interlacing type.
21600
21601       This filter tries to detect if the input frames are interlaced,
21602       progressive, top or bottom field first. It will also try to detect
21603       fields that are repeated between adjacent frames (a sign of telecine).
21604
21605       Single frame detection considers only immediately adjacent frames when
21606       classifying each frame.  Multiple frame detection incorporates the
21607       classification history of previous frames.
21608
21609       The filter will log these metadata values:
21610
21611       single.current_frame
21612           Detected type of current frame using single-frame detection. One
21613           of: ``tff'' (top field first), ``bff'' (bottom field first),
21614           ``progressive'', or ``undetermined''
21615
21616       single.tff
21617           Cumulative number of frames detected as top field first using
21618           single-frame detection.
21619
21620       multiple.tff
21621           Cumulative number of frames detected as top field first using
21622           multiple-frame detection.
21623
21624       single.bff
21625           Cumulative number of frames detected as bottom field first using
21626           single-frame detection.
21627
21628       multiple.current_frame
21629           Detected type of current frame using multiple-frame detection. One
21630           of: ``tff'' (top field first), ``bff'' (bottom field first),
21631           ``progressive'', or ``undetermined''
21632
21633       multiple.bff
21634           Cumulative number of frames detected as bottom field first using
21635           multiple-frame detection.
21636
21637       single.progressive
21638           Cumulative number of frames detected as progressive using single-
21639           frame detection.
21640
21641       multiple.progressive
21642           Cumulative number of frames detected as progressive using multiple-
21643           frame detection.
21644
21645       single.undetermined
21646           Cumulative number of frames that could not be classified using
21647           single-frame detection.
21648
21649       multiple.undetermined
21650           Cumulative number of frames that could not be classified using
21651           multiple-frame detection.
21652
21653       repeated.current_frame
21654           Which field in the current frame is repeated from the last. One of
21655           ``neither'', ``top'', or ``bottom''.
21656
21657       repeated.neither
21658           Cumulative number of frames with no repeated field.
21659
21660       repeated.top
21661           Cumulative number of frames with the top field repeated from the
21662           previous frame's top field.
21663
21664       repeated.bottom
21665           Cumulative number of frames with the bottom field repeated from the
21666           previous frame's bottom field.
21667
21668       The filter accepts the following options:
21669
21670       intl_thres
21671           Set interlacing threshold.
21672
21673       prog_thres
21674           Set progressive threshold.
21675
21676       rep_thres
21677           Threshold for repeated field detection.
21678
21679       half_life
21680           Number of frames after which a given frame's contribution to the
21681           statistics is halved (i.e., it contributes only 0.5 to its
21682           classification). The default of 0 means that all frames seen are
21683           given full weight of 1.0 forever.
21684
21685       analyze_interlaced_flag
21686           When this is not 0 then idet will use the specified number of
21687           frames to determine if the interlaced flag is accurate, it will not
21688           count undetermined frames.  If the flag is found to be accurate it
21689           will be used without any further computations, if it is found to be
21690           inaccurate it will be cleared without any further computations.
21691           This allows inserting the idet filter as a low computational method
21692           to clean up the interlaced flag
21693
21694   il
21695       Deinterleave or interleave fields.
21696
21697       This filter allows one to process interlaced images fields without
21698       deinterlacing them. Deinterleaving splits the input frame into 2 fields
21699       (so called half pictures). Odd lines are moved to the top half of the
21700       output image, even lines to the bottom half.  You can process (filter)
21701       them independently and then re-interleave them.
21702
21703       The filter accepts the following options:
21704
21705       luma_mode, l
21706       chroma_mode, c
21707       alpha_mode, a
21708           Available values for luma_mode, chroma_mode and alpha_mode are:
21709
21710           none
21711               Do nothing.
21712
21713           deinterleave, d
21714               Deinterleave fields, placing one above the other.
21715
21716           interleave, i
21717               Interleave fields. Reverse the effect of deinterleaving.
21718
21719           Default value is "none".
21720
21721       luma_swap, ls
21722       chroma_swap, cs
21723       alpha_swap, as
21724           Swap luma/chroma/alpha fields. Exchange even & odd lines. Default
21725           value is 0.
21726
21727       Commands
21728
21729       This filter supports the all above options as commands.
21730
21731   inflate
21732       Apply inflate effect to the video.
21733
21734       This filter replaces the pixel by the local(3x3) average by taking into
21735       account only values higher than the pixel.
21736
21737       It accepts the following options:
21738
21739       threshold0
21740       threshold1
21741       threshold2
21742       threshold3
21743           Limit the maximum change for each plane, default is 65535.  If 0,
21744           plane will remain unchanged.
21745
21746       Commands
21747
21748       This filter supports the all above options as commands.
21749
21750   interlace
21751       Simple interlacing filter from progressive contents. This interleaves
21752       upper (or lower) lines from odd frames with lower (or upper) lines from
21753       even frames, halving the frame rate and preserving image height.
21754
21755                  Original        Original             New Frame
21756                  Frame 'j'      Frame 'j+1'             (tff)
21757                 ==========      ===========       ==================
21758                   Line 0  -------------------->    Frame 'j' Line 0
21759                   Line 1          Line 1  ---->   Frame 'j+1' Line 1
21760                   Line 2 --------------------->    Frame 'j' Line 2
21761                   Line 3          Line 3  ---->   Frame 'j+1' Line 3
21762                    ...             ...                   ...
21763               New Frame + 1 will be generated by Frame 'j+2' and Frame 'j+3' and so on
21764
21765       It accepts the following optional parameters:
21766
21767       scan
21768           This determines whether the interlaced frame is taken from the even
21769           (tff - default) or odd (bff) lines of the progressive frame.
21770
21771       lowpass
21772           Vertical lowpass filter to avoid twitter interlacing and reduce
21773           moire patterns.
21774
21775           0, off
21776               Disable vertical lowpass filter
21777
21778           1, linear
21779               Enable linear filter (default)
21780
21781           2, complex
21782               Enable complex filter. This will slightly less reduce twitter
21783               and moire but better retain detail and subjective sharpness
21784               impression.
21785
21786   kerndeint
21787       Deinterlace input video by applying Donald Graft's adaptive kernel
21788       deinterling. Work on interlaced parts of a video to produce progressive
21789       frames.
21790
21791       The description of the accepted parameters follows.
21792
21793       thresh
21794           Set the threshold which affects the filter's tolerance when
21795           determining if a pixel line must be processed. It must be an
21796           integer in the range [0,255] and defaults to 10. A value of 0 will
21797           result in applying the process on every pixels.
21798
21799       map Paint pixels exceeding the threshold value to white if set to 1.
21800           Default is 0.
21801
21802       order
21803           Set the fields order. Swap fields if set to 1, leave fields alone
21804           if 0. Default is 0.
21805
21806       sharp
21807           Enable additional sharpening if set to 1. Default is 0.
21808
21809       twoway
21810           Enable twoway sharpening if set to 1. Default is 0.
21811
21812       Examples
21813
21814       •   Apply default values:
21815
21816                   kerndeint=thresh=10:map=0:order=0:sharp=0:twoway=0
21817
21818       •   Enable additional sharpening:
21819
21820                   kerndeint=sharp=1
21821
21822       •   Paint processed pixels in white:
21823
21824                   kerndeint=map=1
21825
21826   kirsch
21827       Apply kirsch operator to input video stream.
21828
21829       The filter accepts the following option:
21830
21831       planes
21832           Set which planes will be processed, unprocessed planes will be
21833           copied.  By default value 0xf, all planes will be processed.
21834
21835       scale
21836           Set value which will be multiplied with filtered result.
21837
21838       delta
21839           Set value which will be added to filtered result.
21840
21841       Commands
21842
21843       This filter supports the all above options as commands.
21844
21845   lagfun
21846       Slowly update darker pixels.
21847
21848       This filter makes short flashes of light appear longer.  This filter
21849       accepts the following options:
21850
21851       decay
21852           Set factor for decaying. Default is .95. Allowed range is from 0 to
21853           1.
21854
21855       planes
21856           Set which planes to filter. Default is all. Allowed range is from 0
21857           to 15.
21858
21859       Commands
21860
21861       This filter supports the all above options as commands.
21862
21863   lenscorrection
21864       Correct radial lens distortion
21865
21866       This filter can be used to correct for radial distortion as can result
21867       from the use of wide angle lenses, and thereby re-rectify the image. To
21868       find the right parameters one can use tools available for example as
21869       part of opencv or simply trial-and-error.  To use opencv use the
21870       calibration sample (under samples/cpp) from the opencv sources and
21871       extract the k1 and k2 coefficients from the resulting matrix.
21872
21873       Note that effectively the same filter is available in the open-source
21874       tools Krita and Digikam from the KDE project.
21875
21876       In contrast to the vignette filter, which can also be used to
21877       compensate lens errors, this filter corrects the distortion of the
21878       image, whereas vignette corrects the brightness distribution, so you
21879       may want to use both filters together in certain cases, though you will
21880       have to take care of ordering, i.e. whether vignetting should be
21881       applied before or after lens correction.
21882
21883       Options
21884
21885       The filter accepts the following options:
21886
21887       cx  Relative x-coordinate of the focal point of the image, and thereby
21888           the center of the distortion. This value has a range [0,1] and is
21889           expressed as fractions of the image width. Default is 0.5.
21890
21891       cy  Relative y-coordinate of the focal point of the image, and thereby
21892           the center of the distortion. This value has a range [0,1] and is
21893           expressed as fractions of the image height. Default is 0.5.
21894
21895       k1  Coefficient of the quadratic correction term. This value has a
21896           range [-1,1]. 0 means no correction. Default is 0.
21897
21898       k2  Coefficient of the double quadratic correction term. This value has
21899           a range [-1,1].  0 means no correction. Default is 0.
21900
21901       i   Set interpolation type. Can be "nearest" or "bilinear".  Default is
21902           "nearest".
21903
21904       fc  Specify the color of the unmapped pixels. For the syntax of this
21905           option, check the "Color" section in the ffmpeg-utils manual.
21906           Default color is "black@0".
21907
21908       The formula that generates the correction is:
21909
21910       r_src = r_tgt * (1 + k1 * (r_tgt / r_0)^2 + k2 * (r_tgt / r_0)^4)
21911
21912       where r_0 is halve of the image diagonal and r_src and r_tgt are the
21913       distances from the focal point in the source and target images,
21914       respectively.
21915
21916       Commands
21917
21918       This filter supports the all above options as commands.
21919
21920   lensfun
21921       Apply lens correction via the lensfun library
21922       (<http://lensfun.sourceforge.net/>).
21923
21924       The "lensfun" filter requires the camera make, camera model, and lens
21925       model to apply the lens correction. The filter will load the lensfun
21926       database and query it to find the corresponding camera and lens entries
21927       in the database. As long as these entries can be found with the given
21928       options, the filter can perform corrections on frames. Note that
21929       incomplete strings will result in the filter choosing the best match
21930       with the given options, and the filter will output the chosen camera
21931       and lens models (logged with level "info"). You must provide the make,
21932       camera model, and lens model as they are required.
21933
21934       The filter accepts the following options:
21935
21936       make
21937           The make of the camera (for example, "Canon"). This option is
21938           required.
21939
21940       model
21941           The model of the camera (for example, "Canon EOS 100D"). This
21942           option is required.
21943
21944       lens_model
21945           The model of the lens (for example, "Canon EF-S 18-55mm f/3.5-5.6
21946           IS STM"). This option is required.
21947
21948       mode
21949           The type of correction to apply. The following values are valid
21950           options:
21951
21952           vignetting
21953               Enables fixing lens vignetting.
21954
21955           geometry
21956               Enables fixing lens geometry. This is the default.
21957
21958           subpixel
21959               Enables fixing chromatic aberrations.
21960
21961           vig_geo
21962               Enables fixing lens vignetting and lens geometry.
21963
21964           vig_subpixel
21965               Enables fixing lens vignetting and chromatic aberrations.
21966
21967           distortion
21968               Enables fixing both lens geometry and chromatic aberrations.
21969
21970           all Enables all possible corrections.
21971
21972       focal_length
21973           The focal length of the image/video (zoom; expected constant for
21974           video). For example, a 18--55mm lens has focal length range of
21975           [18--55], so a value in that range should be chosen when using that
21976           lens. Default 18.
21977
21978       aperture
21979           The aperture of the image/video (expected constant for video). Note
21980           that aperture is only used for vignetting correction. Default 3.5.
21981
21982       focus_distance
21983           The focus distance of the image/video (expected constant for
21984           video). Note that focus distance is only used for vignetting and
21985           only slightly affects the vignetting correction process. If
21986           unknown, leave it at the default value (which is 1000).
21987
21988       scale
21989           The scale factor which is applied after transformation. After
21990           correction the video is no longer necessarily rectangular. This
21991           parameter controls how much of the resulting image is visible. The
21992           value 0 means that a value will be chosen automatically such that
21993           there is little or no unmapped area in the output image. 1.0 means
21994           that no additional scaling is done. Lower values may result in more
21995           of the corrected image being visible, while higher values may avoid
21996           unmapped areas in the output.
21997
21998       target_geometry
21999           The target geometry of the output image/video. The following values
22000           are valid options:
22001
22002           rectilinear (default)
22003           fisheye
22004           panoramic
22005           equirectangular
22006           fisheye_orthographic
22007           fisheye_stereographic
22008           fisheye_equisolid
22009           fisheye_thoby
22010       reverse
22011           Apply the reverse of image correction (instead of correcting
22012           distortion, apply it).
22013
22014       interpolation
22015           The type of interpolation used when correcting distortion. The
22016           following values are valid options:
22017
22018           nearest
22019           linear (default)
22020           lanczos
22021
22022       Examples
22023
22024       •   Apply lens correction with make "Canon", camera model "Canon EOS
22025           100D", and lens model "Canon EF-S 18-55mm f/3.5-5.6 IS STM" with
22026           focal length of "18" and aperture of "8.0".
22027
22028                   ffmpeg -i input.mov -vf lensfun=make=Canon:model="Canon EOS 100D":lens_model="Canon EF-S 18-55mm f/3.5-5.6 IS STM":focal_length=18:aperture=8 -c:v h264 -b:v 8000k output.mov
22029
22030       •   Apply the same as before, but only for the first 5 seconds of
22031           video.
22032
22033                   ffmpeg -i input.mov -vf lensfun=make=Canon:model="Canon EOS 100D":lens_model="Canon EF-S 18-55mm f/3.5-5.6 IS STM":focal_length=18:aperture=8:enable='lte(t\,5)' -c:v h264 -b:v 8000k output.mov
22034
22035   libvmaf
22036       Obtain the VMAF (Video Multi-Method Assessment Fusion) score between
22037       two input videos.
22038
22039       The first input is the encoded video, and the second input is the
22040       reference video.
22041
22042       The obtained VMAF score is printed through the logging system.
22043
22044       It requires Netflix's vmaf library (libvmaf) as a pre-requisite.  After
22045       installing the library it can be enabled using: "./configure
22046       --enable-libvmaf".  If no model path is specified it uses the default
22047       model: "vmaf_v0.6.1.pkl".
22048
22049       The filter has following options:
22050
22051       model_path
22052           Set the model path which is to be used for SVM.  Default value:
22053           "/usr/local/share/model/vmaf_v0.6.1.pkl"
22054
22055       log_path
22056           Set the file path to be used to store logs.
22057
22058       log_fmt
22059           Set the format of the log file (csv, json or xml).
22060
22061       enable_transform
22062           This option can enable/disable the "score_transform" applied to the
22063           final predicted VMAF score, if you have specified score_transform
22064           option in the input parameter file passed to "run_vmaf_training.py"
22065           Default value: "false"
22066
22067       phone_model
22068           Invokes the phone model which will generate VMAF scores higher than
22069           in the regular model, which is more suitable for laptop, TV, etc.
22070           viewing conditions.  Default value: "false"
22071
22072       psnr
22073           Enables computing psnr along with vmaf.  Default value: "false"
22074
22075       ssim
22076           Enables computing ssim along with vmaf.  Default value: "false"
22077
22078       ms_ssim
22079           Enables computing ms_ssim along with vmaf.  Default value: "false"
22080
22081       pool
22082           Set the pool method to be used for computing vmaf.  Options are
22083           "min", "harmonic_mean" or "mean" (default).
22084
22085       n_threads
22086           Set number of threads to be used when computing vmaf.  Default
22087           value: 0, which makes use of all available logical processors.
22088
22089       n_subsample
22090           Set interval for frame subsampling used when computing vmaf.
22091           Default value: 1
22092
22093       enable_conf_interval
22094           Enables confidence interval.  Default value: "false"
22095
22096       This filter also supports the framesync options.
22097
22098       Examples
22099
22100       •   On the below examples the input file main.mpg being processed is
22101           compared with the reference file ref.mpg.
22102
22103                   ffmpeg -i main.mpg -i ref.mpg -lavfi libvmaf -f null -
22104
22105       •   Example with options:
22106
22107                   ffmpeg -i main.mpg -i ref.mpg -lavfi libvmaf="psnr=1:log_fmt=json" -f null -
22108
22109       •   Example with options and different containers:
22110
22111                   ffmpeg -i main.mpg -i ref.mkv -lavfi "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]libvmaf=psnr=1:log_fmt=json" -f null -
22112
22113   limitdiff
22114       Apply limited difference filter using second and optionally third video
22115       stream.
22116
22117       The filter accepts the following options:
22118
22119       threshold
22120           Set the threshold to use when allowing certain differences between
22121           video streams.  Any absolute difference value lower or exact than
22122           this threshold will pick pixel components from first video stream.
22123
22124       elasticity
22125           Set the elasticity of soft thresholding when processing video
22126           streams.  This value multiplied with first one sets second
22127           threshold.  Any absolute difference value greater or exact than
22128           second threshold will pick pixel components from second video
22129           stream. For values between those two threshold linear interpolation
22130           between first and second video stream will be used.
22131
22132       reference
22133           Enable the reference (third) video stream processing. By default is
22134           disabled.  If set, this video stream will be used for calculating
22135           absolute difference with first video stream.
22136
22137       planes
22138           Specify which planes will be processed. Defaults to all available.
22139
22140       Commands
22141
22142       This filter supports the all above options as commands except option
22143       reference.
22144
22145   limiter
22146       Limits the pixel components values to the specified range [min, max].
22147
22148       The filter accepts the following options:
22149
22150       min Lower bound. Defaults to the lowest allowed value for the input.
22151
22152       max Upper bound. Defaults to the highest allowed value for the input.
22153
22154       planes
22155           Specify which planes will be processed. Defaults to all available.
22156
22157       Commands
22158
22159       This filter supports the all above options as commands.
22160
22161   loop
22162       Loop video frames.
22163
22164       The filter accepts the following options:
22165
22166       loop
22167           Set the number of loops. Setting this value to -1 will result in
22168           infinite loops.  Default is 0.
22169
22170       size
22171           Set maximal size in number of frames. Default is 0.
22172
22173       start
22174           Set first frame of loop. Default is 0.
22175
22176       Examples
22177
22178       •   Loop single first frame infinitely:
22179
22180                   loop=loop=-1:size=1:start=0
22181
22182       •   Loop single first frame 10 times:
22183
22184                   loop=loop=10:size=1:start=0
22185
22186       •   Loop 10 first frames 5 times:
22187
22188                   loop=loop=5:size=10:start=0
22189
22190   lut1d
22191       Apply a 1D LUT to an input video.
22192
22193       The filter accepts the following options:
22194
22195       file
22196           Set the 1D LUT file name.
22197
22198           Currently supported formats:
22199
22200           cube
22201               Iridas
22202
22203           csp cineSpace
22204
22205       interp
22206           Select interpolation mode.
22207
22208           Available values are:
22209
22210           nearest
22211               Use values from the nearest defined point.
22212
22213           linear
22214               Interpolate values using the linear interpolation.
22215
22216           cosine
22217               Interpolate values using the cosine interpolation.
22218
22219           cubic
22220               Interpolate values using the cubic interpolation.
22221
22222           spline
22223               Interpolate values using the spline interpolation.
22224
22225       Commands
22226
22227       This filter supports the all above options as commands.
22228
22229   lut3d
22230       Apply a 3D LUT to an input video.
22231
22232       The filter accepts the following options:
22233
22234       file
22235           Set the 3D LUT file name.
22236
22237           Currently supported formats:
22238
22239           3dl AfterEffects
22240
22241           cube
22242               Iridas
22243
22244           dat DaVinci
22245
22246           m3d Pandora
22247
22248           csp cineSpace
22249
22250       interp
22251           Select interpolation mode.
22252
22253           Available values are:
22254
22255           nearest
22256               Use values from the nearest defined point.
22257
22258           trilinear
22259               Interpolate values using the 8 points defining a cube.
22260
22261           tetrahedral
22262               Interpolate values using a tetrahedron.
22263
22264           pyramid
22265               Interpolate values using a pyramid.
22266
22267           prism
22268               Interpolate values using a prism.
22269
22270       Commands
22271
22272       This filter supports the "interp" option as commands.
22273
22274   lumakey
22275       Turn certain luma values into transparency.
22276
22277       The filter accepts the following options:
22278
22279       threshold
22280           Set the luma which will be used as base for transparency.  Default
22281           value is 0.
22282
22283       tolerance
22284           Set the range of luma values to be keyed out.  Default value is
22285           0.01.
22286
22287       softness
22288           Set the range of softness. Default value is 0.  Use this to control
22289           gradual transition from zero to full transparency.
22290
22291       Commands
22292
22293       This filter supports same commands as options.  The command accepts the
22294       same syntax of the corresponding option.
22295
22296       If the specified expression is not valid, it is kept at its current
22297       value.
22298
22299   lut, lutrgb, lutyuv
22300       Compute a look-up table for binding each pixel component input value to
22301       an output value, and apply it to the input video.
22302
22303       lutyuv applies a lookup table to a YUV input video, lutrgb to an RGB
22304       input video.
22305
22306       These filters accept the following parameters:
22307
22308       c0  set first pixel component expression
22309
22310       c1  set second pixel component expression
22311
22312       c2  set third pixel component expression
22313
22314       c3  set fourth pixel component expression, corresponds to the alpha
22315           component
22316
22317       r   set red component expression
22318
22319       g   set green component expression
22320
22321       b   set blue component expression
22322
22323       a   alpha component expression
22324
22325       y   set Y/luminance component expression
22326
22327       u   set U/Cb component expression
22328
22329       v   set V/Cr component expression
22330
22331       Each of them specifies the expression to use for computing the lookup
22332       table for the corresponding pixel component values.
22333
22334       The exact component associated to each of the c* options depends on the
22335       format in input.
22336
22337       The lut filter requires either YUV or RGB pixel formats in input,
22338       lutrgb requires RGB pixel formats in input, and lutyuv requires YUV.
22339
22340       The expressions can contain the following constants and functions:
22341
22342       w
22343       h   The input width and height.
22344
22345       val The input value for the pixel component.
22346
22347       clipval
22348           The input value, clipped to the minval-maxval range.
22349
22350       maxval
22351           The maximum value for the pixel component.
22352
22353       minval
22354           The minimum value for the pixel component.
22355
22356       negval
22357           The negated value for the pixel component value, clipped to the
22358           minval-maxval range; it corresponds to the expression
22359           "maxval-clipval+minval".
22360
22361       clip(val)
22362           The computed value in val, clipped to the minval-maxval range.
22363
22364       gammaval(gamma)
22365           The computed gamma correction value of the pixel component value,
22366           clipped to the minval-maxval range. It corresponds to the
22367           expression
22368           "pow((clipval-minval)/(maxval-minval)\,gamma)*(maxval-minval)+minval"
22369
22370       All expressions default to "val".
22371
22372       Commands
22373
22374       This filter supports same commands as options.
22375
22376       Examples
22377
22378       •   Negate input video:
22379
22380                   lutrgb="r=maxval+minval-val:g=maxval+minval-val:b=maxval+minval-val"
22381                   lutyuv="y=maxval+minval-val:u=maxval+minval-val:v=maxval+minval-val"
22382
22383           The above is the same as:
22384
22385                   lutrgb="r=negval:g=negval:b=negval"
22386                   lutyuv="y=negval:u=negval:v=negval"
22387
22388       •   Negate luminance:
22389
22390                   lutyuv=y=negval
22391
22392       •   Remove chroma components, turning the video into a graytone image:
22393
22394                   lutyuv="u=128:v=128"
22395
22396       •   Apply a luma burning effect:
22397
22398                   lutyuv="y=2*val"
22399
22400       •   Remove green and blue components:
22401
22402                   lutrgb="g=0:b=0"
22403
22404       •   Set a constant alpha channel value on input:
22405
22406                   format=rgba,lutrgb=a="maxval-minval/2"
22407
22408       •   Correct luminance gamma by a factor of 0.5:
22409
22410                   lutyuv=y=gammaval(0.5)
22411
22412       •   Discard least significant bits of luma:
22413
22414                   lutyuv=y='bitand(val, 128+64+32)'
22415
22416       •   Technicolor like effect:
22417
22418                   lutyuv=u='(val-maxval/2)*2+maxval/2':v='(val-maxval/2)*2+maxval/2'
22419
22420   lut2, tlut2
22421       The "lut2" filter takes two input streams and outputs one stream.
22422
22423       The "tlut2" (time lut2) filter takes two consecutive frames from one
22424       single stream.
22425
22426       This filter accepts the following parameters:
22427
22428       c0  set first pixel component expression
22429
22430       c1  set second pixel component expression
22431
22432       c2  set third pixel component expression
22433
22434       c3  set fourth pixel component expression, corresponds to the alpha
22435           component
22436
22437       d   set output bit depth, only available for "lut2" filter. By default
22438           is 0, which means bit depth is automatically picked from first
22439           input format.
22440
22441       The "lut2" filter also supports the framesync options.
22442
22443       Each of them specifies the expression to use for computing the lookup
22444       table for the corresponding pixel component values.
22445
22446       The exact component associated to each of the c* options depends on the
22447       format in inputs.
22448
22449       The expressions can contain the following constants:
22450
22451       w
22452       h   The input width and height.
22453
22454       x   The first input value for the pixel component.
22455
22456       y   The second input value for the pixel component.
22457
22458       bdx The first input video bit depth.
22459
22460       bdy The second input video bit depth.
22461
22462       All expressions default to "x".
22463
22464       Commands
22465
22466       This filter supports the all above options as commands except option
22467       "d".
22468
22469       Examples
22470
22471       •   Highlight differences between two RGB video streams:
22472
22473                   lut2='ifnot(x-y,0,pow(2,bdx)-1):ifnot(x-y,0,pow(2,bdx)-1):ifnot(x-y,0,pow(2,bdx)-1)'
22474
22475       •   Highlight differences between two YUV video streams:
22476
22477                   lut2='ifnot(x-y,0,pow(2,bdx)-1):ifnot(x-y,pow(2,bdx-1),pow(2,bdx)-1):ifnot(x-y,pow(2,bdx-1),pow(2,bdx)-1)'
22478
22479       •   Show max difference between two video streams:
22480
22481                   lut2='if(lt(x,y),0,if(gt(x,y),pow(2,bdx)-1,pow(2,bdx-1))):if(lt(x,y),0,if(gt(x,y),pow(2,bdx)-1,pow(2,bdx-1))):if(lt(x,y),0,if(gt(x,y),pow(2,bdx)-1,pow(2,bdx-1)))'
22482
22483   maskedclamp
22484       Clamp the first input stream with the second input and third input
22485       stream.
22486
22487       Returns the value of first stream to be between second input stream -
22488       "undershoot" and third input stream + "overshoot".
22489
22490       This filter accepts the following options:
22491
22492       undershoot
22493           Default value is 0.
22494
22495       overshoot
22496           Default value is 0.
22497
22498       planes
22499           Set which planes will be processed as bitmap, unprocessed planes
22500           will be copied from first stream.  By default value 0xf, all planes
22501           will be processed.
22502
22503       Commands
22504
22505       This filter supports the all above options as commands.
22506
22507   maskedmax
22508       Merge the second and third input stream into output stream using
22509       absolute differences between second input stream and first input stream
22510       and absolute difference between third input stream and first input
22511       stream. The picked value will be from second input stream if second
22512       absolute difference is greater than first one or from third input
22513       stream otherwise.
22514
22515       This filter accepts the following options:
22516
22517       planes
22518           Set which planes will be processed as bitmap, unprocessed planes
22519           will be copied from first stream.  By default value 0xf, all planes
22520           will be processed.
22521
22522       Commands
22523
22524       This filter supports the all above options as commands.
22525
22526   maskedmerge
22527       Merge the first input stream with the second input stream using per
22528       pixel weights in the third input stream.
22529
22530       A value of 0 in the third stream pixel component means that pixel
22531       component from first stream is returned unchanged, while maximum value
22532       (eg. 255 for 8-bit videos) means that pixel component from second
22533       stream is returned unchanged. Intermediate values define the amount of
22534       merging between both input stream's pixel components.
22535
22536       This filter accepts the following options:
22537
22538       planes
22539           Set which planes will be processed as bitmap, unprocessed planes
22540           will be copied from first stream.  By default value 0xf, all planes
22541           will be processed.
22542
22543       Commands
22544
22545       This filter supports the all above options as commands.
22546
22547   maskedmin
22548       Merge the second and third input stream into output stream using
22549       absolute differences between second input stream and first input stream
22550       and absolute difference between third input stream and first input
22551       stream. The picked value will be from second input stream if second
22552       absolute difference is less than first one or from third input stream
22553       otherwise.
22554
22555       This filter accepts the following options:
22556
22557       planes
22558           Set which planes will be processed as bitmap, unprocessed planes
22559           will be copied from first stream.  By default value 0xf, all planes
22560           will be processed.
22561
22562       Commands
22563
22564       This filter supports the all above options as commands.
22565
22566   maskedthreshold
22567       Pick pixels comparing absolute difference of two video streams with
22568       fixed threshold.
22569
22570       If absolute difference between pixel component of first and second
22571       video stream is equal or lower than user supplied threshold than pixel
22572       component from first video stream is picked, otherwise pixel component
22573       from second video stream is picked.
22574
22575       This filter accepts the following options:
22576
22577       threshold
22578           Set threshold used when picking pixels from absolute difference
22579           from two input video streams.
22580
22581       planes
22582           Set which planes will be processed as bitmap, unprocessed planes
22583           will be copied from second stream.  By default value 0xf, all
22584           planes will be processed.
22585
22586       Commands
22587
22588       This filter supports the all above options as commands.
22589
22590   maskfun
22591       Create mask from input video.
22592
22593       For example it is useful to create motion masks after "tblend" filter.
22594
22595       This filter accepts the following options:
22596
22597       low Set low threshold. Any pixel component lower or exact than this
22598           value will be set to 0.
22599
22600       high
22601           Set high threshold. Any pixel component higher than this value will
22602           be set to max value allowed for current pixel format.
22603
22604       planes
22605           Set planes to filter, by default all available planes are filtered.
22606
22607       fill
22608           Fill all frame pixels with this value.
22609
22610       sum Set max average pixel value for frame. If sum of all pixel
22611           components is higher that this average, output frame will be
22612           completely filled with value set by fill option.  Typically useful
22613           for scene changes when used in combination with "tblend" filter.
22614
22615       Commands
22616
22617       This filter supports the all above options as commands.
22618
22619   mcdeint
22620       Apply motion-compensation deinterlacing.
22621
22622       It needs one field per frame as input and must thus be used together
22623       with yadif=1/3 or equivalent.
22624
22625       This filter is only available in ffmpeg version 4.4 or earlier.
22626
22627       This filter accepts the following options:
22628
22629       mode
22630           Set the deinterlacing mode.
22631
22632           It accepts one of the following values:
22633
22634           fast
22635           medium
22636           slow
22637               use iterative motion estimation
22638
22639           extra_slow
22640               like slow, but use multiple reference frames.
22641
22642           Default value is fast.
22643
22644       parity
22645           Set the picture field parity assumed for the input video. It must
22646           be one of the following values:
22647
22648           0, tff
22649               assume top field first
22650
22651           1, bff
22652               assume bottom field first
22653
22654           Default value is bff.
22655
22656       qp  Set per-block quantization parameter (QP) used by the internal
22657           encoder.
22658
22659           Higher values should result in a smoother motion vector field but
22660           less optimal individual vectors. Default value is 1.
22661
22662   median
22663       Pick median pixel from certain rectangle defined by radius.
22664
22665       This filter accepts the following options:
22666
22667       radius
22668           Set horizontal radius size. Default value is 1.  Allowed range is
22669           integer from 1 to 127.
22670
22671       planes
22672           Set which planes to process. Default is 15, which is all available
22673           planes.
22674
22675       radiusV
22676           Set vertical radius size. Default value is 0.  Allowed range is
22677           integer from 0 to 127.  If it is 0, value will be picked from
22678           horizontal "radius" option.
22679
22680       percentile
22681           Set median percentile. Default value is 0.5.  Default value of 0.5
22682           will pick always median values, while 0 will pick minimum values,
22683           and 1 maximum values.
22684
22685       Commands
22686
22687       This filter supports same commands as options.  The command accepts the
22688       same syntax of the corresponding option.
22689
22690       If the specified expression is not valid, it is kept at its current
22691       value.
22692
22693   mergeplanes
22694       Merge color channel components from several video streams.
22695
22696       The filter accepts up to 4 input streams, and merge selected input
22697       planes to the output video.
22698
22699       This filter accepts the following options:
22700
22701       mapping
22702           Set input to output plane mapping. Default is 0.
22703
22704           The mappings is specified as a bitmap. It should be specified as a
22705           hexadecimal number in the form 0xAa[Bb[Cc[Dd]]]. 'Aa' describes the
22706           mapping for the first plane of the output stream. 'A' sets the
22707           number of the input stream to use (from 0 to 3), and 'a' the plane
22708           number of the corresponding input to use (from 0 to 3). The rest of
22709           the mappings is similar, 'Bb' describes the mapping for the output
22710           stream second plane, 'Cc' describes the mapping for the output
22711           stream third plane and 'Dd' describes the mapping for the output
22712           stream fourth plane.
22713
22714       format
22715           Set output pixel format. Default is "yuva444p".
22716
22717       Examples
22718
22719       •   Merge three gray video streams of same width and height into single
22720           video stream:
22721
22722                   [a0][a1][a2]mergeplanes=0x001020:yuv444p
22723
22724       •   Merge 1st yuv444p stream and 2nd gray video stream into yuva444p
22725           video stream:
22726
22727                   [a0][a1]mergeplanes=0x00010210:yuva444p
22728
22729       •   Swap Y and A plane in yuva444p stream:
22730
22731                   format=yuva444p,mergeplanes=0x03010200:yuva444p
22732
22733       •   Swap U and V plane in yuv420p stream:
22734
22735                   format=yuv420p,mergeplanes=0x000201:yuv420p
22736
22737       •   Cast a rgb24 clip to yuv444p:
22738
22739                   format=rgb24,mergeplanes=0x000102:yuv444p
22740
22741   mestimate
22742       Estimate and export motion vectors using block matching algorithms.
22743       Motion vectors are stored in frame side data to be used by other
22744       filters.
22745
22746       This filter accepts the following options:
22747
22748       method
22749           Specify the motion estimation method. Accepts one of the following
22750           values:
22751
22752           esa Exhaustive search algorithm.
22753
22754           tss Three step search algorithm.
22755
22756           tdls
22757               Two dimensional logarithmic search algorithm.
22758
22759           ntss
22760               New three step search algorithm.
22761
22762           fss Four step search algorithm.
22763
22764           ds  Diamond search algorithm.
22765
22766           hexbs
22767               Hexagon-based search algorithm.
22768
22769           epzs
22770               Enhanced predictive zonal search algorithm.
22771
22772           umh Uneven multi-hexagon search algorithm.
22773
22774           Default value is esa.
22775
22776       mb_size
22777           Macroblock size. Default 16.
22778
22779       search_param
22780           Search parameter. Default 7.
22781
22782   midequalizer
22783       Apply Midway Image Equalization effect using two video streams.
22784
22785       Midway Image Equalization adjusts a pair of images to have the same
22786       histogram, while maintaining their dynamics as much as possible. It's
22787       useful for e.g. matching exposures from a pair of stereo cameras.
22788
22789       This filter has two inputs and one output, which must be of same pixel
22790       format, but may be of different sizes. The output of filter is first
22791       input adjusted with midway histogram of both inputs.
22792
22793       This filter accepts the following option:
22794
22795       planes
22796           Set which planes to process. Default is 15, which is all available
22797           planes.
22798
22799   minterpolate
22800       Convert the video to specified frame rate using motion interpolation.
22801
22802       This filter accepts the following options:
22803
22804       fps Specify the output frame rate. This can be rational e.g.
22805           "60000/1001". Frames are dropped if fps is lower than source fps.
22806           Default 60.
22807
22808       mi_mode
22809           Motion interpolation mode. Following values are accepted:
22810
22811           dup Duplicate previous or next frame for interpolating new ones.
22812
22813           blend
22814               Blend source frames. Interpolated frame is mean of previous and
22815               next frames.
22816
22817           mci Motion compensated interpolation. Following options are
22818               effective when this mode is selected:
22819
22820               mc_mode
22821                   Motion compensation mode. Following values are accepted:
22822
22823                   obmc
22824                       Overlapped block motion compensation.
22825
22826                   aobmc
22827                       Adaptive overlapped block motion compensation. Window
22828                       weighting coefficients are controlled adaptively
22829                       according to the reliabilities of the neighboring
22830                       motion vectors to reduce oversmoothing.
22831
22832                   Default mode is obmc.
22833
22834               me_mode
22835                   Motion estimation mode. Following values are accepted:
22836
22837                   bidir
22838                       Bidirectional motion estimation. Motion vectors are
22839                       estimated for each source frame in both forward and
22840                       backward directions.
22841
22842                   bilat
22843                       Bilateral motion estimation. Motion vectors are
22844                       estimated directly for interpolated frame.
22845
22846                   Default mode is bilat.
22847
22848               me  The algorithm to be used for motion estimation. Following
22849                   values are accepted:
22850
22851                   esa Exhaustive search algorithm.
22852
22853                   tss Three step search algorithm.
22854
22855                   tdls
22856                       Two dimensional logarithmic search algorithm.
22857
22858                   ntss
22859                       New three step search algorithm.
22860
22861                   fss Four step search algorithm.
22862
22863                   ds  Diamond search algorithm.
22864
22865                   hexbs
22866                       Hexagon-based search algorithm.
22867
22868                   epzs
22869                       Enhanced predictive zonal search algorithm.
22870
22871                   umh Uneven multi-hexagon search algorithm.
22872
22873                   Default algorithm is epzs.
22874
22875               mb_size
22876                   Macroblock size. Default 16.
22877
22878               search_param
22879                   Motion estimation search parameter. Default 32.
22880
22881               vsbmc
22882                   Enable variable-size block motion compensation. Motion
22883                   estimation is applied with smaller block sizes at object
22884                   boundaries in order to make the them less blur. Default is
22885                   0 (disabled).
22886
22887       scd Scene change detection method. Scene change leads motion vectors to
22888           be in random direction. Scene change detection replace interpolated
22889           frames by duplicate ones. May not be needed for other modes.
22890           Following values are accepted:
22891
22892           none
22893               Disable scene change detection.
22894
22895           fdiff
22896               Frame difference. Corresponding pixel values are compared and
22897               if it satisfies scd_threshold scene change is detected.
22898
22899           Default method is fdiff.
22900
22901       scd_threshold
22902           Scene change detection threshold. Default is 10..
22903
22904   mix
22905       Mix several video input streams into one video stream.
22906
22907       A description of the accepted options follows.
22908
22909       inputs
22910           The number of inputs. If unspecified, it defaults to 2.
22911
22912       weights
22913           Specify weight of each input video stream as sequence.  Each weight
22914           is separated by space. If number of weights is smaller than number
22915           of frames last specified weight will be used for all remaining
22916           unset weights.
22917
22918       scale
22919           Specify scale, if it is set it will be multiplied with sum of each
22920           weight multiplied with pixel values to give final destination pixel
22921           value. By default scale is auto scaled to sum of weights.
22922
22923       duration
22924           Specify how end of stream is determined.
22925
22926           longest
22927               The duration of the longest input. (default)
22928
22929           shortest
22930               The duration of the shortest input.
22931
22932           first
22933               The duration of the first input.
22934
22935       Commands
22936
22937       This filter supports the following commands:
22938
22939       weights
22940       scale
22941           Syntax is same as option with same name.
22942
22943   monochrome
22944       Convert video to gray using custom color filter.
22945
22946       A description of the accepted options follows.
22947
22948       cb  Set the chroma blue spot. Allowed range is from -1 to 1.  Default
22949           value is 0.
22950
22951       cr  Set the chroma red spot. Allowed range is from -1 to 1.  Default
22952           value is 0.
22953
22954       size
22955           Set the color filter size. Allowed range is from .1 to 10.  Default
22956           value is 1.
22957
22958       high
22959           Set the highlights strength. Allowed range is from 0 to 1.  Default
22960           value is 0.
22961
22962       Commands
22963
22964       This filter supports the all above options as commands.
22965
22966   morpho
22967       This filter allows to apply main morphological grayscale transforms,
22968       erode and dilate with arbitrary structures set in second input stream.
22969
22970       Unlike naive implementation and much slower performance in erosion and
22971       dilation filters, when speed is critical "morpho" filter should be used
22972       instead.
22973
22974       A description of accepted options follows,
22975
22976       mode
22977           Set morphological transform to apply, can be:
22978
22979           erode
22980           dilate
22981           open
22982           close
22983           gradient
22984           tophat
22985           blackhat
22986
22987           Default is "erode".
22988
22989       planes
22990           Set planes to filter, by default all planes except alpha are
22991           filtered.
22992
22993       structure
22994           Set which structure video frames will be processed from second
22995           input stream, can be first or all. Default is all.
22996
22997       The "morpho" filter also supports the framesync options.
22998
22999       Commands
23000
23001       This filter supports same commands as options.
23002
23003   mpdecimate
23004       Drop frames that do not differ greatly from the previous frame in order
23005       to reduce frame rate.
23006
23007       The main use of this filter is for very-low-bitrate encoding (e.g.
23008       streaming over dialup modem), but it could in theory be used for fixing
23009       movies that were inverse-telecined incorrectly.
23010
23011       A description of the accepted options follows.
23012
23013       max Set the maximum number of consecutive frames which can be dropped
23014           (if positive), or the minimum interval between dropped frames (if
23015           negative). If the value is 0, the frame is dropped disregarding the
23016           number of previous sequentially dropped frames.
23017
23018           Default value is 0.
23019
23020       hi
23021       lo
23022       frac
23023           Set the dropping threshold values.
23024
23025           Values for hi and lo are for 8x8 pixel blocks and represent actual
23026           pixel value differences, so a threshold of 64 corresponds to 1 unit
23027           of difference for each pixel, or the same spread out differently
23028           over the block.
23029
23030           A frame is a candidate for dropping if no 8x8 blocks differ by more
23031           than a threshold of hi, and if no more than frac blocks (1 meaning
23032           the whole image) differ by more than a threshold of lo.
23033
23034           Default value for hi is 64*12, default value for lo is 64*5, and
23035           default value for frac is 0.33.
23036
23037   msad
23038       Obtain the MSAD (Mean Sum of Absolute Differences) between two input
23039       videos.
23040
23041       This filter takes two input videos.
23042
23043       Both input videos must have the same resolution and pixel format for
23044       this filter to work correctly. Also it assumes that both inputs have
23045       the same number of frames, which are compared one by one.
23046
23047       The obtained per component, average, min and max MSAD is printed
23048       through the logging system.
23049
23050       The filter stores the calculated MSAD of each frame in frame metadata.
23051
23052       In the below example the input file main.mpg being processed is
23053       compared with the reference file ref.mpg.
23054
23055               ffmpeg -i main.mpg -i ref.mpg -lavfi msad -f null -
23056
23057   negate
23058       Negate (invert) the input video.
23059
23060       It accepts the following option:
23061
23062       components
23063           Set components to negate.
23064
23065           Available values for components are:
23066
23067           y
23068           u
23069           v
23070           a
23071           r
23072           g
23073           b
23074       negate_alpha
23075           With value 1, it negates the alpha component, if present. Default
23076           value is 0.
23077
23078       Commands
23079
23080       This filter supports same commands as options.
23081
23082   nlmeans
23083       Denoise frames using Non-Local Means algorithm.
23084
23085       Each pixel is adjusted by looking for other pixels with similar
23086       contexts. This context similarity is defined by comparing their
23087       surrounding patches of size pxp. Patches are searched in an area of rxr
23088       around the pixel.
23089
23090       Note that the research area defines centers for patches, which means
23091       some patches will be made of pixels outside that research area.
23092
23093       The filter accepts the following options.
23094
23095       s   Set denoising strength. Default is 1.0. Must be in range [1.0,
23096           30.0].
23097
23098       p   Set patch size. Default is 7. Must be odd number in range [0, 99].
23099
23100       pc  Same as p but for chroma planes.
23101
23102           The default value is 0 and means automatic.
23103
23104       r   Set research size. Default is 15. Must be odd number in range [0,
23105           99].
23106
23107       rc  Same as r but for chroma planes.
23108
23109           The default value is 0 and means automatic.
23110
23111   nnedi
23112       Deinterlace video using neural network edge directed interpolation.
23113
23114       This filter accepts the following options:
23115
23116       weights
23117           Mandatory option, without binary file filter can not work.
23118           Currently file can be found here:
23119           https://github.com/dubhater/vapoursynth-nnedi3/blob/master/src/nnedi3_weights.bin
23120
23121       deint
23122           Set which frames to deinterlace, by default it is "all".  Can be
23123           "all" or "interlaced".
23124
23125       field
23126           Set mode of operation.
23127
23128           Can be one of the following:
23129
23130           af  Use frame flags, both fields.
23131
23132           a   Use frame flags, single field.
23133
23134           t   Use top field only.
23135
23136           b   Use bottom field only.
23137
23138           tf  Use both fields, top first.
23139
23140           bf  Use both fields, bottom first.
23141
23142       planes
23143           Set which planes to process, by default filter process all frames.
23144
23145       nsize
23146           Set size of local neighborhood around each pixel, used by the
23147           predictor neural network.
23148
23149           Can be one of the following:
23150
23151           s8x6
23152           s16x6
23153           s32x6
23154           s48x6
23155           s8x4
23156           s16x4
23157           s32x4
23158       nns Set the number of neurons in predictor neural network.  Can be one
23159           of the following:
23160
23161           n16
23162           n32
23163           n64
23164           n128
23165           n256
23166       qual
23167           Controls the number of different neural network predictions that
23168           are blended together to compute the final output value. Can be
23169           "fast", default or "slow".
23170
23171       etype
23172           Set which set of weights to use in the predictor.  Can be one of
23173           the following:
23174
23175           a, abs
23176               weights trained to minimize absolute error
23177
23178           s, mse
23179               weights trained to minimize squared error
23180
23181       pscrn
23182           Controls whether or not the prescreener neural network is used to
23183           decide which pixels should be processed by the predictor neural
23184           network and which can be handled by simple cubic interpolation.
23185           The prescreener is trained to know whether cubic interpolation will
23186           be sufficient for a pixel or whether it should be predicted by the
23187           predictor nn.  The computational complexity of the prescreener nn
23188           is much less than that of the predictor nn. Since most pixels can
23189           be handled by cubic interpolation, using the prescreener generally
23190           results in much faster processing.  The prescreener is pretty
23191           accurate, so the difference between using it and not using it is
23192           almost always unnoticeable.
23193
23194           Can be one of the following:
23195
23196           none
23197           original
23198           new
23199           new2
23200           new3
23201
23202           Default is "new".
23203
23204       Commands
23205
23206       This filter supports same commands as options, excluding weights
23207       option.
23208
23209   noformat
23210       Force libavfilter not to use any of the specified pixel formats for the
23211       input to the next filter.
23212
23213       It accepts the following parameters:
23214
23215       pix_fmts
23216           A '|'-separated list of pixel format names, such as
23217           pix_fmts=yuv420p|monow|rgb24".
23218
23219       Examples
23220
23221       •   Force libavfilter to use a format different from yuv420p for the
23222           input to the vflip filter:
23223
23224                   noformat=pix_fmts=yuv420p,vflip
23225
23226       •   Convert the input video to any of the formats not contained in the
23227           list:
23228
23229                   noformat=yuv420p|yuv444p|yuv410p
23230
23231   noise
23232       Add noise on video input frame.
23233
23234       The filter accepts the following options:
23235
23236       all_seed
23237       c0_seed
23238       c1_seed
23239       c2_seed
23240       c3_seed
23241           Set noise seed for specific pixel component or all pixel components
23242           in case of all_seed. Default value is 123457.
23243
23244       all_strength, alls
23245       c0_strength, c0s
23246       c1_strength, c1s
23247       c2_strength, c2s
23248       c3_strength, c3s
23249           Set noise strength for specific pixel component or all pixel
23250           components in case all_strength. Default value is 0. Allowed range
23251           is [0, 100].
23252
23253       all_flags, allf
23254       c0_flags, c0f
23255       c1_flags, c1f
23256       c2_flags, c2f
23257       c3_flags, c3f
23258           Set pixel component flags or set flags for all components if
23259           all_flags.  Available values for component flags are:
23260
23261           a   averaged temporal noise (smoother)
23262
23263           p   mix random noise with a (semi)regular pattern
23264
23265           t   temporal noise (noise pattern changes between frames)
23266
23267           u   uniform noise (gaussian otherwise)
23268
23269       Examples
23270
23271       Add temporal and uniform noise to input video:
23272
23273               noise=alls=20:allf=t+u
23274
23275   normalize
23276       Normalize RGB video (aka histogram stretching, contrast stretching).
23277       See: https://en.wikipedia.org/wiki/Normalization_(image_processing)
23278
23279       For each channel of each frame, the filter computes the input range and
23280       maps it linearly to the user-specified output range. The output range
23281       defaults to the full dynamic range from pure black to pure white.
23282
23283       Temporal smoothing can be used on the input range to reduce flickering
23284       (rapid changes in brightness) caused when small dark or bright objects
23285       enter or leave the scene. This is similar to the auto-exposure
23286       (automatic gain control) on a video camera, and, like a video camera,
23287       it may cause a period of over- or under-exposure of the video.
23288
23289       The R,G,B channels can be normalized independently, which may cause
23290       some color shifting, or linked together as a single channel, which
23291       prevents color shifting. Linked normalization preserves hue.
23292       Independent normalization does not, so it can be used to remove some
23293       color casts. Independent and linked normalization can be combined in
23294       any ratio.
23295
23296       The normalize filter accepts the following options:
23297
23298       blackpt
23299       whitept
23300           Colors which define the output range. The minimum input value is
23301           mapped to the blackpt. The maximum input value is mapped to the
23302           whitept.  The defaults are black and white respectively. Specifying
23303           white for blackpt and black for whitept will give color-inverted,
23304           normalized video. Shades of grey can be used to reduce the dynamic
23305           range (contrast). Specifying saturated colors here can create some
23306           interesting effects.
23307
23308       smoothing
23309           The number of previous frames to use for temporal smoothing. The
23310           input range of each channel is smoothed using a rolling average
23311           over the current frame and the smoothing previous frames. The
23312           default is 0 (no temporal smoothing).
23313
23314       independence
23315           Controls the ratio of independent (color shifting) channel
23316           normalization to linked (color preserving) normalization. 0.0 is
23317           fully linked, 1.0 is fully independent. Defaults to 1.0 (fully
23318           independent).
23319
23320       strength
23321           Overall strength of the filter. 1.0 is full strength. 0.0 is a
23322           rather expensive no-op. Defaults to 1.0 (full strength).
23323
23324       Commands
23325
23326       This filter supports same commands as options, excluding smoothing
23327       option.  The command accepts the same syntax of the corresponding
23328       option.
23329
23330       If the specified expression is not valid, it is kept at its current
23331       value.
23332
23333       Examples
23334
23335       Stretch video contrast to use the full dynamic range, with no temporal
23336       smoothing; may flicker depending on the source content:
23337
23338               normalize=blackpt=black:whitept=white:smoothing=0
23339
23340       As above, but with 50 frames of temporal smoothing; flicker should be
23341       reduced, depending on the source content:
23342
23343               normalize=blackpt=black:whitept=white:smoothing=50
23344
23345       As above, but with hue-preserving linked channel normalization:
23346
23347               normalize=blackpt=black:whitept=white:smoothing=50:independence=0
23348
23349       As above, but with half strength:
23350
23351               normalize=blackpt=black:whitept=white:smoothing=50:independence=0:strength=0.5
23352
23353       Map the darkest input color to red, the brightest input color to cyan:
23354
23355               normalize=blackpt=red:whitept=cyan
23356
23357   null
23358       Pass the video source unchanged to the output.
23359
23360   ocr
23361       Optical Character Recognition
23362
23363       This filter uses Tesseract for optical character recognition. To enable
23364       compilation of this filter, you need to configure FFmpeg with
23365       "--enable-libtesseract".
23366
23367       It accepts the following options:
23368
23369       datapath
23370           Set datapath to tesseract data. Default is to use whatever was set
23371           at installation.
23372
23373       language
23374           Set language, default is "eng".
23375
23376       whitelist
23377           Set character whitelist.
23378
23379       blacklist
23380           Set character blacklist.
23381
23382       The filter exports recognized text as the frame metadata
23383       "lavfi.ocr.text".  The filter exports confidence of recognized words as
23384       the frame metadata "lavfi.ocr.confidence".
23385
23386   ocv
23387       Apply a video transform using libopencv.
23388
23389       To enable this filter, install the libopencv library and headers and
23390       configure FFmpeg with "--enable-libopencv".
23391
23392       It accepts the following parameters:
23393
23394       filter_name
23395           The name of the libopencv filter to apply.
23396
23397       filter_params
23398           The parameters to pass to the libopencv filter. If not specified,
23399           the default values are assumed.
23400
23401       Refer to the official libopencv documentation for more precise
23402       information:
23403       <http://docs.opencv.org/master/modules/imgproc/doc/filtering.html>
23404
23405       Several libopencv filters are supported; see the following subsections.
23406
23407       dilate
23408
23409       Dilate an image by using a specific structuring element.  It
23410       corresponds to the libopencv function "cvDilate".
23411
23412       It accepts the parameters: struct_el|nb_iterations.
23413
23414       struct_el represents a structuring element, and has the syntax:
23415       colsxrows+anchor_xxanchor_y/shape
23416
23417       cols and rows represent the number of columns and rows of the
23418       structuring element, anchor_x and anchor_y the anchor point, and shape
23419       the shape for the structuring element. shape must be "rect", "cross",
23420       "ellipse", or "custom".
23421
23422       If the value for shape is "custom", it must be followed by a string of
23423       the form "=filename". The file with name filename is assumed to
23424       represent a binary image, with each printable character corresponding
23425       to a bright pixel. When a custom shape is used, cols and rows are
23426       ignored, the number or columns and rows of the read file are assumed
23427       instead.
23428
23429       The default value for struct_el is "3x3+0x0/rect".
23430
23431       nb_iterations specifies the number of times the transform is applied to
23432       the image, and defaults to 1.
23433
23434       Some examples:
23435
23436               # Use the default values
23437               ocv=dilate
23438
23439               # Dilate using a structuring element with a 5x5 cross, iterating two times
23440               ocv=filter_name=dilate:filter_params=5x5+2x2/cross|2
23441
23442               # Read the shape from the file diamond.shape, iterating two times.
23443               # The file diamond.shape may contain a pattern of characters like this
23444               #   *
23445               #  ***
23446               # *****
23447               #  ***
23448               #   *
23449               # The specified columns and rows are ignored
23450               # but the anchor point coordinates are not
23451               ocv=dilate:0x0+2x2/custom=diamond.shape|2
23452
23453       erode
23454
23455       Erode an image by using a specific structuring element.  It corresponds
23456       to the libopencv function "cvErode".
23457
23458       It accepts the parameters: struct_el:nb_iterations, with the same
23459       syntax and semantics as the dilate filter.
23460
23461       smooth
23462
23463       Smooth the input video.
23464
23465       The filter takes the following parameters:
23466       type|param1|param2|param3|param4.
23467
23468       type is the type of smooth filter to apply, and must be one of the
23469       following values: "blur", "blur_no_scale", "median", "gaussian", or
23470       "bilateral". The default value is "gaussian".
23471
23472       The meaning of param1, param2, param3, and param4 depends on the smooth
23473       type. param1 and param2 accept integer positive values or 0. param3 and
23474       param4 accept floating point values.
23475
23476       The default value for param1 is 3. The default value for the other
23477       parameters is 0.
23478
23479       These parameters correspond to the parameters assigned to the libopencv
23480       function "cvSmooth".
23481
23482   oscilloscope
23483       2D Video Oscilloscope.
23484
23485       Useful to measure spatial impulse, step responses, chroma delays, etc.
23486
23487       It accepts the following parameters:
23488
23489       x   Set scope center x position.
23490
23491       y   Set scope center y position.
23492
23493       s   Set scope size, relative to frame diagonal.
23494
23495       t   Set scope tilt/rotation.
23496
23497       o   Set trace opacity.
23498
23499       tx  Set trace center x position.
23500
23501       ty  Set trace center y position.
23502
23503       tw  Set trace width, relative to width of frame.
23504
23505       th  Set trace height, relative to height of frame.
23506
23507       c   Set which components to trace. By default it traces first three
23508           components.
23509
23510       g   Draw trace grid. By default is enabled.
23511
23512       st  Draw some statistics. By default is enabled.
23513
23514       sc  Draw scope. By default is enabled.
23515
23516       Commands
23517
23518       This filter supports same commands as options.  The command accepts the
23519       same syntax of the corresponding option.
23520
23521       If the specified expression is not valid, it is kept at its current
23522       value.
23523
23524       Examples
23525
23526       •   Inspect full first row of video frame.
23527
23528                   oscilloscope=x=0.5:y=0:s=1
23529
23530       •   Inspect full last row of video frame.
23531
23532                   oscilloscope=x=0.5:y=1:s=1
23533
23534       •   Inspect full 5th line of video frame of height 1080.
23535
23536                   oscilloscope=x=0.5:y=5/1080:s=1
23537
23538       •   Inspect full last column of video frame.
23539
23540                   oscilloscope=x=1:y=0.5:s=1:t=1
23541
23542   overlay
23543       Overlay one video on top of another.
23544
23545       It takes two inputs and has one output. The first input is the "main"
23546       video on which the second input is overlaid.
23547
23548       It accepts the following parameters:
23549
23550       A description of the accepted options follows.
23551
23552       x
23553       y   Set the expression for the x and y coordinates of the overlaid
23554           video on the main video. Default value is "0" for both expressions.
23555           In case the expression is invalid, it is set to a huge value
23556           (meaning that the overlay will not be displayed within the output
23557           visible area).
23558
23559       eof_action
23560           See framesync.
23561
23562       eval
23563           Set when the expressions for x, and y are evaluated.
23564
23565           It accepts the following values:
23566
23567           init
23568               only evaluate expressions once during the filter initialization
23569               or when a command is processed
23570
23571           frame
23572               evaluate expressions for each incoming frame
23573
23574           Default value is frame.
23575
23576       shortest
23577           See framesync.
23578
23579       format
23580           Set the format for the output video.
23581
23582           It accepts the following values:
23583
23584           yuv420
23585               force YUV420 output
23586
23587           yuv420p10
23588               force YUV420p10 output
23589
23590           yuv422
23591               force YUV422 output
23592
23593           yuv422p10
23594               force YUV422p10 output
23595
23596           yuv444
23597               force YUV444 output
23598
23599           rgb force packed RGB output
23600
23601           gbrp
23602               force planar RGB output
23603
23604           auto
23605               automatically pick format
23606
23607           Default value is yuv420.
23608
23609       repeatlast
23610           See framesync.
23611
23612       alpha
23613           Set format of alpha of the overlaid video, it can be straight or
23614           premultiplied. Default is straight.
23615
23616       The x, and y expressions can contain the following parameters.
23617
23618       main_w, W
23619       main_h, H
23620           The main input width and height.
23621
23622       overlay_w, w
23623       overlay_h, h
23624           The overlay input width and height.
23625
23626       x
23627       y   The computed values for x and y. They are evaluated for each new
23628           frame.
23629
23630       hsub
23631       vsub
23632           horizontal and vertical chroma subsample values of the output
23633           format. For example for the pixel format "yuv422p" hsub is 2 and
23634           vsub is 1.
23635
23636       n   the number of input frame, starting from 0
23637
23638       pos the position in the file of the input frame, NAN if unknown
23639
23640       t   The timestamp, expressed in seconds. It's NAN if the input
23641           timestamp is unknown.
23642
23643       This filter also supports the framesync options.
23644
23645       Note that the n, pos, t variables are available only when evaluation is
23646       done per frame, and will evaluate to NAN when eval is set to init.
23647
23648       Be aware that frames are taken from each input video in timestamp
23649       order, hence, if their initial timestamps differ, it is a good idea to
23650       pass the two inputs through a setpts=PTS-STARTPTS filter to have them
23651       begin in the same zero timestamp, as the example for the movie filter
23652       does.
23653
23654       You can chain together more overlays but you should test the efficiency
23655       of such approach.
23656
23657       Commands
23658
23659       This filter supports the following commands:
23660
23661       x
23662       y   Modify the x and y of the overlay input.  The command accepts the
23663           same syntax of the corresponding option.
23664
23665           If the specified expression is not valid, it is kept at its current
23666           value.
23667
23668       Examples
23669
23670       •   Draw the overlay at 10 pixels from the bottom right corner of the
23671           main video:
23672
23673                   overlay=main_w-overlay_w-10:main_h-overlay_h-10
23674
23675           Using named options the example above becomes:
23676
23677                   overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10
23678
23679       •   Insert a transparent PNG logo in the bottom left corner of the
23680           input, using the ffmpeg tool with the "-filter_complex" option:
23681
23682                   ffmpeg -i input -i logo -filter_complex 'overlay=10:main_h-overlay_h-10' output
23683
23684       •   Insert 2 different transparent PNG logos (second logo on bottom
23685           right corner) using the ffmpeg tool:
23686
23687                   ffmpeg -i input -i logo1 -i logo2 -filter_complex 'overlay=x=10:y=H-h-10,overlay=x=W-w-10:y=H-h-10' output
23688
23689       •   Add a transparent color layer on top of the main video; "WxH" must
23690           specify the size of the main input to the overlay filter:
23691
23692                   color=color=red@.3:size=WxH [over]; [in][over] overlay [out]
23693
23694       •   Play an original video and a filtered version (here with the
23695           deshake filter) side by side using the ffplay tool:
23696
23697                   ffplay input.avi -vf 'split[a][b]; [a]pad=iw*2:ih[src]; [b]deshake[filt]; [src][filt]overlay=w'
23698
23699           The above command is the same as:
23700
23701                   ffplay input.avi -vf 'split[b], pad=iw*2[src], [b]deshake, [src]overlay=w'
23702
23703       •   Make a sliding overlay appearing from the left to the right top
23704           part of the screen starting since time 2:
23705
23706                   overlay=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=0
23707
23708       •   Compose output by putting two input videos side to side:
23709
23710                   ffmpeg -i left.avi -i right.avi -filter_complex "
23711                   nullsrc=size=200x100 [background];
23712                   [0:v] setpts=PTS-STARTPTS, scale=100x100 [left];
23713                   [1:v] setpts=PTS-STARTPTS, scale=100x100 [right];
23714                   [background][left]       overlay=shortest=1       [background+left];
23715                   [background+left][right] overlay=shortest=1:x=100 [left+right]
23716                   "
23717
23718       •   Mask 10-20 seconds of a video by applying the delogo filter to a
23719           section
23720
23721                   ffmpeg -i test.avi -codec:v:0 wmv2 -ar 11025 -b:v 9000k
23722                   -vf '[in]split[split_main][split_delogo];[split_delogo]trim=start=360:end=371,delogo=0:0:640:480[delogoed];[split_main][delogoed]overlay=eof_action=pass[out]'
23723                   masked.avi
23724
23725       •   Chain several overlays in cascade:
23726
23727                   nullsrc=s=200x200 [bg];
23728                   testsrc=s=100x100, split=4 [in0][in1][in2][in3];
23729                   [in0] lutrgb=r=0, [bg]   overlay=0:0     [mid0];
23730                   [in1] lutrgb=g=0, [mid0] overlay=100:0   [mid1];
23731                   [in2] lutrgb=b=0, [mid1] overlay=0:100   [mid2];
23732                   [in3] null,       [mid2] overlay=100:100 [out0]
23733
23734   overlay_cuda
23735       Overlay one video on top of another.
23736
23737       This is the CUDA variant of the overlay filter.  It only accepts CUDA
23738       frames. The underlying input pixel formats have to match.
23739
23740       It takes two inputs and has one output. The first input is the "main"
23741       video on which the second input is overlaid.
23742
23743       It accepts the following parameters:
23744
23745       x
23746       y   Set expressions for the x and y coordinates of the overlaid video
23747           on the main video.
23748
23749           They can contain the following parameters:
23750
23751           main_w, W
23752           main_h, H
23753               The main input width and height.
23754
23755           overlay_w, w
23756           overlay_h, h
23757               The overlay input width and height.
23758
23759           x
23760           y   The computed values for x and y. They are evaluated for each
23761               new frame.
23762
23763           n   The ordinal index of the main input frame, starting from 0.
23764
23765           pos The byte offset position in the file of the main input frame,
23766               NAN if unknown.
23767
23768           t   The timestamp of the main input frame, expressed in seconds,
23769               NAN if unknown.
23770
23771           Default value is "0" for both expressions.
23772
23773       eval
23774           Set when the expressions for x and y are evaluated.
23775
23776           It accepts the following values:
23777
23778           init
23779               Evaluate expressions once during filter initialization or when
23780               a command is processed.
23781
23782           frame
23783               Evaluate expressions for each incoming frame
23784
23785           Default value is frame.
23786
23787       eof_action
23788           See framesync.
23789
23790       shortest
23791           See framesync.
23792
23793       repeatlast
23794           See framesync.
23795
23796       This filter also supports the framesync options.
23797
23798   owdenoise
23799       Apply Overcomplete Wavelet denoiser.
23800
23801       The filter accepts the following options:
23802
23803       depth
23804           Set depth.
23805
23806           Larger depth values will denoise lower frequency components more,
23807           but slow down filtering.
23808
23809           Must be an int in the range 8-16, default is 8.
23810
23811       luma_strength, ls
23812           Set luma strength.
23813
23814           Must be a double value in the range 0-1000, default is 1.0.
23815
23816       chroma_strength, cs
23817           Set chroma strength.
23818
23819           Must be a double value in the range 0-1000, default is 1.0.
23820
23821   pad
23822       Add paddings to the input image, and place the original input at the
23823       provided x, y coordinates.
23824
23825       It accepts the following parameters:
23826
23827       width, w
23828       height, h
23829           Specify an expression for the size of the output image with the
23830           paddings added. If the value for width or height is 0, the
23831           corresponding input size is used for the output.
23832
23833           The width expression can reference the value set by the height
23834           expression, and vice versa.
23835
23836           The default value of width and height is 0.
23837
23838       x
23839       y   Specify the offsets to place the input image at within the padded
23840           area, with respect to the top/left border of the output image.
23841
23842           The x expression can reference the value set by the y expression,
23843           and vice versa.
23844
23845           The default value of x and y is 0.
23846
23847           If x or y evaluate to a negative number, they'll be changed so the
23848           input image is centered on the padded area.
23849
23850       color
23851           Specify the color of the padded area. For the syntax of this
23852           option, check the "Color" section in the ffmpeg-utils manual.
23853
23854           The default value of color is "black".
23855
23856       eval
23857           Specify when to evaluate  width, height, x and y expression.
23858
23859           It accepts the following values:
23860
23861           init
23862               Only evaluate expressions once during the filter initialization
23863               or when a command is processed.
23864
23865           frame
23866               Evaluate expressions for each incoming frame.
23867
23868           Default value is init.
23869
23870       aspect
23871           Pad to aspect instead to a resolution.
23872
23873       The value for the width, height, x, and y options are expressions
23874       containing the following constants:
23875
23876       in_w
23877       in_h
23878           The input video width and height.
23879
23880       iw
23881       ih  These are the same as in_w and in_h.
23882
23883       out_w
23884       out_h
23885           The output width and height (the size of the padded area), as
23886           specified by the width and height expressions.
23887
23888       ow
23889       oh  These are the same as out_w and out_h.
23890
23891       x
23892       y   The x and y offsets as specified by the x and y expressions, or NAN
23893           if not yet specified.
23894
23895       a   same as iw / ih
23896
23897       sar input sample aspect ratio
23898
23899       dar input display aspect ratio, it is the same as (iw / ih) * sar
23900
23901       hsub
23902       vsub
23903           The horizontal and vertical chroma subsample values. For example
23904           for the pixel format "yuv422p" hsub is 2 and vsub is 1.
23905
23906       Examples
23907
23908       •   Add paddings with the color "violet" to the input video. The output
23909           video size is 640x480, and the top-left corner of the input video
23910           is placed at column 0, row 40
23911
23912                   pad=640:480:0:40:violet
23913
23914           The example above is equivalent to the following command:
23915
23916                   pad=width=640:height=480:x=0:y=40:color=violet
23917
23918       •   Pad the input to get an output with dimensions increased by 3/2,
23919           and put the input video at the center of the padded area:
23920
23921                   pad="3/2*iw:3/2*ih:(ow-iw)/2:(oh-ih)/2"
23922
23923       •   Pad the input to get a squared output with size equal to the
23924           maximum value between the input width and height, and put the input
23925           video at the center of the padded area:
23926
23927                   pad="max(iw\,ih):ow:(ow-iw)/2:(oh-ih)/2"
23928
23929       •   Pad the input to get a final w/h ratio of 16:9:
23930
23931                   pad="ih*16/9:ih:(ow-iw)/2:(oh-ih)/2"
23932
23933       •   In case of anamorphic video, in order to set the output display
23934           aspect correctly, it is necessary to use sar in the expression,
23935           according to the relation:
23936
23937                   (ih * X / ih) * sar = output_dar
23938                   X = output_dar / sar
23939
23940           Thus the previous example needs to be modified to:
23941
23942                   pad="ih*16/9/sar:ih:(ow-iw)/2:(oh-ih)/2"
23943
23944       •   Double the output size and put the input video in the bottom-right
23945           corner of the output padded area:
23946
23947                   pad="2*iw:2*ih:ow-iw:oh-ih"
23948
23949   palettegen
23950       Generate one palette for a whole video stream.
23951
23952       It accepts the following options:
23953
23954       max_colors
23955           Set the maximum number of colors to quantize in the palette.  Note:
23956           the palette will still contain 256 colors; the unused palette
23957           entries will be black.
23958
23959       reserve_transparent
23960           Create a palette of 255 colors maximum and reserve the last one for
23961           transparency. Reserving the transparency color is useful for GIF
23962           optimization.  If not set, the maximum of colors in the palette
23963           will be 256. You probably want to disable this option for a
23964           standalone image.  Set by default.
23965
23966       transparency_color
23967           Set the color that will be used as background for transparency.
23968
23969       stats_mode
23970           Set statistics mode.
23971
23972           It accepts the following values:
23973
23974           full
23975               Compute full frame histograms.
23976
23977           diff
23978               Compute histograms only for the part that differs from previous
23979               frame. This might be relevant to give more importance to the
23980               moving part of your input if the background is static.
23981
23982           single
23983               Compute new histogram for each frame.
23984
23985           Default value is full.
23986
23987       use_alpha
23988           Create a palette of colors with alpha components.  Setting this,
23989           will automatically disable 'reserve_transparent'.
23990
23991       The filter also exports the frame metadata "lavfi.color_quant_ratio"
23992       ("nb_color_in / nb_color_out") which you can use to evaluate the degree
23993       of color quantization of the palette. This information is also visible
23994       at info logging level.
23995
23996       Examples
23997
23998       •   Generate a representative palette of a given video using ffmpeg:
23999
24000                   ffmpeg -i input.mkv -vf palettegen palette.png
24001
24002   paletteuse
24003       Use a palette to downsample an input video stream.
24004
24005       The filter takes two inputs: one video stream and a palette. The
24006       palette must be a 256 pixels image.
24007
24008       It accepts the following options:
24009
24010       dither
24011           Select dithering mode. Available algorithms are:
24012
24013           bayer
24014               Ordered 8x8 bayer dithering (deterministic)
24015
24016           heckbert
24017               Dithering as defined by Paul Heckbert in 1982 (simple error
24018               diffusion).  Note: this dithering is sometimes considered
24019               "wrong" and is included as a reference.
24020
24021           floyd_steinberg
24022               Floyd and Steingberg dithering (error diffusion)
24023
24024           sierra2
24025               Frankie Sierra dithering v2 (error diffusion)
24026
24027           sierra2_4a
24028               Frankie Sierra dithering v2 "Lite" (error diffusion)
24029
24030           Default is sierra2_4a.
24031
24032       bayer_scale
24033           When bayer dithering is selected, this option defines the scale of
24034           the pattern (how much the crosshatch pattern is visible). A low
24035           value means more visible pattern for less banding, and higher value
24036           means less visible pattern at the cost of more banding.
24037
24038           The option must be an integer value in the range [0,5]. Default is
24039           2.
24040
24041       diff_mode
24042           If set, define the zone to process
24043
24044           rectangle
24045               Only the changing rectangle will be reprocessed. This is
24046               similar to GIF cropping/offsetting compression mechanism. This
24047               option can be useful for speed if only a part of the image is
24048               changing, and has use cases such as limiting the scope of the
24049               error diffusal dither to the rectangle that bounds the moving
24050               scene (it leads to more deterministic output if the scene
24051               doesn't change much, and as a result less moving noise and
24052               better GIF compression).
24053
24054           Default is none.
24055
24056       new Take new palette for each output frame.
24057
24058       alpha_threshold
24059           Sets the alpha threshold for transparency. Alpha values above this
24060           threshold will be treated as completely opaque, and values below
24061           this threshold will be treated as completely transparent.
24062
24063           The option must be an integer value in the range [0,255]. Default
24064           is 128.
24065
24066       use_alpha
24067           Apply the palette by taking alpha values into account. Only useful
24068           with palettes that are containing multiple colors with alpha
24069           components.  Setting this will automatically disable
24070           'alpha_treshold'.
24071
24072       Examples
24073
24074       •   Use a palette (generated for example with palettegen) to encode a
24075           GIF using ffmpeg:
24076
24077                   ffmpeg -i input.mkv -i palette.png -lavfi paletteuse output.gif
24078
24079   perspective
24080       Correct perspective of video not recorded perpendicular to the screen.
24081
24082       A description of the accepted parameters follows.
24083
24084       x0
24085       y0
24086       x1
24087       y1
24088       x2
24089       y2
24090       x3
24091       y3  Set coordinates expression for top left, top right, bottom left and
24092           bottom right corners.  Default values are "0:0:W:0:0:H:W:H" with
24093           which perspective will remain unchanged.  If the "sense" option is
24094           set to "source", then the specified points will be sent to the
24095           corners of the destination. If the "sense" option is set to
24096           "destination", then the corners of the source will be sent to the
24097           specified coordinates.
24098
24099           The expressions can use the following variables:
24100
24101           W
24102           H   the width and height of video frame.
24103
24104           in  Input frame count.
24105
24106           on  Output frame count.
24107
24108       interpolation
24109           Set interpolation for perspective correction.
24110
24111           It accepts the following values:
24112
24113           linear
24114           cubic
24115
24116           Default value is linear.
24117
24118       sense
24119           Set interpretation of coordinate options.
24120
24121           It accepts the following values:
24122
24123           0, source
24124               Send point in the source specified by the given coordinates to
24125               the corners of the destination.
24126
24127           1, destination
24128               Send the corners of the source to the point in the destination
24129               specified by the given coordinates.
24130
24131               Default value is source.
24132
24133       eval
24134           Set when the expressions for coordinates x0,y0,...x3,y3 are
24135           evaluated.
24136
24137           It accepts the following values:
24138
24139           init
24140               only evaluate expressions once during the filter initialization
24141               or when a command is processed
24142
24143           frame
24144               evaluate expressions for each incoming frame
24145
24146           Default value is init.
24147
24148   phase
24149       Delay interlaced video by one field time so that the field order
24150       changes.
24151
24152       The intended use is to fix PAL movies that have been captured with the
24153       opposite field order to the film-to-video transfer.
24154
24155       A description of the accepted parameters follows.
24156
24157       mode
24158           Set phase mode.
24159
24160           It accepts the following values:
24161
24162           t   Capture field order top-first, transfer bottom-first.  Filter
24163               will delay the bottom field.
24164
24165           b   Capture field order bottom-first, transfer top-first.  Filter
24166               will delay the top field.
24167
24168           p   Capture and transfer with the same field order. This mode only
24169               exists for the documentation of the other options to refer to,
24170               but if you actually select it, the filter will faithfully do
24171               nothing.
24172
24173           a   Capture field order determined automatically by field flags,
24174               transfer opposite.  Filter selects among t and b modes on a
24175               frame by frame basis using field flags. If no field information
24176               is available, then this works just like u.
24177
24178           u   Capture unknown or varying, transfer opposite.  Filter selects
24179               among t and b on a frame by frame basis by analyzing the images
24180               and selecting the alternative that produces best match between
24181               the fields.
24182
24183           T   Capture top-first, transfer unknown or varying.  Filter selects
24184               among t and p using image analysis.
24185
24186           B   Capture bottom-first, transfer unknown or varying.  Filter
24187               selects among b and p using image analysis.
24188
24189           A   Capture determined by field flags, transfer unknown or varying.
24190               Filter selects among t, b and p using field flags and image
24191               analysis. If no field information is available, then this works
24192               just like U. This is the default mode.
24193
24194           U   Both capture and transfer unknown or varying.  Filter selects
24195               among t, b and p using image analysis only.
24196
24197       Commands
24198
24199       This filter supports the all above options as commands.
24200
24201   photosensitivity
24202       Reduce various flashes in video, so to help users with epilepsy.
24203
24204       It accepts the following options:
24205
24206       frames, f
24207           Set how many frames to use when filtering. Default is 30.
24208
24209       threshold, t
24210           Set detection threshold factor. Default is 1.  Lower is stricter.
24211
24212       skip
24213           Set how many pixels to skip when sampling frames. Default is 1.
24214           Allowed range is from 1 to 1024.
24215
24216       bypass
24217           Leave frames unchanged. Default is disabled.
24218
24219   pixdesctest
24220       Pixel format descriptor test filter, mainly useful for internal
24221       testing. The output video should be equal to the input video.
24222
24223       For example:
24224
24225               format=monow, pixdesctest
24226
24227       can be used to test the monowhite pixel format descriptor definition.
24228
24229   pixscope
24230       Display sample values of color channels. Mainly useful for checking
24231       color and levels. Minimum supported resolution is 640x480.
24232
24233       The filters accept the following options:
24234
24235       x   Set scope X position, relative offset on X axis.
24236
24237       y   Set scope Y position, relative offset on Y axis.
24238
24239       w   Set scope width.
24240
24241       h   Set scope height.
24242
24243       o   Set window opacity. This window also holds statistics about pixel
24244           area.
24245
24246       wx  Set window X position, relative offset on X axis.
24247
24248       wy  Set window Y position, relative offset on Y axis.
24249
24250       Commands
24251
24252       This filter supports same commands as options.
24253
24254   pp
24255       Enable the specified chain of postprocessing subfilters using
24256       libpostproc. This library should be automatically selected with a GPL
24257       build ("--enable-gpl").  Subfilters must be separated by '/' and can be
24258       disabled by prepending a '-'.  Each subfilter and some options have a
24259       short and a long name that can be used interchangeably, i.e. dr/dering
24260       are the same.
24261
24262       The filters accept the following options:
24263
24264       subfilters
24265           Set postprocessing subfilters string.
24266
24267       All subfilters share common options to determine their scope:
24268
24269       a/autoq
24270           Honor the quality commands for this subfilter.
24271
24272       c/chrom
24273           Do chrominance filtering, too (default).
24274
24275       y/nochrom
24276           Do luminance filtering only (no chrominance).
24277
24278       n/noluma
24279           Do chrominance filtering only (no luminance).
24280
24281       These options can be appended after the subfilter name, separated by a
24282       '|'.
24283
24284       Available subfilters are:
24285
24286       hb/hdeblock[|difference[|flatness]]
24287           Horizontal deblocking filter
24288
24289           difference
24290               Difference factor where higher values mean more deblocking
24291               (default: 32).
24292
24293           flatness
24294               Flatness threshold where lower values mean more deblocking
24295               (default: 39).
24296
24297       vb/vdeblock[|difference[|flatness]]
24298           Vertical deblocking filter
24299
24300           difference
24301               Difference factor where higher values mean more deblocking
24302               (default: 32).
24303
24304           flatness
24305               Flatness threshold where lower values mean more deblocking
24306               (default: 39).
24307
24308       ha/hadeblock[|difference[|flatness]]
24309           Accurate horizontal deblocking filter
24310
24311           difference
24312               Difference factor where higher values mean more deblocking
24313               (default: 32).
24314
24315           flatness
24316               Flatness threshold where lower values mean more deblocking
24317               (default: 39).
24318
24319       va/vadeblock[|difference[|flatness]]
24320           Accurate vertical deblocking filter
24321
24322           difference
24323               Difference factor where higher values mean more deblocking
24324               (default: 32).
24325
24326           flatness
24327               Flatness threshold where lower values mean more deblocking
24328               (default: 39).
24329
24330       The horizontal and vertical deblocking filters share the difference and
24331       flatness values so you cannot set different horizontal and vertical
24332       thresholds.
24333
24334       h1/x1hdeblock
24335           Experimental horizontal deblocking filter
24336
24337       v1/x1vdeblock
24338           Experimental vertical deblocking filter
24339
24340       dr/dering
24341           Deringing filter
24342
24343       tn/tmpnoise[|threshold1[|threshold2[|threshold3]]], temporal noise
24344       reducer
24345           threshold1
24346               larger -> stronger filtering
24347
24348           threshold2
24349               larger -> stronger filtering
24350
24351           threshold3
24352               larger -> stronger filtering
24353
24354       al/autolevels[:f/fullyrange], automatic brightness / contrast
24355       correction
24356           f/fullyrange
24357               Stretch luminance to "0-255".
24358
24359       lb/linblenddeint
24360           Linear blend deinterlacing filter that deinterlaces the given block
24361           by filtering all lines with a "(1 2 1)" filter.
24362
24363       li/linipoldeint
24364           Linear interpolating deinterlacing filter that deinterlaces the
24365           given block by linearly interpolating every second line.
24366
24367       ci/cubicipoldeint
24368           Cubic interpolating deinterlacing filter deinterlaces the given
24369           block by cubically interpolating every second line.
24370
24371       md/mediandeint
24372           Median deinterlacing filter that deinterlaces the given block by
24373           applying a median filter to every second line.
24374
24375       fd/ffmpegdeint
24376           FFmpeg deinterlacing filter that deinterlaces the given block by
24377           filtering every second line with a "(-1 4 2 4 -1)" filter.
24378
24379       l5/lowpass5
24380           Vertically applied FIR lowpass deinterlacing filter that
24381           deinterlaces the given block by filtering all lines with a "(-1 2 6
24382           2 -1)" filter.
24383
24384       fq/forceQuant[|quantizer]
24385           Overrides the quantizer table from the input with the constant
24386           quantizer you specify.
24387
24388           quantizer
24389               Quantizer to use
24390
24391       de/default
24392           Default pp filter combination ("hb|a,vb|a,dr|a")
24393
24394       fa/fast
24395           Fast pp filter combination ("h1|a,v1|a,dr|a")
24396
24397       ac  High quality pp filter combination ("ha|a|128|7,va|a,dr|a")
24398
24399       Examples
24400
24401       •   Apply horizontal and vertical deblocking, deringing and automatic
24402           brightness/contrast:
24403
24404                   pp=hb/vb/dr/al
24405
24406       •   Apply default filters without brightness/contrast correction:
24407
24408                   pp=de/-al
24409
24410       •   Apply default filters and temporal denoiser:
24411
24412                   pp=default/tmpnoise|1|2|3
24413
24414       •   Apply deblocking on luminance only, and switch vertical deblocking
24415           on or off automatically depending on available CPU time:
24416
24417                   pp=hb|y/vb|a
24418
24419   pp7
24420       Apply Postprocessing filter 7. It is variant of the spp filter, similar
24421       to spp = 6 with 7 point DCT, where only the center sample is used after
24422       IDCT.
24423
24424       The filter accepts the following options:
24425
24426       qp  Force a constant quantization parameter. It accepts an integer in
24427           range 0 to 63. If not set, the filter will use the QP from the
24428           video stream (if available).
24429
24430       mode
24431           Set thresholding mode. Available modes are:
24432
24433           hard
24434               Set hard thresholding.
24435
24436           soft
24437               Set soft thresholding (better de-ringing effect, but likely
24438               blurrier).
24439
24440           medium
24441               Set medium thresholding (good results, default).
24442
24443   premultiply
24444       Apply alpha premultiply effect to input video stream using first plane
24445       of second stream as alpha.
24446
24447       Both streams must have same dimensions and same pixel format.
24448
24449       The filter accepts the following option:
24450
24451       planes
24452           Set which planes will be processed, unprocessed planes will be
24453           copied.  By default value 0xf, all planes will be processed.
24454
24455       inplace
24456           Do not require 2nd input for processing, instead use alpha plane
24457           from input stream.
24458
24459   prewitt
24460       Apply prewitt operator to input video stream.
24461
24462       The filter accepts the following option:
24463
24464       planes
24465           Set which planes will be processed, unprocessed planes will be
24466           copied.  By default value 0xf, all planes will be processed.
24467
24468       scale
24469           Set value which will be multiplied with filtered result.
24470
24471       delta
24472           Set value which will be added to filtered result.
24473
24474       Commands
24475
24476       This filter supports the all above options as commands.
24477
24478   pseudocolor
24479       Alter frame colors in video with pseudocolors.
24480
24481       This filter accepts the following options:
24482
24483       c0  set pixel first component expression
24484
24485       c1  set pixel second component expression
24486
24487       c2  set pixel third component expression
24488
24489       c3  set pixel fourth component expression, corresponds to the alpha
24490           component
24491
24492       index, i
24493           set component to use as base for altering colors
24494
24495       preset, p
24496           Pick one of built-in LUTs. By default is set to none.
24497
24498           Available LUTs:
24499
24500           magma
24501           inferno
24502           plasma
24503           viridis
24504           turbo
24505           cividis
24506           range1
24507           range2
24508           shadows
24509           highlights
24510           solar
24511           nominal
24512           preferred
24513           total
24514       opacity
24515           Set opacity of output colors. Allowed range is from 0 to 1.
24516           Default value is set to 1.
24517
24518       Each of the expression options specifies the expression to use for
24519       computing the lookup table for the corresponding pixel component
24520       values.
24521
24522       The expressions can contain the following constants and functions:
24523
24524       w
24525       h   The input width and height.
24526
24527       val The input value for the pixel component.
24528
24529       ymin, umin, vmin, amin
24530           The minimum allowed component value.
24531
24532       ymax, umax, vmax, amax
24533           The maximum allowed component value.
24534
24535       All expressions default to "val".
24536
24537       Commands
24538
24539       This filter supports the all above options as commands.
24540
24541       Examples
24542
24543       •   Change too high luma values to gradient:
24544
24545                   pseudocolor="'if(between(val,ymax,amax),lerp(ymin,ymax,(val-ymax)/(amax-ymax)),-1):if(between(val,ymax,amax),lerp(umax,umin,(val-ymax)/(amax-ymax)),-1):if(between(val,ymax,amax),lerp(vmin,vmax,(val-ymax)/(amax-ymax)),-1):-1'"
24546
24547   psnr
24548       Obtain the average, maximum and minimum PSNR (Peak Signal to Noise
24549       Ratio) between two input videos.
24550
24551       This filter takes in input two input videos, the first input is
24552       considered the "main" source and is passed unchanged to the output. The
24553       second input is used as a "reference" video for computing the PSNR.
24554
24555       Both video inputs must have the same resolution and pixel format for
24556       this filter to work correctly. Also it assumes that both inputs have
24557       the same number of frames, which are compared one by one.
24558
24559       The obtained average PSNR is printed through the logging system.
24560
24561       The filter stores the accumulated MSE (mean squared error) of each
24562       frame, and at the end of the processing it is averaged across all
24563       frames equally, and the following formula is applied to obtain the
24564       PSNR:
24565
24566               PSNR = 10*log10(MAX^2/MSE)
24567
24568       Where MAX is the average of the maximum values of each component of the
24569       image.
24570
24571       The description of the accepted parameters follows.
24572
24573       stats_file, f
24574           If specified the filter will use the named file to save the PSNR of
24575           each individual frame. When filename equals "-" the data is sent to
24576           standard output.
24577
24578       stats_version
24579           Specifies which version of the stats file format to use. Details of
24580           each format are written below.  Default value is 1.
24581
24582       stats_add_max
24583           Determines whether the max value is output to the stats log.
24584           Default value is 0.  Requires stats_version >= 2. If this is set
24585           and stats_version < 2, the filter will return an error.
24586
24587       This filter also supports the framesync options.
24588
24589       The file printed if stats_file is selected, contains a sequence of
24590       key/value pairs of the form key:value for each compared couple of
24591       frames.
24592
24593       If a stats_version greater than 1 is specified, a header line precedes
24594       the list of per-frame-pair stats, with key value pairs following the
24595       frame format with the following parameters:
24596
24597       psnr_log_version
24598           The version of the log file format. Will match stats_version.
24599
24600       fields
24601           A comma separated list of the per-frame-pair parameters included in
24602           the log.
24603
24604       A description of each shown per-frame-pair parameter follows:
24605
24606       n   sequential number of the input frame, starting from 1
24607
24608       mse_avg
24609           Mean Square Error pixel-by-pixel average difference of the compared
24610           frames, averaged over all the image components.
24611
24612       mse_y, mse_u, mse_v, mse_r, mse_g, mse_b, mse_a
24613           Mean Square Error pixel-by-pixel average difference of the compared
24614           frames for the component specified by the suffix.
24615
24616       psnr_y, psnr_u, psnr_v, psnr_r, psnr_g, psnr_b, psnr_a
24617           Peak Signal to Noise ratio of the compared frames for the component
24618           specified by the suffix.
24619
24620       max_avg, max_y, max_u, max_v
24621           Maximum allowed value for each channel, and average over all
24622           channels.
24623
24624       Examples
24625
24626       •   For example:
24627
24628                   movie=ref_movie.mpg, setpts=PTS-STARTPTS [main];
24629                   [main][ref] psnr="stats_file=stats.log" [out]
24630
24631           On this example the input file being processed is compared with the
24632           reference file ref_movie.mpg. The PSNR of each individual frame is
24633           stored in stats.log.
24634
24635       •   Another example with different containers:
24636
24637                   ffmpeg -i main.mpg -i ref.mkv -lavfi  "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]psnr" -f null -
24638
24639   pullup
24640       Pulldown reversal (inverse telecine) filter, capable of handling mixed
24641       hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps
24642       progressive content.
24643
24644       The pullup filter is designed to take advantage of future context in
24645       making its decisions. This filter is stateless in the sense that it
24646       does not lock onto a pattern to follow, but it instead looks forward to
24647       the following fields in order to identify matches and rebuild
24648       progressive frames.
24649
24650       To produce content with an even framerate, insert the fps filter after
24651       pullup, use "fps=24000/1001" if the input frame rate is 29.97fps,
24652       "fps=24" for 30fps and the (rare) telecined 25fps input.
24653
24654       The filter accepts the following options:
24655
24656       jl
24657       jr
24658       jt
24659       jb  These options set the amount of "junk" to ignore at the left,
24660           right, top, and bottom of the image, respectively. Left and right
24661           are in units of 8 pixels, while top and bottom are in units of 2
24662           lines.  The default is 8 pixels on each side.
24663
24664       sb  Set the strict breaks. Setting this option to 1 will reduce the
24665           chances of filter generating an occasional mismatched frame, but it
24666           may also cause an excessive number of frames to be dropped during
24667           high motion sequences.  Conversely, setting it to -1 will make
24668           filter match fields more easily.  This may help processing of video
24669           where there is slight blurring between the fields, but may also
24670           cause there to be interlaced frames in the output.  Default value
24671           is 0.
24672
24673       mp  Set the metric plane to use. It accepts the following values:
24674
24675           l   Use luma plane.
24676
24677           u   Use chroma blue plane.
24678
24679           v   Use chroma red plane.
24680
24681           This option may be set to use chroma plane instead of the default
24682           luma plane for doing filter's computations. This may improve
24683           accuracy on very clean source material, but more likely will
24684           decrease accuracy, especially if there is chroma noise (rainbow
24685           effect) or any grayscale video.  The main purpose of setting mp to
24686           a chroma plane is to reduce CPU load and make pullup usable in
24687           realtime on slow machines.
24688
24689       For best results (without duplicated frames in the output file) it is
24690       necessary to change the output frame rate. For example, to inverse
24691       telecine NTSC input:
24692
24693               ffmpeg -i input -vf pullup -r 24000/1001 ...
24694
24695   qp
24696       Change video quantization parameters (QP).
24697
24698       The filter accepts the following option:
24699
24700       qp  Set expression for quantization parameter.
24701
24702       The expression is evaluated through the eval API and can contain, among
24703       others, the following constants:
24704
24705       known
24706           1 if index is not 129, 0 otherwise.
24707
24708       qp  Sequential index starting from -129 to 128.
24709
24710       Examples
24711
24712       •   Some equation like:
24713
24714                   qp=2+2*sin(PI*qp)
24715
24716   random
24717       Flush video frames from internal cache of frames into a random order.
24718       No frame is discarded.  Inspired by frei0r nervous filter.
24719
24720       frames
24721           Set size in number of frames of internal cache, in range from 2 to
24722           512. Default is 30.
24723
24724       seed
24725           Set seed for random number generator, must be an integer included
24726           between 0 and "UINT32_MAX". If not specified, or if explicitly set
24727           to less than 0, the filter will try to use a good random seed on a
24728           best effort basis.
24729
24730   readeia608
24731       Read closed captioning (EIA-608) information from the top lines of a
24732       video frame.
24733
24734       This filter adds frame metadata for "lavfi.readeia608.X.cc" and
24735       "lavfi.readeia608.X.line", where "X" is the number of the identified
24736       line with EIA-608 data (starting from 0). A description of each
24737       metadata value follows:
24738
24739       lavfi.readeia608.X.cc
24740           The two bytes stored as EIA-608 data (printed in hexadecimal).
24741
24742       lavfi.readeia608.X.line
24743           The number of the line on which the EIA-608 data was identified and
24744           read.
24745
24746       This filter accepts the following options:
24747
24748       scan_min
24749           Set the line to start scanning for EIA-608 data. Default is 0.
24750
24751       scan_max
24752           Set the line to end scanning for EIA-608 data. Default is 29.
24753
24754       spw Set the ratio of width reserved for sync code detection.  Default
24755           is 0.27. Allowed range is "[0.1 - 0.7]".
24756
24757       chp Enable checking the parity bit. In the event of a parity error, the
24758           filter will output 0x00 for that character. Default is false.
24759
24760       lp  Lowpass lines prior to further processing. Default is enabled.
24761
24762       Commands
24763
24764       This filter supports the all above options as commands.
24765
24766       Examples
24767
24768       •   Output a csv with presentation time and the first two lines of
24769           identified EIA-608 captioning data.
24770
24771                   ffprobe -f lavfi -i movie=captioned_video.mov,readeia608 -show_entries frame=pts_time:frame_tags=lavfi.readeia608.0.cc,lavfi.readeia608.1.cc -of csv
24772
24773   readvitc
24774       Read vertical interval timecode (VITC) information from the top lines
24775       of a video frame.
24776
24777       The filter adds frame metadata key "lavfi.readvitc.tc_str" with the
24778       timecode value, if a valid timecode has been detected. Further metadata
24779       key "lavfi.readvitc.found" is set to 0/1 depending on whether timecode
24780       data has been found or not.
24781
24782       This filter accepts the following options:
24783
24784       scan_max
24785           Set the maximum number of lines to scan for VITC data. If the value
24786           is set to "-1" the full video frame is scanned. Default is 45.
24787
24788       thr_b
24789           Set the luma threshold for black. Accepts float numbers in the
24790           range [0.0,1.0], default value is 0.2. The value must be equal or
24791           less than "thr_w".
24792
24793       thr_w
24794           Set the luma threshold for white. Accepts float numbers in the
24795           range [0.0,1.0], default value is 0.6. The value must be equal or
24796           greater than "thr_b".
24797
24798       Examples
24799
24800       •   Detect and draw VITC data onto the video frame; if no valid VITC is
24801           detected, draw "--:--:--:--" as a placeholder:
24802
24803                   ffmpeg -i input.avi -filter:v 'readvitc,drawtext=fontfile=FreeMono.ttf:text=%{metadata\\:lavfi.readvitc.tc_str\\:--\\\\\\:--\\\\\\:--\\\\\\:--}:x=(w-tw)/2:y=400-ascent'
24804
24805   remap
24806       Remap pixels using 2nd: Xmap and 3rd: Ymap input video stream.
24807
24808       Destination pixel at position (X, Y) will be picked from source (x, y)
24809       position where x = Xmap(X, Y) and y = Ymap(X, Y). If mapping values are
24810       out of range, zero value for pixel will be used for destination pixel.
24811
24812       Xmap and Ymap input video streams must be of same dimensions. Output
24813       video stream will have Xmap/Ymap video stream dimensions.  Xmap and
24814       Ymap input video streams are 16bit depth, single channel.
24815
24816       format
24817           Specify pixel format of output from this filter. Can be "color" or
24818           "gray".  Default is "color".
24819
24820       fill
24821           Specify the color of the unmapped pixels. For the syntax of this
24822           option, check the "Color" section in the ffmpeg-utils manual.
24823           Default color is "black".
24824
24825   removegrain
24826       The removegrain filter is a spatial denoiser for progressive video.
24827
24828       m0  Set mode for the first plane.
24829
24830       m1  Set mode for the second plane.
24831
24832       m2  Set mode for the third plane.
24833
24834       m3  Set mode for the fourth plane.
24835
24836       Range of mode is from 0 to 24. Description of each mode follows:
24837
24838       0   Leave input plane unchanged. Default.
24839
24840       1   Clips the pixel with the minimum and maximum of the 8 neighbour
24841           pixels.
24842
24843       2   Clips the pixel with the second minimum and maximum of the 8
24844           neighbour pixels.
24845
24846       3   Clips the pixel with the third minimum and maximum of the 8
24847           neighbour pixels.
24848
24849       4   Clips the pixel with the fourth minimum and maximum of the 8
24850           neighbour pixels.  This is equivalent to a median filter.
24851
24852       5   Line-sensitive clipping giving the minimal change.
24853
24854       6   Line-sensitive clipping, intermediate.
24855
24856       7   Line-sensitive clipping, intermediate.
24857
24858       8   Line-sensitive clipping, intermediate.
24859
24860       9   Line-sensitive clipping on a line where the neighbours pixels are
24861           the closest.
24862
24863       10  Replaces the target pixel with the closest neighbour.
24864
24865       11  [1 2 1] horizontal and vertical kernel blur.
24866
24867       12  Same as mode 11.
24868
24869       13  Bob mode, interpolates top field from the line where the neighbours
24870           pixels are the closest.
24871
24872       14  Bob mode, interpolates bottom field from the line where the
24873           neighbours pixels are the closest.
24874
24875       15  Bob mode, interpolates top field. Same as 13 but with a more
24876           complicated interpolation formula.
24877
24878       16  Bob mode, interpolates bottom field. Same as 14 but with a more
24879           complicated interpolation formula.
24880
24881       17  Clips the pixel with the minimum and maximum of respectively the
24882           maximum and minimum of each pair of opposite neighbour pixels.
24883
24884       18  Line-sensitive clipping using opposite neighbours whose greatest
24885           distance from the current pixel is minimal.
24886
24887       19  Replaces the pixel with the average of its 8 neighbours.
24888
24889       20  Averages the 9 pixels ([1 1 1] horizontal and vertical blur).
24890
24891       21  Clips pixels using the averages of opposite neighbour.
24892
24893       22  Same as mode 21 but simpler and faster.
24894
24895       23  Small edge and halo removal, but reputed useless.
24896
24897       24  Similar as 23.
24898
24899   removelogo
24900       Suppress a TV station logo, using an image file to determine which
24901       pixels comprise the logo. It works by filling in the pixels that
24902       comprise the logo with neighboring pixels.
24903
24904       The filter accepts the following options:
24905
24906       filename, f
24907           Set the filter bitmap file, which can be any image format supported
24908           by libavformat. The width and height of the image file must match
24909           those of the video stream being processed.
24910
24911       Pixels in the provided bitmap image with a value of zero are not
24912       considered part of the logo, non-zero pixels are considered part of the
24913       logo. If you use white (255) for the logo and black (0) for the rest,
24914       you will be safe. For making the filter bitmap, it is recommended to
24915       take a screen capture of a black frame with the logo visible, and then
24916       using a threshold filter followed by the erode filter once or twice.
24917
24918       If needed, little splotches can be fixed manually. Remember that if
24919       logo pixels are not covered, the filter quality will be much reduced.
24920       Marking too many pixels as part of the logo does not hurt as much, but
24921       it will increase the amount of blurring needed to cover over the image
24922       and will destroy more information than necessary, and extra pixels will
24923       slow things down on a large logo.
24924
24925   repeatfields
24926       This filter uses the repeat_field flag from the Video ES headers and
24927       hard repeats fields based on its value.
24928
24929   reverse
24930       Reverse a video clip.
24931
24932       Warning: This filter requires memory to buffer the entire clip, so
24933       trimming is suggested.
24934
24935       Examples
24936
24937       •   Take the first 5 seconds of a clip, and reverse it.
24938
24939                   trim=end=5,reverse
24940
24941   rgbashift
24942       Shift R/G/B/A pixels horizontally and/or vertically.
24943
24944       The filter accepts the following options:
24945
24946       rh  Set amount to shift red horizontally.
24947
24948       rv  Set amount to shift red vertically.
24949
24950       gh  Set amount to shift green horizontally.
24951
24952       gv  Set amount to shift green vertically.
24953
24954       bh  Set amount to shift blue horizontally.
24955
24956       bv  Set amount to shift blue vertically.
24957
24958       ah  Set amount to shift alpha horizontally.
24959
24960       av  Set amount to shift alpha vertically.
24961
24962       edge
24963           Set edge mode, can be smear, default, or warp.
24964
24965       Commands
24966
24967       This filter supports the all above options as commands.
24968
24969   roberts
24970       Apply roberts cross operator to input video stream.
24971
24972       The filter accepts the following option:
24973
24974       planes
24975           Set which planes will be processed, unprocessed planes will be
24976           copied.  By default value 0xf, all planes will be processed.
24977
24978       scale
24979           Set value which will be multiplied with filtered result.
24980
24981       delta
24982           Set value which will be added to filtered result.
24983
24984       Commands
24985
24986       This filter supports the all above options as commands.
24987
24988   rotate
24989       Rotate video by an arbitrary angle expressed in radians.
24990
24991       The filter accepts the following options:
24992
24993       A description of the optional parameters follows.
24994
24995       angle, a
24996           Set an expression for the angle by which to rotate the input video
24997           clockwise, expressed as a number of radians. A negative value will
24998           result in a counter-clockwise rotation. By default it is set to
24999           "0".
25000
25001           This expression is evaluated for each frame.
25002
25003       out_w, ow
25004           Set the output width expression, default value is "iw".  This
25005           expression is evaluated just once during configuration.
25006
25007       out_h, oh
25008           Set the output height expression, default value is "ih".  This
25009           expression is evaluated just once during configuration.
25010
25011       bilinear
25012           Enable bilinear interpolation if set to 1, a value of 0 disables
25013           it. Default value is 1.
25014
25015       fillcolor, c
25016           Set the color used to fill the output area not covered by the
25017           rotated image. For the general syntax of this option, check the
25018           "Color" section in the ffmpeg-utils manual.  If the special value
25019           "none" is selected then no background is printed (useful for
25020           example if the background is never shown).
25021
25022           Default value is "black".
25023
25024       The expressions for the angle and the output size can contain the
25025       following constants and functions:
25026
25027       n   sequential number of the input frame, starting from 0. It is always
25028           NAN before the first frame is filtered.
25029
25030       t   time in seconds of the input frame, it is set to 0 when the filter
25031           is configured. It is always NAN before the first frame is filtered.
25032
25033       hsub
25034       vsub
25035           horizontal and vertical chroma subsample values. For example for
25036           the pixel format "yuv422p" hsub is 2 and vsub is 1.
25037
25038       in_w, iw
25039       in_h, ih
25040           the input video width and height
25041
25042       out_w, ow
25043       out_h, oh
25044           the output width and height, that is the size of the padded area as
25045           specified by the width and height expressions
25046
25047       rotw(a)
25048       roth(a)
25049           the minimal width/height required for completely containing the
25050           input video rotated by a radians.
25051
25052           These are only available when computing the out_w and out_h
25053           expressions.
25054
25055       Examples
25056
25057       •   Rotate the input by PI/6 radians clockwise:
25058
25059                   rotate=PI/6
25060
25061       •   Rotate the input by PI/6 radians counter-clockwise:
25062
25063                   rotate=-PI/6
25064
25065       •   Rotate the input by 45 degrees clockwise:
25066
25067                   rotate=45*PI/180
25068
25069       •   Apply a constant rotation with period T, starting from an angle of
25070           PI/3:
25071
25072                   rotate=PI/3+2*PI*t/T
25073
25074       •   Make the input video rotation oscillating with a period of T
25075           seconds and an amplitude of A radians:
25076
25077                   rotate=A*sin(2*PI/T*t)
25078
25079       •   Rotate the video, output size is chosen so that the whole rotating
25080           input video is always completely contained in the output:
25081
25082                   rotate='2*PI*t:ow=hypot(iw,ih):oh=ow'
25083
25084       •   Rotate the video, reduce the output size so that no background is
25085           ever shown:
25086
25087                   rotate=2*PI*t:ow='min(iw,ih)/sqrt(2)':oh=ow:c=none
25088
25089       Commands
25090
25091       The filter supports the following commands:
25092
25093       a, angle
25094           Set the angle expression.  The command accepts the same syntax of
25095           the corresponding option.
25096
25097           If the specified expression is not valid, it is kept at its current
25098           value.
25099
25100   sab
25101       Apply Shape Adaptive Blur.
25102
25103       The filter accepts the following options:
25104
25105       luma_radius, lr
25106           Set luma blur filter strength, must be a value in range 0.1-4.0,
25107           default value is 1.0. A greater value will result in a more blurred
25108           image, and in slower processing.
25109
25110       luma_pre_filter_radius, lpfr
25111           Set luma pre-filter radius, must be a value in the 0.1-2.0 range,
25112           default value is 1.0.
25113
25114       luma_strength, ls
25115           Set luma maximum difference between pixels to still be considered,
25116           must be a value in the 0.1-100.0 range, default value is 1.0.
25117
25118       chroma_radius, cr
25119           Set chroma blur filter strength, must be a value in range -0.9-4.0.
25120           A greater value will result in a more blurred image, and in slower
25121           processing.
25122
25123       chroma_pre_filter_radius, cpfr
25124           Set chroma pre-filter radius, must be a value in the -0.9-2.0
25125           range.
25126
25127       chroma_strength, cs
25128           Set chroma maximum difference between pixels to still be
25129           considered, must be a value in the -0.9-100.0 range.
25130
25131       Each chroma option value, if not explicitly specified, is set to the
25132       corresponding luma option value.
25133
25134   scale
25135       Scale (resize) the input video, using the libswscale library.
25136
25137       The scale filter forces the output display aspect ratio to be the same
25138       of the input, by changing the output sample aspect ratio.
25139
25140       If the input image format is different from the format requested by the
25141       next filter, the scale filter will convert the input to the requested
25142       format.
25143
25144       Options
25145
25146       The filter accepts the following options, or any of the options
25147       supported by the libswscale scaler.
25148
25149       See the ffmpeg-scaler manual for the complete list of scaler options.
25150
25151       width, w
25152       height, h
25153           Set the output video dimension expression. Default value is the
25154           input dimension.
25155
25156           If the width or w value is 0, the input width is used for the
25157           output. If the height or h value is 0, the input height is used for
25158           the output.
25159
25160           If one and only one of the values is -n with n >= 1, the scale
25161           filter will use a value that maintains the aspect ratio of the
25162           input image, calculated from the other specified dimension. After
25163           that it will, however, make sure that the calculated dimension is
25164           divisible by n and adjust the value if necessary.
25165
25166           If both values are -n with n >= 1, the behavior will be identical
25167           to both values being set to 0 as previously detailed.
25168
25169           See below for the list of accepted constants for use in the
25170           dimension expression.
25171
25172       eval
25173           Specify when to evaluate width and height expression. It accepts
25174           the following values:
25175
25176           init
25177               Only evaluate expressions once during the filter initialization
25178               or when a command is processed.
25179
25180           frame
25181               Evaluate expressions for each incoming frame.
25182
25183           Default value is init.
25184
25185       interl
25186           Set the interlacing mode. It accepts the following values:
25187
25188           1   Force interlaced aware scaling.
25189
25190           0   Do not apply interlaced scaling.
25191
25192           -1  Select interlaced aware scaling depending on whether the source
25193               frames are flagged as interlaced or not.
25194
25195           Default value is 0.
25196
25197       flags
25198           Set libswscale scaling flags. See the ffmpeg-scaler manual for the
25199           complete list of values. If not explicitly specified the filter
25200           applies the default flags.
25201
25202       param0, param1
25203           Set libswscale input parameters for scaling algorithms that need
25204           them. See the ffmpeg-scaler manual for the complete documentation.
25205           If not explicitly specified the filter applies empty parameters.
25206
25207       size, s
25208           Set the video size. For the syntax of this option, check the "Video
25209           size" section in the ffmpeg-utils manual.
25210
25211       in_color_matrix
25212       out_color_matrix
25213           Set in/output YCbCr color space type.
25214
25215           This allows the autodetected value to be overridden as well as
25216           allows forcing a specific value used for the output and encoder.
25217
25218           If not specified, the color space type depends on the pixel format.
25219
25220           Possible values:
25221
25222           auto
25223               Choose automatically.
25224
25225           bt709
25226               Format conforming to International Telecommunication Union
25227               (ITU) Recommendation BT.709.
25228
25229           fcc Set color space conforming to the United States Federal
25230               Communications Commission (FCC) Code of Federal Regulations
25231               (CFR) Title 47 (2003) 73.682 (a).
25232
25233           bt601
25234           bt470
25235           smpte170m
25236               Set color space conforming to:
25237
25238               •   ITU Radiocommunication Sector (ITU-R) Recommendation BT.601
25239
25240               •   ITU-R Rec. BT.470-6 (1998) Systems B, B1, and G
25241
25242               •   Society of Motion Picture and Television Engineers (SMPTE)
25243                   ST 170:2004
25244
25245           smpte240m
25246               Set color space conforming to SMPTE ST 240:1999.
25247
25248           bt2020
25249               Set color space conforming to ITU-R BT.2020 non-constant
25250               luminance system.
25251
25252       in_range
25253       out_range
25254           Set in/output YCbCr sample range.
25255
25256           This allows the autodetected value to be overridden as well as
25257           allows forcing a specific value used for the output and encoder. If
25258           not specified, the range depends on the pixel format. Possible
25259           values:
25260
25261           auto/unknown
25262               Choose automatically.
25263
25264           jpeg/full/pc
25265               Set full range (0-255 in case of 8-bit luma).
25266
25267           mpeg/limited/tv
25268               Set "MPEG" range (16-235 in case of 8-bit luma).
25269
25270       force_original_aspect_ratio
25271           Enable decreasing or increasing output video width or height if
25272           necessary to keep the original aspect ratio. Possible values:
25273
25274           disable
25275               Scale the video as specified and disable this feature.
25276
25277           decrease
25278               The output video dimensions will automatically be decreased if
25279               needed.
25280
25281           increase
25282               The output video dimensions will automatically be increased if
25283               needed.
25284
25285           One useful instance of this option is that when you know a specific
25286           device's maximum allowed resolution, you can use this to limit the
25287           output video to that, while retaining the aspect ratio. For
25288           example, device A allows 1280x720 playback, and your video is
25289           1920x800. Using this option (set it to decrease) and specifying
25290           1280x720 to the command line makes the output 1280x533.
25291
25292           Please note that this is a different thing than specifying -1 for w
25293           or h, you still need to specify the output resolution for this
25294           option to work.
25295
25296       force_divisible_by
25297           Ensures that both the output dimensions, width and height, are
25298           divisible by the given integer when used together with
25299           force_original_aspect_ratio. This works similar to using "-n" in
25300           the w and h options.
25301
25302           This option respects the value set for force_original_aspect_ratio,
25303           increasing or decreasing the resolution accordingly. The video's
25304           aspect ratio may be slightly modified.
25305
25306           This option can be handy if you need to have a video fit within or
25307           exceed a defined resolution using force_original_aspect_ratio but
25308           also have encoder restrictions on width or height divisibility.
25309
25310       The values of the w and h options are expressions containing the
25311       following constants:
25312
25313       in_w
25314       in_h
25315           The input width and height
25316
25317       iw
25318       ih  These are the same as in_w and in_h.
25319
25320       out_w
25321       out_h
25322           The output (scaled) width and height
25323
25324       ow
25325       oh  These are the same as out_w and out_h
25326
25327       a   The same as iw / ih
25328
25329       sar input sample aspect ratio
25330
25331       dar The input display aspect ratio. Calculated from "(iw / ih) * sar".
25332
25333       hsub
25334       vsub
25335           horizontal and vertical input chroma subsample values. For example
25336           for the pixel format "yuv422p" hsub is 2 and vsub is 1.
25337
25338       ohsub
25339       ovsub
25340           horizontal and vertical output chroma subsample values. For example
25341           for the pixel format "yuv422p" hsub is 2 and vsub is 1.
25342
25343       n   The (sequential) number of the input frame, starting from 0.  Only
25344           available with "eval=frame".
25345
25346       t   The presentation timestamp of the input frame, expressed as a
25347           number of seconds. Only available with "eval=frame".
25348
25349       pos The position (byte offset) of the frame in the input stream, or NaN
25350           if this information is unavailable and/or meaningless (for example
25351           in case of synthetic video).  Only available with "eval=frame".
25352
25353       Examples
25354
25355       •   Scale the input video to a size of 200x100
25356
25357                   scale=w=200:h=100
25358
25359           This is equivalent to:
25360
25361                   scale=200:100
25362
25363           or:
25364
25365                   scale=200x100
25366
25367       •   Specify a size abbreviation for the output size:
25368
25369                   scale=qcif
25370
25371           which can also be written as:
25372
25373                   scale=size=qcif
25374
25375       •   Scale the input to 2x:
25376
25377                   scale=w=2*iw:h=2*ih
25378
25379       •   The above is the same as:
25380
25381                   scale=2*in_w:2*in_h
25382
25383       •   Scale the input to 2x with forced interlaced scaling:
25384
25385                   scale=2*iw:2*ih:interl=1
25386
25387       •   Scale the input to half size:
25388
25389                   scale=w=iw/2:h=ih/2
25390
25391       •   Increase the width, and set the height to the same size:
25392
25393                   scale=3/2*iw:ow
25394
25395       •   Seek Greek harmony:
25396
25397                   scale=iw:1/PHI*iw
25398                   scale=ih*PHI:ih
25399
25400       •   Increase the height, and set the width to 3/2 of the height:
25401
25402                   scale=w=3/2*oh:h=3/5*ih
25403
25404       •   Increase the size, making the size a multiple of the chroma
25405           subsample values:
25406
25407                   scale="trunc(3/2*iw/hsub)*hsub:trunc(3/2*ih/vsub)*vsub"
25408
25409       •   Increase the width to a maximum of 500 pixels, keeping the same
25410           aspect ratio as the input:
25411
25412                   scale=w='min(500\, iw*3/2):h=-1'
25413
25414       •   Make pixels square by combining scale and setsar:
25415
25416                   scale='trunc(ih*dar):ih',setsar=1/1
25417
25418       •   Make pixels square by combining scale and setsar, making sure the
25419           resulting resolution is even (required by some codecs):
25420
25421                   scale='trunc(ih*dar/2)*2:trunc(ih/2)*2',setsar=1/1
25422
25423       Commands
25424
25425       This filter supports the following commands:
25426
25427       width, w
25428       height, h
25429           Set the output video dimension expression.  The command accepts the
25430           same syntax of the corresponding option.
25431
25432           If the specified expression is not valid, it is kept at its current
25433           value.
25434
25435   scale_cuda
25436       Scale (resize) and convert (pixel format) the input video, using
25437       accelerated CUDA kernels.  Setting the output width and height works in
25438       the same way as for the scale filter.
25439
25440       The filter accepts the following options:
25441
25442       w
25443       h   Set the output video dimension expression. Default value is the
25444           input dimension.
25445
25446           Allows for the same expressions as the scale filter.
25447
25448       interp_algo
25449           Sets the algorithm used for scaling:
25450
25451           nearest
25452               Nearest neighbour
25453
25454               Used by default if input parameters match the desired output.
25455
25456           bilinear
25457               Bilinear
25458
25459           bicubic
25460               Bicubic
25461
25462               This is the default.
25463
25464           lanczos
25465               Lanczos
25466
25467       format
25468           Controls the output pixel format. By default, or if none is
25469           specified, the input pixel format is used.
25470
25471           The filter does not support converting between YUV and RGB pixel
25472           formats.
25473
25474       passthrough
25475           If set to 0, every frame is processed, even if no conversion is
25476           neccesary.  This mode can be useful to use the filter as a buffer
25477           for a downstream frame-consumer that exhausts the limited decoder
25478           frame pool.
25479
25480           If set to 1, frames are passed through as-is if they match the
25481           desired output parameters. This is the default behaviour.
25482
25483       param
25484           Algorithm-Specific parameter.
25485
25486           Affects the curves of the bicubic algorithm.
25487
25488       force_original_aspect_ratio
25489       force_divisible_by
25490           Work the same as the identical scale filter options.
25491
25492       Examples
25493
25494       •   Scale input to 720p, keeping aspect ratio and ensuring the output
25495           is yuv420p.
25496
25497                   scale_cuda=-2:720:format=yuv420p
25498
25499       •   Upscale to 4K using nearest neighbour algorithm.
25500
25501                   scale_cuda=4096:2160:interp_algo=nearest
25502
25503       •   Don't do any conversion or scaling, but copy all input frames into
25504           newly allocated ones.  This can be useful to deal with a filter and
25505           encode chain that otherwise exhausts the decoders frame pool.
25506
25507                   scale_cuda=passthrough=0
25508
25509   scale_npp
25510       Use the NVIDIA Performance Primitives (libnpp) to perform scaling
25511       and/or pixel format conversion on CUDA video frames. Setting the output
25512       width and height works in the same way as for the scale filter.
25513
25514       The following additional options are accepted:
25515
25516       format
25517           The pixel format of the output CUDA frames. If set to the string
25518           "same" (the default), the input format will be kept. Note that
25519           automatic format negotiation and conversion is not yet supported
25520           for hardware frames
25521
25522       interp_algo
25523           The interpolation algorithm used for resizing. One of the
25524           following:
25525
25526           nn  Nearest neighbour.
25527
25528           linear
25529           cubic
25530           cubic2p_bspline
25531               2-parameter cubic (B=1, C=0)
25532
25533           cubic2p_catmullrom
25534               2-parameter cubic (B=0, C=1/2)
25535
25536           cubic2p_b05c03
25537               2-parameter cubic (B=1/2, C=3/10)
25538
25539           super
25540               Supersampling
25541
25542           lanczos
25543       force_original_aspect_ratio
25544           Enable decreasing or increasing output video width or height if
25545           necessary to keep the original aspect ratio. Possible values:
25546
25547           disable
25548               Scale the video as specified and disable this feature.
25549
25550           decrease
25551               The output video dimensions will automatically be decreased if
25552               needed.
25553
25554           increase
25555               The output video dimensions will automatically be increased if
25556               needed.
25557
25558           One useful instance of this option is that when you know a specific
25559           device's maximum allowed resolution, you can use this to limit the
25560           output video to that, while retaining the aspect ratio. For
25561           example, device A allows 1280x720 playback, and your video is
25562           1920x800. Using this option (set it to decrease) and specifying
25563           1280x720 to the command line makes the output 1280x533.
25564
25565           Please note that this is a different thing than specifying -1 for w
25566           or h, you still need to specify the output resolution for this
25567           option to work.
25568
25569       force_divisible_by
25570           Ensures that both the output dimensions, width and height, are
25571           divisible by the given integer when used together with
25572           force_original_aspect_ratio. This works similar to using "-n" in
25573           the w and h options.
25574
25575           This option respects the value set for force_original_aspect_ratio,
25576           increasing or decreasing the resolution accordingly. The video's
25577           aspect ratio may be slightly modified.
25578
25579           This option can be handy if you need to have a video fit within or
25580           exceed a defined resolution using force_original_aspect_ratio but
25581           also have encoder restrictions on width or height divisibility.
25582
25583       eval
25584           Specify when to evaluate width and height expression. It accepts
25585           the following values:
25586
25587           init
25588               Only evaluate expressions once during the filter initialization
25589               or when a command is processed.
25590
25591           frame
25592               Evaluate expressions for each incoming frame.
25593
25594       The values of the w and h options are expressions containing the
25595       following constants:
25596
25597       in_w
25598       in_h
25599           The input width and height
25600
25601       iw
25602       ih  These are the same as in_w and in_h.
25603
25604       out_w
25605       out_h
25606           The output (scaled) width and height
25607
25608       ow
25609       oh  These are the same as out_w and out_h
25610
25611       a   The same as iw / ih
25612
25613       sar input sample aspect ratio
25614
25615       dar The input display aspect ratio. Calculated from "(iw / ih) * sar".
25616
25617       n   The (sequential) number of the input frame, starting from 0.  Only
25618           available with "eval=frame".
25619
25620       t   The presentation timestamp of the input frame, expressed as a
25621           number of seconds. Only available with "eval=frame".
25622
25623       pos The position (byte offset) of the frame in the input stream, or NaN
25624           if this information is unavailable and/or meaningless (for example
25625           in case of synthetic video).  Only available with "eval=frame".
25626
25627   scale2ref
25628       Scale (resize) the input video, based on a reference video.
25629
25630       See the scale filter for available options, scale2ref supports the same
25631       but uses the reference video instead of the main input as basis.
25632       scale2ref also supports the following additional constants for the w
25633       and h options:
25634
25635       main_w
25636       main_h
25637           The main input video's width and height
25638
25639       main_a
25640           The same as main_w / main_h
25641
25642       main_sar
25643           The main input video's sample aspect ratio
25644
25645       main_dar, mdar
25646           The main input video's display aspect ratio. Calculated from
25647           "(main_w / main_h) * main_sar".
25648
25649       main_hsub
25650       main_vsub
25651           The main input video's horizontal and vertical chroma subsample
25652           values.  For example for the pixel format "yuv422p" hsub is 2 and
25653           vsub is 1.
25654
25655       main_n
25656           The (sequential) number of the main input frame, starting from 0.
25657           Only available with "eval=frame".
25658
25659       main_t
25660           The presentation timestamp of the main input frame, expressed as a
25661           number of seconds. Only available with "eval=frame".
25662
25663       main_pos
25664           The position (byte offset) of the frame in the main input stream,
25665           or NaN if this information is unavailable and/or meaningless (for
25666           example in case of synthetic video).  Only available with
25667           "eval=frame".
25668
25669       Examples
25670
25671       •   Scale a subtitle stream (b) to match the main video (a) in size
25672           before overlaying
25673
25674                   'scale2ref[b][a];[a][b]overlay'
25675
25676       •   Scale a logo to 1/10th the height of a video, while preserving its
25677           display aspect ratio.
25678
25679                   [logo-in][video-in]scale2ref=w=oh*mdar:h=ih/10[logo-out][video-out]
25680
25681       Commands
25682
25683       This filter supports the following commands:
25684
25685       width, w
25686       height, h
25687           Set the output video dimension expression.  The command accepts the
25688           same syntax of the corresponding option.
25689
25690           If the specified expression is not valid, it is kept at its current
25691           value.
25692
25693   scale2ref_npp
25694       Use the NVIDIA Performance Primitives (libnpp) to scale (resize) the
25695       input video, based on a reference video.
25696
25697       See the scale_npp filter for available options, scale2ref_npp supports
25698       the same but uses the reference video instead of the main input as
25699       basis. scale2ref_npp also supports the following additional constants
25700       for the w and h options:
25701
25702       main_w
25703       main_h
25704           The main input video's width and height
25705
25706       main_a
25707           The same as main_w / main_h
25708
25709       main_sar
25710           The main input video's sample aspect ratio
25711
25712       main_dar, mdar
25713           The main input video's display aspect ratio. Calculated from
25714           "(main_w / main_h) * main_sar".
25715
25716       main_n
25717           The (sequential) number of the main input frame, starting from 0.
25718           Only available with "eval=frame".
25719
25720       main_t
25721           The presentation timestamp of the main input frame, expressed as a
25722           number of seconds. Only available with "eval=frame".
25723
25724       main_pos
25725           The position (byte offset) of the frame in the main input stream,
25726           or NaN if this information is unavailable and/or meaningless (for
25727           example in case of synthetic video).  Only available with
25728           "eval=frame".
25729
25730       Examples
25731
25732       •   Scale a subtitle stream (b) to match the main video (a) in size
25733           before overlaying
25734
25735                   'scale2ref_npp[b][a];[a][b]overlay_cuda'
25736
25737       •   Scale a logo to 1/10th the height of a video, while preserving its
25738           display aspect ratio.
25739
25740                   [logo-in][video-in]scale2ref_npp=w=oh*mdar:h=ih/10[logo-out][video-out]
25741
25742   scharr
25743       Apply scharr operator to input video stream.
25744
25745       The filter accepts the following option:
25746
25747       planes
25748           Set which planes will be processed, unprocessed planes will be
25749           copied.  By default value 0xf, all planes will be processed.
25750
25751       scale
25752           Set value which will be multiplied with filtered result.
25753
25754       delta
25755           Set value which will be added to filtered result.
25756
25757       Commands
25758
25759       This filter supports the all above options as commands.
25760
25761   scroll
25762       Scroll input video horizontally and/or vertically by constant speed.
25763
25764       The filter accepts the following options:
25765
25766       horizontal, h
25767           Set the horizontal scrolling speed. Default is 0. Allowed range is
25768           from -1 to 1.  Negative values changes scrolling direction.
25769
25770       vertical, v
25771           Set the vertical scrolling speed. Default is 0. Allowed range is
25772           from -1 to 1.  Negative values changes scrolling direction.
25773
25774       hpos
25775           Set the initial horizontal scrolling position. Default is 0.
25776           Allowed range is from 0 to 1.
25777
25778       vpos
25779           Set the initial vertical scrolling position. Default is 0. Allowed
25780           range is from 0 to 1.
25781
25782       Commands
25783
25784       This filter supports the following commands:
25785
25786       horizontal, h
25787           Set the horizontal scrolling speed.
25788
25789       vertical, v
25790           Set the vertical scrolling speed.
25791
25792   scdet
25793       Detect video scene change.
25794
25795       This filter sets frame metadata with mafd between frame, the scene
25796       score, and forward the frame to the next filter, so they can use these
25797       metadata to detect scene change or others.
25798
25799       In addition, this filter logs a message and sets frame metadata when it
25800       detects a scene change by threshold.
25801
25802       "lavfi.scd.mafd" metadata keys are set with mafd for every frame.
25803
25804       "lavfi.scd.score" metadata keys are set with scene change score for
25805       every frame to detect scene change.
25806
25807       "lavfi.scd.time" metadata keys are set with current filtered frame time
25808       which detect scene change with threshold.
25809
25810       The filter accepts the following options:
25811
25812       threshold, t
25813           Set the scene change detection threshold as a percentage of maximum
25814           change. Good values are in the "[8.0, 14.0]" range. The range for
25815           threshold is "[0., 100.]".
25816
25817           Default value is 10..
25818
25819       sc_pass, s
25820           Set the flag to pass scene change frames to the next filter.
25821           Default value is 0 You can enable it if you want to get snapshot of
25822           scene change frames only.
25823
25824   selectivecolor
25825       Adjust cyan, magenta, yellow and black (CMYK) to certain ranges of
25826       colors (such as "reds", "yellows", "greens", "cyans", ...). The
25827       adjustment range is defined by the "purity" of the color (that is, how
25828       saturated it already is).
25829
25830       This filter is similar to the Adobe Photoshop Selective Color tool.
25831
25832       The filter accepts the following options:
25833
25834       correction_method
25835           Select color correction method.
25836
25837           Available values are:
25838
25839           absolute
25840               Specified adjustments are applied "as-is" (added/subtracted to
25841               original pixel component value).
25842
25843           relative
25844               Specified adjustments are relative to the original component
25845               value.
25846
25847           Default is "absolute".
25848
25849       reds
25850           Adjustments for red pixels (pixels where the red component is the
25851           maximum)
25852
25853       yellows
25854           Adjustments for yellow pixels (pixels where the blue component is
25855           the minimum)
25856
25857       greens
25858           Adjustments for green pixels (pixels where the green component is
25859           the maximum)
25860
25861       cyans
25862           Adjustments for cyan pixels (pixels where the red component is the
25863           minimum)
25864
25865       blues
25866           Adjustments for blue pixels (pixels where the blue component is the
25867           maximum)
25868
25869       magentas
25870           Adjustments for magenta pixels (pixels where the green component is
25871           the minimum)
25872
25873       whites
25874           Adjustments for white pixels (pixels where all components are
25875           greater than 128)
25876
25877       neutrals
25878           Adjustments for all pixels except pure black and pure white
25879
25880       blacks
25881           Adjustments for black pixels (pixels where all components are
25882           lesser than 128)
25883
25884       psfile
25885           Specify a Photoshop selective color file (".asv") to import the
25886           settings from.
25887
25888       All the adjustment settings (reds, yellows, ...) accept up to 4 space
25889       separated floating point adjustment values in the [-1,1] range,
25890       respectively to adjust the amount of cyan, magenta, yellow and black
25891       for the pixels of its range.
25892
25893       Examples
25894
25895       •   Increase cyan by 50% and reduce yellow by 33% in every green areas,
25896           and increase magenta by 27% in blue areas:
25897
25898                   selectivecolor=greens=.5 0 -.33 0:blues=0 .27
25899
25900       •   Use a Photoshop selective color preset:
25901
25902                   selectivecolor=psfile=MySelectiveColorPresets/Misty.asv
25903
25904   separatefields
25905       The "separatefields" takes a frame-based video input and splits each
25906       frame into its components fields, producing a new half height clip with
25907       twice the frame rate and twice the frame count.
25908
25909       This filter use field-dominance information in frame to decide which of
25910       each pair of fields to place first in the output.  If it gets it wrong
25911       use setfield filter before "separatefields" filter.
25912
25913   setdar, setsar
25914       The "setdar" filter sets the Display Aspect Ratio for the filter output
25915       video.
25916
25917       This is done by changing the specified Sample (aka Pixel) Aspect Ratio,
25918       according to the following equation:
25919
25920               <DAR> = <HORIZONTAL_RESOLUTION> / <VERTICAL_RESOLUTION> * <SAR>
25921
25922       Keep in mind that the "setdar" filter does not modify the pixel
25923       dimensions of the video frame. Also, the display aspect ratio set by
25924       this filter may be changed by later filters in the filterchain, e.g. in
25925       case of scaling or if another "setdar" or a "setsar" filter is applied.
25926
25927       The "setsar" filter sets the Sample (aka Pixel) Aspect Ratio for the
25928       filter output video.
25929
25930       Note that as a consequence of the application of this filter, the
25931       output display aspect ratio will change according to the equation
25932       above.
25933
25934       Keep in mind that the sample aspect ratio set by the "setsar" filter
25935       may be changed by later filters in the filterchain, e.g. if another
25936       "setsar" or a "setdar" filter is applied.
25937
25938       It accepts the following parameters:
25939
25940       r, ratio, dar ("setdar" only), sar ("setsar" only)
25941           Set the aspect ratio used by the filter.
25942
25943           The parameter can be a floating point number string, an expression,
25944           or a string of the form num:den, where num and den are the
25945           numerator and denominator of the aspect ratio. If the parameter is
25946           not specified, it is assumed the value "0".  In case the form
25947           "num:den" is used, the ":" character should be escaped.
25948
25949       max Set the maximum integer value to use for expressing numerator and
25950           denominator when reducing the expressed aspect ratio to a rational.
25951           Default value is 100.
25952
25953       The parameter sar is an expression containing the following constants:
25954
25955       E, PI, PHI
25956           These are approximated values for the mathematical constants e
25957           (Euler's number), pi (Greek pi), and phi (the golden ratio).
25958
25959       w, h
25960           The input width and height.
25961
25962       a   These are the same as w / h.
25963
25964       sar The input sample aspect ratio.
25965
25966       dar The input display aspect ratio. It is the same as (w / h) * sar.
25967
25968       hsub, vsub
25969           Horizontal and vertical chroma subsample values. For example, for
25970           the pixel format "yuv422p" hsub is 2 and vsub is 1.
25971
25972       Examples
25973
25974       •   To change the display aspect ratio to 16:9, specify one of the
25975           following:
25976
25977                   setdar=dar=1.77777
25978                   setdar=dar=16/9
25979
25980       •   To change the sample aspect ratio to 10:11, specify:
25981
25982                   setsar=sar=10/11
25983
25984       •   To set a display aspect ratio of 16:9, and specify a maximum
25985           integer value of 1000 in the aspect ratio reduction, use the
25986           command:
25987
25988                   setdar=ratio=16/9:max=1000
25989
25990   setfield
25991       Force field for the output video frame.
25992
25993       The "setfield" filter marks the interlace type field for the output
25994       frames. It does not change the input frame, but only sets the
25995       corresponding property, which affects how the frame is treated by
25996       following filters (e.g. "fieldorder" or "yadif").
25997
25998       The filter accepts the following options:
25999
26000       mode
26001           Available values are:
26002
26003           auto
26004               Keep the same field property.
26005
26006           bff Mark the frame as bottom-field-first.
26007
26008           tff Mark the frame as top-field-first.
26009
26010           prog
26011               Mark the frame as progressive.
26012
26013   setparams
26014       Force frame parameter for the output video frame.
26015
26016       The "setparams" filter marks interlace and color range for the output
26017       frames. It does not change the input frame, but only sets the
26018       corresponding property, which affects how the frame is treated by
26019       filters/encoders.
26020
26021       field_mode
26022           Available values are:
26023
26024           auto
26025               Keep the same field property (default).
26026
26027           bff Mark the frame as bottom-field-first.
26028
26029           tff Mark the frame as top-field-first.
26030
26031           prog
26032               Mark the frame as progressive.
26033
26034       range
26035           Available values are:
26036
26037           auto
26038               Keep the same color range property (default).
26039
26040           unspecified, unknown
26041               Mark the frame as unspecified color range.
26042
26043           limited, tv, mpeg
26044               Mark the frame as limited range.
26045
26046           full, pc, jpeg
26047               Mark the frame as full range.
26048
26049       color_primaries
26050           Set the color primaries.  Available values are:
26051
26052           auto
26053               Keep the same color primaries property (default).
26054
26055           bt709
26056           unknown
26057           bt470m
26058           bt470bg
26059           smpte170m
26060           smpte240m
26061           film
26062           bt2020
26063           smpte428
26064           smpte431
26065           smpte432
26066           jedec-p22
26067       color_trc
26068           Set the color transfer.  Available values are:
26069
26070           auto
26071               Keep the same color trc property (default).
26072
26073           bt709
26074           unknown
26075           bt470m
26076           bt470bg
26077           smpte170m
26078           smpte240m
26079           linear
26080           log100
26081           log316
26082           iec61966-2-4
26083           bt1361e
26084           iec61966-2-1
26085           bt2020-10
26086           bt2020-12
26087           smpte2084
26088           smpte428
26089           arib-std-b67
26090       colorspace
26091           Set the colorspace.  Available values are:
26092
26093           auto
26094               Keep the same colorspace property (default).
26095
26096           gbr
26097           bt709
26098           unknown
26099           fcc
26100           bt470bg
26101           smpte170m
26102           smpte240m
26103           ycgco
26104           bt2020nc
26105           bt2020c
26106           smpte2085
26107           chroma-derived-nc
26108           chroma-derived-c
26109           ictcp
26110
26111   sharpen_npp
26112       Use the NVIDIA Performance Primitives (libnpp) to perform image
26113       sharpening with border control.
26114
26115       The following additional options are accepted:
26116
26117       border_type
26118           Type of sampling to be used ad frame borders. One of the following:
26119
26120           replicate
26121               Replicate pixel values.
26122
26123   shear
26124       Apply shear transform to input video.
26125
26126       This filter supports the following options:
26127
26128       shx Shear factor in X-direction. Default value is 0.  Allowed range is
26129           from -2 to 2.
26130
26131       shy Shear factor in Y-direction. Default value is 0.  Allowed range is
26132           from -2 to 2.
26133
26134       fillcolor, c
26135           Set the color used to fill the output area not covered by the
26136           transformed video. For the general syntax of this option, check the
26137           "Color" section in the ffmpeg-utils manual.  If the special value
26138           "none" is selected then no background is printed (useful for
26139           example if the background is never shown).
26140
26141           Default value is "black".
26142
26143       interp
26144           Set interpolation type. Can be "bilinear" or "nearest". Default is
26145           "bilinear".
26146
26147       Commands
26148
26149       This filter supports the all above options as commands.
26150
26151   showinfo
26152       Show a line containing various information for each input video frame.
26153       The input video is not modified.
26154
26155       This filter supports the following options:
26156
26157       checksum
26158           Calculate checksums of each plane. By default enabled.
26159
26160       The shown line contains a sequence of key/value pairs of the form
26161       key:value.
26162
26163       The following values are shown in the output:
26164
26165       n   The (sequential) number of the input frame, starting from 0.
26166
26167       pts The Presentation TimeStamp of the input frame, expressed as a
26168           number of time base units. The time base unit depends on the filter
26169           input pad.
26170
26171       pts_time
26172           The Presentation TimeStamp of the input frame, expressed as a
26173           number of seconds.
26174
26175       pos The position of the frame in the input stream, or -1 if this
26176           information is unavailable and/or meaningless (for example in case
26177           of synthetic video).
26178
26179       fmt The pixel format name.
26180
26181       sar The sample aspect ratio of the input frame, expressed in the form
26182           num/den.
26183
26184       s   The size of the input frame. For the syntax of this option, check
26185           the "Video size" section in the ffmpeg-utils manual.
26186
26187       i   The type of interlaced mode ("P" for "progressive", "T" for top
26188           field first, "B" for bottom field first).
26189
26190       iskey
26191           This is 1 if the frame is a key frame, 0 otherwise.
26192
26193       type
26194           The picture type of the input frame ("I" for an I-frame, "P" for a
26195           P-frame, "B" for a B-frame, or "?" for an unknown type).  Also
26196           refer to the documentation of the "AVPictureType" enum and of the
26197           "av_get_picture_type_char" function defined in libavutil/avutil.h.
26198
26199       checksum
26200           The Adler-32 checksum (printed in hexadecimal) of all the planes of
26201           the input frame.
26202
26203       plane_checksum
26204           The Adler-32 checksum (printed in hexadecimal) of each plane of the
26205           input frame, expressed in the form "[c0 c1 c2 c3]".
26206
26207       mean
26208           The mean value of pixels in each plane of the input frame,
26209           expressed in the form "[mean0 mean1 mean2 mean3]".
26210
26211       stdev
26212           The standard deviation of pixel values in each plane of the input
26213           frame, expressed in the form "[stdev0 stdev1 stdev2 stdev3]".
26214
26215   showpalette
26216       Displays the 256 colors palette of each frame. This filter is only
26217       relevant for pal8 pixel format frames.
26218
26219       It accepts the following option:
26220
26221       s   Set the size of the box used to represent one palette color entry.
26222           Default is 30 (for a "30x30" pixel box).
26223
26224   shuffleframes
26225       Reorder and/or duplicate and/or drop video frames.
26226
26227       It accepts the following parameters:
26228
26229       mapping
26230           Set the destination indexes of input frames.  This is space or '|'
26231           separated list of indexes that maps input frames to output frames.
26232           Number of indexes also sets maximal value that each index may have.
26233           '-1' index have special meaning and that is to drop frame.
26234
26235       The first frame has the index 0. The default is to keep the input
26236       unchanged.
26237
26238       Examples
26239
26240       •   Swap second and third frame of every three frames of the input:
26241
26242                   ffmpeg -i INPUT -vf "shuffleframes=0 2 1" OUTPUT
26243
26244       •   Swap 10th and 1st frame of every ten frames of the input:
26245
26246                   ffmpeg -i INPUT -vf "shuffleframes=9 1 2 3 4 5 6 7 8 0" OUTPUT
26247
26248   shufflepixels
26249       Reorder pixels in video frames.
26250
26251       This filter accepts the following options:
26252
26253       direction, d
26254           Set shuffle direction. Can be forward or inverse direction.
26255           Default direction is forward.
26256
26257       mode, m
26258           Set shuffle mode. Can be horizontal, vertical or block mode.
26259
26260       width, w
26261       height, h
26262           Set shuffle block_size. In case of horizontal shuffle mode only
26263           width part of size is used, and in case of vertical shuffle mode
26264           only height part of size is used.
26265
26266       seed, s
26267           Set random seed used with shuffling pixels. Mainly useful to set to
26268           be able to reverse filtering process to get original input.  For
26269           example, to reverse forward shuffle you need to use same parameters
26270           and exact same seed and to set direction to inverse.
26271
26272   shuffleplanes
26273       Reorder and/or duplicate video planes.
26274
26275       It accepts the following parameters:
26276
26277       map0
26278           The index of the input plane to be used as the first output plane.
26279
26280       map1
26281           The index of the input plane to be used as the second output plane.
26282
26283       map2
26284           The index of the input plane to be used as the third output plane.
26285
26286       map3
26287           The index of the input plane to be used as the fourth output plane.
26288
26289       The first plane has the index 0. The default is to keep the input
26290       unchanged.
26291
26292       Examples
26293
26294       •   Swap the second and third planes of the input:
26295
26296                   ffmpeg -i INPUT -vf shuffleplanes=0:2:1:3 OUTPUT
26297
26298   signalstats
26299       Evaluate various visual metrics that assist in determining issues
26300       associated with the digitization of analog video media.
26301
26302       By default the filter will log these metadata values:
26303
26304       YMIN
26305           Display the minimal Y value contained within the input frame.
26306           Expressed in range of [0-255].
26307
26308       YLOW
26309           Display the Y value at the 10% percentile within the input frame.
26310           Expressed in range of [0-255].
26311
26312       YAVG
26313           Display the average Y value within the input frame. Expressed in
26314           range of [0-255].
26315
26316       YHIGH
26317           Display the Y value at the 90% percentile within the input frame.
26318           Expressed in range of [0-255].
26319
26320       YMAX
26321           Display the maximum Y value contained within the input frame.
26322           Expressed in range of [0-255].
26323
26324       UMIN
26325           Display the minimal U value contained within the input frame.
26326           Expressed in range of [0-255].
26327
26328       ULOW
26329           Display the U value at the 10% percentile within the input frame.
26330           Expressed in range of [0-255].
26331
26332       UAVG
26333           Display the average U value within the input frame. Expressed in
26334           range of [0-255].
26335
26336       UHIGH
26337           Display the U value at the 90% percentile within the input frame.
26338           Expressed in range of [0-255].
26339
26340       UMAX
26341           Display the maximum U value contained within the input frame.
26342           Expressed in range of [0-255].
26343
26344       VMIN
26345           Display the minimal V value contained within the input frame.
26346           Expressed in range of [0-255].
26347
26348       VLOW
26349           Display the V value at the 10% percentile within the input frame.
26350           Expressed in range of [0-255].
26351
26352       VAVG
26353           Display the average V value within the input frame. Expressed in
26354           range of [0-255].
26355
26356       VHIGH
26357           Display the V value at the 90% percentile within the input frame.
26358           Expressed in range of [0-255].
26359
26360       VMAX
26361           Display the maximum V value contained within the input frame.
26362           Expressed in range of [0-255].
26363
26364       SATMIN
26365           Display the minimal saturation value contained within the input
26366           frame.  Expressed in range of [0-~181.02].
26367
26368       SATLOW
26369           Display the saturation value at the 10% percentile within the input
26370           frame.  Expressed in range of [0-~181.02].
26371
26372       SATAVG
26373           Display the average saturation value within the input frame.
26374           Expressed in range of [0-~181.02].
26375
26376       SATHIGH
26377           Display the saturation value at the 90% percentile within the input
26378           frame.  Expressed in range of [0-~181.02].
26379
26380       SATMAX
26381           Display the maximum saturation value contained within the input
26382           frame.  Expressed in range of [0-~181.02].
26383
26384       HUEMED
26385           Display the median value for hue within the input frame. Expressed
26386           in range of [0-360].
26387
26388       HUEAVG
26389           Display the average value for hue within the input frame. Expressed
26390           in range of [0-360].
26391
26392       YDIF
26393           Display the average of sample value difference between all values
26394           of the Y plane in the current frame and corresponding values of the
26395           previous input frame.  Expressed in range of [0-255].
26396
26397       UDIF
26398           Display the average of sample value difference between all values
26399           of the U plane in the current frame and corresponding values of the
26400           previous input frame.  Expressed in range of [0-255].
26401
26402       VDIF
26403           Display the average of sample value difference between all values
26404           of the V plane in the current frame and corresponding values of the
26405           previous input frame.  Expressed in range of [0-255].
26406
26407       YBITDEPTH
26408           Display bit depth of Y plane in current frame.  Expressed in range
26409           of [0-16].
26410
26411       UBITDEPTH
26412           Display bit depth of U plane in current frame.  Expressed in range
26413           of [0-16].
26414
26415       VBITDEPTH
26416           Display bit depth of V plane in current frame.  Expressed in range
26417           of [0-16].
26418
26419       The filter accepts the following options:
26420
26421       stat
26422       out stat specify an additional form of image analysis.  out output
26423           video with the specified type of pixel highlighted.
26424
26425           Both options accept the following values:
26426
26427           tout
26428               Identify temporal outliers pixels. A temporal outlier is a
26429               pixel unlike the neighboring pixels of the same field. Examples
26430               of temporal outliers include the results of video dropouts,
26431               head clogs, or tape tracking issues.
26432
26433           vrep
26434               Identify vertical line repetition. Vertical line repetition
26435               includes similar rows of pixels within a frame. In born-digital
26436               video vertical line repetition is common, but this pattern is
26437               uncommon in video digitized from an analog source. When it
26438               occurs in video that results from the digitization of an analog
26439               source it can indicate concealment from a dropout compensator.
26440
26441           brng
26442               Identify pixels that fall outside of legal broadcast range.
26443
26444       color, c
26445           Set the highlight color for the out option. The default color is
26446           yellow.
26447
26448       Examples
26449
26450       •   Output data of various video metrics:
26451
26452                   ffprobe -f lavfi movie=example.mov,signalstats="stat=tout+vrep+brng" -show_frames
26453
26454       •   Output specific data about the minimum and maximum values of the Y
26455           plane per frame:
26456
26457                   ffprobe -f lavfi movie=example.mov,signalstats -show_entries frame_tags=lavfi.signalstats.YMAX,lavfi.signalstats.YMIN
26458
26459       •   Playback video while highlighting pixels that are outside of
26460           broadcast range in red.
26461
26462                   ffplay example.mov -vf signalstats="out=brng:color=red"
26463
26464       •   Playback video with signalstats metadata drawn over the frame.
26465
26466                   ffplay example.mov -vf signalstats=stat=brng+vrep+tout,drawtext=fontfile=FreeSerif.ttf:textfile=signalstat_drawtext.txt
26467
26468           The contents of signalstat_drawtext.txt used in the command are:
26469
26470                   time %{pts:hms}
26471                   Y (%{metadata:lavfi.signalstats.YMIN}-%{metadata:lavfi.signalstats.YMAX})
26472                   U (%{metadata:lavfi.signalstats.UMIN}-%{metadata:lavfi.signalstats.UMAX})
26473                   V (%{metadata:lavfi.signalstats.VMIN}-%{metadata:lavfi.signalstats.VMAX})
26474                   saturation maximum: %{metadata:lavfi.signalstats.SATMAX}
26475
26476   signature
26477       Calculates the MPEG-7 Video Signature. The filter can handle more than
26478       one input. In this case the matching between the inputs can be
26479       calculated additionally.  The filter always passes through the first
26480       input. The signature of each stream can be written into a file.
26481
26482       It accepts the following options:
26483
26484       detectmode
26485           Enable or disable the matching process.
26486
26487           Available values are:
26488
26489           off Disable the calculation of a matching (default).
26490
26491           full
26492               Calculate the matching for the whole video and output whether
26493               the whole video matches or only parts.
26494
26495           fast
26496               Calculate only until a matching is found or the video ends.
26497               Should be faster in some cases.
26498
26499       nb_inputs
26500           Set the number of inputs. The option value must be a non negative
26501           integer.  Default value is 1.
26502
26503       filename
26504           Set the path to which the output is written. If there is more than
26505           one input, the path must be a prototype, i.e. must contain %d or
26506           %0nd (where n is a positive integer), that will be replaced with
26507           the input number. If no filename is specified, no output will be
26508           written. This is the default.
26509
26510       format
26511           Choose the output format.
26512
26513           Available values are:
26514
26515           binary
26516               Use the specified binary representation (default).
26517
26518           xml Use the specified xml representation.
26519
26520       th_d
26521           Set threshold to detect one word as similar. The option value must
26522           be an integer greater than zero. The default value is 9000.
26523
26524       th_dc
26525           Set threshold to detect all words as similar. The option value must
26526           be an integer greater than zero. The default value is 60000.
26527
26528       th_xh
26529           Set threshold to detect frames as similar. The option value must be
26530           an integer greater than zero. The default value is 116.
26531
26532       th_di
26533           Set the minimum length of a sequence in frames to recognize it as
26534           matching sequence. The option value must be a non negative integer
26535           value.  The default value is 0.
26536
26537       th_it
26538           Set the minimum relation, that matching frames to all frames must
26539           have.  The option value must be a double value between 0 and 1. The
26540           default value is 0.5.
26541
26542       Examples
26543
26544       •   To calculate the signature of an input video and store it in
26545           signature.bin:
26546
26547                   ffmpeg -i input.mkv -vf signature=filename=signature.bin -map 0:v -f null -
26548
26549       •   To detect whether two videos match and store the signatures in XML
26550           format in signature0.xml and signature1.xml:
26551
26552                   ffmpeg -i input1.mkv -i input2.mkv -filter_complex "[0:v][1:v] signature=nb_inputs=2:detectmode=full:format=xml:filename=signature%d.xml" -map :v -f null -
26553
26554   smartblur
26555       Blur the input video without impacting the outlines.
26556
26557       It accepts the following options:
26558
26559       luma_radius, lr
26560           Set the luma radius. The option value must be a float number in the
26561           range [0.1,5.0] that specifies the variance of the gaussian filter
26562           used to blur the image (slower if larger). Default value is 1.0.
26563
26564       luma_strength, ls
26565           Set the luma strength. The option value must be a float number in
26566           the range [-1.0,1.0] that configures the blurring. A value included
26567           in [0.0,1.0] will blur the image whereas a value included in
26568           [-1.0,0.0] will sharpen the image. Default value is 1.0.
26569
26570       luma_threshold, lt
26571           Set the luma threshold used as a coefficient to determine whether a
26572           pixel should be blurred or not. The option value must be an integer
26573           in the range [-30,30]. A value of 0 will filter all the image, a
26574           value included in [0,30] will filter flat areas and a value
26575           included in [-30,0] will filter edges. Default value is 0.
26576
26577       chroma_radius, cr
26578           Set the chroma radius. The option value must be a float number in
26579           the range [0.1,5.0] that specifies the variance of the gaussian
26580           filter used to blur the image (slower if larger). Default value is
26581           luma_radius.
26582
26583       chroma_strength, cs
26584           Set the chroma strength. The option value must be a float number in
26585           the range [-1.0,1.0] that configures the blurring. A value included
26586           in [0.0,1.0] will blur the image whereas a value included in
26587           [-1.0,0.0] will sharpen the image. Default value is luma_strength.
26588
26589       chroma_threshold, ct
26590           Set the chroma threshold used as a coefficient to determine whether
26591           a pixel should be blurred or not. The option value must be an
26592           integer in the range [-30,30]. A value of 0 will filter all the
26593           image, a value included in [0,30] will filter flat areas and a
26594           value included in [-30,0] will filter edges. Default value is
26595           luma_threshold.
26596
26597       If a chroma option is not explicitly set, the corresponding luma value
26598       is set.
26599
26600   sobel
26601       Apply sobel operator to input video stream.
26602
26603       The filter accepts the following option:
26604
26605       planes
26606           Set which planes will be processed, unprocessed planes will be
26607           copied.  By default value 0xf, all planes will be processed.
26608
26609       scale
26610           Set value which will be multiplied with filtered result.
26611
26612       delta
26613           Set value which will be added to filtered result.
26614
26615       Commands
26616
26617       This filter supports the all above options as commands.
26618
26619   spp
26620       Apply a simple postprocessing filter that compresses and decompresses
26621       the image at several (or - in the case of quality level 6 - all) shifts
26622       and average the results.
26623
26624       The filter accepts the following options:
26625
26626       quality
26627           Set quality. This option defines the number of levels for
26628           averaging. It accepts an integer in the range 0-6. If set to 0, the
26629           filter will have no effect. A value of 6 means the higher quality.
26630           For each increment of that value the speed drops by a factor of
26631           approximately 2.  Default value is 3.
26632
26633       qp  Force a constant quantization parameter. If not set, the filter
26634           will use the QP from the video stream (if available).
26635
26636       mode
26637           Set thresholding mode. Available modes are:
26638
26639           hard
26640               Set hard thresholding (default).
26641
26642           soft
26643               Set soft thresholding (better de-ringing effect, but likely
26644               blurrier).
26645
26646       use_bframe_qp
26647           Enable the use of the QP from the B-Frames if set to 1. Using this
26648           option may cause flicker since the B-Frames have often larger QP.
26649           Default is 0 (not enabled).
26650
26651       Commands
26652
26653       This filter supports the following commands:
26654
26655       quality, level
26656           Set quality level. The value "max" can be used to set the maximum
26657           level, currently 6.
26658
26659   sr
26660       Scale the input by applying one of the super-resolution methods based
26661       on convolutional neural networks. Supported models:
26662
26663       •   Super-Resolution Convolutional Neural Network model (SRCNN).  See
26664           <https://arxiv.org/abs/1501.00092>.
26665
26666       •   Efficient Sub-Pixel Convolutional Neural Network model (ESPCN).
26667           See <https://arxiv.org/abs/1609.05158>.
26668
26669       Training scripts as well as scripts for model file (.pb) saving can be
26670       found at <https://github.com/XueweiMeng/sr/tree/sr_dnn_native>.
26671       Original repository is at
26672       <https://github.com/HighVoltageRocknRoll/sr.git>.
26673
26674       Native model files (.model) can be generated from TensorFlow model
26675       files (.pb) by using tools/python/convert.py
26676
26677       The filter accepts the following options:
26678
26679       dnn_backend
26680           Specify which DNN backend to use for model loading and execution.
26681           This option accepts the following values:
26682
26683           native
26684               Native implementation of DNN loading and execution.
26685
26686           tensorflow
26687               TensorFlow backend. To enable this backend you need to install
26688               the TensorFlow for C library (see
26689               <https://www.tensorflow.org/install/lang_c>) and configure
26690               FFmpeg with "--enable-libtensorflow"
26691
26692           Default value is native.
26693
26694       model
26695           Set path to model file specifying network architecture and its
26696           parameters.  Note that different backends use different file
26697           formats. TensorFlow backend can load files for both formats, while
26698           native backend can load files for only its format.
26699
26700       scale_factor
26701           Set scale factor for SRCNN model. Allowed values are 2, 3 and 4.
26702           Default value is 2. Scale factor is necessary for SRCNN model,
26703           because it accepts input upscaled using bicubic upscaling with
26704           proper scale factor.
26705
26706       To get full functionality (such as async execution), please use the
26707       dnn_processing filter.
26708
26709   ssim
26710       Obtain the SSIM (Structural SImilarity Metric) between two input
26711       videos.
26712
26713       This filter takes in input two input videos, the first input is
26714       considered the "main" source and is passed unchanged to the output. The
26715       second input is used as a "reference" video for computing the SSIM.
26716
26717       Both video inputs must have the same resolution and pixel format for
26718       this filter to work correctly. Also it assumes that both inputs have
26719       the same number of frames, which are compared one by one.
26720
26721       The filter stores the calculated SSIM of each frame.
26722
26723       The description of the accepted parameters follows.
26724
26725       stats_file, f
26726           If specified the filter will use the named file to save the SSIM of
26727           each individual frame. When filename equals "-" the data is sent to
26728           standard output.
26729
26730       The file printed if stats_file is selected, contains a sequence of
26731       key/value pairs of the form key:value for each compared couple of
26732       frames.
26733
26734       A description of each shown parameter follows:
26735
26736       n   sequential number of the input frame, starting from 1
26737
26738       Y, U, V, R, G, B
26739           SSIM of the compared frames for the component specified by the
26740           suffix.
26741
26742       All SSIM of the compared frames for the whole frame.
26743
26744       dB  Same as above but in dB representation.
26745
26746       This filter also supports the framesync options.
26747
26748       Examples
26749
26750       •   For example:
26751
26752                   movie=ref_movie.mpg, setpts=PTS-STARTPTS [main];
26753                   [main][ref] ssim="stats_file=stats.log" [out]
26754
26755           On this example the input file being processed is compared with the
26756           reference file ref_movie.mpg. The SSIM of each individual frame is
26757           stored in stats.log.
26758
26759       •   Another example with both psnr and ssim at same time:
26760
26761                   ffmpeg -i main.mpg -i ref.mpg -lavfi  "ssim;[0:v][1:v]psnr" -f null -
26762
26763       •   Another example with different containers:
26764
26765                   ffmpeg -i main.mpg -i ref.mkv -lavfi  "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]ssim" -f null -
26766
26767   stereo3d
26768       Convert between different stereoscopic image formats.
26769
26770       The filters accept the following options:
26771
26772       in  Set stereoscopic image format of input.
26773
26774           Available values for input image formats are:
26775
26776           sbsl
26777               side by side parallel (left eye left, right eye right)
26778
26779           sbsr
26780               side by side crosseye (right eye left, left eye right)
26781
26782           sbs2l
26783               side by side parallel with half width resolution (left eye
26784               left, right eye right)
26785
26786           sbs2r
26787               side by side crosseye with half width resolution (right eye
26788               left, left eye right)
26789
26790           abl
26791           tbl above-below (left eye above, right eye below)
26792
26793           abr
26794           tbr above-below (right eye above, left eye below)
26795
26796           ab2l
26797           tb2l
26798               above-below with half height resolution (left eye above, right
26799               eye below)
26800
26801           ab2r
26802           tb2r
26803               above-below with half height resolution (right eye above, left
26804               eye below)
26805
26806           al  alternating frames (left eye first, right eye second)
26807
26808           ar  alternating frames (right eye first, left eye second)
26809
26810           irl interleaved rows (left eye has top row, right eye starts on
26811               next row)
26812
26813           irr interleaved rows (right eye has top row, left eye starts on
26814               next row)
26815
26816           icl interleaved columns, left eye first
26817
26818           icr interleaved columns, right eye first
26819
26820               Default value is sbsl.
26821
26822       out Set stereoscopic image format of output.
26823
26824           sbsl
26825               side by side parallel (left eye left, right eye right)
26826
26827           sbsr
26828               side by side crosseye (right eye left, left eye right)
26829
26830           sbs2l
26831               side by side parallel with half width resolution (left eye
26832               left, right eye right)
26833
26834           sbs2r
26835               side by side crosseye with half width resolution (right eye
26836               left, left eye right)
26837
26838           abl
26839           tbl above-below (left eye above, right eye below)
26840
26841           abr
26842           tbr above-below (right eye above, left eye below)
26843
26844           ab2l
26845           tb2l
26846               above-below with half height resolution (left eye above, right
26847               eye below)
26848
26849           ab2r
26850           tb2r
26851               above-below with half height resolution (right eye above, left
26852               eye below)
26853
26854           al  alternating frames (left eye first, right eye second)
26855
26856           ar  alternating frames (right eye first, left eye second)
26857
26858           irl interleaved rows (left eye has top row, right eye starts on
26859               next row)
26860
26861           irr interleaved rows (right eye has top row, left eye starts on
26862               next row)
26863
26864           arbg
26865               anaglyph red/blue gray (red filter on left eye, blue filter on
26866               right eye)
26867
26868           argg
26869               anaglyph red/green gray (red filter on left eye, green filter
26870               on right eye)
26871
26872           arcg
26873               anaglyph red/cyan gray (red filter on left eye, cyan filter on
26874               right eye)
26875
26876           arch
26877               anaglyph red/cyan half colored (red filter on left eye, cyan
26878               filter on right eye)
26879
26880           arcc
26881               anaglyph red/cyan color (red filter on left eye, cyan filter on
26882               right eye)
26883
26884           arcd
26885               anaglyph red/cyan color optimized with the least squares
26886               projection of dubois (red filter on left eye, cyan filter on
26887               right eye)
26888
26889           agmg
26890               anaglyph green/magenta gray (green filter on left eye, magenta
26891               filter on right eye)
26892
26893           agmh
26894               anaglyph green/magenta half colored (green filter on left eye,
26895               magenta filter on right eye)
26896
26897           agmc
26898               anaglyph green/magenta colored (green filter on left eye,
26899               magenta filter on right eye)
26900
26901           agmd
26902               anaglyph green/magenta color optimized with the least squares
26903               projection of dubois (green filter on left eye, magenta filter
26904               on right eye)
26905
26906           aybg
26907               anaglyph yellow/blue gray (yellow filter on left eye, blue
26908               filter on right eye)
26909
26910           aybh
26911               anaglyph yellow/blue half colored (yellow filter on left eye,
26912               blue filter on right eye)
26913
26914           aybc
26915               anaglyph yellow/blue colored (yellow filter on left eye, blue
26916               filter on right eye)
26917
26918           aybd
26919               anaglyph yellow/blue color optimized with the least squares
26920               projection of dubois (yellow filter on left eye, blue filter on
26921               right eye)
26922
26923           ml  mono output (left eye only)
26924
26925           mr  mono output (right eye only)
26926
26927           chl checkerboard, left eye first
26928
26929           chr checkerboard, right eye first
26930
26931           icl interleaved columns, left eye first
26932
26933           icr interleaved columns, right eye first
26934
26935           hdmi
26936               HDMI frame pack
26937
26938           Default value is arcd.
26939
26940       Examples
26941
26942       •   Convert input video from side by side parallel to anaglyph
26943           yellow/blue dubois:
26944
26945                   stereo3d=sbsl:aybd
26946
26947       •   Convert input video from above below (left eye above, right eye
26948           below) to side by side crosseye.
26949
26950                   stereo3d=abl:sbsr
26951
26952   streamselect, astreamselect
26953       Select video or audio streams.
26954
26955       The filter accepts the following options:
26956
26957       inputs
26958           Set number of inputs. Default is 2.
26959
26960       map Set input indexes to remap to outputs.
26961
26962       Commands
26963
26964       The "streamselect" and "astreamselect" filter supports the following
26965       commands:
26966
26967       map Set input indexes to remap to outputs.
26968
26969       Examples
26970
26971       •   Select first 5 seconds 1st stream and rest of time 2nd stream:
26972
26973                   sendcmd='5.0 streamselect map 1',streamselect=inputs=2:map=0
26974
26975       •   Same as above, but for audio:
26976
26977                   asendcmd='5.0 astreamselect map 1',astreamselect=inputs=2:map=0
26978
26979   subtitles
26980       Draw subtitles on top of input video using the libass library.
26981
26982       To enable compilation of this filter you need to configure FFmpeg with
26983       "--enable-libass". This filter also requires a build with libavcodec
26984       and libavformat to convert the passed subtitles file to ASS (Advanced
26985       Substation Alpha) subtitles format.
26986
26987       The filter accepts the following options:
26988
26989       filename, f
26990           Set the filename of the subtitle file to read. It must be
26991           specified.
26992
26993       original_size
26994           Specify the size of the original video, the video for which the ASS
26995           file was composed. For the syntax of this option, check the "Video
26996           size" section in the ffmpeg-utils manual.  Due to a misdesign in
26997           ASS aspect ratio arithmetic, this is necessary to correctly scale
26998           the fonts if the aspect ratio has been changed.
26999
27000       fontsdir
27001           Set a directory path containing fonts that can be used by the
27002           filter.  These fonts will be used in addition to whatever the font
27003           provider uses.
27004
27005       alpha
27006           Process alpha channel, by default alpha channel is untouched.
27007
27008       charenc
27009           Set subtitles input character encoding. "subtitles" filter only.
27010           Only useful if not UTF-8.
27011
27012       stream_index, si
27013           Set subtitles stream index. "subtitles" filter only.
27014
27015       force_style
27016           Override default style or script info parameters of the subtitles.
27017           It accepts a string containing ASS style format "KEY=VALUE" couples
27018           separated by ",".
27019
27020       If the first key is not specified, it is assumed that the first value
27021       specifies the filename.
27022
27023       For example, to render the file sub.srt on top of the input video, use
27024       the command:
27025
27026               subtitles=sub.srt
27027
27028       which is equivalent to:
27029
27030               subtitles=filename=sub.srt
27031
27032       To render the default subtitles stream from file video.mkv, use:
27033
27034               subtitles=video.mkv
27035
27036       To render the second subtitles stream from that file, use:
27037
27038               subtitles=video.mkv:si=1
27039
27040       To make the subtitles stream from sub.srt appear in 80% transparent
27041       blue "DejaVu Serif", use:
27042
27043               subtitles=sub.srt:force_style='Fontname=DejaVu Serif,PrimaryColour=&HCCFF0000'
27044
27045   super2xsai
27046       Scale the input by 2x and smooth using the Super2xSaI (Scale and
27047       Interpolate) pixel art scaling algorithm.
27048
27049       Useful for enlarging pixel art images without reducing sharpness.
27050
27051   swaprect
27052       Swap two rectangular objects in video.
27053
27054       This filter accepts the following options:
27055
27056       w   Set object width.
27057
27058       h   Set object height.
27059
27060       x1  Set 1st rect x coordinate.
27061
27062       y1  Set 1st rect y coordinate.
27063
27064       x2  Set 2nd rect x coordinate.
27065
27066       y2  Set 2nd rect y coordinate.
27067
27068           All expressions are evaluated once for each frame.
27069
27070       The all options are expressions containing the following constants:
27071
27072       w
27073       h   The input width and height.
27074
27075       a   same as w / h
27076
27077       sar input sample aspect ratio
27078
27079       dar input display aspect ratio, it is the same as (w / h) * sar
27080
27081       n   The number of the input frame, starting from 0.
27082
27083       t   The timestamp expressed in seconds. It's NAN if the input timestamp
27084           is unknown.
27085
27086       pos the position in the file of the input frame, NAN if unknown
27087
27088       Commands
27089
27090       This filter supports the all above options as commands.
27091
27092   swapuv
27093       Swap U & V plane.
27094
27095   tblend
27096       Blend successive video frames.
27097
27098       See blend
27099
27100   telecine
27101       Apply telecine process to the video.
27102
27103       This filter accepts the following options:
27104
27105       first_field
27106           top, t
27107               top field first
27108
27109           bottom, b
27110               bottom field first The default value is "top".
27111
27112       pattern
27113           A string of numbers representing the pulldown pattern you wish to
27114           apply.  The default value is 23.
27115
27116               Some typical patterns:
27117
27118               NTSC output (30i):
27119               27.5p: 32222
27120               24p: 23 (classic)
27121               24p: 2332 (preferred)
27122               20p: 33
27123               18p: 334
27124               16p: 3444
27125
27126               PAL output (25i):
27127               27.5p: 12222
27128               24p: 222222222223 ("Euro pulldown")
27129               16.67p: 33
27130               16p: 33333334
27131
27132   thistogram
27133       Compute and draw a color distribution histogram for the input video
27134       across time.
27135
27136       Unlike histogram video filter which only shows histogram of single
27137       input frame at certain time, this filter shows also past histograms of
27138       number of frames defined by "width" option.
27139
27140       The computed histogram is a representation of the color component
27141       distribution in an image.
27142
27143       The filter accepts the following options:
27144
27145       width, w
27146           Set width of single color component output. Default value is 0.
27147           Value of 0 means width will be picked from input video.  This also
27148           set number of passed histograms to keep.  Allowed range is [0,
27149           8192].
27150
27151       display_mode, d
27152           Set display mode.  It accepts the following values:
27153
27154           stack
27155               Per color component graphs are placed below each other.
27156
27157           parade
27158               Per color component graphs are placed side by side.
27159
27160           overlay
27161               Presents information identical to that in the "parade", except
27162               that the graphs representing color components are superimposed
27163               directly over one another.
27164
27165           Default is "stack".
27166
27167       levels_mode, m
27168           Set mode. Can be either "linear", or "logarithmic".  Default is
27169           "linear".
27170
27171       components, c
27172           Set what color components to display.  Default is 7.
27173
27174       bgopacity, b
27175           Set background opacity. Default is 0.9.
27176
27177       envelope, e
27178           Show envelope. Default is disabled.
27179
27180       ecolor, ec
27181           Set envelope color. Default is "gold".
27182
27183       slide
27184           Set slide mode.
27185
27186           Available values for slide is:
27187
27188           frame
27189               Draw new frame when right border is reached.
27190
27191           replace
27192               Replace old columns with new ones.
27193
27194           scroll
27195               Scroll from right to left.
27196
27197           rscroll
27198               Scroll from left to right.
27199
27200           picture
27201               Draw single picture.
27202
27203           Default is "replace".
27204
27205   threshold
27206       Apply threshold effect to video stream.
27207
27208       This filter needs four video streams to perform thresholding.  First
27209       stream is stream we are filtering.  Second stream is holding threshold
27210       values, third stream is holding min values, and last, fourth stream is
27211       holding max values.
27212
27213       The filter accepts the following option:
27214
27215       planes
27216           Set which planes will be processed, unprocessed planes will be
27217           copied.  By default value 0xf, all planes will be processed.
27218
27219       For example if first stream pixel's component value is less then
27220       threshold value of pixel component from 2nd threshold stream, third
27221       stream value will picked, otherwise fourth stream pixel component value
27222       will be picked.
27223
27224       Using color source filter one can perform various types of
27225       thresholding:
27226
27227       Commands
27228
27229       This filter supports the all options as commands.
27230
27231       Examples
27232
27233       •   Binary threshold, using gray color as threshold:
27234
27235                   ffmpeg -i 320x240.avi -f lavfi -i color=gray -f lavfi -i color=black -f lavfi -i color=white -lavfi threshold output.avi
27236
27237       •   Inverted binary threshold, using gray color as threshold:
27238
27239                   ffmpeg -i 320x240.avi -f lavfi -i color=gray -f lavfi -i color=white -f lavfi -i color=black -lavfi threshold output.avi
27240
27241       •   Truncate binary threshold, using gray color as threshold:
27242
27243                   ffmpeg -i 320x240.avi -f lavfi -i color=gray -i 320x240.avi -f lavfi -i color=gray -lavfi threshold output.avi
27244
27245       •   Threshold to zero, using gray color as threshold:
27246
27247                   ffmpeg -i 320x240.avi -f lavfi -i color=gray -f lavfi -i color=white -i 320x240.avi -lavfi threshold output.avi
27248
27249       •   Inverted threshold to zero, using gray color as threshold:
27250
27251                   ffmpeg -i 320x240.avi -f lavfi -i color=gray -i 320x240.avi -f lavfi -i color=white -lavfi threshold output.avi
27252
27253   thumbnail
27254       Select the most representative frame in a given sequence of consecutive
27255       frames.
27256
27257       The filter accepts the following options:
27258
27259       n   Set the frames batch size to analyze; in a set of n frames, the
27260           filter will pick one of them, and then handle the next batch of n
27261           frames until the end. Default is 100.
27262
27263       Since the filter keeps track of the whole frames sequence, a bigger n
27264       value will result in a higher memory usage, so a high value is not
27265       recommended.
27266
27267       Examples
27268
27269       •   Extract one picture each 50 frames:
27270
27271                   thumbnail=50
27272
27273       •   Complete example of a thumbnail creation with ffmpeg:
27274
27275                   ffmpeg -i in.avi -vf thumbnail,scale=300:200 -frames:v 1 out.png
27276
27277   tile
27278       Tile several successive frames together.
27279
27280       The untile filter can do the reverse.
27281
27282       The filter accepts the following options:
27283
27284       layout
27285           Set the grid size (i.e. the number of lines and columns). For the
27286           syntax of this option, check the "Video size" section in the
27287           ffmpeg-utils manual.
27288
27289       nb_frames
27290           Set the maximum number of frames to render in the given area. It
27291           must be less than or equal to wxh. The default value is 0, meaning
27292           all the area will be used.
27293
27294       margin
27295           Set the outer border margin in pixels.
27296
27297       padding
27298           Set the inner border thickness (i.e. the number of pixels between
27299           frames). For more advanced padding options (such as having
27300           different values for the edges), refer to the pad video filter.
27301
27302       color
27303           Specify the color of the unused area. For the syntax of this
27304           option, check the "Color" section in the ffmpeg-utils manual.  The
27305           default value of color is "black".
27306
27307       overlap
27308           Set the number of frames to overlap when tiling several successive
27309           frames together.  The value must be between 0 and nb_frames - 1.
27310
27311       init_padding
27312           Set the number of frames to initially be empty before displaying
27313           first output frame.  This controls how soon will one get first
27314           output frame.  The value must be between 0 and nb_frames - 1.
27315
27316       Examples
27317
27318       •   Produce 8x8 PNG tiles of all keyframes (-skip_frame nokey) in a
27319           movie:
27320
27321                   ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png
27322
27323           The -vsync 0 is necessary to prevent ffmpeg from duplicating each
27324           output frame to accommodate the originally detected frame rate.
27325
27326       •   Display 5 pictures in an area of "3x2" frames, with 7 pixels
27327           between them, and 2 pixels of initial margin, using mixed flat and
27328           named options:
27329
27330                   tile=3x2:nb_frames=5:padding=7:margin=2
27331
27332   tinterlace
27333       Perform various types of temporal field interlacing.
27334
27335       Frames are counted starting from 1, so the first input frame is
27336       considered odd.
27337
27338       The filter accepts the following options:
27339
27340       mode
27341           Specify the mode of the interlacing. This option can also be
27342           specified as a value alone. See below for a list of values for this
27343           option.
27344
27345           Available values are:
27346
27347           merge, 0
27348               Move odd frames into the upper field, even into the lower
27349               field, generating a double height frame at half frame rate.
27350
27351                        ------> time
27352                       Input:
27353                       Frame 1         Frame 2         Frame 3         Frame 4
27354
27355                       11111           22222           33333           44444
27356                       11111           22222           33333           44444
27357                       11111           22222           33333           44444
27358                       11111           22222           33333           44444
27359
27360                       Output:
27361                       11111                           33333
27362                       22222                           44444
27363                       11111                           33333
27364                       22222                           44444
27365                       11111                           33333
27366                       22222                           44444
27367                       11111                           33333
27368                       22222                           44444
27369
27370           drop_even, 1
27371               Only output odd frames, even frames are dropped, generating a
27372               frame with unchanged height at half frame rate.
27373
27374                        ------> time
27375                       Input:
27376                       Frame 1         Frame 2         Frame 3         Frame 4
27377
27378                       11111           22222           33333           44444
27379                       11111           22222           33333           44444
27380                       11111           22222           33333           44444
27381                       11111           22222           33333           44444
27382
27383                       Output:
27384                       11111                           33333
27385                       11111                           33333
27386                       11111                           33333
27387                       11111                           33333
27388
27389           drop_odd, 2
27390               Only output even frames, odd frames are dropped, generating a
27391               frame with unchanged height at half frame rate.
27392
27393                        ------> time
27394                       Input:
27395                       Frame 1         Frame 2         Frame 3         Frame 4
27396
27397                       11111           22222           33333           44444
27398                       11111           22222           33333           44444
27399                       11111           22222           33333           44444
27400                       11111           22222           33333           44444
27401
27402                       Output:
27403                                       22222                           44444
27404                                       22222                           44444
27405                                       22222                           44444
27406                                       22222                           44444
27407
27408           pad, 3
27409               Expand each frame to full height, but pad alternate lines with
27410               black, generating a frame with double height at the same input
27411               frame rate.
27412
27413                        ------> time
27414                       Input:
27415                       Frame 1         Frame 2         Frame 3         Frame 4
27416
27417                       11111           22222           33333           44444
27418                       11111           22222           33333           44444
27419                       11111           22222           33333           44444
27420                       11111           22222           33333           44444
27421
27422                       Output:
27423                       11111           .....           33333           .....
27424                       .....           22222           .....           44444
27425                       11111           .....           33333           .....
27426                       .....           22222           .....           44444
27427                       11111           .....           33333           .....
27428                       .....           22222           .....           44444
27429                       11111           .....           33333           .....
27430                       .....           22222           .....           44444
27431
27432           interleave_top, 4
27433               Interleave the upper field from odd frames with the lower field
27434               from even frames, generating a frame with unchanged height at
27435               half frame rate.
27436
27437                        ------> time
27438                       Input:
27439                       Frame 1         Frame 2         Frame 3         Frame 4
27440
27441                       11111<-         22222           33333<-         44444
27442                       11111           22222<-         33333           44444<-
27443                       11111<-         22222           33333<-         44444
27444                       11111           22222<-         33333           44444<-
27445
27446                       Output:
27447                       11111                           33333
27448                       22222                           44444
27449                       11111                           33333
27450                       22222                           44444
27451
27452           interleave_bottom, 5
27453               Interleave the lower field from odd frames with the upper field
27454               from even frames, generating a frame with unchanged height at
27455               half frame rate.
27456
27457                        ------> time
27458                       Input:
27459                       Frame 1         Frame 2         Frame 3         Frame 4
27460
27461                       11111           22222<-         33333           44444<-
27462                       11111<-         22222           33333<-         44444
27463                       11111           22222<-         33333           44444<-
27464                       11111<-         22222           33333<-         44444
27465
27466                       Output:
27467                       22222                           44444
27468                       11111                           33333
27469                       22222                           44444
27470                       11111                           33333
27471
27472           interlacex2, 6
27473               Double frame rate with unchanged height. Frames are inserted
27474               each containing the second temporal field from the previous
27475               input frame and the first temporal field from the next input
27476               frame. This mode relies on the top_field_first flag. Useful for
27477               interlaced video displays with no field synchronisation.
27478
27479                        ------> time
27480                       Input:
27481                       Frame 1         Frame 2         Frame 3         Frame 4
27482
27483                       11111           22222           33333           44444
27484                        11111           22222           33333           44444
27485                       11111           22222           33333           44444
27486                        11111           22222           33333           44444
27487
27488                       Output:
27489                       11111   22222   22222   33333   33333   44444   44444
27490                        11111   11111   22222   22222   33333   33333   44444
27491                       11111   22222   22222   33333   33333   44444   44444
27492                        11111   11111   22222   22222   33333   33333   44444
27493
27494           mergex2, 7
27495               Move odd frames into the upper field, even into the lower
27496               field, generating a double height frame at same frame rate.
27497
27498                        ------> time
27499                       Input:
27500                       Frame 1         Frame 2         Frame 3         Frame 4
27501
27502                       11111           22222           33333           44444
27503                       11111           22222           33333           44444
27504                       11111           22222           33333           44444
27505                       11111           22222           33333           44444
27506
27507                       Output:
27508                       11111           33333           33333           55555
27509                       22222           22222           44444           44444
27510                       11111           33333           33333           55555
27511                       22222           22222           44444           44444
27512                       11111           33333           33333           55555
27513                       22222           22222           44444           44444
27514                       11111           33333           33333           55555
27515                       22222           22222           44444           44444
27516
27517           Numeric values are deprecated but are accepted for backward
27518           compatibility reasons.
27519
27520           Default mode is "merge".
27521
27522       flags
27523           Specify flags influencing the filter process.
27524
27525           Available value for flags is:
27526
27527           low_pass_filter, vlpf
27528               Enable linear vertical low-pass filtering in the filter.
27529               Vertical low-pass filtering is required when creating an
27530               interlaced destination from a progressive source which contains
27531               high-frequency vertical detail. Filtering will reduce interlace
27532               'twitter' and Moire patterning.
27533
27534           complex_filter, cvlpf
27535               Enable complex vertical low-pass filtering.  This will slightly
27536               less reduce interlace 'twitter' and Moire patterning but better
27537               retain detail and subjective sharpness impression.
27538
27539           bypass_il
27540               Bypass already interlaced frames, only adjust the frame rate.
27541
27542           Vertical low-pass filtering and bypassing already interlaced frames
27543           can only be enabled for mode interleave_top and interleave_bottom.
27544
27545   tmedian
27546       Pick median pixels from several successive input video frames.
27547
27548       The filter accepts the following options:
27549
27550       radius
27551           Set radius of median filter.  Default is 1. Allowed range is from 1
27552           to 127.
27553
27554       planes
27555           Set which planes to filter. Default value is 15, by which all
27556           planes are processed.
27557
27558       percentile
27559           Set median percentile. Default value is 0.5.  Default value of 0.5
27560           will pick always median values, while 0 will pick minimum values,
27561           and 1 maximum values.
27562
27563       Commands
27564
27565       This filter supports all above options as commands, excluding option
27566       "radius".
27567
27568   tmidequalizer
27569       Apply Temporal Midway Video Equalization effect.
27570
27571       Midway Video Equalization adjusts a sequence of video frames to have
27572       the same histograms, while maintaining their dynamics as much as
27573       possible. It's useful for e.g. matching exposures from a video frames
27574       sequence.
27575
27576       This filter accepts the following option:
27577
27578       radius
27579           Set filtering radius. Default is 5. Allowed range is from 1 to 127.
27580
27581       sigma
27582           Set filtering sigma. Default is 0.5. This controls strength of
27583           filtering.  Setting this option to 0 effectively does nothing.
27584
27585       planes
27586           Set which planes to process. Default is 15, which is all available
27587           planes.
27588
27589   tmix
27590       Mix successive video frames.
27591
27592       A description of the accepted options follows.
27593
27594       frames
27595           The number of successive frames to mix. If unspecified, it defaults
27596           to 3.
27597
27598       weights
27599           Specify weight of each input video frame.  Each weight is separated
27600           by space. If number of weights is smaller than number of frames
27601           last specified weight will be used for all remaining unset weights.
27602
27603       scale
27604           Specify scale, if it is set it will be multiplied with sum of each
27605           weight multiplied with pixel values to give final destination pixel
27606           value. By default scale is auto scaled to sum of weights.
27607
27608       Examples
27609
27610       •   Average 7 successive frames:
27611
27612                   tmix=frames=7:weights="1 1 1 1 1 1 1"
27613
27614       •   Apply simple temporal convolution:
27615
27616                   tmix=frames=3:weights="-1 3 -1"
27617
27618       •   Similar as above but only showing temporal differences:
27619
27620                   tmix=frames=3:weights="-1 2 -1":scale=1
27621
27622       Commands
27623
27624       This filter supports the following commands:
27625
27626       weights
27627       scale
27628           Syntax is same as option with same name.
27629
27630   tonemap
27631       Tone map colors from different dynamic ranges.
27632
27633       This filter expects data in single precision floating point, as it
27634       needs to operate on (and can output) out-of-range values. Another
27635       filter, such as zscale, is needed to convert the resulting frame to a
27636       usable format.
27637
27638       The tonemapping algorithms implemented only work on linear light, so
27639       input data should be linearized beforehand (and possibly correctly
27640       tagged).
27641
27642               ffmpeg -i INPUT -vf zscale=transfer=linear,tonemap=clip,zscale=transfer=bt709,format=yuv420p OUTPUT
27643
27644       Options
27645
27646       The filter accepts the following options.
27647
27648       tonemap
27649           Set the tone map algorithm to use.
27650
27651           Possible values are:
27652
27653           none
27654               Do not apply any tone map, only desaturate overbright pixels.
27655
27656           clip
27657               Hard-clip any out-of-range values. Use it for perfect color
27658               accuracy for in-range values, while distorting out-of-range
27659               values.
27660
27661           linear
27662               Stretch the entire reference gamut to a linear multiple of the
27663               display.
27664
27665           gamma
27666               Fit a logarithmic transfer between the tone curves.
27667
27668           reinhard
27669               Preserve overall image brightness with a simple curve, using
27670               nonlinear contrast, which results in flattening details and
27671               degrading color accuracy.
27672
27673           hable
27674               Preserve both dark and bright details better than reinhard, at
27675               the cost of slightly darkening everything. Use it when detail
27676               preservation is more important than color and brightness
27677               accuracy.
27678
27679           mobius
27680               Smoothly map out-of-range values, while retaining contrast and
27681               colors for in-range material as much as possible. Use it when
27682               color accuracy is more important than detail preservation.
27683
27684           Default is none.
27685
27686       param
27687           Tune the tone mapping algorithm.
27688
27689           This affects the following algorithms:
27690
27691           none
27692               Ignored.
27693
27694           linear
27695               Specifies the scale factor to use while stretching.  Default to
27696               1.0.
27697
27698           gamma
27699               Specifies the exponent of the function.  Default to 1.8.
27700
27701           clip
27702               Specify an extra linear coefficient to multiply into the signal
27703               before clipping.  Default to 1.0.
27704
27705           reinhard
27706               Specify the local contrast coefficient at the display peak.
27707               Default to 0.5, which means that in-gamut values will be about
27708               half as bright as when clipping.
27709
27710           hable
27711               Ignored.
27712
27713           mobius
27714               Specify the transition point from linear to mobius transform.
27715               Every value below this point is guaranteed to be mapped 1:1.
27716               The higher the value, the more accurate the result will be, at
27717               the cost of losing bright details.  Default to 0.3, which due
27718               to the steep initial slope still preserves in-range colors
27719               fairly accurately.
27720
27721       desat
27722           Apply desaturation for highlights that exceed this level of
27723           brightness. The higher the parameter, the more color information
27724           will be preserved. This setting helps prevent unnaturally blown-out
27725           colors for super-highlights, by (smoothly) turning into white
27726           instead. This makes images feel more natural, at the cost of
27727           reducing information about out-of-range colors.
27728
27729           The default of 2.0 is somewhat conservative and will mostly just
27730           apply to skies or directly sunlit surfaces. A setting of 0.0
27731           disables this option.
27732
27733           This option works only if the input frame has a supported color
27734           tag.
27735
27736       peak
27737           Override signal/nominal/reference peak with this value. Useful when
27738           the embedded peak information in display metadata is not reliable
27739           or when tone mapping from a lower range to a higher range.
27740
27741   tpad
27742       Temporarily pad video frames.
27743
27744       The filter accepts the following options:
27745
27746       start
27747           Specify number of delay frames before input video stream. Default
27748           is 0.
27749
27750       stop
27751           Specify number of padding frames after input video stream.  Set to
27752           -1 to pad indefinitely. Default is 0.
27753
27754       start_mode
27755           Set kind of frames added to beginning of stream.  Can be either add
27756           or clone.  With add frames of solid-color are added.  With clone
27757           frames are clones of first frame.  Default is add.
27758
27759       stop_mode
27760           Set kind of frames added to end of stream.  Can be either add or
27761           clone.  With add frames of solid-color are added.  With clone
27762           frames are clones of last frame.  Default is add.
27763
27764       start_duration, stop_duration
27765           Specify the duration of the start/stop delay. See the Time duration
27766           section in the ffmpeg-utils(1) manual for the accepted syntax.
27767           These options override start and stop. Default is 0.
27768
27769       color
27770           Specify the color of the padded area. For the syntax of this
27771           option, check the "Color" section in the ffmpeg-utils manual.
27772
27773           The default value of color is "black".
27774
27775   transpose
27776       Transpose rows with columns in the input video and optionally flip it.
27777
27778       It accepts the following parameters:
27779
27780       dir Specify the transposition direction.
27781
27782           Can assume the following values:
27783
27784           0, 4, cclock_flip
27785               Rotate by 90 degrees counterclockwise and vertically flip
27786               (default), that is:
27787
27788                       L.R     L.l
27789                       . . ->  . .
27790                       l.r     R.r
27791
27792           1, 5, clock
27793               Rotate by 90 degrees clockwise, that is:
27794
27795                       L.R     l.L
27796                       . . ->  . .
27797                       l.r     r.R
27798
27799           2, 6, cclock
27800               Rotate by 90 degrees counterclockwise, that is:
27801
27802                       L.R     R.r
27803                       . . ->  . .
27804                       l.r     L.l
27805
27806           3, 7, clock_flip
27807               Rotate by 90 degrees clockwise and vertically flip, that is:
27808
27809                       L.R     r.R
27810                       . . ->  . .
27811                       l.r     l.L
27812
27813           For values between 4-7, the transposition is only done if the input
27814           video geometry is portrait and not landscape. These values are
27815           deprecated, the "passthrough" option should be used instead.
27816
27817           Numerical values are deprecated, and should be dropped in favor of
27818           symbolic constants.
27819
27820       passthrough
27821           Do not apply the transposition if the input geometry matches the
27822           one specified by the specified value. It accepts the following
27823           values:
27824
27825           none
27826               Always apply transposition.
27827
27828           portrait
27829               Preserve portrait geometry (when height >= width).
27830
27831           landscape
27832               Preserve landscape geometry (when width >= height).
27833
27834           Default value is "none".
27835
27836       For example to rotate by 90 degrees clockwise and preserve portrait
27837       layout:
27838
27839               transpose=dir=1:passthrough=portrait
27840
27841       The command above can also be specified as:
27842
27843               transpose=1:portrait
27844
27845   transpose_npp
27846       Transpose rows with columns in the input video and optionally flip it.
27847       For more in depth examples see the transpose video filter, which shares
27848       mostly the same options.
27849
27850       It accepts the following parameters:
27851
27852       dir Specify the transposition direction.
27853
27854           Can assume the following values:
27855
27856           cclock_flip
27857               Rotate by 90 degrees counterclockwise and vertically flip.
27858               (default)
27859
27860           clock
27861               Rotate by 90 degrees clockwise.
27862
27863           cclock
27864               Rotate by 90 degrees counterclockwise.
27865
27866           clock_flip
27867               Rotate by 90 degrees clockwise and vertically flip.
27868
27869       passthrough
27870           Do not apply the transposition if the input geometry matches the
27871           one specified by the specified value. It accepts the following
27872           values:
27873
27874           none
27875               Always apply transposition. (default)
27876
27877           portrait
27878               Preserve portrait geometry (when height >= width).
27879
27880           landscape
27881               Preserve landscape geometry (when width >= height).
27882
27883   trim
27884       Trim the input so that the output contains one continuous subpart of
27885       the input.
27886
27887       It accepts the following parameters:
27888
27889       start
27890           Specify the time of the start of the kept section, i.e. the frame
27891           with the timestamp start will be the first frame in the output.
27892
27893       end Specify the time of the first frame that will be dropped, i.e. the
27894           frame immediately preceding the one with the timestamp end will be
27895           the last frame in the output.
27896
27897       start_pts
27898           This is the same as start, except this option sets the start
27899           timestamp in timebase units instead of seconds.
27900
27901       end_pts
27902           This is the same as end, except this option sets the end timestamp
27903           in timebase units instead of seconds.
27904
27905       duration
27906           The maximum duration of the output in seconds.
27907
27908       start_frame
27909           The number of the first frame that should be passed to the output.
27910
27911       end_frame
27912           The number of the first frame that should be dropped.
27913
27914       start, end, and duration are expressed as time duration specifications;
27915       see the Time duration section in the ffmpeg-utils(1) manual for the
27916       accepted syntax.
27917
27918       Note that the first two sets of the start/end options and the duration
27919       option look at the frame timestamp, while the _frame variants simply
27920       count the frames that pass through the filter. Also note that this
27921       filter does not modify the timestamps. If you wish for the output
27922       timestamps to start at zero, insert a setpts filter after the trim
27923       filter.
27924
27925       If multiple start or end options are set, this filter tries to be
27926       greedy and keep all the frames that match at least one of the specified
27927       constraints. To keep only the part that matches all the constraints at
27928       once, chain multiple trim filters.
27929
27930       The defaults are such that all the input is kept. So it is possible to
27931       set e.g.  just the end values to keep everything before the specified
27932       time.
27933
27934       Examples:
27935
27936       •   Drop everything except the second minute of input:
27937
27938                   ffmpeg -i INPUT -vf trim=60:120
27939
27940       •   Keep only the first second:
27941
27942                   ffmpeg -i INPUT -vf trim=duration=1
27943
27944   unpremultiply
27945       Apply alpha unpremultiply effect to input video stream using first
27946       plane of second stream as alpha.
27947
27948       Both streams must have same dimensions and same pixel format.
27949
27950       The filter accepts the following option:
27951
27952       planes
27953           Set which planes will be processed, unprocessed planes will be
27954           copied.  By default value 0xf, all planes will be processed.
27955
27956           If the format has 1 or 2 components, then luma is bit 0.  If the
27957           format has 3 or 4 components: for RGB formats bit 0 is green, bit 1
27958           is blue and bit 2 is red; for YUV formats bit 0 is luma, bit 1 is
27959           chroma-U and bit 2 is chroma-V.  If present, the alpha channel is
27960           always the last bit.
27961
27962       inplace
27963           Do not require 2nd input for processing, instead use alpha plane
27964           from input stream.
27965
27966   unsharp
27967       Sharpen or blur the input video.
27968
27969       It accepts the following parameters:
27970
27971       luma_msize_x, lx
27972           Set the luma matrix horizontal size. It must be an odd integer
27973           between 3 and 23. The default value is 5.
27974
27975       luma_msize_y, ly
27976           Set the luma matrix vertical size. It must be an odd integer
27977           between 3 and 23. The default value is 5.
27978
27979       luma_amount, la
27980           Set the luma effect strength. It must be a floating point number,
27981           reasonable values lay between -1.5 and 1.5.
27982
27983           Negative values will blur the input video, while positive values
27984           will sharpen it, a value of zero will disable the effect.
27985
27986           Default value is 1.0.
27987
27988       chroma_msize_x, cx
27989           Set the chroma matrix horizontal size. It must be an odd integer
27990           between 3 and 23. The default value is 5.
27991
27992       chroma_msize_y, cy
27993           Set the chroma matrix vertical size. It must be an odd integer
27994           between 3 and 23. The default value is 5.
27995
27996       chroma_amount, ca
27997           Set the chroma effect strength. It must be a floating point number,
27998           reasonable values lay between -1.5 and 1.5.
27999
28000           Negative values will blur the input video, while positive values
28001           will sharpen it, a value of zero will disable the effect.
28002
28003           Default value is 0.0.
28004
28005       All parameters are optional and default to the equivalent of the string
28006       '5:5:1.0:5:5:0.0'.
28007
28008       Examples
28009
28010       •   Apply strong luma sharpen effect:
28011
28012                   unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5
28013
28014       •   Apply a strong blur of both luma and chroma parameters:
28015
28016                   unsharp=7:7:-2:7:7:-2
28017
28018   untile
28019       Decompose a video made of tiled images into the individual images.
28020
28021       The frame rate of the output video is the frame rate of the input video
28022       multiplied by the number of tiles.
28023
28024       This filter does the reverse of tile.
28025
28026       The filter accepts the following options:
28027
28028       layout
28029           Set the grid size (i.e. the number of lines and columns). For the
28030           syntax of this option, check the "Video size" section in the
28031           ffmpeg-utils manual.
28032
28033       Examples
28034
28035       •   Produce a 1-second video from a still image file made of 25 frames
28036           stacked vertically, like an analogic film reel:
28037
28038                   ffmpeg -r 1 -i image.jpg -vf untile=1x25 movie.mkv
28039
28040   uspp
28041       Apply ultra slow/simple postprocessing filter that compresses and
28042       decompresses the image at several (or - in the case of quality level 8
28043       - all) shifts and average the results.
28044
28045       The way this differs from the behavior of spp is that uspp actually
28046       encodes & decodes each case with libavcodec Snow, whereas spp uses a
28047       simplified intra only 8x8 DCT similar to MJPEG.
28048
28049       This filter is only available in ffmpeg version 4.4 or earlier.
28050
28051       The filter accepts the following options:
28052
28053       quality
28054           Set quality. This option defines the number of levels for
28055           averaging. It accepts an integer in the range 0-8. If set to 0, the
28056           filter will have no effect. A value of 8 means the higher quality.
28057           For each increment of that value the speed drops by a factor of
28058           approximately 2.  Default value is 3.
28059
28060       qp  Force a constant quantization parameter. If not set, the filter
28061           will use the QP from the video stream (if available).
28062
28063   v360
28064       Convert 360 videos between various formats.
28065
28066       The filter accepts the following options:
28067
28068       input
28069       output
28070           Set format of the input/output video.
28071
28072           Available formats:
28073
28074           e
28075           equirect
28076               Equirectangular projection.
28077
28078           c3x2
28079           c6x1
28080           c1x6
28081               Cubemap with 3x2/6x1/1x6 layout.
28082
28083               Format specific options:
28084
28085               in_pad
28086               out_pad
28087                   Set padding proportion for the input/output cubemap. Values
28088                   in decimals.
28089
28090                   Example values:
28091
28092                   0   No padding.
28093
28094                   0.01
28095                       1% of face is padding. For example, with 1920x1280
28096                       resolution face size would be 640x640 and padding would
28097                       be 3 pixels from each side. (640 * 0.01 = 6 pixels)
28098
28099                   Default value is @samp{0}.  Maximum value is @samp{0.1}.
28100
28101               fin_pad
28102               fout_pad
28103                   Set fixed padding for the input/output cubemap. Values in
28104                   pixels.
28105
28106                   Default value is @samp{0}. If greater than zero it
28107                   overrides other padding options.
28108
28109               in_forder
28110               out_forder
28111                   Set order of faces for the input/output cubemap. Choose one
28112                   direction for each position.
28113
28114                   Designation of directions:
28115
28116                   r   right
28117
28118                   l   left
28119
28120                   u   up
28121
28122                   d   down
28123
28124                   f   forward
28125
28126                   b   back
28127
28128                   Default value is @samp{rludfb}.
28129
28130               in_frot
28131               out_frot
28132                   Set rotation of faces for the input/output cubemap. Choose
28133                   one angle for each position.
28134
28135                   Designation of angles:
28136
28137                   0   0 degrees clockwise
28138
28139                   1   90 degrees clockwise
28140
28141                   2   180 degrees clockwise
28142
28143                   3   270 degrees clockwise
28144
28145                   Default value is @samp{000000}.
28146
28147           eac Equi-Angular Cubemap.
28148
28149           flat
28150           gnomonic
28151           rectilinear
28152               Regular video.
28153
28154               Format specific options:
28155
28156               h_fov
28157               v_fov
28158               d_fov
28159                   Set output horizontal/vertical/diagonal field of view.
28160                   Values in degrees.
28161
28162                   If diagonal field of view is set it overrides horizontal
28163                   and vertical field of view.
28164
28165               ih_fov
28166               iv_fov
28167               id_fov
28168                   Set input horizontal/vertical/diagonal field of view.
28169                   Values in degrees.
28170
28171                   If diagonal field of view is set it overrides horizontal
28172                   and vertical field of view.
28173
28174           dfisheye
28175               Dual fisheye.
28176
28177               Format specific options:
28178
28179               h_fov
28180               v_fov
28181               d_fov
28182                   Set output horizontal/vertical/diagonal field of view.
28183                   Values in degrees.
28184
28185                   If diagonal field of view is set it overrides horizontal
28186                   and vertical field of view.
28187
28188               ih_fov
28189               iv_fov
28190               id_fov
28191                   Set input horizontal/vertical/diagonal field of view.
28192                   Values in degrees.
28193
28194                   If diagonal field of view is set it overrides horizontal
28195                   and vertical field of view.
28196
28197           barrel
28198           fb
28199           barrelsplit
28200               Facebook's 360 formats.
28201
28202           sg  Stereographic format.
28203
28204               Format specific options:
28205
28206               h_fov
28207               v_fov
28208               d_fov
28209                   Set output horizontal/vertical/diagonal field of view.
28210                   Values in degrees.
28211
28212                   If diagonal field of view is set it overrides horizontal
28213                   and vertical field of view.
28214
28215               ih_fov
28216               iv_fov
28217               id_fov
28218                   Set input horizontal/vertical/diagonal field of view.
28219                   Values in degrees.
28220
28221                   If diagonal field of view is set it overrides horizontal
28222                   and vertical field of view.
28223
28224           mercator
28225               Mercator format.
28226
28227           ball
28228               Ball format, gives significant distortion toward the back.
28229
28230           hammer
28231               Hammer-Aitoff map projection format.
28232
28233           sinusoidal
28234               Sinusoidal map projection format.
28235
28236           fisheye
28237               Fisheye projection.
28238
28239               Format specific options:
28240
28241               h_fov
28242               v_fov
28243               d_fov
28244                   Set output horizontal/vertical/diagonal field of view.
28245                   Values in degrees.
28246
28247                   If diagonal field of view is set it overrides horizontal
28248                   and vertical field of view.
28249
28250               ih_fov
28251               iv_fov
28252               id_fov
28253                   Set input horizontal/vertical/diagonal field of view.
28254                   Values in degrees.
28255
28256                   If diagonal field of view is set it overrides horizontal
28257                   and vertical field of view.
28258
28259           pannini
28260               Pannini projection.
28261
28262               Format specific options:
28263
28264               h_fov
28265                   Set output pannini parameter.
28266
28267               ih_fov
28268                   Set input pannini parameter.
28269
28270           cylindrical
28271               Cylindrical projection.
28272
28273               Format specific options:
28274
28275               h_fov
28276               v_fov
28277               d_fov
28278                   Set output horizontal/vertical/diagonal field of view.
28279                   Values in degrees.
28280
28281                   If diagonal field of view is set it overrides horizontal
28282                   and vertical field of view.
28283
28284               ih_fov
28285               iv_fov
28286               id_fov
28287                   Set input horizontal/vertical/diagonal field of view.
28288                   Values in degrees.
28289
28290                   If diagonal field of view is set it overrides horizontal
28291                   and vertical field of view.
28292
28293           perspective
28294               Perspective projection. (output only)
28295
28296               Format specific options:
28297
28298               v_fov
28299                   Set perspective parameter.
28300
28301           tetrahedron
28302               Tetrahedron projection.
28303
28304           tsp Truncated square pyramid projection.
28305
28306           he
28307           hequirect
28308               Half equirectangular projection.
28309
28310           equisolid
28311               Equisolid format.
28312
28313               Format specific options:
28314
28315               h_fov
28316               v_fov
28317               d_fov
28318                   Set output horizontal/vertical/diagonal field of view.
28319                   Values in degrees.
28320
28321                   If diagonal field of view is set it overrides horizontal
28322                   and vertical field of view.
28323
28324               ih_fov
28325               iv_fov
28326               id_fov
28327                   Set input horizontal/vertical/diagonal field of view.
28328                   Values in degrees.
28329
28330                   If diagonal field of view is set it overrides horizontal
28331                   and vertical field of view.
28332
28333           og  Orthographic format.
28334
28335               Format specific options:
28336
28337               h_fov
28338               v_fov
28339               d_fov
28340                   Set output horizontal/vertical/diagonal field of view.
28341                   Values in degrees.
28342
28343                   If diagonal field of view is set it overrides horizontal
28344                   and vertical field of view.
28345
28346               ih_fov
28347               iv_fov
28348               id_fov
28349                   Set input horizontal/vertical/diagonal field of view.
28350                   Values in degrees.
28351
28352                   If diagonal field of view is set it overrides horizontal
28353                   and vertical field of view.
28354
28355           octahedron
28356               Octahedron projection.
28357
28358           cylindricalea
28359               Cylindrical Equal Area projection.
28360
28361       interp
28362           Set interpolation method.Note: more complex interpolation methods
28363           require much more memory to run.
28364
28365           Available methods:
28366
28367           near
28368           nearest
28369               Nearest neighbour.
28370
28371           line
28372           linear
28373               Bilinear interpolation.
28374
28375           lagrange9
28376               Lagrange9 interpolation.
28377
28378           cube
28379           cubic
28380               Bicubic interpolation.
28381
28382           lanc
28383           lanczos
28384               Lanczos interpolation.
28385
28386           sp16
28387           spline16
28388               Spline16 interpolation.
28389
28390           gauss
28391           gaussian
28392               Gaussian interpolation.
28393
28394           mitchell
28395               Mitchell interpolation.
28396
28397           Default value is @samp{line}.
28398
28399       w
28400       h   Set the output video resolution.
28401
28402           Default resolution depends on formats.
28403
28404       in_stereo
28405       out_stereo
28406           Set the input/output stereo format.
28407
28408           2d  2D mono
28409
28410           sbs Side by side
28411
28412           tb  Top bottom
28413
28414           Default value is @samp{2d} for input and output format.
28415
28416       yaw
28417       pitch
28418       roll
28419           Set rotation for the output video. Values in degrees.
28420
28421       rorder
28422           Set rotation order for the output video. Choose one item for each
28423           position.
28424
28425           y, Y
28426               yaw
28427
28428           p, P
28429               pitch
28430
28431           r, R
28432               roll
28433
28434           Default value is @samp{ypr}.
28435
28436       h_flip
28437       v_flip
28438       d_flip
28439           Flip the output video horizontally(swaps
28440           left-right)/vertically(swaps up-down)/in-depth(swaps back-forward).
28441           Boolean values.
28442
28443       ih_flip
28444       iv_flip
28445           Set if input video is flipped horizontally/vertically. Boolean
28446           values.
28447
28448       in_trans
28449           Set if input video is transposed. Boolean value, by default
28450           disabled.
28451
28452       out_trans
28453           Set if output video needs to be transposed. Boolean value, by
28454           default disabled.
28455
28456       h_offset
28457       v_offset
28458           Set output horizontal/vertical off-axis offset. Default is set to
28459           0.  Allowed range is from -1 to 1.
28460
28461       alpha_mask
28462           Build mask in alpha plane for all unmapped pixels by marking them
28463           fully transparent. Boolean value, by default disabled.
28464
28465       reset_rot
28466           Reset rotation of output video. Boolean value, by default disabled.
28467
28468       Examples
28469
28470       •   Convert equirectangular video to cubemap with 3x2 layout and 1%
28471           padding using bicubic interpolation:
28472
28473                   ffmpeg -i input.mkv -vf v360=e:c3x2:cubic:out_pad=0.01 output.mkv
28474
28475       •   Extract back view of Equi-Angular Cubemap:
28476
28477                   ffmpeg -i input.mkv -vf v360=eac:flat:yaw=180 output.mkv
28478
28479       •   Convert transposed and horizontally flipped Equi-Angular Cubemap in
28480           side-by-side stereo format to equirectangular top-bottom stereo
28481           format:
28482
28483                   v360=eac:equirect:in_stereo=sbs:in_trans=1:ih_flip=1:out_stereo=tb
28484
28485       Commands
28486
28487       This filter supports subset of above options as commands.
28488
28489   vaguedenoiser
28490       Apply a wavelet based denoiser.
28491
28492       It transforms each frame from the video input into the wavelet domain,
28493       using Cohen-Daubechies-Feauveau 9/7. Then it applies some filtering to
28494       the obtained coefficients. It does an inverse wavelet transform after.
28495       Due to wavelet properties, it should give a nice smoothed result, and
28496       reduced noise, without blurring picture features.
28497
28498       This filter accepts the following options:
28499
28500       threshold
28501           The filtering strength. The higher, the more filtered the video
28502           will be.  Hard thresholding can use a higher threshold than soft
28503           thresholding before the video looks overfiltered. Default value is
28504           2.
28505
28506       method
28507           The filtering method the filter will use.
28508
28509           It accepts the following values:
28510
28511           hard
28512               All values under the threshold will be zeroed.
28513
28514           soft
28515               All values under the threshold will be zeroed. All values above
28516               will be reduced by the threshold.
28517
28518           garrote
28519               Scales or nullifies coefficients - intermediary between (more)
28520               soft and (less) hard thresholding.
28521
28522           Default is garrote.
28523
28524       nsteps
28525           Number of times, the wavelet will decompose the picture. Picture
28526           can't be decomposed beyond a particular point (typically, 8 for a
28527           640x480 frame - as 2^9 = 512 > 480). Valid values are integers
28528           between 1 and 32. Default value is 6.
28529
28530       percent
28531           Partial of full denoising (limited coefficients shrinking), from 0
28532           to 100. Default value is 85.
28533
28534       planes
28535           A list of the planes to process. By default all planes are
28536           processed.
28537
28538       type
28539           The threshold type the filter will use.
28540
28541           It accepts the following values:
28542
28543           universal
28544               Threshold used is same for all decompositions.
28545
28546           bayes
28547               Threshold used depends also on each decomposition coefficients.
28548
28549           Default is universal.
28550
28551   varblur
28552       Apply variable blur filter by using 2nd video stream to set blur
28553       radius.  The 2nd stream must have the same dimensions.
28554
28555       This filter accepts the following options:
28556
28557       min_r
28558           Set min allowed radius. Allowed range is from 0 to 254. Default is
28559           0.
28560
28561       max_r
28562           Set max allowed radius. Allowed range is from 1 to 255. Default is
28563           8.
28564
28565       planes
28566           Set which planes to process. By default, all are used.
28567
28568       The "varblur" filter also supports the framesync options.
28569
28570       Commands
28571
28572       This filter supports all the above options as commands.
28573
28574   vectorscope
28575       Display 2 color component values in the two dimensional graph (which is
28576       called a vectorscope).
28577
28578       This filter accepts the following options:
28579
28580       mode, m
28581           Set vectorscope mode.
28582
28583           It accepts the following values:
28584
28585           gray
28586           tint
28587               Gray values are displayed on graph, higher brightness means
28588               more pixels have same component color value on location in
28589               graph. This is the default mode.
28590
28591           color
28592               Gray values are displayed on graph. Surrounding pixels values
28593               which are not present in video frame are drawn in gradient of 2
28594               color components which are set by option "x" and "y". The 3rd
28595               color component is static.
28596
28597           color2
28598               Actual color components values present in video frame are
28599               displayed on graph.
28600
28601           color3
28602               Similar as color2 but higher frequency of same values "x" and
28603               "y" on graph increases value of another color component, which
28604               is luminance by default values of "x" and "y".
28605
28606           color4
28607               Actual colors present in video frame are displayed on graph. If
28608               two different colors map to same position on graph then color
28609               with higher value of component not present in graph is picked.
28610
28611           color5
28612               Gray values are displayed on graph. Similar to "color" but with
28613               3rd color component picked from radial gradient.
28614
28615       x   Set which color component will be represented on X-axis. Default is
28616           1.
28617
28618       y   Set which color component will be represented on Y-axis. Default is
28619           2.
28620
28621       intensity, i
28622           Set intensity, used by modes: gray, color, color3 and color5 for
28623           increasing brightness of color component which represents frequency
28624           of (X, Y) location in graph.
28625
28626       envelope, e
28627           none
28628               No envelope, this is default.
28629
28630           instant
28631               Instant envelope, even darkest single pixel will be clearly
28632               highlighted.
28633
28634           peak
28635               Hold maximum and minimum values presented in graph over time.
28636               This way you can still spot out of range values without
28637               constantly looking at vectorscope.
28638
28639           peak+instant
28640               Peak and instant envelope combined together.
28641
28642       graticule, g
28643           Set what kind of graticule to draw.
28644
28645           none
28646           green
28647           color
28648           invert
28649       opacity, o
28650           Set graticule opacity.
28651
28652       flags, f
28653           Set graticule flags.
28654
28655           white
28656               Draw graticule for white point.
28657
28658           black
28659               Draw graticule for black point.
28660
28661           name
28662               Draw color points short names.
28663
28664       bgopacity, b
28665           Set background opacity.
28666
28667       lthreshold, l
28668           Set low threshold for color component not represented on X or Y
28669           axis.  Values lower than this value will be ignored. Default is 0.
28670           Note this value is multiplied with actual max possible value one
28671           pixel component can have. So for 8-bit input and low threshold
28672           value of 0.1 actual threshold is 0.1 * 255 = 25.
28673
28674       hthreshold, h
28675           Set high threshold for color component not represented on X or Y
28676           axis.  Values higher than this value will be ignored. Default is 1.
28677           Note this value is multiplied with actual max possible value one
28678           pixel component can have. So for 8-bit input and high threshold
28679           value of 0.9 actual threshold is 0.9 * 255 = 230.
28680
28681       colorspace, c
28682           Set what kind of colorspace to use when drawing graticule.
28683
28684           auto
28685           601
28686           709
28687
28688           Default is auto.
28689
28690       tint0, t0
28691       tint1, t1
28692           Set color tint for gray/tint vectorscope mode. By default both
28693           options are zero.  This means no tint, and output will remain gray.
28694
28695   vidstabdetect
28696       Analyze video stabilization/deshaking. Perform pass 1 of 2, see
28697       vidstabtransform for pass 2.
28698
28699       This filter generates a file with relative translation and rotation
28700       transform information about subsequent frames, which is then used by
28701       the vidstabtransform filter.
28702
28703       To enable compilation of this filter you need to configure FFmpeg with
28704       "--enable-libvidstab".
28705
28706       This filter accepts the following options:
28707
28708       result
28709           Set the path to the file used to write the transforms information.
28710           Default value is transforms.trf.
28711
28712       shakiness
28713           Set how shaky the video is and how quick the camera is. It accepts
28714           an integer in the range 1-10, a value of 1 means little shakiness,
28715           a value of 10 means strong shakiness. Default value is 5.
28716
28717       accuracy
28718           Set the accuracy of the detection process. It must be a value in
28719           the range 1-15. A value of 1 means low accuracy, a value of 15
28720           means high accuracy. Default value is 15.
28721
28722       stepsize
28723           Set stepsize of the search process. The region around minimum is
28724           scanned with 1 pixel resolution. Default value is 6.
28725
28726       mincontrast
28727           Set minimum contrast. Below this value a local measurement field is
28728           discarded. Must be a floating point value in the range 0-1. Default
28729           value is 0.3.
28730
28731       tripod
28732           Set reference frame number for tripod mode.
28733
28734           If enabled, the motion of the frames is compared to a reference
28735           frame in the filtered stream, identified by the specified number.
28736           The idea is to compensate all movements in a more-or-less static
28737           scene and keep the camera view absolutely still.
28738
28739           If set to 0, it is disabled. The frames are counted starting from
28740           1.
28741
28742       show
28743           Show fields and transforms in the resulting frames. It accepts an
28744           integer in the range 0-2. Default value is 0, which disables any
28745           visualization.
28746
28747       Examples
28748
28749       •   Use default values:
28750
28751                   vidstabdetect
28752
28753       •   Analyze strongly shaky movie and put the results in file
28754           mytransforms.trf:
28755
28756                   vidstabdetect=shakiness=10:accuracy=15:result="mytransforms.trf"
28757
28758       •   Visualize the result of internal transformations in the resulting
28759           video:
28760
28761                   vidstabdetect=show=1
28762
28763       •   Analyze a video with medium shakiness using ffmpeg:
28764
28765                   ffmpeg -i input -vf vidstabdetect=shakiness=5:show=1 dummy.avi
28766
28767   vidstabtransform
28768       Video stabilization/deshaking: pass 2 of 2, see vidstabdetect for pass
28769       1.
28770
28771       Read a file with transform information for each frame and
28772       apply/compensate them. Together with the vidstabdetect filter this can
28773       be used to deshake videos. See also
28774       <http://public.hronopik.de/vid.stab>. It is important to also use the
28775       unsharp filter, see below.
28776
28777       To enable compilation of this filter you need to configure FFmpeg with
28778       "--enable-libvidstab".
28779
28780       Options
28781
28782       input
28783           Set path to the file used to read the transforms. Default value is
28784           transforms.trf.
28785
28786       smoothing
28787           Set the number of frames (value*2 + 1) used for lowpass filtering
28788           the camera movements. Default value is 10.
28789
28790           For example a number of 10 means that 21 frames are used (10 in the
28791           past and 10 in the future) to smoothen the motion in the video. A
28792           larger value leads to a smoother video, but limits the acceleration
28793           of the camera (pan/tilt movements). 0 is a special case where a
28794           static camera is simulated.
28795
28796       optalgo
28797           Set the camera path optimization algorithm.
28798
28799           Accepted values are:
28800
28801           gauss
28802               gaussian kernel low-pass filter on camera motion (default)
28803
28804           avg averaging on transformations
28805
28806       maxshift
28807           Set maximal number of pixels to translate frames. Default value is
28808           -1, meaning no limit.
28809
28810       maxangle
28811           Set maximal angle in radians (degree*PI/180) to rotate frames.
28812           Default value is -1, meaning no limit.
28813
28814       crop
28815           Specify how to deal with borders that may be visible due to
28816           movement compensation.
28817
28818           Available values are:
28819
28820           keep
28821               keep image information from previous frame (default)
28822
28823           black
28824               fill the border black
28825
28826       invert
28827           Invert transforms if set to 1. Default value is 0.
28828
28829       relative
28830           Consider transforms as relative to previous frame if set to 1,
28831           absolute if set to 0. Default value is 0.
28832
28833       zoom
28834           Set percentage to zoom. A positive value will result in a zoom-in
28835           effect, a negative value in a zoom-out effect. Default value is 0
28836           (no zoom).
28837
28838       optzoom
28839           Set optimal zooming to avoid borders.
28840
28841           Accepted values are:
28842
28843           0   disabled
28844
28845           1   optimal static zoom value is determined (only very strong
28846               movements will lead to visible borders) (default)
28847
28848           2   optimal adaptive zoom value is determined (no borders will be
28849               visible), see zoomspeed
28850
28851           Note that the value given at zoom is added to the one calculated
28852           here.
28853
28854       zoomspeed
28855           Set percent to zoom maximally each frame (enabled when optzoom is
28856           set to 2). Range is from 0 to 5, default value is 0.25.
28857
28858       interpol
28859           Specify type of interpolation.
28860
28861           Available values are:
28862
28863           no  no interpolation
28864
28865           linear
28866               linear only horizontal
28867
28868           bilinear
28869               linear in both directions (default)
28870
28871           bicubic
28872               cubic in both directions (slow)
28873
28874       tripod
28875           Enable virtual tripod mode if set to 1, which is equivalent to
28876           "relative=0:smoothing=0". Default value is 0.
28877
28878           Use also "tripod" option of vidstabdetect.
28879
28880       debug
28881           Increase log verbosity if set to 1. Also the detected global
28882           motions are written to the temporary file global_motions.trf.
28883           Default value is 0.
28884
28885       Examples
28886
28887       •   Use ffmpeg for a typical stabilization with default values:
28888
28889                   ffmpeg -i inp.mpeg -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 inp_stabilized.mpeg
28890
28891           Note the use of the unsharp filter which is always recommended.
28892
28893       •   Zoom in a bit more and load transform data from a given file:
28894
28895                   vidstabtransform=zoom=5:input="mytransforms.trf"
28896
28897       •   Smoothen the video even more:
28898
28899                   vidstabtransform=smoothing=30
28900
28901   vflip
28902       Flip the input video vertically.
28903
28904       For example, to vertically flip a video with ffmpeg:
28905
28906               ffmpeg -i in.avi -vf "vflip" out.avi
28907
28908   vfrdet
28909       Detect variable frame rate video.
28910
28911       This filter tries to detect if the input is variable or constant frame
28912       rate.
28913
28914       At end it will output number of frames detected as having variable
28915       delta pts, and ones with constant delta pts.  If there was frames with
28916       variable delta, than it will also show min, max and average delta
28917       encountered.
28918
28919   vibrance
28920       Boost or alter saturation.
28921
28922       The filter accepts the following options:
28923
28924       intensity
28925           Set strength of boost if positive value or strength of alter if
28926           negative value.  Default is 0. Allowed range is from -2 to 2.
28927
28928       rbal
28929           Set the red balance. Default is 1. Allowed range is from -10 to 10.
28930
28931       gbal
28932           Set the green balance. Default is 1. Allowed range is from -10 to
28933           10.
28934
28935       bbal
28936           Set the blue balance. Default is 1. Allowed range is from -10 to
28937           10.
28938
28939       rlum
28940           Set the red luma coefficient.
28941
28942       glum
28943           Set the green luma coefficient.
28944
28945       blum
28946           Set the blue luma coefficient.
28947
28948       alternate
28949           If "intensity" is negative and this is set to 1, colors will
28950           change, otherwise colors will be less saturated, more towards gray.
28951
28952       Commands
28953
28954       This filter supports the all above options as commands.
28955
28956   vif
28957       Obtain the average VIF (Visual Information Fidelity) between two input
28958       videos.
28959
28960       This filter takes two input videos.
28961
28962       Both input videos must have the same resolution and pixel format for
28963       this filter to work correctly. Also it assumes that both inputs have
28964       the same number of frames, which are compared one by one.
28965
28966       The obtained average VIF score is printed through the logging system.
28967
28968       The filter stores the calculated VIF score of each frame.
28969
28970       In the below example the input file main.mpg being processed is
28971       compared with the reference file ref.mpg.
28972
28973               ffmpeg -i main.mpg -i ref.mpg -lavfi vif -f null -
28974
28975   vignette
28976       Make or reverse a natural vignetting effect.
28977
28978       The filter accepts the following options:
28979
28980       angle, a
28981           Set lens angle expression as a number of radians.
28982
28983           The value is clipped in the "[0,PI/2]" range.
28984
28985           Default value: "PI/5"
28986
28987       x0
28988       y0  Set center coordinates expressions. Respectively "w/2" and "h/2" by
28989           default.
28990
28991       mode
28992           Set forward/backward mode.
28993
28994           Available modes are:
28995
28996           forward
28997               The larger the distance from the central point, the darker the
28998               image becomes.
28999
29000           backward
29001               The larger the distance from the central point, the brighter
29002               the image becomes.  This can be used to reverse a vignette
29003               effect, though there is no automatic detection to extract the
29004               lens angle and other settings (yet). It can also be used to
29005               create a burning effect.
29006
29007           Default value is forward.
29008
29009       eval
29010           Set evaluation mode for the expressions (angle, x0, y0).
29011
29012           It accepts the following values:
29013
29014           init
29015               Evaluate expressions only once during the filter
29016               initialization.
29017
29018           frame
29019               Evaluate expressions for each incoming frame. This is way
29020               slower than the init mode since it requires all the scalers to
29021               be re-computed, but it allows advanced dynamic expressions.
29022
29023           Default value is init.
29024
29025       dither
29026           Set dithering to reduce the circular banding effects. Default is 1
29027           (enabled).
29028
29029       aspect
29030           Set vignette aspect. This setting allows one to adjust the shape of
29031           the vignette.  Setting this value to the SAR of the input will make
29032           a rectangular vignetting following the dimensions of the video.
29033
29034           Default is "1/1".
29035
29036       Expressions
29037
29038       The alpha, x0 and y0 expressions can contain the following parameters.
29039
29040       w
29041       h   input width and height
29042
29043       n   the number of input frame, starting from 0
29044
29045       pts the PTS (Presentation TimeStamp) time of the filtered video frame,
29046           expressed in TB units, NAN if undefined
29047
29048       r   frame rate of the input video, NAN if the input frame rate is
29049           unknown
29050
29051       t   the PTS (Presentation TimeStamp) of the filtered video frame,
29052           expressed in seconds, NAN if undefined
29053
29054       tb  time base of the input video
29055
29056       Examples
29057
29058       •   Apply simple strong vignetting effect:
29059
29060                   vignette=PI/4
29061
29062       •   Make a flickering vignetting:
29063
29064                   vignette='PI/4+random(1)*PI/50':eval=frame
29065
29066   vmafmotion
29067       Obtain the average VMAF motion score of a video.  It is one of the
29068       component metrics of VMAF.
29069
29070       The obtained average motion score is printed through the logging
29071       system.
29072
29073       The filter accepts the following options:
29074
29075       stats_file
29076           If specified, the filter will use the named file to save the motion
29077           score of each frame with respect to the previous frame.  When
29078           filename equals "-" the data is sent to standard output.
29079
29080       Example:
29081
29082               ffmpeg -i ref.mpg -vf vmafmotion -f null -
29083
29084   vstack
29085       Stack input videos vertically.
29086
29087       All streams must be of same pixel format and of same width.
29088
29089       Note that this filter is faster than using overlay and pad filter to
29090       create same output.
29091
29092       The filter accepts the following options:
29093
29094       inputs
29095           Set number of input streams. Default is 2.
29096
29097       shortest
29098           If set to 1, force the output to terminate when the shortest input
29099           terminates. Default value is 0.
29100
29101   w3fdif
29102       Deinterlace the input video ("w3fdif" stands for "Weston 3 Field
29103       Deinterlacing Filter").
29104
29105       Based on the process described by Martin Weston for BBC R&D, and
29106       implemented based on the de-interlace algorithm written by Jim
29107       Easterbrook for BBC R&D, the Weston 3 field deinterlacing filter uses
29108       filter coefficients calculated by BBC R&D.
29109
29110       This filter uses field-dominance information in frame to decide which
29111       of each pair of fields to place first in the output.  If it gets it
29112       wrong use setfield filter before "w3fdif" filter.
29113
29114       There are two sets of filter coefficients, so called "simple" and
29115       "complex". Which set of filter coefficients is used can be set by
29116       passing an optional parameter:
29117
29118       filter
29119           Set the interlacing filter coefficients. Accepts one of the
29120           following values:
29121
29122           simple
29123               Simple filter coefficient set.
29124
29125           complex
29126               More-complex filter coefficient set.
29127
29128           Default value is complex.
29129
29130       mode
29131           The interlacing mode to adopt. It accepts one of the following
29132           values:
29133
29134           frame
29135               Output one frame for each frame.
29136
29137           field
29138               Output one frame for each field.
29139
29140           The default value is "field".
29141
29142       parity
29143           The picture field parity assumed for the input interlaced video. It
29144           accepts one of the following values:
29145
29146           tff Assume the top field is first.
29147
29148           bff Assume the bottom field is first.
29149
29150           auto
29151               Enable automatic detection of field parity.
29152
29153           The default value is "auto".  If the interlacing is unknown or the
29154           decoder does not export this information, top field first will be
29155           assumed.
29156
29157       deint
29158           Specify which frames to deinterlace. Accepts one of the following
29159           values:
29160
29161           all Deinterlace all frames,
29162
29163           interlaced
29164               Only deinterlace frames marked as interlaced.
29165
29166           Default value is all.
29167
29168       Commands
29169
29170       This filter supports same commands as options.
29171
29172   waveform
29173       Video waveform monitor.
29174
29175       The waveform monitor plots color component intensity. By default
29176       luminance only. Each column of the waveform corresponds to a column of
29177       pixels in the source video.
29178
29179       It accepts the following options:
29180
29181       mode, m
29182           Can be either "row", or "column". Default is "column".  In row
29183           mode, the graph on the left side represents color component value 0
29184           and the right side represents value = 255. In column mode, the top
29185           side represents color component value = 0 and bottom side
29186           represents value = 255.
29187
29188       intensity, i
29189           Set intensity. Smaller values are useful to find out how many
29190           values of the same luminance are distributed across input
29191           rows/columns.  Default value is 0.04. Allowed range is [0, 1].
29192
29193       mirror, r
29194           Set mirroring mode. 0 means unmirrored, 1 means mirrored.  In
29195           mirrored mode, higher values will be represented on the left side
29196           for "row" mode and at the top for "column" mode. Default is 1
29197           (mirrored).
29198
29199       display, d
29200           Set display mode.  It accepts the following values:
29201
29202           overlay
29203               Presents information identical to that in the "parade", except
29204               that the graphs representing color components are superimposed
29205               directly over one another.
29206
29207               This display mode makes it easier to spot relative differences
29208               or similarities in overlapping areas of the color components
29209               that are supposed to be identical, such as neutral whites,
29210               grays, or blacks.
29211
29212           stack
29213               Display separate graph for the color components side by side in
29214               "row" mode or one below the other in "column" mode.
29215
29216           parade
29217               Display separate graph for the color components side by side in
29218               "column" mode or one below the other in "row" mode.
29219
29220               Using this display mode makes it easy to spot color casts in
29221               the highlights and shadows of an image, by comparing the
29222               contours of the top and the bottom graphs of each waveform.
29223               Since whites, grays, and blacks are characterized by exactly
29224               equal amounts of red, green, and blue, neutral areas of the
29225               picture should display three waveforms of roughly equal
29226               width/height. If not, the correction is easy to perform by
29227               making level adjustments the three waveforms.
29228
29229           Default is "stack".
29230
29231       components, c
29232           Set which color components to display. Default is 1, which means
29233           only luminance or red color component if input is in RGB
29234           colorspace. If is set for example to 7 it will display all 3 (if)
29235           available color components.
29236
29237       envelope, e
29238           none
29239               No envelope, this is default.
29240
29241           instant
29242               Instant envelope, minimum and maximum values presented in graph
29243               will be easily visible even with small "step" value.
29244
29245           peak
29246               Hold minimum and maximum values presented in graph across time.
29247               This way you can still spot out of range values without
29248               constantly looking at waveforms.
29249
29250           peak+instant
29251               Peak and instant envelope combined together.
29252
29253       filter, f
29254           lowpass
29255               No filtering, this is default.
29256
29257           flat
29258               Luma and chroma combined together.
29259
29260           aflat
29261               Similar as above, but shows difference between blue and red
29262               chroma.
29263
29264           xflat
29265               Similar as above, but use different colors.
29266
29267           yflat
29268               Similar as above, but again with different colors.
29269
29270           chroma
29271               Displays only chroma.
29272
29273           color
29274               Displays actual color value on waveform.
29275
29276           acolor
29277               Similar as above, but with luma showing frequency of chroma
29278               values.
29279
29280       graticule, g
29281           Set which graticule to display.
29282
29283           none
29284               Do not display graticule.
29285
29286           green
29287               Display green graticule showing legal broadcast ranges.
29288
29289           orange
29290               Display orange graticule showing legal broadcast ranges.
29291
29292           invert
29293               Display invert graticule showing legal broadcast ranges.
29294
29295       opacity, o
29296           Set graticule opacity.
29297
29298       flags, fl
29299           Set graticule flags.
29300
29301           numbers
29302               Draw numbers above lines. By default enabled.
29303
29304           dots
29305               Draw dots instead of lines.
29306
29307       scale, s
29308           Set scale used for displaying graticule.
29309
29310           digital
29311           millivolts
29312           ire
29313
29314           Default is digital.
29315
29316       bgopacity, b
29317           Set background opacity.
29318
29319       tint0, t0
29320       tint1, t1
29321           Set tint for output.  Only used with lowpass filter and when
29322           display is not overlay and input pixel formats are not RGB.
29323
29324       fitmode, fm
29325           Set sample aspect ratio of video output frames.  Can be used to
29326           configure waveform so it is not streched too much in one of
29327           directions.
29328
29329           none
29330               Set sample aspect ration to 1/1.
29331
29332           size
29333               Set sample aspect ratio to match input size of video
29334
29335           Default is none.
29336
29337   weave, doubleweave
29338       The "weave" takes a field-based video input and join each two
29339       sequential fields into single frame, producing a new double height clip
29340       with half the frame rate and half the frame count.
29341
29342       The "doubleweave" works same as "weave" but without halving frame rate
29343       and frame count.
29344
29345       It accepts the following option:
29346
29347       first_field
29348           Set first field. Available values are:
29349
29350           top, t
29351               Set the frame as top-field-first.
29352
29353           bottom, b
29354               Set the frame as bottom-field-first.
29355
29356       Examples
29357
29358       •   Interlace video using select and separatefields filter:
29359
29360                   separatefields,select=eq(mod(n,4),0)+eq(mod(n,4),3),weave
29361
29362   xbr
29363       Apply the xBR high-quality magnification filter which is designed for
29364       pixel art. It follows a set of edge-detection rules, see
29365       <https://forums.libretro.com/t/xbr-algorithm-tutorial/123>.
29366
29367       It accepts the following option:
29368
29369       n   Set the scaling dimension: 2 for "2xBR", 3 for "3xBR" and 4 for
29370           "4xBR".  Default is 3.
29371
29372   xcorrelate
29373       Apply normalized cross-correlation between first and second input video
29374       stream.
29375
29376       Second input video stream dimensions must be lower than first input
29377       video stream.
29378
29379       The filter accepts the following options:
29380
29381       planes
29382           Set which planes to process.
29383
29384       secondary
29385           Set which secondary video frames will be processed from second
29386           input video stream, can be first or all. Default is all.
29387
29388       The "xcorrelate" filter also supports the framesync options.
29389
29390   xfade
29391       Apply cross fade from one input video stream to another input video
29392       stream.  The cross fade is applied for specified duration.
29393
29394       Both inputs must be constant frame-rate and have the same resolution,
29395       pixel format, frame rate and timebase.
29396
29397       The filter accepts the following options:
29398
29399       transition
29400           Set one of available transition effects:
29401
29402           custom
29403           fade
29404           wipeleft
29405           wiperight
29406           wipeup
29407           wipedown
29408           slideleft
29409           slideright
29410           slideup
29411           slidedown
29412           circlecrop
29413           rectcrop
29414           distance
29415           fadeblack
29416           fadewhite
29417           radial
29418           smoothleft
29419           smoothright
29420           smoothup
29421           smoothdown
29422           circleopen
29423           circleclose
29424           vertopen
29425           vertclose
29426           horzopen
29427           horzclose
29428           dissolve
29429           pixelize
29430           diagtl
29431           diagtr
29432           diagbl
29433           diagbr
29434           hlslice
29435           hrslice
29436           vuslice
29437           vdslice
29438           hblur
29439           fadegrays
29440           wipetl
29441           wipetr
29442           wipebl
29443           wipebr
29444           squeezeh
29445           squeezev
29446           zoomin
29447
29448           Default transition effect is fade.
29449
29450       duration
29451           Set cross fade duration in seconds.  Range is 0 to 60 seconds.
29452           Default duration is 1 second.
29453
29454       offset
29455           Set cross fade start relative to first input stream in seconds.
29456           Default offset is 0.
29457
29458       expr
29459           Set expression for custom transition effect.
29460
29461           The expressions can use the following variables and functions:
29462
29463           X
29464           Y   The coordinates of the current sample.
29465
29466           W
29467           H   The width and height of the image.
29468
29469           P   Progress of transition effect.
29470
29471           PLANE
29472               Currently processed plane.
29473
29474           A   Return value of first input at current location and plane.
29475
29476           B   Return value of second input at current location and plane.
29477
29478           a0(x, y)
29479           a1(x, y)
29480           a2(x, y)
29481           a3(x, y)
29482               Return the value of the pixel at location (x,y) of the
29483               first/second/third/fourth component of first input.
29484
29485           b0(x, y)
29486           b1(x, y)
29487           b2(x, y)
29488           b3(x, y)
29489               Return the value of the pixel at location (x,y) of the
29490               first/second/third/fourth component of second input.
29491
29492       Examples
29493
29494       •   Cross fade from one input video to another input video, with fade
29495           transition and duration of transition of 2 seconds starting at
29496           offset of 5 seconds:
29497
29498                   ffmpeg -i first.mp4 -i second.mp4 -filter_complex xfade=transition=fade:duration=2:offset=5 output.mp4
29499
29500   xmedian
29501       Pick median pixels from several input videos.
29502
29503       The filter accepts the following options:
29504
29505       inputs
29506           Set number of inputs.  Default is 3. Allowed range is from 3 to
29507           255.  If number of inputs is even number, than result will be mean
29508           value between two median values.
29509
29510       planes
29511           Set which planes to filter. Default value is 15, by which all
29512           planes are processed.
29513
29514       percentile
29515           Set median percentile. Default value is 0.5.  Default value of 0.5
29516           will pick always median values, while 0 will pick minimum values,
29517           and 1 maximum values.
29518
29519       Commands
29520
29521       This filter supports all above options as commands, excluding option
29522       "inputs".
29523
29524   xstack
29525       Stack video inputs into custom layout.
29526
29527       All streams must be of same pixel format.
29528
29529       The filter accepts the following options:
29530
29531       inputs
29532           Set number of input streams. Default is 2.
29533
29534       layout
29535           Specify layout of inputs.  This option requires the desired layout
29536           configuration to be explicitly set by the user.  This sets position
29537           of each video input in output. Each input is separated by '|'.  The
29538           first number represents the column, and the second number
29539           represents the row.  Numbers start at 0 and are separated by '_'.
29540           Optionally one can use wX and hX, where X is video input from which
29541           to take width or height.  Multiple values can be used when
29542           separated by '+'. In such case values are summed together.
29543
29544           Note that if inputs are of different sizes gaps may appear, as not
29545           all of the output video frame will be filled. Similarly, videos can
29546           overlap each other if their position doesn't leave enough space for
29547           the full frame of adjoining videos.
29548
29549           For 2 inputs, a default layout of "0_0|w0_0" is set. In all other
29550           cases, a layout must be set by the user.
29551
29552       shortest
29553           If set to 1, force the output to terminate when the shortest input
29554           terminates. Default value is 0.
29555
29556       fill
29557           If set to valid color, all unused pixels will be filled with that
29558           color.  By default fill is set to none, so it is disabled.
29559
29560       Examples
29561
29562       •   Display 4 inputs into 2x2 grid.
29563
29564           Layout:
29565
29566                   input1(0, 0)  | input3(w0, 0)
29567                   input2(0, h0) | input4(w0, h0)
29568
29569
29570
29571                   xstack=inputs=4:layout=0_0|0_h0|w0_0|w0_h0
29572
29573           Note that if inputs are of different sizes, gaps or overlaps may
29574           occur.
29575
29576       •   Display 4 inputs into 1x4 grid.
29577
29578           Layout:
29579
29580                   input1(0, 0)
29581                   input2(0, h0)
29582                   input3(0, h0+h1)
29583                   input4(0, h0+h1+h2)
29584
29585
29586
29587                   xstack=inputs=4:layout=0_0|0_h0|0_h0+h1|0_h0+h1+h2
29588
29589           Note that if inputs are of different widths, unused space will
29590           appear.
29591
29592       •   Display 9 inputs into 3x3 grid.
29593
29594           Layout:
29595
29596                   input1(0, 0)       | input4(w0, 0)      | input7(w0+w3, 0)
29597                   input2(0, h0)      | input5(w0, h0)     | input8(w0+w3, h0)
29598                   input3(0, h0+h1)   | input6(w0, h0+h1)  | input9(w0+w3, h0+h1)
29599
29600
29601
29602                   xstack=inputs=9:layout=0_0|0_h0|0_h0+h1|w0_0|w0_h0|w0_h0+h1|w0+w3_0|w0+w3_h0|w0+w3_h0+h1
29603
29604           Note that if inputs are of different sizes, gaps or overlaps may
29605           occur.
29606
29607       •   Display 16 inputs into 4x4 grid.
29608
29609           Layout:
29610
29611                   input1(0, 0)       | input5(w0, 0)       | input9 (w0+w4, 0)       | input13(w0+w4+w8, 0)
29612                   input2(0, h0)      | input6(w0, h0)      | input10(w0+w4, h0)      | input14(w0+w4+w8, h0)
29613                   input3(0, h0+h1)   | input7(w0, h0+h1)   | input11(w0+w4, h0+h1)   | input15(w0+w4+w8, h0+h1)
29614                   input4(0, h0+h1+h2)| input8(w0, h0+h1+h2)| input12(w0+w4, h0+h1+h2)| input16(w0+w4+w8, h0+h1+h2)
29615
29616
29617
29618                   xstack=inputs=16:layout=0_0|0_h0|0_h0+h1|0_h0+h1+h2|w0_0|w0_h0|w0_h0+h1|w0_h0+h1+h2|w0+w4_0|
29619                   w0+w4_h0|w0+w4_h0+h1|w0+w4_h0+h1+h2|w0+w4+w8_0|w0+w4+w8_h0|w0+w4+w8_h0+h1|w0+w4+w8_h0+h1+h2
29620
29621           Note that if inputs are of different sizes, gaps or overlaps may
29622           occur.
29623
29624   yadif
29625       Deinterlace the input video ("yadif" means "yet another deinterlacing
29626       filter").
29627
29628       It accepts the following parameters:
29629
29630       mode
29631           The interlacing mode to adopt. It accepts one of the following
29632           values:
29633
29634           0, send_frame
29635               Output one frame for each frame.
29636
29637           1, send_field
29638               Output one frame for each field.
29639
29640           2, send_frame_nospatial
29641               Like "send_frame", but it skips the spatial interlacing check.
29642
29643           3, send_field_nospatial
29644               Like "send_field", but it skips the spatial interlacing check.
29645
29646           The default value is "send_frame".
29647
29648       parity
29649           The picture field parity assumed for the input interlaced video. It
29650           accepts one of the following values:
29651
29652           0, tff
29653               Assume the top field is first.
29654
29655           1, bff
29656               Assume the bottom field is first.
29657
29658           -1, auto
29659               Enable automatic detection of field parity.
29660
29661           The default value is "auto".  If the interlacing is unknown or the
29662           decoder does not export this information, top field first will be
29663           assumed.
29664
29665       deint
29666           Specify which frames to deinterlace. Accepts one of the following
29667           values:
29668
29669           0, all
29670               Deinterlace all frames.
29671
29672           1, interlaced
29673               Only deinterlace frames marked as interlaced.
29674
29675           The default value is "all".
29676
29677   yadif_cuda
29678       Deinterlace the input video using the yadif algorithm, but implemented
29679       in CUDA so that it can work as part of a GPU accelerated pipeline with
29680       nvdec and/or nvenc.
29681
29682       It accepts the following parameters:
29683
29684       mode
29685           The interlacing mode to adopt. It accepts one of the following
29686           values:
29687
29688           0, send_frame
29689               Output one frame for each frame.
29690
29691           1, send_field
29692               Output one frame for each field.
29693
29694           2, send_frame_nospatial
29695               Like "send_frame", but it skips the spatial interlacing check.
29696
29697           3, send_field_nospatial
29698               Like "send_field", but it skips the spatial interlacing check.
29699
29700           The default value is "send_frame".
29701
29702       parity
29703           The picture field parity assumed for the input interlaced video. It
29704           accepts one of the following values:
29705
29706           0, tff
29707               Assume the top field is first.
29708
29709           1, bff
29710               Assume the bottom field is first.
29711
29712           -1, auto
29713               Enable automatic detection of field parity.
29714
29715           The default value is "auto".  If the interlacing is unknown or the
29716           decoder does not export this information, top field first will be
29717           assumed.
29718
29719       deint
29720           Specify which frames to deinterlace. Accepts one of the following
29721           values:
29722
29723           0, all
29724               Deinterlace all frames.
29725
29726           1, interlaced
29727               Only deinterlace frames marked as interlaced.
29728
29729           The default value is "all".
29730
29731   yaepblur
29732       Apply blur filter while preserving edges ("yaepblur" means "yet another
29733       edge preserving blur filter").  The algorithm is described in "J. S.
29734       Lee, Digital image enhancement and noise filtering by use of local
29735       statistics, IEEE Trans. Pattern Anal. Mach. Intell. PAMI-2, 1980."
29736
29737       It accepts the following parameters:
29738
29739       radius, r
29740           Set the window radius. Default value is 3.
29741
29742       planes, p
29743           Set which planes to filter. Default is only the first plane.
29744
29745       sigma, s
29746           Set blur strength. Default value is 128.
29747
29748       Commands
29749
29750       This filter supports same commands as options.
29751
29752   zoompan
29753       Apply Zoom & Pan effect.
29754
29755       This filter accepts the following options:
29756
29757       zoom, z
29758           Set the zoom expression. Range is 1-10. Default is 1.
29759
29760       x
29761       y   Set the x and y expression. Default is 0.
29762
29763       d   Set the duration expression in number of frames.  This sets for how
29764           many number of frames effect will last for single input image.
29765           Default is 90.
29766
29767       s   Set the output image size, default is 'hd720'.
29768
29769       fps Set the output frame rate, default is '25'.
29770
29771       Each expression can contain the following constants:
29772
29773       in_w, iw
29774           Input width.
29775
29776       in_h, ih
29777           Input height.
29778
29779       out_w, ow
29780           Output width.
29781
29782       out_h, oh
29783           Output height.
29784
29785       in  Input frame count.
29786
29787       on  Output frame count.
29788
29789       in_time, it
29790           The input timestamp expressed in seconds. It's NAN if the input
29791           timestamp is unknown.
29792
29793       out_time, time, ot
29794           The output timestamp expressed in seconds.
29795
29796       x
29797       y   Last calculated 'x' and 'y' position from 'x' and 'y' expression
29798           for current input frame.
29799
29800       px
29801       py  'x' and 'y' of last output frame of previous input frame or 0 when
29802           there was not yet such frame (first input frame).
29803
29804       zoom
29805           Last calculated zoom from 'z' expression for current input frame.
29806
29807       pzoom
29808           Last calculated zoom of last output frame of previous input frame.
29809
29810       duration
29811           Number of output frames for current input frame. Calculated from
29812           'd' expression for each input frame.
29813
29814       pduration
29815           number of output frames created for previous input frame
29816
29817       a   Rational number: input width / input height
29818
29819       sar sample aspect ratio
29820
29821       dar display aspect ratio
29822
29823       Examples
29824
29825       •   Zoom in up to 1.5x and pan at same time to some spot near center of
29826           picture:
29827
29828                   zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360
29829
29830       •   Zoom in up to 1.5x and pan always at center of picture:
29831
29832                   zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
29833
29834       •   Same as above but without pausing:
29835
29836                   zoompan=z='min(max(zoom,pzoom)+0.0015,1.5)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
29837
29838       •   Zoom in 2x into center of picture only for the first second of the
29839           input video:
29840
29841                   zoompan=z='if(between(in_time,0,1),2,1)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
29842
29843   zscale
29844       Scale (resize) the input video, using the z.lib library:
29845       <https://github.com/sekrit-twc/zimg>. To enable compilation of this
29846       filter, you need to configure FFmpeg with "--enable-libzimg".
29847
29848       The zscale filter forces the output display aspect ratio to be the same
29849       as the input, by changing the output sample aspect ratio.
29850
29851       If the input image format is different from the format requested by the
29852       next filter, the zscale filter will convert the input to the requested
29853       format.
29854
29855       Options
29856
29857       The filter accepts the following options.
29858
29859       width, w
29860       height, h
29861           Set the output video dimension expression. Default value is the
29862           input dimension.
29863
29864           If the width or w value is 0, the input width is used for the
29865           output. If the height or h value is 0, the input height is used for
29866           the output.
29867
29868           If one and only one of the values is -n with n >= 1, the zscale
29869           filter will use a value that maintains the aspect ratio of the
29870           input image, calculated from the other specified dimension. After
29871           that it will, however, make sure that the calculated dimension is
29872           divisible by n and adjust the value if necessary.
29873
29874           If both values are -n with n >= 1, the behavior will be identical
29875           to both values being set to 0 as previously detailed.
29876
29877           See below for the list of accepted constants for use in the
29878           dimension expression.
29879
29880       size, s
29881           Set the video size. For the syntax of this option, check the "Video
29882           size" section in the ffmpeg-utils manual.
29883
29884       dither, d
29885           Set the dither type.
29886
29887           Possible values are:
29888
29889           none
29890           ordered
29891           random
29892           error_diffusion
29893
29894           Default is none.
29895
29896       filter, f
29897           Set the resize filter type.
29898
29899           Possible values are:
29900
29901           point
29902           bilinear
29903           bicubic
29904           spline16
29905           spline36
29906           lanczos
29907
29908           Default is bilinear.
29909
29910       range, r
29911           Set the color range.
29912
29913           Possible values are:
29914
29915           input
29916           limited
29917           full
29918
29919           Default is same as input.
29920
29921       primaries, p
29922           Set the color primaries.
29923
29924           Possible values are:
29925
29926           input
29927           709
29928           unspecified
29929           170m
29930           240m
29931           2020
29932
29933           Default is same as input.
29934
29935       transfer, t
29936           Set the transfer characteristics.
29937
29938           Possible values are:
29939
29940           input
29941           709
29942           unspecified
29943           601
29944           linear
29945           2020_10
29946           2020_12
29947           smpte2084
29948           iec61966-2-1
29949           arib-std-b67
29950
29951           Default is same as input.
29952
29953       matrix, m
29954           Set the colorspace matrix.
29955
29956           Possible value are:
29957
29958           input
29959           709
29960           unspecified
29961           470bg
29962           170m
29963           2020_ncl
29964           2020_cl
29965
29966           Default is same as input.
29967
29968       rangein, rin
29969           Set the input color range.
29970
29971           Possible values are:
29972
29973           input
29974           limited
29975           full
29976
29977           Default is same as input.
29978
29979       primariesin, pin
29980           Set the input color primaries.
29981
29982           Possible values are:
29983
29984           input
29985           709
29986           unspecified
29987           170m
29988           240m
29989           2020
29990
29991           Default is same as input.
29992
29993       transferin, tin
29994           Set the input transfer characteristics.
29995
29996           Possible values are:
29997
29998           input
29999           709
30000           unspecified
30001           601
30002           linear
30003           2020_10
30004           2020_12
30005
30006           Default is same as input.
30007
30008       matrixin, min
30009           Set the input colorspace matrix.
30010
30011           Possible value are:
30012
30013           input
30014           709
30015           unspecified
30016           470bg
30017           170m
30018           2020_ncl
30019           2020_cl
30020       chromal, c
30021           Set the output chroma location.
30022
30023           Possible values are:
30024
30025           input
30026           left
30027           center
30028           topleft
30029           top
30030           bottomleft
30031           bottom
30032       chromalin, cin
30033           Set the input chroma location.
30034
30035           Possible values are:
30036
30037           input
30038           left
30039           center
30040           topleft
30041           top
30042           bottomleft
30043           bottom
30044       npl Set the nominal peak luminance.
30045
30046       param_a
30047           Parameter A for scaling filters. Parameter "b" for bicubic, and the
30048           number of filter taps for lanczos.
30049
30050       param_b
30051           Parameter B for scaling filters. Parameter "c" for bicubic.
30052
30053       The values of the w and h options are expressions containing the
30054       following constants:
30055
30056       in_w
30057       in_h
30058           The input width and height
30059
30060       iw
30061       ih  These are the same as in_w and in_h.
30062
30063       out_w
30064       out_h
30065           The output (scaled) width and height
30066
30067       ow
30068       oh  These are the same as out_w and out_h
30069
30070       a   The same as iw / ih
30071
30072       sar input sample aspect ratio
30073
30074       dar The input display aspect ratio. Calculated from "(iw / ih) * sar".
30075
30076       hsub
30077       vsub
30078           horizontal and vertical input chroma subsample values. For example
30079           for the pixel format "yuv422p" hsub is 2 and vsub is 1.
30080
30081       ohsub
30082       ovsub
30083           horizontal and vertical output chroma subsample values. For example
30084           for the pixel format "yuv422p" hsub is 2 and vsub is 1.
30085
30086       Commands
30087
30088       This filter supports the following commands:
30089
30090       width, w
30091       height, h
30092           Set the output video dimension expression.  The command accepts the
30093           same syntax of the corresponding option.
30094
30095           If the specified expression is not valid, it is kept at its current
30096           value.
30097

OPENCL VIDEO FILTERS

30099       Below is a description of the currently available OpenCL video filters.
30100
30101       To enable compilation of these filters you need to configure FFmpeg
30102       with "--enable-opencl".
30103
30104       Running OpenCL filters requires you to initialize a hardware device and
30105       to pass that device to all filters in any filter graph.
30106
30107       -init_hw_device opencl[=name][:device[,key=value...]]
30108           Initialise a new hardware device of type opencl called name, using
30109           the given device parameters.
30110
30111       -filter_hw_device name
30112           Pass the hardware device called name to all filters in any filter
30113           graph.
30114
30115       For more detailed information see
30116       <https://www.ffmpeg.org/ffmpeg.html#Advanced-Video-options>
30117
30118       •   Example of choosing the first device on the second platform and
30119           running avgblur_opencl filter with default parameters on it.
30120
30121                   -init_hw_device opencl=gpu:1.0 -filter_hw_device gpu -i INPUT -vf "hwupload, avgblur_opencl, hwdownload" OUTPUT
30122
30123       Since OpenCL filters are not able to access frame data in normal
30124       memory, all frame data needs to be uploaded(hwupload) to hardware
30125       surfaces connected to the appropriate device before being used and then
30126       downloaded(hwdownload) back to normal memory. Note that hwupload will
30127       upload to a surface with the same layout as the software frame, so it
30128       may be necessary to add a format filter immediately before to get the
30129       input into the right format and hwdownload does not support all formats
30130       on the output - it may be necessary to insert an additional format
30131       filter immediately following in the graph to get the output in a
30132       supported format.
30133
30134   avgblur_opencl
30135       Apply average blur filter.
30136
30137       The filter accepts the following options:
30138
30139       sizeX
30140           Set horizontal radius size.  Range is "[1, 1024]" and default value
30141           is 1.
30142
30143       planes
30144           Set which planes to filter. Default value is 0xf, by which all
30145           planes are processed.
30146
30147       sizeY
30148           Set vertical radius size. Range is "[1, 1024]" and default value is
30149           0. If zero, "sizeX" value will be used.
30150
30151       Example
30152
30153       •   Apply average blur filter with horizontal and vertical size of 3,
30154           setting each pixel of the output to the average value of the 7x7
30155           region centered on it in the input. For pixels on the edges of the
30156           image, the region does not extend beyond the image boundaries, and
30157           so out-of-range coordinates are not used in the calculations.
30158
30159                   -i INPUT -vf "hwupload, avgblur_opencl=3, hwdownload" OUTPUT
30160
30161   boxblur_opencl
30162       Apply a boxblur algorithm to the input video.
30163
30164       It accepts the following parameters:
30165
30166       luma_radius, lr
30167       luma_power, lp
30168       chroma_radius, cr
30169       chroma_power, cp
30170       alpha_radius, ar
30171       alpha_power, ap
30172
30173       A description of the accepted options follows.
30174
30175       luma_radius, lr
30176       chroma_radius, cr
30177       alpha_radius, ar
30178           Set an expression for the box radius in pixels used for blurring
30179           the corresponding input plane.
30180
30181           The radius value must be a non-negative number, and must not be
30182           greater than the value of the expression "min(w,h)/2" for the luma
30183           and alpha planes, and of "min(cw,ch)/2" for the chroma planes.
30184
30185           Default value for luma_radius is "2". If not specified,
30186           chroma_radius and alpha_radius default to the corresponding value
30187           set for luma_radius.
30188
30189           The expressions can contain the following constants:
30190
30191           w
30192           h   The input width and height in pixels.
30193
30194           cw
30195           ch  The input chroma image width and height in pixels.
30196
30197           hsub
30198           vsub
30199               The horizontal and vertical chroma subsample values. For
30200               example, for the pixel format "yuv422p", hsub is 2 and vsub is
30201               1.
30202
30203       luma_power, lp
30204       chroma_power, cp
30205       alpha_power, ap
30206           Specify how many times the boxblur filter is applied to the
30207           corresponding plane.
30208
30209           Default value for luma_power is 2. If not specified, chroma_power
30210           and alpha_power default to the corresponding value set for
30211           luma_power.
30212
30213           A value of 0 will disable the effect.
30214
30215       Examples
30216
30217       Apply boxblur filter, setting each pixel of the output to the average
30218       value of box-radiuses luma_radius, chroma_radius, alpha_radius for each
30219       plane respectively. The filter will apply luma_power, chroma_power,
30220       alpha_power times onto the corresponding plane. For pixels on the edges
30221       of the image, the radius does not extend beyond the image boundaries,
30222       and so out-of-range coordinates are not used in the calculations.
30223
30224       •   Apply a boxblur filter with the luma, chroma, and alpha radius set
30225           to 2 and luma, chroma, and alpha power set to 3. The filter will
30226           run 3 times with box-radius set to 2 for every plane of the image.
30227
30228                   -i INPUT -vf "hwupload, boxblur_opencl=luma_radius=2:luma_power=3, hwdownload" OUTPUT
30229                   -i INPUT -vf "hwupload, boxblur_opencl=2:3, hwdownload" OUTPUT
30230
30231       •   Apply a boxblur filter with luma radius set to 2, luma_power to 1,
30232           chroma_radius to 4, chroma_power to 5, alpha_radius to 3 and
30233           alpha_power to 7.
30234
30235           For the luma plane, a 2x2 box radius will be run once.
30236
30237           For the chroma plane, a 4x4 box radius will be run 5 times.
30238
30239           For the alpha plane, a 3x3 box radius will be run 7 times.
30240
30241                   -i INPUT -vf "hwupload, boxblur_opencl=2:1:4:5:3:7, hwdownload" OUTPUT
30242
30243   colorkey_opencl
30244       RGB colorspace color keying.
30245
30246       The filter accepts the following options:
30247
30248       color
30249           The color which will be replaced with transparency.
30250
30251       similarity
30252           Similarity percentage with the key color.
30253
30254           0.01 matches only the exact key color, while 1.0 matches
30255           everything.
30256
30257       blend
30258           Blend percentage.
30259
30260           0.0 makes pixels either fully transparent, or not transparent at
30261           all.
30262
30263           Higher values result in semi-transparent pixels, with a higher
30264           transparency the more similar the pixels color is to the key color.
30265
30266       Examples
30267
30268       •   Make every semi-green pixel in the input transparent with some
30269           slight blending:
30270
30271                   -i INPUT -vf "hwupload, colorkey_opencl=green:0.3:0.1, hwdownload" OUTPUT
30272
30273   convolution_opencl
30274       Apply convolution of 3x3, 5x5, 7x7 matrix.
30275
30276       The filter accepts the following options:
30277
30278       0m
30279       1m
30280       2m
30281       3m  Set matrix for each plane.  Matrix is sequence of 9, 25 or 49
30282           signed numbers.  Default value for each plane is "0 0 0 0 1 0 0 0
30283           0".
30284
30285       0rdiv
30286       1rdiv
30287       2rdiv
30288       3rdiv
30289           Set multiplier for calculated value for each plane.  If unset or 0,
30290           it will be sum of all matrix elements.  The option value must be a
30291           float number greater or equal to 0.0. Default value is 1.0.
30292
30293       0bias
30294       1bias
30295       2bias
30296       3bias
30297           Set bias for each plane. This value is added to the result of the
30298           multiplication.  Useful for making the overall image brighter or
30299           darker.  The option value must be a float number greater or equal
30300           to 0.0. Default value is 0.0.
30301
30302       Examples
30303
30304       •   Apply sharpen:
30305
30306                   -i INPUT -vf "hwupload, convolution_opencl=0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0, hwdownload" OUTPUT
30307
30308       •   Apply blur:
30309
30310                   -i INPUT -vf "hwupload, convolution_opencl=1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1 1 1 1 1 1 1 1 1:1/9:1/9:1/9:1/9, hwdownload" OUTPUT
30311
30312       •   Apply edge enhance:
30313
30314                   -i INPUT -vf "hwupload, convolution_opencl=0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:0 0 0 -1 1 0 0 0 0:5:1:1:1:0:128:128:128, hwdownload" OUTPUT
30315
30316       •   Apply edge detect:
30317
30318                   -i INPUT -vf "hwupload, convolution_opencl=0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:0 1 0 1 -4 1 0 1 0:5:5:5:1:0:128:128:128, hwdownload" OUTPUT
30319
30320       •   Apply laplacian edge detector which includes diagonals:
30321
30322                   -i INPUT -vf "hwupload, convolution_opencl=1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:1 1 1 1 -8 1 1 1 1:5:5:5:1:0:128:128:0, hwdownload" OUTPUT
30323
30324       •   Apply emboss:
30325
30326                   -i INPUT -vf "hwupload, convolution_opencl=-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2:-2 -1 0 -1 1 1 0 1 2, hwdownload" OUTPUT
30327
30328   erosion_opencl
30329       Apply erosion effect to the video.
30330
30331       This filter replaces the pixel by the local(3x3) minimum.
30332
30333       It accepts the following options:
30334
30335       threshold0
30336       threshold1
30337       threshold2
30338       threshold3
30339           Limit the maximum change for each plane. Range is "[0, 65535]" and
30340           default value is 65535.  If 0, plane will remain unchanged.
30341
30342       coordinates
30343           Flag which specifies the pixel to refer to.  Range is "[0, 255]"
30344           and default value is 255, i.e. all eight pixels are used.
30345
30346           Flags to local 3x3 coordinates region centered on "x":
30347
30348               1 2 3
30349
30350               4 x 5
30351
30352               6 7 8
30353
30354       Example
30355
30356       •   Apply erosion filter with threshold0 set to 30, threshold1 set 40,
30357           threshold2 set to 50 and coordinates set to 231, setting each pixel
30358           of the output to the local minimum between pixels: 1, 2, 3, 6, 7, 8
30359           of the 3x3 region centered on it in the input. If the difference
30360           between input pixel and local minimum is more then threshold of the
30361           corresponding plane, output pixel will be set to input pixel -
30362           threshold of corresponding plane.
30363
30364                   -i INPUT -vf "hwupload, erosion_opencl=30:40:50:coordinates=231, hwdownload" OUTPUT
30365
30366   deshake_opencl
30367       Feature-point based video stabilization filter.
30368
30369       The filter accepts the following options:
30370
30371       tripod
30372           Simulates a tripod by preventing any camera movement whatsoever
30373           from the original frame. Defaults to 0.
30374
30375       debug
30376           Whether or not additional debug info should be displayed, both in
30377           the processed output and in the console.
30378
30379           Note that in order to see console debug output you will also need
30380           to pass "-v verbose" to ffmpeg.
30381
30382           Viewing point matches in the output video is only supported for RGB
30383           input.
30384
30385           Defaults to 0.
30386
30387       adaptive_crop
30388           Whether or not to do a tiny bit of cropping at the borders to cut
30389           down on the amount of mirrored pixels.
30390
30391           Defaults to 1.
30392
30393       refine_features
30394           Whether or not feature points should be refined at a sub-pixel
30395           level.
30396
30397           This can be turned off for a slight performance gain at the cost of
30398           precision.
30399
30400           Defaults to 1.
30401
30402       smooth_strength
30403           The strength of the smoothing applied to the camera path from 0.0
30404           to 1.0.
30405
30406           1.0 is the maximum smoothing strength while values less than that
30407           result in less smoothing.
30408
30409           0.0 causes the filter to adaptively choose a smoothing strength on
30410           a per-frame basis.
30411
30412           Defaults to 0.0.
30413
30414       smooth_window_multiplier
30415           Controls the size of the smoothing window (the number of frames
30416           buffered to determine motion information from).
30417
30418           The size of the smoothing window is determined by multiplying the
30419           framerate of the video by this number.
30420
30421           Acceptable values range from 0.1 to 10.0.
30422
30423           Larger values increase the amount of motion data available for
30424           determining how to smooth the camera path, potentially improving
30425           smoothness, but also increase latency and memory usage.
30426
30427           Defaults to 2.0.
30428
30429       Examples
30430
30431       •   Stabilize a video with a fixed, medium smoothing strength:
30432
30433                   -i INPUT -vf "hwupload, deshake_opencl=smooth_strength=0.5, hwdownload" OUTPUT
30434
30435       •   Stabilize a video with debugging (both in console and in rendered
30436           video):
30437
30438                   -i INPUT -filter_complex "[0:v]format=rgba, hwupload, deshake_opencl=debug=1, hwdownload, format=rgba, format=yuv420p" -v verbose OUTPUT
30439
30440   dilation_opencl
30441       Apply dilation effect to the video.
30442
30443       This filter replaces the pixel by the local(3x3) maximum.
30444
30445       It accepts the following options:
30446
30447       threshold0
30448       threshold1
30449       threshold2
30450       threshold3
30451           Limit the maximum change for each plane. Range is "[0, 65535]" and
30452           default value is 65535.  If 0, plane will remain unchanged.
30453
30454       coordinates
30455           Flag which specifies the pixel to refer to.  Range is "[0, 255]"
30456           and default value is 255, i.e. all eight pixels are used.
30457
30458           Flags to local 3x3 coordinates region centered on "x":
30459
30460               1 2 3
30461
30462               4 x 5
30463
30464               6 7 8
30465
30466       Example
30467
30468       •   Apply dilation filter with threshold0 set to 30, threshold1 set 40,
30469           threshold2 set to 50 and coordinates set to 231, setting each pixel
30470           of the output to the local maximum between pixels: 1, 2, 3, 6, 7, 8
30471           of the 3x3 region centered on it in the input. If the difference
30472           between input pixel and local maximum is more then threshold of the
30473           corresponding plane, output pixel will be set to input pixel +
30474           threshold of corresponding plane.
30475
30476                   -i INPUT -vf "hwupload, dilation_opencl=30:40:50:coordinates=231, hwdownload" OUTPUT
30477
30478   nlmeans_opencl
30479       Non-local Means denoise filter through OpenCL, this filter accepts same
30480       options as nlmeans.
30481
30482   overlay_opencl
30483       Overlay one video on top of another.
30484
30485       It takes two inputs and has one output. The first input is the "main"
30486       video on which the second input is overlaid.  This filter requires same
30487       memory layout for all the inputs. So, format conversion may be needed.
30488
30489       The filter accepts the following options:
30490
30491       x   Set the x coordinate of the overlaid video on the main video.
30492           Default value is 0.
30493
30494       y   Set the y coordinate of the overlaid video on the main video.
30495           Default value is 0.
30496
30497       Examples
30498
30499       •   Overlay an image LOGO at the top-left corner of the INPUT video.
30500           Both inputs are yuv420p format.
30501
30502                   -i INPUT -i LOGO -filter_complex "[0:v]hwupload[a], [1:v]format=yuv420p, hwupload[b], [a][b]overlay_opencl, hwdownload" OUTPUT
30503
30504       •   The inputs have same memory layout for color channels , the overlay
30505           has additional alpha plane, like INPUT is yuv420p, and the LOGO is
30506           yuva420p.
30507
30508                   -i INPUT -i LOGO -filter_complex "[0:v]hwupload[a], [1:v]format=yuva420p, hwupload[b], [a][b]overlay_opencl, hwdownload" OUTPUT
30509
30510   pad_opencl
30511       Add paddings to the input image, and place the original input at the
30512       provided x, y coordinates.
30513
30514       It accepts the following options:
30515
30516       width, w
30517       height, h
30518           Specify an expression for the size of the output image with the
30519           paddings added. If the value for width or height is 0, the
30520           corresponding input size is used for the output.
30521
30522           The width expression can reference the value set by the height
30523           expression, and vice versa.
30524
30525           The default value of width and height is 0.
30526
30527       x
30528       y   Specify the offsets to place the input image at within the padded
30529           area, with respect to the top/left border of the output image.
30530
30531           The x expression can reference the value set by the y expression,
30532           and vice versa.
30533
30534           The default value of x and y is 0.
30535
30536           If x or y evaluate to a negative number, they'll be changed so the
30537           input image is centered on the padded area.
30538
30539       color
30540           Specify the color of the padded area. For the syntax of this
30541           option, check the "Color" section in the ffmpeg-utils manual.
30542
30543       aspect
30544           Pad to an aspect instead to a resolution.
30545
30546       The value for the width, height, x, and y options are expressions
30547       containing the following constants:
30548
30549       in_w
30550       in_h
30551           The input video width and height.
30552
30553       iw
30554       ih  These are the same as in_w and in_h.
30555
30556       out_w
30557       out_h
30558           The output width and height (the size of the padded area), as
30559           specified by the width and height expressions.
30560
30561       ow
30562       oh  These are the same as out_w and out_h.
30563
30564       x
30565       y   The x and y offsets as specified by the x and y expressions, or NAN
30566           if not yet specified.
30567
30568       a   same as iw / ih
30569
30570       sar input sample aspect ratio
30571
30572       dar input display aspect ratio, it is the same as (iw / ih) * sar
30573
30574   prewitt_opencl
30575       Apply the Prewitt operator
30576       (<https://en.wikipedia.org/wiki/Prewitt_operator>) to input video
30577       stream.
30578
30579       The filter accepts the following option:
30580
30581       planes
30582           Set which planes to filter. Default value is 0xf, by which all
30583           planes are processed.
30584
30585       scale
30586           Set value which will be multiplied with filtered result.  Range is
30587           "[0.0, 65535]" and default value is 1.0.
30588
30589       delta
30590           Set value which will be added to filtered result.  Range is
30591           "[-65535, 65535]" and default value is 0.0.
30592
30593       Example
30594
30595       •   Apply the Prewitt operator with scale set to 2 and delta set to 10.
30596
30597                   -i INPUT -vf "hwupload, prewitt_opencl=scale=2:delta=10, hwdownload" OUTPUT
30598
30599   program_opencl
30600       Filter video using an OpenCL program.
30601
30602       source
30603           OpenCL program source file.
30604
30605       kernel
30606           Kernel name in program.
30607
30608       inputs
30609           Number of inputs to the filter.  Defaults to 1.
30610
30611       size, s
30612           Size of output frames.  Defaults to the same as the first input.
30613
30614       The "program_opencl" filter also supports the framesync options.
30615
30616       The program source file must contain a kernel function with the given
30617       name, which will be run once for each plane of the output.  Each run on
30618       a plane gets enqueued as a separate 2D global NDRange with one work-
30619       item for each pixel to be generated.  The global ID offset for each
30620       work-item is therefore the coordinates of a pixel in the destination
30621       image.
30622
30623       The kernel function needs to take the following arguments:
30624
30625       •   Destination image, __write_only image2d_t.
30626
30627           This image will become the output; the kernel should write all of
30628           it.
30629
30630       •   Frame index, unsigned int.
30631
30632           This is a counter starting from zero and increasing by one for each
30633           frame.
30634
30635       •   Source images, __read_only image2d_t.
30636
30637           These are the most recent images on each input.  The kernel may
30638           read from them to generate the output, but they can't be written
30639           to.
30640
30641       Example programs:
30642
30643       •   Copy the input to the output (output must be the same size as the
30644           input).
30645
30646                   __kernel void copy(__write_only image2d_t destination,
30647                                      unsigned int index,
30648                                      __read_only  image2d_t source)
30649                   {
30650                       const sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE;
30651
30652                       int2 location = (int2)(get_global_id(0), get_global_id(1));
30653
30654                       float4 value = read_imagef(source, sampler, location);
30655
30656                       write_imagef(destination, location, value);
30657                   }
30658
30659       •   Apply a simple transformation, rotating the input by an amount
30660           increasing with the index counter.  Pixel values are linearly
30661           interpolated by the sampler, and the output need not have the same
30662           dimensions as the input.
30663
30664                   __kernel void rotate_image(__write_only image2d_t dst,
30665                                              unsigned int index,
30666                                              __read_only  image2d_t src)
30667                   {
30668                       const sampler_t sampler = (CLK_NORMALIZED_COORDS_FALSE |
30669                                                  CLK_FILTER_LINEAR);
30670
30671                       float angle = (float)index / 100.0f;
30672
30673                       float2 dst_dim = convert_float2(get_image_dim(dst));
30674                       float2 src_dim = convert_float2(get_image_dim(src));
30675
30676                       float2 dst_cen = dst_dim / 2.0f;
30677                       float2 src_cen = src_dim / 2.0f;
30678
30679                       int2   dst_loc = (int2)(get_global_id(0), get_global_id(1));
30680
30681                       float2 dst_pos = convert_float2(dst_loc) - dst_cen;
30682                       float2 src_pos = {
30683                           cos(angle) * dst_pos.x - sin(angle) * dst_pos.y,
30684                           sin(angle) * dst_pos.x + cos(angle) * dst_pos.y
30685                       };
30686                       src_pos = src_pos * src_dim / dst_dim;
30687
30688                       float2 src_loc = src_pos + src_cen;
30689
30690                       if (src_loc.x < 0.0f      || src_loc.y < 0.0f ||
30691                           src_loc.x > src_dim.x || src_loc.y > src_dim.y)
30692                           write_imagef(dst, dst_loc, 0.5f);
30693                       else
30694                           write_imagef(dst, dst_loc, read_imagef(src, sampler, src_loc));
30695                   }
30696
30697       •   Blend two inputs together, with the amount of each input used
30698           varying with the index counter.
30699
30700                   __kernel void blend_images(__write_only image2d_t dst,
30701                                              unsigned int index,
30702                                              __read_only  image2d_t src1,
30703                                              __read_only  image2d_t src2)
30704                   {
30705                       const sampler_t sampler = (CLK_NORMALIZED_COORDS_FALSE |
30706                                                  CLK_FILTER_LINEAR);
30707
30708                       float blend = (cos((float)index / 50.0f) + 1.0f) / 2.0f;
30709
30710                       int2  dst_loc = (int2)(get_global_id(0), get_global_id(1));
30711                       int2 src1_loc = dst_loc * get_image_dim(src1) / get_image_dim(dst);
30712                       int2 src2_loc = dst_loc * get_image_dim(src2) / get_image_dim(dst);
30713
30714                       float4 val1 = read_imagef(src1, sampler, src1_loc);
30715                       float4 val2 = read_imagef(src2, sampler, src2_loc);
30716
30717                       write_imagef(dst, dst_loc, val1 * blend + val2 * (1.0f - blend));
30718                   }
30719
30720   roberts_opencl
30721       Apply the Roberts cross operator
30722       (<https://en.wikipedia.org/wiki/Roberts_cross>) to input video stream.
30723
30724       The filter accepts the following option:
30725
30726       planes
30727           Set which planes to filter. Default value is 0xf, by which all
30728           planes are processed.
30729
30730       scale
30731           Set value which will be multiplied with filtered result.  Range is
30732           "[0.0, 65535]" and default value is 1.0.
30733
30734       delta
30735           Set value which will be added to filtered result.  Range is
30736           "[-65535, 65535]" and default value is 0.0.
30737
30738       Example
30739
30740       •   Apply the Roberts cross operator with scale set to 2 and delta set
30741           to 10
30742
30743                   -i INPUT -vf "hwupload, roberts_opencl=scale=2:delta=10, hwdownload" OUTPUT
30744
30745   sobel_opencl
30746       Apply the Sobel operator
30747       (<https://en.wikipedia.org/wiki/Sobel_operator>) to input video stream.
30748
30749       The filter accepts the following option:
30750
30751       planes
30752           Set which planes to filter. Default value is 0xf, by which all
30753           planes are processed.
30754
30755       scale
30756           Set value which will be multiplied with filtered result.  Range is
30757           "[0.0, 65535]" and default value is 1.0.
30758
30759       delta
30760           Set value which will be added to filtered result.  Range is
30761           "[-65535, 65535]" and default value is 0.0.
30762
30763       Example
30764
30765       •   Apply sobel operator with scale set to 2 and delta set to 10
30766
30767                   -i INPUT -vf "hwupload, sobel_opencl=scale=2:delta=10, hwdownload" OUTPUT
30768
30769   tonemap_opencl
30770       Perform HDR(PQ/HLG) to SDR conversion with tone-mapping.
30771
30772       It accepts the following parameters:
30773
30774       tonemap
30775           Specify the tone-mapping operator to be used. Same as tonemap
30776           option in tonemap.
30777
30778       param
30779           Tune the tone mapping algorithm. same as param option in tonemap.
30780
30781       desat
30782           Apply desaturation for highlights that exceed this level of
30783           brightness. The higher the parameter, the more color information
30784           will be preserved. This setting helps prevent unnaturally blown-out
30785           colors for super-highlights, by (smoothly) turning into white
30786           instead. This makes images feel more natural, at the cost of
30787           reducing information about out-of-range colors.
30788
30789           The default value is 0.5, and the algorithm here is a little
30790           different from the cpu version tonemap currently. A setting of 0.0
30791           disables this option.
30792
30793       threshold
30794           The tonemapping algorithm parameters is fine-tuned per each scene.
30795           And a threshold is used to detect whether the scene has changed or
30796           not. If the distance between the current frame average brightness
30797           and the current running average exceeds a threshold value, we would
30798           re-calculate scene average and peak brightness.  The default value
30799           is 0.2.
30800
30801       format
30802           Specify the output pixel format.
30803
30804           Currently supported formats are:
30805
30806           p010
30807           nv12
30808       range, r
30809           Set the output color range.
30810
30811           Possible values are:
30812
30813           tv/mpeg
30814           pc/jpeg
30815
30816           Default is same as input.
30817
30818       primaries, p
30819           Set the output color primaries.
30820
30821           Possible values are:
30822
30823           bt709
30824           bt2020
30825
30826           Default is same as input.
30827
30828       transfer, t
30829           Set the output transfer characteristics.
30830
30831           Possible values are:
30832
30833           bt709
30834           bt2020
30835
30836           Default is bt709.
30837
30838       matrix, m
30839           Set the output colorspace matrix.
30840
30841           Possible value are:
30842
30843           bt709
30844           bt2020
30845
30846           Default is same as input.
30847
30848       Example
30849
30850       •   Convert HDR(PQ/HLG) video to bt2020-transfer-characteristic p010
30851           format using linear operator.
30852
30853                   -i INPUT -vf "format=p010,hwupload,tonemap_opencl=t=bt2020:tonemap=linear:format=p010,hwdownload,format=p010" OUTPUT
30854
30855   unsharp_opencl
30856       Sharpen or blur the input video.
30857
30858       It accepts the following parameters:
30859
30860       luma_msize_x, lx
30861           Set the luma matrix horizontal size.  Range is "[1, 23]" and
30862           default value is 5.
30863
30864       luma_msize_y, ly
30865           Set the luma matrix vertical size.  Range is "[1, 23]" and default
30866           value is 5.
30867
30868       luma_amount, la
30869           Set the luma effect strength.  Range is "[-10, 10]" and default
30870           value is 1.0.
30871
30872           Negative values will blur the input video, while positive values
30873           will sharpen it, a value of zero will disable the effect.
30874
30875       chroma_msize_x, cx
30876           Set the chroma matrix horizontal size.  Range is "[1, 23]" and
30877           default value is 5.
30878
30879       chroma_msize_y, cy
30880           Set the chroma matrix vertical size.  Range is "[1, 23]" and
30881           default value is 5.
30882
30883       chroma_amount, ca
30884           Set the chroma effect strength.  Range is "[-10, 10]" and default
30885           value is 0.0.
30886
30887           Negative values will blur the input video, while positive values
30888           will sharpen it, a value of zero will disable the effect.
30889
30890       All parameters are optional and default to the equivalent of the string
30891       '5:5:1.0:5:5:0.0'.
30892
30893       Examples
30894
30895       •   Apply strong luma sharpen effect:
30896
30897                   -i INPUT -vf "hwupload, unsharp_opencl=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5, hwdownload" OUTPUT
30898
30899       •   Apply a strong blur of both luma and chroma parameters:
30900
30901                   -i INPUT -vf "hwupload, unsharp_opencl=7:7:-2:7:7:-2, hwdownload" OUTPUT
30902
30903   xfade_opencl
30904       Cross fade two videos with custom transition effect by using OpenCL.
30905
30906       It accepts the following options:
30907
30908       transition
30909           Set one of possible transition effects.
30910
30911           custom
30912               Select custom transition effect, the actual transition
30913               description will be picked from source and kernel options.
30914
30915           fade
30916           wipeleft
30917           wiperight
30918           wipeup
30919           wipedown
30920           slideleft
30921           slideright
30922           slideup
30923           slidedown
30924               Default transition is fade.
30925
30926       source
30927           OpenCL program source file for custom transition.
30928
30929       kernel
30930           Set name of kernel to use for custom transition from program source
30931           file.
30932
30933       duration
30934           Set duration of video transition.
30935
30936       offset
30937           Set time of start of transition relative to first video.
30938
30939       The program source file must contain a kernel function with the given
30940       name, which will be run once for each plane of the output.  Each run on
30941       a plane gets enqueued as a separate 2D global NDRange with one work-
30942       item for each pixel to be generated.  The global ID offset for each
30943       work-item is therefore the coordinates of a pixel in the destination
30944       image.
30945
30946       The kernel function needs to take the following arguments:
30947
30948       •   Destination image, __write_only image2d_t.
30949
30950           This image will become the output; the kernel should write all of
30951           it.
30952
30953       •   First Source image, __read_only image2d_t.  Second Source image,
30954           __read_only image2d_t.
30955
30956           These are the most recent images on each input.  The kernel may
30957           read from them to generate the output, but they can't be written
30958           to.
30959
30960       •   Transition progress, float. This value is always between 0 and 1
30961           inclusive.
30962
30963       Example programs:
30964
30965       •   Apply dots curtain transition effect:
30966
30967                   __kernel void blend_images(__write_only image2d_t dst,
30968                                              __read_only  image2d_t src1,
30969                                              __read_only  image2d_t src2,
30970                                              float progress)
30971                   {
30972                       const sampler_t sampler = (CLK_NORMALIZED_COORDS_FALSE |
30973                                                  CLK_FILTER_LINEAR);
30974                       int2  p = (int2)(get_global_id(0), get_global_id(1));
30975                       float2 rp = (float2)(get_global_id(0), get_global_id(1));
30976                       float2 dim = (float2)(get_image_dim(src1).x, get_image_dim(src1).y);
30977                       rp = rp / dim;
30978
30979                       float2 dots = (float2)(20.0, 20.0);
30980                       float2 center = (float2)(0,0);
30981                       float2 unused;
30982
30983                       float4 val1 = read_imagef(src1, sampler, p);
30984                       float4 val2 = read_imagef(src2, sampler, p);
30985                       bool next = distance(fract(rp * dots, &unused), (float2)(0.5, 0.5)) < (progress / distance(rp, center));
30986
30987                       write_imagef(dst, p, next ? val1 : val2);
30988                   }
30989

VAAPI VIDEO FILTERS

30991       VAAPI Video filters are usually used with VAAPI decoder and VAAPI
30992       encoder. Below is a description of VAAPI video filters.
30993
30994       To enable compilation of these filters you need to configure FFmpeg
30995       with "--enable-vaapi".
30996
30997       To use vaapi filters, you need to setup the vaapi device correctly. For
30998       more information, please read
30999       <https://trac.ffmpeg.org/wiki/Hardware/VAAPI>
31000
31001   tonemap_vaapi
31002       Perform HDR(High Dynamic Range) to SDR(Standard Dynamic Range)
31003       conversion with tone-mapping.  It maps the dynamic range of HDR10
31004       content to the SDR content.  It currently only accepts HDR10 as input.
31005
31006       It accepts the following parameters:
31007
31008       format
31009           Specify the output pixel format.
31010
31011           Currently supported formats are:
31012
31013           p010
31014           nv12
31015
31016           Default is nv12.
31017
31018       primaries, p
31019           Set the output color primaries.
31020
31021           Default is same as input.
31022
31023       transfer, t
31024           Set the output transfer characteristics.
31025
31026           Default is bt709.
31027
31028       matrix, m
31029           Set the output colorspace matrix.
31030
31031           Default is same as input.
31032
31033       Example
31034
31035       •   Convert HDR(HDR10) video to bt2020-transfer-characteristic p010
31036           format
31037
31038                   tonemap_vaapi=format=p010:t=bt2020-10
31039

VIDEO SOURCES

31041       Below is a description of the currently available video sources.
31042
31043   buffer
31044       Buffer video frames, and make them available to the filter chain.
31045
31046       This source is mainly intended for a programmatic use, in particular
31047       through the interface defined in libavfilter/buffersrc.h.
31048
31049       It accepts the following parameters:
31050
31051       video_size
31052           Specify the size (width and height) of the buffered video frames.
31053           For the syntax of this option, check the "Video size" section in
31054           the ffmpeg-utils manual.
31055
31056       width
31057           The input video width.
31058
31059       height
31060           The input video height.
31061
31062       pix_fmt
31063           A string representing the pixel format of the buffered video
31064           frames.  It may be a number corresponding to a pixel format, or a
31065           pixel format name.
31066
31067       time_base
31068           Specify the timebase assumed by the timestamps of the buffered
31069           frames.
31070
31071       frame_rate
31072           Specify the frame rate expected for the video stream.
31073
31074       pixel_aspect, sar
31075           The sample (pixel) aspect ratio of the input video.
31076
31077       sws_param
31078           This option is deprecated and ignored. Prepend "sws_flags=flags;"
31079           to the filtergraph description to specify swscale flags for
31080           automatically inserted scalers. See Filtergraph syntax.
31081
31082       hw_frames_ctx
31083           When using a hardware pixel format, this should be a reference to
31084           an AVHWFramesContext describing input frames.
31085
31086       For example:
31087
31088               buffer=width=320:height=240:pix_fmt=yuv410p:time_base=1/24:sar=1
31089
31090       will instruct the source to accept video frames with size 320x240 and
31091       with format "yuv410p", assuming 1/24 as the timestamps timebase and
31092       square pixels (1:1 sample aspect ratio).  Since the pixel format with
31093       name "yuv410p" corresponds to the number 6 (check the enum
31094       AVPixelFormat definition in libavutil/pixfmt.h), this example
31095       corresponds to:
31096
31097               buffer=size=320x240:pixfmt=6:time_base=1/24:pixel_aspect=1/1
31098
31099       Alternatively, the options can be specified as a flat string, but this
31100       syntax is deprecated:
31101
31102       width:height:pix_fmt:time_base.num:time_base.den:pixel_aspect.num:pixel_aspect.den
31103
31104   cellauto
31105       Create a pattern generated by an elementary cellular automaton.
31106
31107       The initial state of the cellular automaton can be defined through the
31108       filename and pattern options. If such options are not specified an
31109       initial state is created randomly.
31110
31111       At each new frame a new row in the video is filled with the result of
31112       the cellular automaton next generation. The behavior when the whole
31113       frame is filled is defined by the scroll option.
31114
31115       This source accepts the following options:
31116
31117       filename, f
31118           Read the initial cellular automaton state, i.e. the starting row,
31119           from the specified file.  In the file, each non-whitespace
31120           character is considered an alive cell, a newline will terminate the
31121           row, and further characters in the file will be ignored.
31122
31123       pattern, p
31124           Read the initial cellular automaton state, i.e. the starting row,
31125           from the specified string.
31126
31127           Each non-whitespace character in the string is considered an alive
31128           cell, a newline will terminate the row, and further characters in
31129           the string will be ignored.
31130
31131       rate, r
31132           Set the video rate, that is the number of frames generated per
31133           second.  Default is 25.
31134
31135       random_fill_ratio, ratio
31136           Set the random fill ratio for the initial cellular automaton row.
31137           It is a floating point number value ranging from 0 to 1, defaults
31138           to 1/PHI.
31139
31140           This option is ignored when a file or a pattern is specified.
31141
31142       random_seed, seed
31143           Set the seed for filling randomly the initial row, must be an
31144           integer included between 0 and UINT32_MAX. If not specified, or if
31145           explicitly set to -1, the filter will try to use a good random seed
31146           on a best effort basis.
31147
31148       rule
31149           Set the cellular automaton rule, it is a number ranging from 0 to
31150           255.  Default value is 110.
31151
31152       size, s
31153           Set the size of the output video. For the syntax of this option,
31154           check the "Video size" section in the ffmpeg-utils manual.
31155
31156           If filename or pattern is specified, the size is set by default to
31157           the width of the specified initial state row, and the height is set
31158           to width * PHI.
31159
31160           If size is set, it must contain the width of the specified pattern
31161           string, and the specified pattern will be centered in the larger
31162           row.
31163
31164           If a filename or a pattern string is not specified, the size value
31165           defaults to "320x518" (used for a randomly generated initial
31166           state).
31167
31168       scroll
31169           If set to 1, scroll the output upward when all the rows in the
31170           output have been already filled. If set to 0, the new generated row
31171           will be written over the top row just after the bottom row is
31172           filled.  Defaults to 1.
31173
31174       start_full, full
31175           If set to 1, completely fill the output with generated rows before
31176           outputting the first frame.  This is the default behavior, for
31177           disabling set the value to 0.
31178
31179       stitch
31180           If set to 1, stitch the left and right row edges together.  This is
31181           the default behavior, for disabling set the value to 0.
31182
31183       Examples
31184
31185       •   Read the initial state from pattern, and specify an output of size
31186           200x400.
31187
31188                   cellauto=f=pattern:s=200x400
31189
31190       •   Generate a random initial row with a width of 200 cells, with a
31191           fill ratio of 2/3:
31192
31193                   cellauto=ratio=2/3:s=200x200
31194
31195       •   Create a pattern generated by rule 18 starting by a single alive
31196           cell centered on an initial row with width 100:
31197
31198                   cellauto=p=@s=100x400:full=0:rule=18
31199
31200       •   Specify a more elaborated initial pattern:
31201
31202                   cellauto=p='@@ @ @@':s=100x400:full=0:rule=18
31203
31204   coreimagesrc
31205       Video source generated on GPU using Apple's CoreImage API on OSX.
31206
31207       This video source is a specialized version of the coreimage video
31208       filter.  Use a core image generator at the beginning of the applied
31209       filterchain to generate the content.
31210
31211       The coreimagesrc video source accepts the following options:
31212
31213       list_generators
31214           List all available generators along with all their respective
31215           options as well as possible minimum and maximum values along with
31216           the default values.
31217
31218                   list_generators=true
31219
31220       size, s
31221           Specify the size of the sourced video. For the syntax of this
31222           option, check the "Video size" section in the ffmpeg-utils manual.
31223           The default value is "320x240".
31224
31225       rate, r
31226           Specify the frame rate of the sourced video, as the number of
31227           frames generated per second. It has to be a string in the format
31228           frame_rate_num/frame_rate_den, an integer number, a floating point
31229           number or a valid video frame rate abbreviation. The default value
31230           is "25".
31231
31232       sar Set the sample aspect ratio of the sourced video.
31233
31234       duration, d
31235           Set the duration of the sourced video. See the Time duration
31236           section in the ffmpeg-utils(1) manual for the accepted syntax.
31237
31238           If not specified, or the expressed duration is negative, the video
31239           is supposed to be generated forever.
31240
31241       Additionally, all options of the coreimage video filter are accepted.
31242       A complete filterchain can be used for further processing of the
31243       generated input without CPU-HOST transfer. See coreimage documentation
31244       and examples for details.
31245
31246       Examples
31247
31248       •   Use CIQRCodeGenerator to create a QR code for the FFmpeg homepage,
31249           given as complete and escaped command-line for Apple's standard
31250           bash shell:
31251
31252                   ffmpeg -f lavfi -i coreimagesrc=s=100x100:filter=CIQRCodeGenerator@inputMessage=https\\\\\://FFmpeg.org/@inputCorrectionLevel=H -frames:v 1 QRCode.png
31253
31254           This example is equivalent to the QRCode example of coreimage
31255           without the need for a nullsrc video source.
31256
31257   gradients
31258       Generate several gradients.
31259
31260       size, s
31261           Set frame size. For the syntax of this option, check the "Video
31262           size" section in the ffmpeg-utils manual. Default value is
31263           "640x480".
31264
31265       rate, r
31266           Set frame rate, expressed as number of frames per second. Default
31267           value is "25".
31268
31269       c0, c1, c2, c3, c4, c5, c6, c7
31270           Set 8 colors. Default values for colors is to pick random one.
31271
31272       x0, y0, y0, y1
31273           Set gradient line source and destination points. If negative or out
31274           of range, random ones are picked.
31275
31276       nb_colors, n
31277           Set number of colors to use at once. Allowed range is from 2 to 8.
31278           Default value is 2.
31279
31280       seed
31281           Set seed for picking gradient line points.
31282
31283       duration, d
31284           Set the duration of the sourced video. See the Time duration
31285           section in the ffmpeg-utils(1) manual for the accepted syntax.
31286
31287           If not specified, or the expressed duration is negative, the video
31288           is supposed to be generated forever.
31289
31290       speed
31291           Set speed of gradients rotation.
31292
31293   mandelbrot
31294       Generate a Mandelbrot set fractal, and progressively zoom towards the
31295       point specified with start_x and start_y.
31296
31297       This source accepts the following options:
31298
31299       end_pts
31300           Set the terminal pts value. Default value is 400.
31301
31302       end_scale
31303           Set the terminal scale value.  Must be a floating point value.
31304           Default value is 0.3.
31305
31306       inner
31307           Set the inner coloring mode, that is the algorithm used to draw the
31308           Mandelbrot fractal internal region.
31309
31310           It shall assume one of the following values:
31311
31312           black
31313               Set black mode.
31314
31315           convergence
31316               Show time until convergence.
31317
31318           mincol
31319               Set color based on point closest to the origin of the
31320               iterations.
31321
31322           period
31323               Set period mode.
31324
31325           Default value is mincol.
31326
31327       bailout
31328           Set the bailout value. Default value is 10.0.
31329
31330       maxiter
31331           Set the maximum of iterations performed by the rendering algorithm.
31332           Default value is 7189.
31333
31334       outer
31335           Set outer coloring mode.  It shall assume one of following values:
31336
31337           iteration_count
31338               Set iteration count mode.
31339
31340           normalized_iteration_count
31341               set normalized iteration count mode.
31342
31343           Default value is normalized_iteration_count.
31344
31345       rate, r
31346           Set frame rate, expressed as number of frames per second. Default
31347           value is "25".
31348
31349       size, s
31350           Set frame size. For the syntax of this option, check the "Video
31351           size" section in the ffmpeg-utils manual. Default value is
31352           "640x480".
31353
31354       start_scale
31355           Set the initial scale value. Default value is 3.0.
31356
31357       start_x
31358           Set the initial x position. Must be a floating point value between
31359           -100 and 100. Default value is
31360           -0.743643887037158704752191506114774.
31361
31362       start_y
31363           Set the initial y position. Must be a floating point value between
31364           -100 and 100. Default value is
31365           -0.131825904205311970493132056385139.
31366
31367   mptestsrc
31368       Generate various test patterns, as generated by the MPlayer test
31369       filter.
31370
31371       The size of the generated video is fixed, and is 256x256.  This source
31372       is useful in particular for testing encoding features.
31373
31374       This source accepts the following options:
31375
31376       rate, r
31377           Specify the frame rate of the sourced video, as the number of
31378           frames generated per second. It has to be a string in the format
31379           frame_rate_num/frame_rate_den, an integer number, a floating point
31380           number or a valid video frame rate abbreviation. The default value
31381           is "25".
31382
31383       duration, d
31384           Set the duration of the sourced video. See the Time duration
31385           section in the ffmpeg-utils(1) manual for the accepted syntax.
31386
31387           If not specified, or the expressed duration is negative, the video
31388           is supposed to be generated forever.
31389
31390       test, t
31391           Set the number or the name of the test to perform. Supported tests
31392           are:
31393
31394           dc_luma
31395           dc_chroma
31396           freq_luma
31397           freq_chroma
31398           amp_luma
31399           amp_chroma
31400           cbp
31401           mv
31402           ring1
31403           ring2
31404           all
31405           max_frames, m
31406               Set the maximum number of frames generated for each test,
31407               default value is 30.
31408
31409           Default value is "all", which will cycle through the list of all
31410           tests.
31411
31412       Some examples:
31413
31414               mptestsrc=t=dc_luma
31415
31416       will generate a "dc_luma" test pattern.
31417
31418   frei0r_src
31419       Provide a frei0r source.
31420
31421       To enable compilation of this filter you need to install the frei0r
31422       header and configure FFmpeg with "--enable-frei0r".
31423
31424       This source accepts the following parameters:
31425
31426       size
31427           The size of the video to generate. For the syntax of this option,
31428           check the "Video size" section in the ffmpeg-utils manual.
31429
31430       framerate
31431           The framerate of the generated video. It may be a string of the
31432           form num/den or a frame rate abbreviation.
31433
31434       filter_name
31435           The name to the frei0r source to load. For more information
31436           regarding frei0r and how to set the parameters, read the frei0r
31437           section in the video filters documentation.
31438
31439       filter_params
31440           A '|'-separated list of parameters to pass to the frei0r source.
31441
31442       For example, to generate a frei0r partik0l source with size 200x200 and
31443       frame rate 10 which is overlaid on the overlay filter main input:
31444
31445               frei0r_src=size=200x200:framerate=10:filter_name=partik0l:filter_params=1234 [overlay]; [in][overlay] overlay
31446
31447   life
31448       Generate a life pattern.
31449
31450       This source is based on a generalization of John Conway's life game.
31451
31452       The sourced input represents a life grid, each pixel represents a cell
31453       which can be in one of two possible states, alive or dead. Every cell
31454       interacts with its eight neighbours, which are the cells that are
31455       horizontally, vertically, or diagonally adjacent.
31456
31457       At each interaction the grid evolves according to the adopted rule,
31458       which specifies the number of neighbor alive cells which will make a
31459       cell stay alive or born. The rule option allows one to specify the rule
31460       to adopt.
31461
31462       This source accepts the following options:
31463
31464       filename, f
31465           Set the file from which to read the initial grid state. In the
31466           file, each non-whitespace character is considered an alive cell,
31467           and newline is used to delimit the end of each row.
31468
31469           If this option is not specified, the initial grid is generated
31470           randomly.
31471
31472       rate, r
31473           Set the video rate, that is the number of frames generated per
31474           second.  Default is 25.
31475
31476       random_fill_ratio, ratio
31477           Set the random fill ratio for the initial random grid. It is a
31478           floating point number value ranging from 0 to 1, defaults to 1/PHI.
31479           It is ignored when a file is specified.
31480
31481       random_seed, seed
31482           Set the seed for filling the initial random grid, must be an
31483           integer included between 0 and UINT32_MAX. If not specified, or if
31484           explicitly set to -1, the filter will try to use a good random seed
31485           on a best effort basis.
31486
31487       rule
31488           Set the life rule.
31489
31490           A rule can be specified with a code of the kind "SNS/BNB", where NS
31491           and NB are sequences of numbers in the range 0-8, NS specifies the
31492           number of alive neighbor cells which make a live cell stay alive,
31493           and NB the number of alive neighbor cells which make a dead cell to
31494           become alive (i.e. to "born").  "s" and "b" can be used in place of
31495           "S" and "B", respectively.
31496
31497           Alternatively a rule can be specified by an 18-bits integer. The 9
31498           high order bits are used to encode the next cell state if it is
31499           alive for each number of neighbor alive cells, the low order bits
31500           specify the rule for "borning" new cells. Higher order bits encode
31501           for an higher number of neighbor cells.  For example the number
31502           6153 = "(12<<9)+9" specifies a stay alive rule of 12 and a born
31503           rule of 9, which corresponds to "S23/B03".
31504
31505           Default value is "S23/B3", which is the original Conway's game of
31506           life rule, and will keep a cell alive if it has 2 or 3 neighbor
31507           alive cells, and will born a new cell if there are three alive
31508           cells around a dead cell.
31509
31510       size, s
31511           Set the size of the output video. For the syntax of this option,
31512           check the "Video size" section in the ffmpeg-utils manual.
31513
31514           If filename is specified, the size is set by default to the same
31515           size of the input file. If size is set, it must contain the size
31516           specified in the input file, and the initial grid defined in that
31517           file is centered in the larger resulting area.
31518
31519           If a filename is not specified, the size value defaults to
31520           "320x240" (used for a randomly generated initial grid).
31521
31522       stitch
31523           If set to 1, stitch the left and right grid edges together, and the
31524           top and bottom edges also. Defaults to 1.
31525
31526       mold
31527           Set cell mold speed. If set, a dead cell will go from death_color
31528           to mold_color with a step of mold. mold can have a value from 0 to
31529           255.
31530
31531       life_color
31532           Set the color of living (or new born) cells.
31533
31534       death_color
31535           Set the color of dead cells. If mold is set, this is the first
31536           color used to represent a dead cell.
31537
31538       mold_color
31539           Set mold color, for definitely dead and moldy cells.
31540
31541           For the syntax of these 3 color options, check the "Color" section
31542           in the ffmpeg-utils manual.
31543
31544       Examples
31545
31546       •   Read a grid from pattern, and center it on a grid of size 300x300
31547           pixels:
31548
31549                   life=f=pattern:s=300x300
31550
31551       •   Generate a random grid of size 200x200, with a fill ratio of 2/3:
31552
31553                   life=ratio=2/3:s=200x200
31554
31555       •   Specify a custom rule for evolving a randomly generated grid:
31556
31557                   life=rule=S14/B34
31558
31559       •   Full example with slow death effect (mold) using ffplay:
31560
31561                   ffplay -f lavfi life=s=300x200:mold=10:r=60:ratio=0.1:death_color=#C83232:life_color=#00ff00,scale=1200:800:flags=16
31562
31563   allrgb, allyuv, color, colorspectrum, haldclutsrc, nullsrc, pal75bars,
31564       pal100bars, rgbtestsrc, smptebars, smptehdbars, testsrc, testsrc2,
31565       yuvtestsrc
31566       The "allrgb" source returns frames of size 4096x4096 of all rgb colors.
31567
31568       The "allyuv" source returns frames of size 4096x4096 of all yuv colors.
31569
31570       The "color" source provides an uniformly colored input.
31571
31572       The "colorspectrum" source provides a color spectrum input.
31573
31574       The "haldclutsrc" source provides an identity Hald CLUT. See also
31575       haldclut filter.
31576
31577       The "nullsrc" source returns unprocessed video frames. It is mainly
31578       useful to be employed in analysis / debugging tools, or as the source
31579       for filters which ignore the input data.
31580
31581       The "pal75bars" source generates a color bars pattern, based on EBU PAL
31582       recommendations with 75% color levels.
31583
31584       The "pal100bars" source generates a color bars pattern, based on EBU
31585       PAL recommendations with 100% color levels.
31586
31587       The "rgbtestsrc" source generates an RGB test pattern useful for
31588       detecting RGB vs BGR issues. You should see a red, green and blue
31589       stripe from top to bottom.
31590
31591       The "smptebars" source generates a color bars pattern, based on the
31592       SMPTE Engineering Guideline EG 1-1990.
31593
31594       The "smptehdbars" source generates a color bars pattern, based on the
31595       SMPTE RP 219-2002.
31596
31597       The "testsrc" source generates a test video pattern, showing a color
31598       pattern, a scrolling gradient and a timestamp. This is mainly intended
31599       for testing purposes.
31600
31601       The "testsrc2" source is similar to testsrc, but supports more pixel
31602       formats instead of just "rgb24". This allows using it as an input for
31603       other tests without requiring a format conversion.
31604
31605       The "yuvtestsrc" source generates an YUV test pattern. You should see a
31606       y, cb and cr stripe from top to bottom.
31607
31608       The sources accept the following parameters:
31609
31610       level
31611           Specify the level of the Hald CLUT, only available in the
31612           "haldclutsrc" source. A level of "N" generates a picture of "N*N*N"
31613           by "N*N*N" pixels to be used as identity matrix for 3D lookup
31614           tables. Each component is coded on a "1/(N*N)" scale.
31615
31616       color, c
31617           Specify the color of the source, only available in the "color"
31618           source. For the syntax of this option, check the "Color" section in
31619           the ffmpeg-utils manual.
31620
31621       size, s
31622           Specify the size of the sourced video. For the syntax of this
31623           option, check the "Video size" section in the ffmpeg-utils manual.
31624           The default value is "320x240".
31625
31626           This option is not available with the "allrgb", "allyuv", and
31627           "haldclutsrc" filters.
31628
31629       rate, r
31630           Specify the frame rate of the sourced video, as the number of
31631           frames generated per second. It has to be a string in the format
31632           frame_rate_num/frame_rate_den, an integer number, a floating point
31633           number or a valid video frame rate abbreviation. The default value
31634           is "25".
31635
31636       duration, d
31637           Set the duration of the sourced video. See the Time duration
31638           section in the ffmpeg-utils(1) manual for the accepted syntax.
31639
31640           If not specified, or the expressed duration is negative, the video
31641           is supposed to be generated forever.
31642
31643           Since the frame rate is used as time base, all frames including the
31644           last one will have their full duration. If the specified duration
31645           is not a multiple of the frame duration, it will be rounded up.
31646
31647       sar Set the sample aspect ratio of the sourced video.
31648
31649       alpha
31650           Specify the alpha (opacity) of the background, only available in
31651           the "testsrc2" source. The value must be between 0 (fully
31652           transparent) and 255 (fully opaque, the default).
31653
31654       decimals, n
31655           Set the number of decimals to show in the timestamp, only available
31656           in the "testsrc" source.
31657
31658           The displayed timestamp value will correspond to the original
31659           timestamp value multiplied by the power of 10 of the specified
31660           value. Default value is 0.
31661
31662       type
31663           Set the type of the color spectrum, only available in the
31664           "colorspectrum" source. Can be one of the following:
31665
31666           black
31667           white
31668           all
31669
31670       Examples
31671
31672       •   Generate a video with a duration of 5.3 seconds, with size 176x144
31673           and a frame rate of 10 frames per second:
31674
31675                   testsrc=duration=5.3:size=qcif:rate=10
31676
31677       •   The following graph description will generate a red source with an
31678           opacity of 0.2, with size "qcif" and a frame rate of 10 frames per
31679           second:
31680
31681                   color=c=red@0.2:s=qcif:r=10
31682
31683       •   If the input content is to be ignored, "nullsrc" can be used. The
31684           following command generates noise in the luminance plane by
31685           employing the "geq" filter:
31686
31687                   nullsrc=s=256x256, geq=random(1)*255:128:128
31688
31689       Commands
31690
31691       The "color" source supports the following commands:
31692
31693       c, color
31694           Set the color of the created image. Accepts the same syntax of the
31695           corresponding color option.
31696
31697   openclsrc
31698       Generate video using an OpenCL program.
31699
31700       source
31701           OpenCL program source file.
31702
31703       kernel
31704           Kernel name in program.
31705
31706       size, s
31707           Size of frames to generate.  This must be set.
31708
31709       format
31710           Pixel format to use for the generated frames.  This must be set.
31711
31712       rate, r
31713           Number of frames generated every second.  Default value is '25'.
31714
31715       For details of how the program loading works, see the program_opencl
31716       filter.
31717
31718       Example programs:
31719
31720       •   Generate a colour ramp by setting pixel values from the position of
31721           the pixel in the output image.  (Note that this will work with all
31722           pixel formats, but the generated output will not be the same.)
31723
31724                   __kernel void ramp(__write_only image2d_t dst,
31725                                      unsigned int index)
31726                   {
31727                       int2 loc = (int2)(get_global_id(0), get_global_id(1));
31728
31729                       float4 val;
31730                       val.xy = val.zw = convert_float2(loc) / convert_float2(get_image_dim(dst));
31731
31732                       write_imagef(dst, loc, val);
31733                   }
31734
31735       •   Generate a Sierpinski carpet pattern, panning by a single pixel
31736           each frame.
31737
31738                   __kernel void sierpinski_carpet(__write_only image2d_t dst,
31739                                                   unsigned int index)
31740                   {
31741                       int2 loc = (int2)(get_global_id(0), get_global_id(1));
31742
31743                       float4 value = 0.0f;
31744                       int x = loc.x + index;
31745                       int y = loc.y + index;
31746                       while (x > 0 || y > 0) {
31747                           if (x % 3 == 1 && y % 3 == 1) {
31748                               value = 1.0f;
31749                               break;
31750                           }
31751                           x /= 3;
31752                           y /= 3;
31753                       }
31754
31755                       write_imagef(dst, loc, value);
31756                   }
31757
31758   sierpinski
31759       Generate a Sierpinski carpet/triangle fractal, and randomly pan around.
31760
31761       This source accepts the following options:
31762
31763       size, s
31764           Set frame size. For the syntax of this option, check the "Video
31765           size" section in the ffmpeg-utils manual. Default value is
31766           "640x480".
31767
31768       rate, r
31769           Set frame rate, expressed as number of frames per second. Default
31770           value is "25".
31771
31772       seed
31773           Set seed which is used for random panning.
31774
31775       jump
31776           Set max jump for single pan destination. Allowed range is from 1 to
31777           10000.
31778
31779       type
31780           Set fractal type, can be default "carpet" or "triangle".
31781

VIDEO SINKS

31783       Below is a description of the currently available video sinks.
31784
31785   buffersink
31786       Buffer video frames, and make them available to the end of the filter
31787       graph.
31788
31789       This sink is mainly intended for programmatic use, in particular
31790       through the interface defined in libavfilter/buffersink.h or the
31791       options system.
31792
31793       It accepts a pointer to an AVBufferSinkContext structure, which defines
31794       the incoming buffers' formats, to be passed as the opaque parameter to
31795       "avfilter_init_filter" for initialization.
31796
31797   nullsink
31798       Null video sink: do absolutely nothing with the input video. It is
31799       mainly useful as a template and for use in analysis / debugging tools.
31800

MULTIMEDIA FILTERS

31802       Below is a description of the currently available multimedia filters.
31803
31804   abitscope
31805       Convert input audio to a video output, displaying the audio bit scope.
31806
31807       The filter accepts the following options:
31808
31809       rate, r
31810           Set frame rate, expressed as number of frames per second. Default
31811           value is "25".
31812
31813       size, s
31814           Specify the video size for the output. For the syntax of this
31815           option, check the "Video size" section in the ffmpeg-utils manual.
31816           Default value is "1024x256".
31817
31818       colors
31819           Specify list of colors separated by space or by '|' which will be
31820           used to draw channels. Unrecognized or missing colors will be
31821           replaced by white color.
31822
31823   adrawgraph
31824       Draw a graph using input audio metadata.
31825
31826       See drawgraph
31827
31828   agraphmonitor
31829       See graphmonitor.
31830
31831   ahistogram
31832       Convert input audio to a video output, displaying the volume histogram.
31833
31834       The filter accepts the following options:
31835
31836       dmode
31837           Specify how histogram is calculated.
31838
31839           It accepts the following values:
31840
31841           single
31842               Use single histogram for all channels.
31843
31844           separate
31845               Use separate histogram for each channel.
31846
31847           Default is "single".
31848
31849       rate, r
31850           Set frame rate, expressed as number of frames per second. Default
31851           value is "25".
31852
31853       size, s
31854           Specify the video size for the output. For the syntax of this
31855           option, check the "Video size" section in the ffmpeg-utils manual.
31856           Default value is "hd720".
31857
31858       scale
31859           Set display scale.
31860
31861           It accepts the following values:
31862
31863           log logarithmic
31864
31865           sqrt
31866               square root
31867
31868           cbrt
31869               cubic root
31870
31871           lin linear
31872
31873           rlog
31874               reverse logarithmic
31875
31876           Default is "log".
31877
31878       ascale
31879           Set amplitude scale.
31880
31881           It accepts the following values:
31882
31883           log logarithmic
31884
31885           lin linear
31886
31887           Default is "log".
31888
31889       acount
31890           Set how much frames to accumulate in histogram.  Default is 1.
31891           Setting this to -1 accumulates all frames.
31892
31893       rheight
31894           Set histogram ratio of window height.
31895
31896       slide
31897           Set sonogram sliding.
31898
31899           It accepts the following values:
31900
31901           replace
31902               replace old rows with new ones.
31903
31904           scroll
31905               scroll from top to bottom.
31906
31907           Default is "replace".
31908
31909   aphasemeter
31910       Measures phase of input audio, which is exported as metadata
31911       "lavfi.aphasemeter.phase", representing mean phase of current audio
31912       frame. A video output can also be produced and is enabled by default.
31913       The audio is passed through as first output.
31914
31915       Audio will be rematrixed to stereo if it has a different channel
31916       layout. Phase value is in range "[-1, 1]" where "-1" means left and
31917       right channels are completely out of phase and 1 means channels are in
31918       phase.
31919
31920       The filter accepts the following options, all related to its video
31921       output:
31922
31923       rate, r
31924           Set the output frame rate. Default value is 25.
31925
31926       size, s
31927           Set the video size for the output. For the syntax of this option,
31928           check the "Video size" section in the ffmpeg-utils manual.  Default
31929           value is "800x400".
31930
31931       rc
31932       gc
31933       bc  Specify the red, green, blue contrast. Default values are 2, 7 and
31934           1.  Allowed range is "[0, 255]".
31935
31936       mpc Set color which will be used for drawing median phase. If color is
31937           "none" which is default, no median phase value will be drawn.
31938
31939       video
31940           Enable video output. Default is enabled.
31941
31942       phasing detection
31943
31944       The filter also detects out of phase and mono sequences in stereo
31945       streams.  It logs the sequence start, end and duration when it lasts
31946       longer or as long as the minimum set.
31947
31948       The filter accepts the following options for this detection:
31949
31950       phasing
31951           Enable mono and out of phase detection. Default is disabled.
31952
31953       tolerance, t
31954           Set phase tolerance for mono detection, in amplitude ratio. Default
31955           is 0.  Allowed range is "[0, 1]".
31956
31957       angle, a
31958           Set angle threshold for out of phase detection, in degree. Default
31959           is 170.  Allowed range is "[90, 180]".
31960
31961       duration, d
31962           Set mono or out of phase duration until notification, expressed in
31963           seconds. Default is 2.
31964
31965       Examples
31966
31967       •   Complete example with ffmpeg to detect 1 second of mono with 0.001
31968           phase tolerance:
31969
31970                   ffmpeg -i stereo.wav -af aphasemeter=video=0:phasing=1:duration=1:tolerance=0.001 -f null -
31971
31972   avectorscope
31973       Convert input audio to a video output, representing the audio vector
31974       scope.
31975
31976       The filter is used to measure the difference between channels of stereo
31977       audio stream. A monaural signal, consisting of identical left and right
31978       signal, results in straight vertical line. Any stereo separation is
31979       visible as a deviation from this line, creating a Lissajous figure.  If
31980       the straight (or deviation from it) but horizontal line appears this
31981       indicates that the left and right channels are out of phase.
31982
31983       The filter accepts the following options:
31984
31985       mode, m
31986           Set the vectorscope mode.
31987
31988           Available values are:
31989
31990           lissajous
31991               Lissajous rotated by 45 degrees.
31992
31993           lissajous_xy
31994               Same as above but not rotated.
31995
31996           polar
31997               Shape resembling half of circle.
31998
31999           Default value is lissajous.
32000
32001       size, s
32002           Set the video size for the output. For the syntax of this option,
32003           check the "Video size" section in the ffmpeg-utils manual.  Default
32004           value is "400x400".
32005
32006       rate, r
32007           Set the output frame rate. Default value is 25.
32008
32009       rc
32010       gc
32011       bc
32012       ac  Specify the red, green, blue and alpha contrast. Default values are
32013           40, 160, 80 and 255.  Allowed range is "[0, 255]".
32014
32015       rf
32016       gf
32017       bf
32018       af  Specify the red, green, blue and alpha fade. Default values are 15,
32019           10, 5 and 5.  Allowed range is "[0, 255]".
32020
32021       zoom
32022           Set the zoom factor. Default value is 1. Allowed range is "[0,
32023           10]".  Values lower than 1 will auto adjust zoom factor to maximal
32024           possible value.
32025
32026       draw
32027           Set the vectorscope drawing mode.
32028
32029           Available values are:
32030
32031           dot Draw dot for each sample.
32032
32033           line
32034               Draw line between previous and current sample.
32035
32036           Default value is dot.
32037
32038       scale
32039           Specify amplitude scale of audio samples.
32040
32041           Available values are:
32042
32043           lin Linear.
32044
32045           sqrt
32046               Square root.
32047
32048           cbrt
32049               Cubic root.
32050
32051           log Logarithmic.
32052
32053       swap
32054           Swap left channel axis with right channel axis.
32055
32056       mirror
32057           Mirror axis.
32058
32059           none
32060               No mirror.
32061
32062           x   Mirror only x axis.
32063
32064           y   Mirror only y axis.
32065
32066           xy  Mirror both axis.
32067
32068       Examples
32069
32070       •   Complete example using ffplay:
32071
32072                   ffplay -f lavfi 'amovie=input.mp3, asplit [a][out1];
32073                                [a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]'
32074
32075       Commands
32076
32077       This filter supports the all above options as commands except options
32078       "size" and "rate".
32079
32080   bench, abench
32081       Benchmark part of a filtergraph.
32082
32083       The filter accepts the following options:
32084
32085       action
32086           Start or stop a timer.
32087
32088           Available values are:
32089
32090           start
32091               Get the current time, set it as frame metadata (using the key
32092               "lavfi.bench.start_time"), and forward the frame to the next
32093               filter.
32094
32095           stop
32096               Get the current time and fetch the "lavfi.bench.start_time"
32097               metadata from the input frame metadata to get the time
32098               difference. Time difference, average, maximum and minimum time
32099               (respectively "t", "avg", "max" and "min") are then printed.
32100               The timestamps are expressed in seconds.
32101
32102       Examples
32103
32104       •   Benchmark selectivecolor filter:
32105
32106                   bench=start,selectivecolor=reds=-.2 .12 -.49,bench=stop
32107
32108   concat
32109       Concatenate audio and video streams, joining them together one after
32110       the other.
32111
32112       The filter works on segments of synchronized video and audio streams.
32113       All segments must have the same number of streams of each type, and
32114       that will also be the number of streams at output.
32115
32116       The filter accepts the following options:
32117
32118       n   Set the number of segments. Default is 2.
32119
32120       v   Set the number of output video streams, that is also the number of
32121           video streams in each segment. Default is 1.
32122
32123       a   Set the number of output audio streams, that is also the number of
32124           audio streams in each segment. Default is 0.
32125
32126       unsafe
32127           Activate unsafe mode: do not fail if segments have a different
32128           format.
32129
32130       The filter has v+a outputs: first v video outputs, then a audio
32131       outputs.
32132
32133       There are nx(v+a) inputs: first the inputs for the first segment, in
32134       the same order as the outputs, then the inputs for the second segment,
32135       etc.
32136
32137       Related streams do not always have exactly the same duration, for
32138       various reasons including codec frame size or sloppy authoring. For
32139       that reason, related synchronized streams (e.g. a video and its audio
32140       track) should be concatenated at once. The concat filter will use the
32141       duration of the longest stream in each segment (except the last one),
32142       and if necessary pad shorter audio streams with silence.
32143
32144       For this filter to work correctly, all segments must start at timestamp
32145       0.
32146
32147       All corresponding streams must have the same parameters in all
32148       segments; the filtering system will automatically select a common pixel
32149       format for video streams, and a common sample format, sample rate and
32150       channel layout for audio streams, but other settings, such as
32151       resolution, must be converted explicitly by the user.
32152
32153       Different frame rates are acceptable but will result in variable frame
32154       rate at output; be sure to configure the output file to handle it.
32155
32156       Examples
32157
32158       •   Concatenate an opening, an episode and an ending, all in bilingual
32159           version (video in stream 0, audio in streams 1 and 2):
32160
32161                   ffmpeg -i opening.mkv -i episode.mkv -i ending.mkv -filter_complex \
32162                     '[0:0] [0:1] [0:2] [1:0] [1:1] [1:2] [2:0] [2:1] [2:2]
32163                      concat=n=3:v=1:a=2 [v] [a1] [a2]' \
32164                     -map '[v]' -map '[a1]' -map '[a2]' output.mkv
32165
32166       •   Concatenate two parts, handling audio and video separately, using
32167           the (a)movie sources, and adjusting the resolution:
32168
32169                   movie=part1.mp4, scale=512:288 [v1] ; amovie=part1.mp4 [a1] ;
32170                   movie=part2.mp4, scale=512:288 [v2] ; amovie=part2.mp4 [a2] ;
32171                   [v1] [v2] concat [outv] ; [a1] [a2] concat=v=0:a=1 [outa]
32172
32173           Note that a desync will happen at the stitch if the audio and video
32174           streams do not have exactly the same duration in the first file.
32175
32176       Commands
32177
32178       This filter supports the following commands:
32179
32180       next
32181           Close the current segment and step to the next one
32182
32183   ebur128
32184       EBU R128 scanner filter. This filter takes an audio stream and analyzes
32185       its loudness level. By default, it logs a message at a frequency of
32186       10Hz with the Momentary loudness (identified by "M"), Short-term
32187       loudness ("S"), Integrated loudness ("I") and Loudness Range ("LRA").
32188
32189       The filter can only analyze streams which have sample format is double-
32190       precision floating point. The input stream will be converted to this
32191       specification, if needed. Users may need to insert aformat and/or
32192       aresample filters after this filter to obtain the original parameters.
32193
32194       The filter also has a video output (see the video option) with a real
32195       time graph to observe the loudness evolution. The graphic contains the
32196       logged message mentioned above, so it is not printed anymore when this
32197       option is set, unless the verbose logging is set. The main graphing
32198       area contains the short-term loudness (3 seconds of analysis), and the
32199       gauge on the right is for the momentary loudness (400 milliseconds),
32200       but can optionally be configured to instead display short-term loudness
32201       (see gauge).
32202
32203       The green area marks a  +/- 1LU target range around the target loudness
32204       (-23LUFS by default, unless modified through target).
32205
32206       More information about the Loudness Recommendation EBU R128 on
32207       <http://tech.ebu.ch/loudness>.
32208
32209       The filter accepts the following options:
32210
32211       video
32212           Activate the video output. The audio stream is passed unchanged
32213           whether this option is set or no. The video stream will be the
32214           first output stream if activated. Default is 0.
32215
32216       size
32217           Set the video size. This option is for video only. For the syntax
32218           of this option, check the "Video size" section in the ffmpeg-utils
32219           manual.  Default and minimum resolution is "640x480".
32220
32221       meter
32222           Set the EBU scale meter. Default is 9. Common values are 9 and 18,
32223           respectively for EBU scale meter +9 and EBU scale meter +18. Any
32224           other integer value between this range is allowed.
32225
32226       metadata
32227           Set metadata injection. If set to 1, the audio input will be
32228           segmented into 100ms output frames, each of them containing various
32229           loudness information in metadata.  All the metadata keys are
32230           prefixed with "lavfi.r128.".
32231
32232           Default is 0.
32233
32234       framelog
32235           Force the frame logging level.
32236
32237           Available values are:
32238
32239           info
32240               information logging level
32241
32242           verbose
32243               verbose logging level
32244
32245           By default, the logging level is set to info. If the video or the
32246           metadata options are set, it switches to verbose.
32247
32248       peak
32249           Set peak mode(s).
32250
32251           Available modes can be cumulated (the option is a "flag" type).
32252           Possible values are:
32253
32254           none
32255               Disable any peak mode (default).
32256
32257           sample
32258               Enable sample-peak mode.
32259
32260               Simple peak mode looking for the higher sample value. It logs a
32261               message for sample-peak (identified by "SPK").
32262
32263           true
32264               Enable true-peak mode.
32265
32266               If enabled, the peak lookup is done on an over-sampled version
32267               of the input stream for better peak accuracy. It logs a message
32268               for true-peak.  (identified by "TPK") and true-peak per frame
32269               (identified by "FTPK").  This mode requires a build with
32270               "libswresample".
32271
32272       dualmono
32273           Treat mono input files as "dual mono". If a mono file is intended
32274           for playback on a stereo system, its EBU R128 measurement will be
32275           perceptually incorrect.  If set to "true", this option will
32276           compensate for this effect.  Multi-channel input files are not
32277           affected by this option.
32278
32279       panlaw
32280           Set a specific pan law to be used for the measurement of dual mono
32281           files.  This parameter is optional, and has a default value of
32282           -3.01dB.
32283
32284       target
32285           Set a specific target level (in LUFS) used as relative zero in the
32286           visualization.  This parameter is optional and has a default value
32287           of -23LUFS as specified by EBU R128. However, material published
32288           online may prefer a level of -16LUFS (e.g. for use with podcasts or
32289           video platforms).
32290
32291       gauge
32292           Set the value displayed by the gauge. Valid values are "momentary"
32293           and s "shortterm". By default the momentary value will be used, but
32294           in certain scenarios it may be more useful to observe the short
32295           term value instead (e.g.  live mixing).
32296
32297       scale
32298           Sets the display scale for the loudness. Valid parameters are
32299           "absolute" (in LUFS) or "relative" (LU) relative to the target.
32300           This only affects the video output, not the summary or continuous
32301           log output.
32302
32303       Examples
32304
32305       •   Real-time graph using ffplay, with a EBU scale meter +18:
32306
32307                   ffplay -f lavfi -i "amovie=input.mp3,ebur128=video=1:meter=18 [out0][out1]"
32308
32309       •   Run an analysis with ffmpeg:
32310
32311                   ffmpeg -nostats -i input.mp3 -filter_complex ebur128 -f null -
32312
32313   interleave, ainterleave
32314       Temporally interleave frames from several inputs.
32315
32316       "interleave" works with video inputs, "ainterleave" with audio.
32317
32318       These filters read frames from several inputs and send the oldest
32319       queued frame to the output.
32320
32321       Input streams must have well defined, monotonically increasing frame
32322       timestamp values.
32323
32324       In order to submit one frame to output, these filters need to enqueue
32325       at least one frame for each input, so they cannot work in case one
32326       input is not yet terminated and will not receive incoming frames.
32327
32328       For example consider the case when one input is a "select" filter which
32329       always drops input frames. The "interleave" filter will keep reading
32330       from that input, but it will never be able to send new frames to output
32331       until the input sends an end-of-stream signal.
32332
32333       Also, depending on inputs synchronization, the filters will drop frames
32334       in case one input receives more frames than the other ones, and the
32335       queue is already filled.
32336
32337       These filters accept the following options:
32338
32339       nb_inputs, n
32340           Set the number of different inputs, it is 2 by default.
32341
32342       duration
32343           How to determine the end-of-stream.
32344
32345           longest
32346               The duration of the longest input. (default)
32347
32348           shortest
32349               The duration of the shortest input.
32350
32351           first
32352               The duration of the first input.
32353
32354       Examples
32355
32356       •   Interleave frames belonging to different streams using ffmpeg:
32357
32358                   ffmpeg -i bambi.avi -i pr0n.mkv -filter_complex "[0:v][1:v] interleave" out.avi
32359
32360       •   Add flickering blur effect:
32361
32362                   select='if(gt(random(0), 0.2), 1, 2)':n=2 [tmp], boxblur=2:2, [tmp] interleave
32363
32364   latency, alatency
32365       Measure filtering latency.
32366
32367       Report previous filter filtering latency, delay in number of audio
32368       samples for audio filters or number of video frames for video filters.
32369
32370       On end of input stream, filter will report min and max measured latency
32371       for previous running filter in filtergraph.
32372
32373   metadata, ametadata
32374       Manipulate frame metadata.
32375
32376       This filter accepts the following options:
32377
32378       mode
32379           Set mode of operation of the filter.
32380
32381           Can be one of the following:
32382
32383           select
32384               If both "value" and "key" is set, select frames which have such
32385               metadata. If only "key" is set, select every frame that has
32386               such key in metadata.
32387
32388           add Add new metadata "key" and "value". If key is already available
32389               do nothing.
32390
32391           modify
32392               Modify value of already present key.
32393
32394           delete
32395               If "value" is set, delete only keys that have such value.
32396               Otherwise, delete key. If "key" is not set, delete all metadata
32397               values in the frame.
32398
32399           print
32400               Print key and its value if metadata was found. If "key" is not
32401               set print all metadata values available in frame.
32402
32403       key Set key used with all modes. Must be set for all modes except
32404           "print" and "delete".
32405
32406       value
32407           Set metadata value which will be used. This option is mandatory for
32408           "modify" and "add" mode.
32409
32410       function
32411           Which function to use when comparing metadata value and "value".
32412
32413           Can be one of following:
32414
32415           same_str
32416               Values are interpreted as strings, returns true if metadata
32417               value is same as "value".
32418
32419           starts_with
32420               Values are interpreted as strings, returns true if metadata
32421               value starts with the "value" option string.
32422
32423           less
32424               Values are interpreted as floats, returns true if metadata
32425               value is less than "value".
32426
32427           equal
32428               Values are interpreted as floats, returns true if "value" is
32429               equal with metadata value.
32430
32431           greater
32432               Values are interpreted as floats, returns true if metadata
32433               value is greater than "value".
32434
32435           expr
32436               Values are interpreted as floats, returns true if expression
32437               from option "expr" evaluates to true.
32438
32439           ends_with
32440               Values are interpreted as strings, returns true if metadata
32441               value ends with the "value" option string.
32442
32443       expr
32444           Set expression which is used when "function" is set to "expr".  The
32445           expression is evaluated through the eval API and can contain the
32446           following constants:
32447
32448           VALUE1, FRAMEVAL
32449               Float representation of "value" from metadata key.
32450
32451           VALUE2, USERVAL
32452               Float representation of "value" as supplied by user in "value"
32453               option.
32454
32455       file
32456           If specified in "print" mode, output is written to the named file.
32457           Instead of plain filename any writable url can be specified.
32458           Filename ``-'' is a shorthand for standard output. If "file" option
32459           is not set, output is written to the log with AV_LOG_INFO loglevel.
32460
32461       direct
32462           Reduces buffering in print mode when output is written to a URL set
32463           using file.
32464
32465       Examples
32466
32467       •   Print all metadata values for frames with key
32468           "lavfi.signalstats.YDIF" with values between 0 and 1.
32469
32470                   signalstats,metadata=print:key=lavfi.signalstats.YDIF:value=0:function=expr:expr='between(VALUE1,0,1)'
32471
32472       •   Print silencedetect output to file metadata.txt.
32473
32474                   silencedetect,ametadata=mode=print:file=metadata.txt
32475
32476       •   Direct all metadata to a pipe with file descriptor 4.
32477
32478                   metadata=mode=print:file='pipe\:4'
32479
32480   perms, aperms
32481       Set read/write permissions for the output frames.
32482
32483       These filters are mainly aimed at developers to test direct path in the
32484       following filter in the filtergraph.
32485
32486       The filters accept the following options:
32487
32488       mode
32489           Select the permissions mode.
32490
32491           It accepts the following values:
32492
32493           none
32494               Do nothing. This is the default.
32495
32496           ro  Set all the output frames read-only.
32497
32498           rw  Set all the output frames directly writable.
32499
32500           toggle
32501               Make the frame read-only if writable, and writable if read-
32502               only.
32503
32504           random
32505               Set each output frame read-only or writable randomly.
32506
32507       seed
32508           Set the seed for the random mode, must be an integer included
32509           between 0 and "UINT32_MAX". If not specified, or if explicitly set
32510           to "-1", the filter will try to use a good random seed on a best
32511           effort basis.
32512
32513       Note: in case of auto-inserted filter between the permission filter and
32514       the following one, the permission might not be received as expected in
32515       that following filter. Inserting a format or aformat filter before the
32516       perms/aperms filter can avoid this problem.
32517
32518   realtime, arealtime
32519       Slow down filtering to match real time approximately.
32520
32521       These filters will pause the filtering for a variable amount of time to
32522       match the output rate with the input timestamps.  They are similar to
32523       the re option to "ffmpeg".
32524
32525       They accept the following options:
32526
32527       limit
32528           Time limit for the pauses. Any pause longer than that will be
32529           considered a timestamp discontinuity and reset the timer. Default
32530           is 2 seconds.
32531
32532       speed
32533           Speed factor for processing. The value must be a float larger than
32534           zero.  Values larger than 1.0 will result in faster than realtime
32535           processing, smaller will slow processing down. The limit is
32536           automatically adapted accordingly. Default is 1.0.
32537
32538           A processing speed faster than what is possible without these
32539           filters cannot be achieved.
32540
32541   segment, asegment
32542       Split single input stream into multiple streams.
32543
32544       This filter does opposite of concat filters.
32545
32546       "segment" works on video frames, "asegment" on audio samples.
32547
32548       This filter accepts the following options:
32549
32550       timestamps
32551           Timestamps of output segments separated by '|'. The first segment
32552           will run from the beginning of the input stream. The last segment
32553           will run until the end of the input stream
32554
32555       frames, samples
32556           Exact frame/sample count to split the segments.
32557
32558       In all cases, prefixing an each segment with '+' will make it relative
32559       to the previous segment.
32560
32561       Examples
32562
32563       •   Split input audio stream into three output audio streams, starting
32564           at start of input audio stream and storing that in 1st output audio
32565           stream, then following at 60th second and storing than in 2nd
32566           output audio stream, and last after 150th second of input audio
32567           stream store in 3rd output audio stream:
32568
32569                   asegment=timestamps="60|150"
32570
32571   select, aselect
32572       Select frames to pass in output.
32573
32574       This filter accepts the following options:
32575
32576       expr, e
32577           Set expression, which is evaluated for each input frame.
32578
32579           If the expression is evaluated to zero, the frame is discarded.
32580
32581           If the evaluation result is negative or NaN, the frame is sent to
32582           the first output; otherwise it is sent to the output with index
32583           "ceil(val)-1", assuming that the input index starts from 0.
32584
32585           For example a value of 1.2 corresponds to the output with index
32586           "ceil(1.2)-1 = 2-1 = 1", that is the second output.
32587
32588       outputs, n
32589           Set the number of outputs. The output to which to send the selected
32590           frame is based on the result of the evaluation. Default value is 1.
32591
32592       The expression can contain the following constants:
32593
32594       n   The (sequential) number of the filtered frame, starting from 0.
32595
32596       selected_n
32597           The (sequential) number of the selected frame, starting from 0.
32598
32599       prev_selected_n
32600           The sequential number of the last selected frame. It's NAN if
32601           undefined.
32602
32603       TB  The timebase of the input timestamps.
32604
32605       pts The PTS (Presentation TimeStamp) of the filtered frame, expressed
32606           in TB units. It's NAN if undefined.
32607
32608       t   The PTS of the filtered frame, expressed in seconds. It's NAN if
32609           undefined.
32610
32611       prev_pts
32612           The PTS of the previously filtered frame. It's NAN if undefined.
32613
32614       prev_selected_pts
32615           The PTS of the last previously filtered frame. It's NAN if
32616           undefined.
32617
32618       prev_selected_t
32619           The PTS of the last previously selected frame, expressed in
32620           seconds. It's NAN if undefined.
32621
32622       start_pts
32623           The first PTS in the stream which is not NAN. It remains NAN if not
32624           found.
32625
32626       start_t
32627           The first PTS, in seconds, in the stream which is not NAN. It
32628           remains NAN if not found.
32629
32630       pict_type (video only)
32631           The type of the filtered frame. It can assume one of the following
32632           values:
32633
32634           I
32635           P
32636           B
32637           S
32638           SI
32639           SP
32640           BI
32641       interlace_type (video only)
32642           The frame interlace type. It can assume one of the following
32643           values:
32644
32645           PROGRESSIVE
32646               The frame is progressive (not interlaced).
32647
32648           TOPFIRST
32649               The frame is top-field-first.
32650
32651           BOTTOMFIRST
32652               The frame is bottom-field-first.
32653
32654       consumed_sample_n (audio only)
32655           the number of selected samples before the current frame
32656
32657       samples_n (audio only)
32658           the number of samples in the current frame
32659
32660       sample_rate (audio only)
32661           the input sample rate
32662
32663       key This is 1 if the filtered frame is a key-frame, 0 otherwise.
32664
32665       pos the position in the file of the filtered frame, -1 if the
32666           information is not available (e.g. for synthetic video)
32667
32668       scene (video only)
32669           value between 0 and 1 to indicate a new scene; a low value reflects
32670           a low probability for the current frame to introduce a new scene,
32671           while a higher value means the current frame is more likely to be
32672           one (see the example below)
32673
32674       concatdec_select
32675           The concat demuxer can select only part of a concat input file by
32676           setting an inpoint and an outpoint, but the output packets may not
32677           be entirely contained in the selected interval. By using this
32678           variable, it is possible to skip frames generated by the concat
32679           demuxer which are not exactly contained in the selected interval.
32680
32681           This works by comparing the frame pts against the
32682           lavf.concat.start_time and the lavf.concat.duration packet metadata
32683           values which are also present in the decoded frames.
32684
32685           The concatdec_select variable is -1 if the frame pts is at least
32686           start_time and either the duration metadata is missing or the frame
32687           pts is less than start_time + duration, 0 otherwise, and NaN if the
32688           start_time metadata is missing.
32689
32690           That basically means that an input frame is selected if its pts is
32691           within the interval set by the concat demuxer.
32692
32693       The default value of the select expression is "1".
32694
32695       Examples
32696
32697       •   Select all frames in input:
32698
32699                   select
32700
32701           The example above is the same as:
32702
32703                   select=1
32704
32705       •   Skip all frames:
32706
32707                   select=0
32708
32709       •   Select only I-frames:
32710
32711                   select='eq(pict_type\,I)'
32712
32713       •   Select one frame every 100:
32714
32715                   select='not(mod(n\,100))'
32716
32717       •   Select only frames contained in the 10-20 time interval:
32718
32719                   select=between(t\,10\,20)
32720
32721       •   Select only I-frames contained in the 10-20 time interval:
32722
32723                   select=between(t\,10\,20)*eq(pict_type\,I)
32724
32725       •   Select frames with a minimum distance of 10 seconds:
32726
32727                   select='isnan(prev_selected_t)+gte(t-prev_selected_t\,10)'
32728
32729       •   Use aselect to select only audio frames with samples number > 100:
32730
32731                   aselect='gt(samples_n\,100)'
32732
32733       •   Create a mosaic of the first scenes:
32734
32735                   ffmpeg -i video.avi -vf select='gt(scene\,0.4)',scale=160:120,tile -frames:v 1 preview.png
32736
32737           Comparing scene against a value between 0.3 and 0.5 is generally a
32738           sane choice.
32739
32740       •   Send even and odd frames to separate outputs, and compose them:
32741
32742                   select=n=2:e='mod(n, 2)+1' [odd][even]; [odd] pad=h=2*ih [tmp]; [tmp][even] overlay=y=h
32743
32744       •   Select useful frames from an ffconcat file which is using inpoints
32745           and outpoints but where the source files are not intra frame only.
32746
32747                   ffmpeg -copyts -vsync 0 -segment_time_metadata 1 -i input.ffconcat -vf select=concatdec_select -af aselect=concatdec_select output.avi
32748
32749   sendcmd, asendcmd
32750       Send commands to filters in the filtergraph.
32751
32752       These filters read commands to be sent to other filters in the
32753       filtergraph.
32754
32755       "sendcmd" must be inserted between two video filters, "asendcmd" must
32756       be inserted between two audio filters, but apart from that they act the
32757       same way.
32758
32759       The specification of commands can be provided in the filter arguments
32760       with the commands option, or in a file specified by the filename
32761       option.
32762
32763       These filters accept the following options:
32764
32765       commands, c
32766           Set the commands to be read and sent to the other filters.
32767
32768       filename, f
32769           Set the filename of the commands to be read and sent to the other
32770           filters.
32771
32772       Commands syntax
32773
32774       A commands description consists of a sequence of interval
32775       specifications, comprising a list of commands to be executed when a
32776       particular event related to that interval occurs. The occurring event
32777       is typically the current frame time entering or leaving a given time
32778       interval.
32779
32780       An interval is specified by the following syntax:
32781
32782               <START>[-<END>] <COMMANDS>;
32783
32784       The time interval is specified by the START and END times.  END is
32785       optional and defaults to the maximum time.
32786
32787       The current frame time is considered within the specified interval if
32788       it is included in the interval [START, END), that is when the time is
32789       greater or equal to START and is lesser than END.
32790
32791       COMMANDS consists of a sequence of one or more command specifications,
32792       separated by ",", relating to that interval.  The syntax of a command
32793       specification is given by:
32794
32795               [<FLAGS>] <TARGET> <COMMAND> <ARG>
32796
32797       FLAGS is optional and specifies the type of events relating to the time
32798       interval which enable sending the specified command, and must be a non-
32799       null sequence of identifier flags separated by "+" or "|" and enclosed
32800       between "[" and "]".
32801
32802       The following flags are recognized:
32803
32804       enter
32805           The command is sent when the current frame timestamp enters the
32806           specified interval. In other words, the command is sent when the
32807           previous frame timestamp was not in the given interval, and the
32808           current is.
32809
32810       leave
32811           The command is sent when the current frame timestamp leaves the
32812           specified interval. In other words, the command is sent when the
32813           previous frame timestamp was in the given interval, and the current
32814           is not.
32815
32816       expr
32817           The command ARG is interpreted as expression and result of
32818           expression is passed as ARG.
32819
32820           The expression is evaluated through the eval API and can contain
32821           the following constants:
32822
32823           POS Original position in the file of the frame, or undefined if
32824               undefined for the current frame.
32825
32826           PTS The presentation timestamp in input.
32827
32828           N   The count of the input frame for video or audio, starting from
32829               0.
32830
32831           T   The time in seconds of the current frame.
32832
32833           TS  The start time in seconds of the current command interval.
32834
32835           TE  The end time in seconds of the current command interval.
32836
32837           TI  The interpolated time of the current command interval, TI = (T
32838               - TS) / (TE - TS).
32839
32840       If FLAGS is not specified, a default value of "[enter]" is assumed.
32841
32842       TARGET specifies the target of the command, usually the name of the
32843       filter class or a specific filter instance name.
32844
32845       COMMAND specifies the name of the command for the target filter.
32846
32847       ARG is optional and specifies the optional list of argument for the
32848       given COMMAND.
32849
32850       Between one interval specification and another, whitespaces, or
32851       sequences of characters starting with "#" until the end of line, are
32852       ignored and can be used to annotate comments.
32853
32854       A simplified BNF description of the commands specification syntax
32855       follows:
32856
32857               <COMMAND_FLAG>  ::= "enter" | "leave"
32858               <COMMAND_FLAGS> ::= <COMMAND_FLAG> [(+|"|")<COMMAND_FLAG>]
32859               <COMMAND>       ::= ["[" <COMMAND_FLAGS> "]"] <TARGET> <COMMAND> [<ARG>]
32860               <COMMANDS>      ::= <COMMAND> [,<COMMANDS>]
32861               <INTERVAL>      ::= <START>[-<END>] <COMMANDS>
32862               <INTERVALS>     ::= <INTERVAL>[;<INTERVALS>]
32863
32864       Examples
32865
32866       •   Specify audio tempo change at second 4:
32867
32868                   asendcmd=c='4.0 atempo tempo 1.5',atempo
32869
32870       •   Target a specific filter instance:
32871
32872                   asendcmd=c='4.0 atempo@my tempo 1.5',atempo@my
32873
32874       •   Specify a list of drawtext and hue commands in a file.
32875
32876                   # show text in the interval 5-10
32877                   5.0-10.0 [enter] drawtext reinit 'fontfile=FreeSerif.ttf:text=hello world',
32878                            [leave] drawtext reinit 'fontfile=FreeSerif.ttf:text=';
32879
32880                   # desaturate the image in the interval 15-20
32881                   15.0-20.0 [enter] hue s 0,
32882                             [enter] drawtext reinit 'fontfile=FreeSerif.ttf:text=nocolor',
32883                             [leave] hue s 1,
32884                             [leave] drawtext reinit 'fontfile=FreeSerif.ttf:text=color';
32885
32886                   # apply an exponential saturation fade-out effect, starting from time 25
32887                   25 [enter] hue s exp(25-t)
32888
32889           A filtergraph allowing to read and process the above command list
32890           stored in a file test.cmd, can be specified with:
32891
32892                   sendcmd=f=test.cmd,drawtext=fontfile=FreeSerif.ttf:text='',hue
32893
32894   setpts, asetpts
32895       Change the PTS (presentation timestamp) of the input frames.
32896
32897       "setpts" works on video frames, "asetpts" on audio frames.
32898
32899       This filter accepts the following options:
32900
32901       expr
32902           The expression which is evaluated for each frame to construct its
32903           timestamp.
32904
32905       The expression is evaluated through the eval API and can contain the
32906       following constants:
32907
32908       FRAME_RATE, FR
32909           frame rate, only defined for constant frame-rate video
32910
32911       PTS The presentation timestamp in input
32912
32913       N   The count of the input frame for video or the number of consumed
32914           samples, not including the current frame for audio, starting from
32915           0.
32916
32917       NB_CONSUMED_SAMPLES
32918           The number of consumed samples, not including the current frame
32919           (only audio)
32920
32921       NB_SAMPLES, S
32922           The number of samples in the current frame (only audio)
32923
32924       SAMPLE_RATE, SR
32925           The audio sample rate.
32926
32927       STARTPTS
32928           The PTS of the first frame.
32929
32930       STARTT
32931           the time in seconds of the first frame
32932
32933       INTERLACED
32934           State whether the current frame is interlaced.
32935
32936       T   the time in seconds of the current frame
32937
32938       POS original position in the file of the frame, or undefined if
32939           undefined for the current frame
32940
32941       PREV_INPTS
32942           The previous input PTS.
32943
32944       PREV_INT
32945           previous input time in seconds
32946
32947       PREV_OUTPTS
32948           The previous output PTS.
32949
32950       PREV_OUTT
32951           previous output time in seconds
32952
32953       RTCTIME
32954           The wallclock (RTC) time in microseconds. This is deprecated, use
32955           time(0) instead.
32956
32957       RTCSTART
32958           The wallclock (RTC) time at the start of the movie in microseconds.
32959
32960       TB  The timebase of the input timestamps.
32961
32962       Examples
32963
32964       •   Start counting PTS from zero
32965
32966                   setpts=PTS-STARTPTS
32967
32968       •   Apply fast motion effect:
32969
32970                   setpts=0.5*PTS
32971
32972       •   Apply slow motion effect:
32973
32974                   setpts=2.0*PTS
32975
32976       •   Set fixed rate of 25 frames per second:
32977
32978                   setpts=N/(25*TB)
32979
32980       •   Set fixed rate 25 fps with some jitter:
32981
32982                   setpts='1/(25*TB) * (N + 0.05 * sin(N*2*PI/25))'
32983
32984       •   Apply an offset of 10 seconds to the input PTS:
32985
32986                   setpts=PTS+10/TB
32987
32988       •   Generate timestamps from a "live source" and rebase onto the
32989           current timebase:
32990
32991                   setpts='(RTCTIME - RTCSTART) / (TB * 1000000)'
32992
32993       •   Generate timestamps by counting samples:
32994
32995                   asetpts=N/SR/TB
32996
32997   setrange
32998       Force color range for the output video frame.
32999
33000       The "setrange" filter marks the color range property for the output
33001       frames. It does not change the input frame, but only sets the
33002       corresponding property, which affects how the frame is treated by
33003       following filters.
33004
33005       The filter accepts the following options:
33006
33007       range
33008           Available values are:
33009
33010           auto
33011               Keep the same color range property.
33012
33013           unspecified, unknown
33014               Set the color range as unspecified.
33015
33016           limited, tv, mpeg
33017               Set the color range as limited.
33018
33019           full, pc, jpeg
33020               Set the color range as full.
33021
33022   settb, asettb
33023       Set the timebase to use for the output frames timestamps.  It is mainly
33024       useful for testing timebase configuration.
33025
33026       It accepts the following parameters:
33027
33028       expr, tb
33029           The expression which is evaluated into the output timebase.
33030
33031       The value for tb is an arithmetic expression representing a rational.
33032       The expression can contain the constants "AVTB" (the default timebase),
33033       "intb" (the input timebase) and "sr" (the sample rate, audio only).
33034       Default value is "intb".
33035
33036       Examples
33037
33038       •   Set the timebase to 1/25:
33039
33040                   settb=expr=1/25
33041
33042       •   Set the timebase to 1/10:
33043
33044                   settb=expr=0.1
33045
33046       •   Set the timebase to 1001/1000:
33047
33048                   settb=1+0.001
33049
33050       •   Set the timebase to 2*intb:
33051
33052                   settb=2*intb
33053
33054       •   Set the default timebase value:
33055
33056                   settb=AVTB
33057
33058   showcqt
33059       Convert input audio to a video output representing frequency spectrum
33060       logarithmically using Brown-Puckette constant Q transform algorithm
33061       with direct frequency domain coefficient calculation (but the transform
33062       itself is not really constant Q, instead the Q factor is actually
33063       variable/clamped), with musical tone scale, from E0 to D#10.
33064
33065       The filter accepts the following options:
33066
33067       size, s
33068           Specify the video size for the output. It must be even. For the
33069           syntax of this option, check the "Video size" section in the
33070           ffmpeg-utils manual.  Default value is "1920x1080".
33071
33072       fps, rate, r
33073           Set the output frame rate. Default value is 25.
33074
33075       bar_h
33076           Set the bargraph height. It must be even. Default value is "-1"
33077           which computes the bargraph height automatically.
33078
33079       axis_h
33080           Set the axis height. It must be even. Default value is "-1" which
33081           computes the axis height automatically.
33082
33083       sono_h
33084           Set the sonogram height. It must be even. Default value is "-1"
33085           which computes the sonogram height automatically.
33086
33087       fullhd
33088           Set the fullhd resolution. This option is deprecated, use size, s
33089           instead. Default value is 1.
33090
33091       sono_v, volume
33092           Specify the sonogram volume expression. It can contain variables:
33093
33094           bar_v
33095               the bar_v evaluated expression
33096
33097           frequency, freq, f
33098               the frequency where it is evaluated
33099
33100           timeclamp, tc
33101               the value of timeclamp option
33102
33103           and functions:
33104
33105           a_weighting(f)
33106               A-weighting of equal loudness
33107
33108           b_weighting(f)
33109               B-weighting of equal loudness
33110
33111           c_weighting(f)
33112               C-weighting of equal loudness.
33113
33114           Default value is 16.
33115
33116       bar_v, volume2
33117           Specify the bargraph volume expression. It can contain variables:
33118
33119           sono_v
33120               the sono_v evaluated expression
33121
33122           frequency, freq, f
33123               the frequency where it is evaluated
33124
33125           timeclamp, tc
33126               the value of timeclamp option
33127
33128           and functions:
33129
33130           a_weighting(f)
33131               A-weighting of equal loudness
33132
33133           b_weighting(f)
33134               B-weighting of equal loudness
33135
33136           c_weighting(f)
33137               C-weighting of equal loudness.
33138
33139           Default value is "sono_v".
33140
33141       sono_g, gamma
33142           Specify the sonogram gamma. Lower gamma makes the spectrum more
33143           contrast, higher gamma makes the spectrum having more range.
33144           Default value is 3.  Acceptable range is "[1, 7]".
33145
33146       bar_g, gamma2
33147           Specify the bargraph gamma. Default value is 1. Acceptable range is
33148           "[1, 7]".
33149
33150       bar_t
33151           Specify the bargraph transparency level. Lower value makes the
33152           bargraph sharper.  Default value is 1. Acceptable range is "[0,
33153           1]".
33154
33155       timeclamp, tc
33156           Specify the transform timeclamp. At low frequency, there is trade-
33157           off between accuracy in time domain and frequency domain. If
33158           timeclamp is lower, event in time domain is represented more
33159           accurately (such as fast bass drum), otherwise event in frequency
33160           domain is represented more accurately (such as bass guitar).
33161           Acceptable range is "[0.002, 1]". Default value is 0.17.
33162
33163       attack
33164           Set attack time in seconds. The default is 0 (disabled). Otherwise,
33165           it limits future samples by applying asymmetric windowing in time
33166           domain, useful when low latency is required. Accepted range is "[0,
33167           1]".
33168
33169       basefreq
33170           Specify the transform base frequency. Default value is
33171           20.01523126408007475, which is frequency 50 cents below E0.
33172           Acceptable range is "[10, 100000]".
33173
33174       endfreq
33175           Specify the transform end frequency. Default value is
33176           20495.59681441799654, which is frequency 50 cents above D#10.
33177           Acceptable range is "[10, 100000]".
33178
33179       coeffclamp
33180           This option is deprecated and ignored.
33181
33182       tlength
33183           Specify the transform length in time domain. Use this option to
33184           control accuracy trade-off between time domain and frequency domain
33185           at every frequency sample.  It can contain variables:
33186
33187           frequency, freq, f
33188               the frequency where it is evaluated
33189
33190           timeclamp, tc
33191               the value of timeclamp option.
33192
33193           Default value is "384*tc/(384+tc*f)".
33194
33195       count
33196           Specify the transform count for every video frame. Default value is
33197           6.  Acceptable range is "[1, 30]".
33198
33199       fcount
33200           Specify the transform count for every single pixel. Default value
33201           is 0, which makes it computed automatically. Acceptable range is
33202           "[0, 10]".
33203
33204       fontfile
33205           Specify font file for use with freetype to draw the axis. If not
33206           specified, use embedded font. Note that drawing with font file or
33207           embedded font is not implemented with custom basefreq and endfreq,
33208           use axisfile option instead.
33209
33210       font
33211           Specify fontconfig pattern. This has lower priority than fontfile.
33212           The ":" in the pattern may be replaced by "|" to avoid unnecessary
33213           escaping.
33214
33215       fontcolor
33216           Specify font color expression. This is arithmetic expression that
33217           should return integer value 0xRRGGBB. It can contain variables:
33218
33219           frequency, freq, f
33220               the frequency where it is evaluated
33221
33222           timeclamp, tc
33223               the value of timeclamp option
33224
33225           and functions:
33226
33227           midi(f)
33228               midi number of frequency f, some midi numbers: E0(16), C1(24),
33229               C2(36), A4(69)
33230
33231           r(x), g(x), b(x)
33232               red, green, and blue value of intensity x.
33233
33234           Default value is "st(0, (midi(f)-59.5)/12); st(1,
33235           if(between(ld(0),0,1), 0.5-0.5*cos(2*PI*ld(0)), 0)); r(1-ld(1)) +
33236           b(ld(1))".
33237
33238       axisfile
33239           Specify image file to draw the axis. This option override fontfile
33240           and fontcolor option.
33241
33242       axis, text
33243           Enable/disable drawing text to the axis. If it is set to 0, drawing
33244           to the axis is disabled, ignoring fontfile and axisfile option.
33245           Default value is 1.
33246
33247       csp Set colorspace. The accepted values are:
33248
33249           unspecified
33250               Unspecified (default)
33251
33252           bt709
33253               BT.709
33254
33255           fcc FCC
33256
33257           bt470bg
33258               BT.470BG or BT.601-6 625
33259
33260           smpte170m
33261               SMPTE-170M or BT.601-6 525
33262
33263           smpte240m
33264               SMPTE-240M
33265
33266           bt2020ncl
33267               BT.2020 with non-constant luminance
33268
33269       cscheme
33270           Set spectrogram color scheme. This is list of floating point values
33271           with format "left_r|left_g|left_b|right_r|right_g|right_b".  The
33272           default is "1|0.5|0|0|0.5|1".
33273
33274       Examples
33275
33276       •   Playing audio while showing the spectrum:
33277
33278                   ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt [out0]'
33279
33280       •   Same as above, but with frame rate 30 fps:
33281
33282                   ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt=fps=30:count=5 [out0]'
33283
33284       •   Playing at 1280x720:
33285
33286                   ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt=s=1280x720:count=4 [out0]'
33287
33288       •   Disable sonogram display:
33289
33290                   sono_h=0
33291
33292       •   A1 and its harmonics: A1, A2, (near)E3, A3:
33293
33294                   ffplay -f lavfi 'aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),
33295                                    asplit[a][out1]; [a] showcqt [out0]'
33296
33297       •   Same as above, but with more accuracy in frequency domain:
33298
33299                   ffplay -f lavfi 'aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),
33300                                    asplit[a][out1]; [a] showcqt=timeclamp=0.5 [out0]'
33301
33302       •   Custom volume:
33303
33304                   bar_v=10:sono_v=bar_v*a_weighting(f)
33305
33306       •   Custom gamma, now spectrum is linear to the amplitude.
33307
33308                   bar_g=2:sono_g=2
33309
33310       •   Custom tlength equation:
33311
33312                   tc=0.33:tlength='st(0,0.17); 384*tc / (384 / ld(0) + tc*f /(1-ld(0))) + 384*tc / (tc*f / ld(0) + 384 /(1-ld(0)))'
33313
33314       •   Custom fontcolor and fontfile, C-note is colored green, others are
33315           colored blue:
33316
33317                   fontcolor='if(mod(floor(midi(f)+0.5),12), 0x0000FF, g(1))':fontfile=myfont.ttf
33318
33319       •   Custom font using fontconfig:
33320
33321                   font='Courier New,Monospace,mono|bold'
33322
33323       •   Custom frequency range with custom axis using image file:
33324
33325                   axisfile=myaxis.png:basefreq=40:endfreq=10000
33326
33327   showfreqs
33328       Convert input audio to video output representing the audio power
33329       spectrum.  Audio amplitude is on Y-axis while frequency is on X-axis.
33330
33331       The filter accepts the following options:
33332
33333       size, s
33334           Specify size of video. For the syntax of this option, check the
33335           "Video size" section in the ffmpeg-utils manual.  Default is
33336           "1024x512".
33337
33338       mode
33339           Set display mode.  This set how each frequency bin will be
33340           represented.
33341
33342           It accepts the following values:
33343
33344           line
33345           bar
33346           dot
33347
33348           Default is "bar".
33349
33350       ascale
33351           Set amplitude scale.
33352
33353           It accepts the following values:
33354
33355           lin Linear scale.
33356
33357           sqrt
33358               Square root scale.
33359
33360           cbrt
33361               Cubic root scale.
33362
33363           log Logarithmic scale.
33364
33365           Default is "log".
33366
33367       fscale
33368           Set frequency scale.
33369
33370           It accepts the following values:
33371
33372           lin Linear scale.
33373
33374           log Logarithmic scale.
33375
33376           rlog
33377               Reverse logarithmic scale.
33378
33379           Default is "lin".
33380
33381       win_size
33382           Set window size. Allowed range is from 16 to 65536.
33383
33384           Default is 2048
33385
33386       win_func
33387           Set windowing function.
33388
33389           It accepts the following values:
33390
33391           rect
33392           bartlett
33393           hanning
33394           hamming
33395           blackman
33396           welch
33397           flattop
33398           bharris
33399           bnuttall
33400           bhann
33401           sine
33402           nuttall
33403           lanczos
33404           gauss
33405           tukey
33406           dolph
33407           cauchy
33408           parzen
33409           poisson
33410           bohman
33411
33412           Default is "hanning".
33413
33414       overlap
33415           Set window overlap. In range "[0, 1]". Default is 1, which means
33416           optimal overlap for selected window function will be picked.
33417
33418       averaging
33419           Set time averaging. Setting this to 0 will display current maximal
33420           peaks.  Default is 1, which means time averaging is disabled.
33421
33422       colors
33423           Specify list of colors separated by space or by '|' which will be
33424           used to draw channel frequencies. Unrecognized or missing colors
33425           will be replaced by white color.
33426
33427       cmode
33428           Set channel display mode.
33429
33430           It accepts the following values:
33431
33432           combined
33433           separate
33434
33435           Default is "combined".
33436
33437       minamp
33438           Set minimum amplitude used in "log" amplitude scaler.
33439
33440       data
33441           Set data display mode.
33442
33443           It accepts the following values:
33444
33445           magnitude
33446           phase
33447           delay
33448
33449           Default is "magnitude".
33450
33451   showspatial
33452       Convert stereo input audio to a video output, representing the spatial
33453       relationship between two channels.
33454
33455       The filter accepts the following options:
33456
33457       size, s
33458           Specify the video size for the output. For the syntax of this
33459           option, check the "Video size" section in the ffmpeg-utils manual.
33460           Default value is "512x512".
33461
33462       win_size
33463           Set window size. Allowed range is from 1024 to 65536. Default size
33464           is 4096.
33465
33466       win_func
33467           Set window function.
33468
33469           It accepts the following values:
33470
33471           rect
33472           bartlett
33473           hann
33474           hanning
33475           hamming
33476           blackman
33477           welch
33478           flattop
33479           bharris
33480           bnuttall
33481           bhann
33482           sine
33483           nuttall
33484           lanczos
33485           gauss
33486           tukey
33487           dolph
33488           cauchy
33489           parzen
33490           poisson
33491           bohman
33492
33493           Default value is "hann".
33494
33495       overlap
33496           Set ratio of overlap window. Default value is 0.5.  When value is 1
33497           overlap is set to recommended size for specific window function
33498           currently used.
33499
33500   showspectrum
33501       Convert input audio to a video output, representing the audio frequency
33502       spectrum.
33503
33504       The filter accepts the following options:
33505
33506       size, s
33507           Specify the video size for the output. For the syntax of this
33508           option, check the "Video size" section in the ffmpeg-utils manual.
33509           Default value is "640x512".
33510
33511       slide
33512           Specify how the spectrum should slide along the window.
33513
33514           It accepts the following values:
33515
33516           replace
33517               the samples start again on the left when they reach the right
33518
33519           scroll
33520               the samples scroll from right to left
33521
33522           fullframe
33523               frames are only produced when the samples reach the right
33524
33525           rscroll
33526               the samples scroll from left to right
33527
33528           lreplace
33529               the samples start again on the right when they reach the left
33530
33531           Default value is "replace".
33532
33533       mode
33534           Specify display mode.
33535
33536           It accepts the following values:
33537
33538           combined
33539               all channels are displayed in the same row
33540
33541           separate
33542               all channels are displayed in separate rows
33543
33544           Default value is combined.
33545
33546       color
33547           Specify display color mode.
33548
33549           It accepts the following values:
33550
33551           channel
33552               each channel is displayed in a separate color
33553
33554           intensity
33555               each channel is displayed using the same color scheme
33556
33557           rainbow
33558               each channel is displayed using the rainbow color scheme
33559
33560           moreland
33561               each channel is displayed using the moreland color scheme
33562
33563           nebulae
33564               each channel is displayed using the nebulae color scheme
33565
33566           fire
33567               each channel is displayed using the fire color scheme
33568
33569           fiery
33570               each channel is displayed using the fiery color scheme
33571
33572           fruit
33573               each channel is displayed using the fruit color scheme
33574
33575           cool
33576               each channel is displayed using the cool color scheme
33577
33578           magma
33579               each channel is displayed using the magma color scheme
33580
33581           green
33582               each channel is displayed using the green color scheme
33583
33584           viridis
33585               each channel is displayed using the viridis color scheme
33586
33587           plasma
33588               each channel is displayed using the plasma color scheme
33589
33590           cividis
33591               each channel is displayed using the cividis color scheme
33592
33593           terrain
33594               each channel is displayed using the terrain color scheme
33595
33596           Default value is channel.
33597
33598       scale
33599           Specify scale used for calculating intensity color values.
33600
33601           It accepts the following values:
33602
33603           lin linear
33604
33605           sqrt
33606               square root, default
33607
33608           cbrt
33609               cubic root
33610
33611           log logarithmic
33612
33613           4thrt
33614               4th root
33615
33616           5thrt
33617               5th root
33618
33619           Default value is sqrt.
33620
33621       fscale
33622           Specify frequency scale.
33623
33624           It accepts the following values:
33625
33626           lin linear
33627
33628           log logarithmic
33629
33630           Default value is lin.
33631
33632       saturation
33633           Set saturation modifier for displayed colors. Negative values
33634           provide alternative color scheme. 0 is no saturation at all.
33635           Saturation must be in [-10.0, 10.0] range.  Default value is 1.
33636
33637       win_func
33638           Set window function.
33639
33640           It accepts the following values:
33641
33642           rect
33643           bartlett
33644           hann
33645           hanning
33646           hamming
33647           blackman
33648           welch
33649           flattop
33650           bharris
33651           bnuttall
33652           bhann
33653           sine
33654           nuttall
33655           lanczos
33656           gauss
33657           tukey
33658           dolph
33659           cauchy
33660           parzen
33661           poisson
33662           bohman
33663
33664           Default value is "hann".
33665
33666       orientation
33667           Set orientation of time vs frequency axis. Can be "vertical" or
33668           "horizontal". Default is "vertical".
33669
33670       overlap
33671           Set ratio of overlap window. Default value is 0.  When value is 1
33672           overlap is set to recommended size for specific window function
33673           currently used.
33674
33675       gain
33676           Set scale gain for calculating intensity color values.  Default
33677           value is 1.
33678
33679       data
33680           Set which data to display. Can be "magnitude", default or "phase",
33681           or unwrapped phase: "uphase".
33682
33683       rotation
33684           Set color rotation, must be in [-1.0, 1.0] range.  Default value is
33685           0.
33686
33687       start
33688           Set start frequency from which to display spectrogram. Default is
33689           0.
33690
33691       stop
33692           Set stop frequency to which to display spectrogram. Default is 0.
33693
33694       fps Set upper frame rate limit. Default is "auto", unlimited.
33695
33696       legend
33697           Draw time and frequency axes and legends. Default is disabled.
33698
33699       drange
33700           Set dynamic range used to calculate intensity color values. Default
33701           is 120 dBFS.  Allowed range is from 10 to 200.
33702
33703       limit
33704           Set upper limit of input audio samples volume in dBFS. Default is 0
33705           dBFS.  Allowed range is from -100 to 100.
33706
33707       The usage is very similar to the showwaves filter; see the examples in
33708       that section.
33709
33710       Examples
33711
33712       •   Large window with logarithmic color scaling:
33713
33714                   showspectrum=s=1280x480:scale=log
33715
33716       •   Complete example for a colored and sliding spectrum per channel
33717           using ffplay:
33718
33719                   ffplay -f lavfi 'amovie=input.mp3, asplit [a][out1];
33720                                [a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]'
33721
33722   showspectrumpic
33723       Convert input audio to a single video frame, representing the audio
33724       frequency spectrum.
33725
33726       The filter accepts the following options:
33727
33728       size, s
33729           Specify the video size for the output. For the syntax of this
33730           option, check the "Video size" section in the ffmpeg-utils manual.
33731           Default value is "4096x2048".
33732
33733       mode
33734           Specify display mode.
33735
33736           It accepts the following values:
33737
33738           combined
33739               all channels are displayed in the same row
33740
33741           separate
33742               all channels are displayed in separate rows
33743
33744           Default value is combined.
33745
33746       color
33747           Specify display color mode.
33748
33749           It accepts the following values:
33750
33751           channel
33752               each channel is displayed in a separate color
33753
33754           intensity
33755               each channel is displayed using the same color scheme
33756
33757           rainbow
33758               each channel is displayed using the rainbow color scheme
33759
33760           moreland
33761               each channel is displayed using the moreland color scheme
33762
33763           nebulae
33764               each channel is displayed using the nebulae color scheme
33765
33766           fire
33767               each channel is displayed using the fire color scheme
33768
33769           fiery
33770               each channel is displayed using the fiery color scheme
33771
33772           fruit
33773               each channel is displayed using the fruit color scheme
33774
33775           cool
33776               each channel is displayed using the cool color scheme
33777
33778           magma
33779               each channel is displayed using the magma color scheme
33780
33781           green
33782               each channel is displayed using the green color scheme
33783
33784           viridis
33785               each channel is displayed using the viridis color scheme
33786
33787           plasma
33788               each channel is displayed using the plasma color scheme
33789
33790           cividis
33791               each channel is displayed using the cividis color scheme
33792
33793           terrain
33794               each channel is displayed using the terrain color scheme
33795
33796           Default value is intensity.
33797
33798       scale
33799           Specify scale used for calculating intensity color values.
33800
33801           It accepts the following values:
33802
33803           lin linear
33804
33805           sqrt
33806               square root, default
33807
33808           cbrt
33809               cubic root
33810
33811           log logarithmic
33812
33813           4thrt
33814               4th root
33815
33816           5thrt
33817               5th root
33818
33819           Default value is log.
33820
33821       fscale
33822           Specify frequency scale.
33823
33824           It accepts the following values:
33825
33826           lin linear
33827
33828           log logarithmic
33829
33830           Default value is lin.
33831
33832       saturation
33833           Set saturation modifier for displayed colors. Negative values
33834           provide alternative color scheme. 0 is no saturation at all.
33835           Saturation must be in [-10.0, 10.0] range.  Default value is 1.
33836
33837       win_func
33838           Set window function.
33839
33840           It accepts the following values:
33841
33842           rect
33843           bartlett
33844           hann
33845           hanning
33846           hamming
33847           blackman
33848           welch
33849           flattop
33850           bharris
33851           bnuttall
33852           bhann
33853           sine
33854           nuttall
33855           lanczos
33856           gauss
33857           tukey
33858           dolph
33859           cauchy
33860           parzen
33861           poisson
33862           bohman
33863
33864           Default value is "hann".
33865
33866       orientation
33867           Set orientation of time vs frequency axis. Can be "vertical" or
33868           "horizontal". Default is "vertical".
33869
33870       gain
33871           Set scale gain for calculating intensity color values.  Default
33872           value is 1.
33873
33874       legend
33875           Draw time and frequency axes and legends. Default is enabled.
33876
33877       rotation
33878           Set color rotation, must be in [-1.0, 1.0] range.  Default value is
33879           0.
33880
33881       start
33882           Set start frequency from which to display spectrogram. Default is
33883           0.
33884
33885       stop
33886           Set stop frequency to which to display spectrogram. Default is 0.
33887
33888       drange
33889           Set dynamic range used to calculate intensity color values. Default
33890           is 120 dBFS.  Allowed range is from 10 to 200.
33891
33892       limit
33893           Set upper limit of input audio samples volume in dBFS. Default is 0
33894           dBFS.  Allowed range is from -100 to 100.
33895
33896       Examples
33897
33898       •   Extract an audio spectrogram of a whole audio track in a 1024x1024
33899           picture using ffmpeg:
33900
33901                   ffmpeg -i audio.flac -lavfi showspectrumpic=s=1024x1024 spectrogram.png
33902
33903   showvolume
33904       Convert input audio volume to a video output.
33905
33906       The filter accepts the following options:
33907
33908       rate, r
33909           Set video rate.
33910
33911       b   Set border width, allowed range is [0, 5]. Default is 1.
33912
33913       w   Set channel width, allowed range is [80, 8192]. Default is 400.
33914
33915       h   Set channel height, allowed range is [1, 900]. Default is 20.
33916
33917       f   Set fade, allowed range is [0, 1]. Default is 0.95.
33918
33919       c   Set volume color expression.
33920
33921           The expression can use the following variables:
33922
33923           VOLUME
33924               Current max volume of channel in dB.
33925
33926           PEAK
33927               Current peak.
33928
33929           CHANNEL
33930               Current channel number, starting from 0.
33931
33932       t   If set, displays channel names. Default is enabled.
33933
33934       v   If set, displays volume values. Default is enabled.
33935
33936       o   Set orientation, can be horizontal: "h" or vertical: "v", default
33937           is "h".
33938
33939       s   Set step size, allowed range is [0, 5]. Default is 0, which means
33940           step is disabled.
33941
33942       p   Set background opacity, allowed range is [0, 1]. Default is 0.
33943
33944       m   Set metering mode, can be peak: "p" or rms: "r", default is "p".
33945
33946       ds  Set display scale, can be linear: "lin" or log: "log", default is
33947           "lin".
33948
33949       dm  In second.  If set to > 0., display a line for the max level in the
33950           previous seconds.  default is disabled: 0.
33951
33952       dmc The color of the max line. Use when "dm" option is set to > 0.
33953           default is: "orange"
33954
33955   showwaves
33956       Convert input audio to a video output, representing the samples waves.
33957
33958       The filter accepts the following options:
33959
33960       size, s
33961           Specify the video size for the output. For the syntax of this
33962           option, check the "Video size" section in the ffmpeg-utils manual.
33963           Default value is "600x240".
33964
33965       mode
33966           Set display mode.
33967
33968           Available values are:
33969
33970           point
33971               Draw a point for each sample.
33972
33973           line
33974               Draw a vertical line for each sample.
33975
33976           p2p Draw a point for each sample and a line between them.
33977
33978           cline
33979               Draw a centered vertical line for each sample.
33980
33981           Default value is "point".
33982
33983       n   Set the number of samples which are printed on the same column. A
33984           larger value will decrease the frame rate. Must be a positive
33985           integer. This option can be set only if the value for rate is not
33986           explicitly specified.
33987
33988       rate, r
33989           Set the (approximate) output frame rate. This is done by setting
33990           the option n. Default value is "25".
33991
33992       split_channels
33993           Set if channels should be drawn separately or overlap. Default
33994           value is 0.
33995
33996       colors
33997           Set colors separated by '|' which are going to be used for drawing
33998           of each channel.
33999
34000       scale
34001           Set amplitude scale.
34002
34003           Available values are:
34004
34005           lin Linear.
34006
34007           log Logarithmic.
34008
34009           sqrt
34010               Square root.
34011
34012           cbrt
34013               Cubic root.
34014
34015           Default is linear.
34016
34017       draw
34018           Set the draw mode. This is mostly useful to set for high n.
34019
34020           Available values are:
34021
34022           scale
34023               Scale pixel values for each drawn sample.
34024
34025           full
34026               Draw every sample directly.
34027
34028           Default value is "scale".
34029
34030       Examples
34031
34032       •   Output the input file audio and the corresponding video
34033           representation at the same time:
34034
34035                   amovie=a.mp3,asplit[out0],showwaves[out1]
34036
34037       •   Create a synthetic signal and show it with showwaves, forcing a
34038           frame rate of 30 frames per second:
34039
34040                   aevalsrc=sin(1*2*PI*t)*sin(880*2*PI*t):cos(2*PI*200*t),asplit[out0],showwaves=r=30[out1]
34041
34042   showwavespic
34043       Convert input audio to a single video frame, representing the samples
34044       waves.
34045
34046       The filter accepts the following options:
34047
34048       size, s
34049           Specify the video size for the output. For the syntax of this
34050           option, check the "Video size" section in the ffmpeg-utils manual.
34051           Default value is "600x240".
34052
34053       split_channels
34054           Set if channels should be drawn separately or overlap. Default
34055           value is 0.
34056
34057       colors
34058           Set colors separated by '|' which are going to be used for drawing
34059           of each channel.
34060
34061       scale
34062           Set amplitude scale.
34063
34064           Available values are:
34065
34066           lin Linear.
34067
34068           log Logarithmic.
34069
34070           sqrt
34071               Square root.
34072
34073           cbrt
34074               Cubic root.
34075
34076           Default is linear.
34077
34078       draw
34079           Set the draw mode.
34080
34081           Available values are:
34082
34083           scale
34084               Scale pixel values for each drawn sample.
34085
34086           full
34087               Draw every sample directly.
34088
34089           Default value is "scale".
34090
34091       filter
34092           Set the filter mode.
34093
34094           Available values are:
34095
34096           average
34097               Use average samples values for each drawn sample.
34098
34099           peak
34100               Use peak samples values for each drawn sample.
34101
34102           Default value is "average".
34103
34104       Examples
34105
34106       •   Extract a channel split representation of the wave form of a whole
34107           audio track in a 1024x800 picture using ffmpeg:
34108
34109                   ffmpeg -i audio.flac -lavfi showwavespic=split_channels=1:s=1024x800 waveform.png
34110
34111   sidedata, asidedata
34112       Delete frame side data, or select frames based on it.
34113
34114       This filter accepts the following options:
34115
34116       mode
34117           Set mode of operation of the filter.
34118
34119           Can be one of the following:
34120
34121           select
34122               Select every frame with side data of "type".
34123
34124           delete
34125               Delete side data of "type". If "type" is not set, delete all
34126               side data in the frame.
34127
34128       type
34129           Set side data type used with all modes. Must be set for "select"
34130           mode. For the list of frame side data types, refer to the
34131           "AVFrameSideDataType" enum in libavutil/frame.h. For example, to
34132           choose "AV_FRAME_DATA_PANSCAN" side data, you must specify
34133           "PANSCAN".
34134
34135   spectrumsynth
34136       Synthesize audio from 2 input video spectrums, first input stream
34137       represents magnitude across time and second represents phase across
34138       time.  The filter will transform from frequency domain as displayed in
34139       videos back to time domain as presented in audio output.
34140
34141       This filter is primarily created for reversing processed showspectrum
34142       filter outputs, but can synthesize sound from other spectrograms too.
34143       But in such case results are going to be poor if the phase data is not
34144       available, because in such cases phase data need to be recreated,
34145       usually it's just recreated from random noise.  For best results use
34146       gray only output ("channel" color mode in showspectrum filter) and
34147       "log" scale for magnitude video and "lin" scale for phase video. To
34148       produce phase, for 2nd video, use "data" option. Inputs videos should
34149       generally use "fullframe" slide mode as that saves resources needed for
34150       decoding video.
34151
34152       The filter accepts the following options:
34153
34154       sample_rate
34155           Specify sample rate of output audio, the sample rate of audio from
34156           which spectrum was generated may differ.
34157
34158       channels
34159           Set number of channels represented in input video spectrums.
34160
34161       scale
34162           Set scale which was used when generating magnitude input spectrum.
34163           Can be "lin" or "log". Default is "log".
34164
34165       slide
34166           Set slide which was used when generating inputs spectrums.  Can be
34167           "replace", "scroll", "fullframe" or "rscroll".  Default is
34168           "fullframe".
34169
34170       win_func
34171           Set window function used for resynthesis.
34172
34173       overlap
34174           Set window overlap. In range "[0, 1]". Default is 1, which means
34175           optimal overlap for selected window function will be picked.
34176
34177       orientation
34178           Set orientation of input videos. Can be "vertical" or "horizontal".
34179           Default is "vertical".
34180
34181       Examples
34182
34183       •   First create magnitude and phase videos from audio, assuming audio
34184           is stereo with 44100 sample rate, then resynthesize videos back to
34185           audio with spectrumsynth:
34186
34187                   ffmpeg -i input.flac -lavfi showspectrum=mode=separate:scale=log:overlap=0.875:color=channel:slide=fullframe:data=magnitude -an -c:v rawvideo magnitude.nut
34188                   ffmpeg -i input.flac -lavfi showspectrum=mode=separate:scale=lin:overlap=0.875:color=channel:slide=fullframe:data=phase -an -c:v rawvideo phase.nut
34189                   ffmpeg -i magnitude.nut -i phase.nut -lavfi spectrumsynth=channels=2:sample_rate=44100:win_func=hann:overlap=0.875:slide=fullframe output.flac
34190
34191   split, asplit
34192       Split input into several identical outputs.
34193
34194       "asplit" works with audio input, "split" with video.
34195
34196       The filter accepts a single parameter which specifies the number of
34197       outputs. If unspecified, it defaults to 2.
34198
34199       Examples
34200
34201       •   Create two separate outputs from the same input:
34202
34203                   [in] split [out0][out1]
34204
34205       •   To create 3 or more outputs, you need to specify the number of
34206           outputs, like in:
34207
34208                   [in] asplit=3 [out0][out1][out2]
34209
34210       •   Create two separate outputs from the same input, one cropped and
34211           one padded:
34212
34213                   [in] split [splitout1][splitout2];
34214                   [splitout1] crop=100:100:0:0    [cropout];
34215                   [splitout2] pad=200:200:100:100 [padout];
34216
34217       •   Create 5 copies of the input audio with ffmpeg:
34218
34219                   ffmpeg -i INPUT -filter_complex asplit=5 OUTPUT
34220
34221   zmq, azmq
34222       Receive commands sent through a libzmq client, and forward them to
34223       filters in the filtergraph.
34224
34225       "zmq" and "azmq" work as a pass-through filters. "zmq" must be inserted
34226       between two video filters, "azmq" between two audio filters. Both are
34227       capable to send messages to any filter type.
34228
34229       To enable these filters you need to install the libzmq library and
34230       headers and configure FFmpeg with "--enable-libzmq".
34231
34232       For more information about libzmq see: <http://www.zeromq.org/>
34233
34234       The "zmq" and "azmq" filters work as a libzmq server, which receives
34235       messages sent through a network interface defined by the bind_address
34236       (or the abbreviation "b") option.  Default value of this option is
34237       tcp://localhost:5555. You may want to alter this value to your needs,
34238       but do not forget to escape any ':' signs (see filtergraph escaping).
34239
34240       The received message must be in the form:
34241
34242               <TARGET> <COMMAND> [<ARG>]
34243
34244       TARGET specifies the target of the command, usually the name of the
34245       filter class or a specific filter instance name. The default filter
34246       instance name uses the pattern Parsed_<filter_name>_<index>, but you
34247       can override this by using the filter_name@id syntax (see Filtergraph
34248       syntax).
34249
34250       COMMAND specifies the name of the command for the target filter.
34251
34252       ARG is optional and specifies the optional argument list for the given
34253       COMMAND.
34254
34255       Upon reception, the message is processed and the corresponding command
34256       is injected into the filtergraph. Depending on the result, the filter
34257       will send a reply to the client, adopting the format:
34258
34259               <ERROR_CODE> <ERROR_REASON>
34260               <MESSAGE>
34261
34262       MESSAGE is optional.
34263
34264       Examples
34265
34266       Look at tools/zmqsend for an example of a zmq client which can be used
34267       to send commands processed by these filters.
34268
34269       Consider the following filtergraph generated by ffplay.  In this
34270       example the last overlay filter has an instance name. All other filters
34271       will have default instance names.
34272
34273               ffplay -dumpgraph 1 -f lavfi "
34274               color=s=100x100:c=red  [l];
34275               color=s=100x100:c=blue [r];
34276               nullsrc=s=200x100, zmq [bg];
34277               [bg][l]   overlay     [bg+l];
34278               [bg+l][r] overlay@my=x=100 "
34279
34280       To change the color of the left side of the video, the following
34281       command can be used:
34282
34283               echo Parsed_color_0 c yellow | tools/zmqsend
34284
34285       To change the right side:
34286
34287               echo Parsed_color_1 c pink | tools/zmqsend
34288
34289       To change the position of the right side:
34290
34291               echo overlay@my x 150 | tools/zmqsend
34292

MULTIMEDIA SOURCES

34294       Below is a description of the currently available multimedia sources.
34295
34296   amovie
34297       This is the same as movie source, except it selects an audio stream by
34298       default.
34299
34300   movie
34301       Read audio and/or video stream(s) from a movie container.
34302
34303       It accepts the following parameters:
34304
34305       filename
34306           The name of the resource to read (not necessarily a file; it can
34307           also be a device or a stream accessed through some protocol).
34308
34309       format_name, f
34310           Specifies the format assumed for the movie to read, and can be
34311           either the name of a container or an input device. If not
34312           specified, the format is guessed from movie_name or by probing.
34313
34314       seek_point, sp
34315           Specifies the seek point in seconds. The frames will be output
34316           starting from this seek point. The parameter is evaluated with
34317           "av_strtod", so the numerical value may be suffixed by an IS
34318           postfix. The default value is "0".
34319
34320       streams, s
34321           Specifies the streams to read. Several streams can be specified,
34322           separated by "+". The source will then have as many outputs, in the
34323           same order. The syntax is explained in the "Stream specifiers"
34324           section in the ffmpeg manual. Two special names, "dv" and "da"
34325           specify respectively the default (best suited) video and audio
34326           stream. Default is "dv", or "da" if the filter is called as
34327           "amovie".
34328
34329       stream_index, si
34330           Specifies the index of the video stream to read. If the value is
34331           -1, the most suitable video stream will be automatically selected.
34332           The default value is "-1". Deprecated. If the filter is called
34333           "amovie", it will select audio instead of video.
34334
34335       loop
34336           Specifies how many times to read the stream in sequence.  If the
34337           value is 0, the stream will be looped infinitely.  Default value is
34338           "1".
34339
34340           Note that when the movie is looped the source timestamps are not
34341           changed, so it will generate non monotonically increasing
34342           timestamps.
34343
34344       discontinuity
34345           Specifies the time difference between frames above which the point
34346           is considered a timestamp discontinuity which is removed by
34347           adjusting the later timestamps.
34348
34349       dec_threads
34350           Specifies the number of threads for decoding
34351
34352       format_opts
34353           Specify format options for the opened file. Format options can be
34354           specified as a list of key=value pairs separated by ':'. The
34355           following example shows how to add protocol_whitelist and
34356           protocol_blacklist options:
34357
34358                   ffplay -f lavfi
34359                   "movie=filename='1.sdp':format_opts='protocol_whitelist=file,rtp,udp\:protocol_blacklist=http'"
34360
34361       It allows overlaying a second video on top of the main input of a
34362       filtergraph, as shown in this graph:
34363
34364               input -----------> deltapts0 --> overlay --> output
34365                                                   ^
34366                                                   |
34367               movie --> scale--> deltapts1 -------+
34368
34369       Examples
34370
34371       •   Skip 3.2 seconds from the start of the AVI file in.avi, and overlay
34372           it on top of the input labelled "in":
34373
34374                   movie=in.avi:seek_point=3.2, scale=180:-1, setpts=PTS-STARTPTS [over];
34375                   [in] setpts=PTS-STARTPTS [main];
34376                   [main][over] overlay=16:16 [out]
34377
34378       •   Read from a video4linux2 device, and overlay it on top of the input
34379           labelled "in":
34380
34381                   movie=/dev/video0:f=video4linux2, scale=180:-1, setpts=PTS-STARTPTS [over];
34382                   [in] setpts=PTS-STARTPTS [main];
34383                   [main][over] overlay=16:16 [out]
34384
34385       •   Read the first video stream and the audio stream with id 0x81 from
34386           dvd.vob; the video is connected to the pad named "video" and the
34387           audio is connected to the pad named "audio":
34388
34389                   movie=dvd.vob:s=v:0+#0x81 [video] [audio]
34390
34391       Commands
34392
34393       Both movie and amovie support the following commands:
34394
34395       seek
34396           Perform seek using "av_seek_frame".  The syntax is: seek
34397           stream_index|timestamp|flags
34398
34399           •   stream_index: If stream_index is -1, a default stream is
34400               selected, and timestamp is automatically converted from
34401               AV_TIME_BASE units to the stream specific time_base.
34402
34403           •   timestamp: Timestamp in AVStream.time_base units or, if no
34404               stream is specified, in AV_TIME_BASE units.
34405
34406           •   flags: Flags which select direction and seeking mode.
34407
34408       get_duration
34409           Get movie duration in AV_TIME_BASE units.
34410

EXTERNAL LIBRARIES

34412       FFmpeg can be hooked up with a number of external libraries to add
34413       support for more formats. None of them are used by default, their use
34414       has to be explicitly requested by passing the appropriate flags to
34415       ./configure.
34416
34417   Alliance for Open Media (AOM)
34418       FFmpeg can make use of the AOM library for AV1 decoding and encoding.
34419
34420       Go to <http://aomedia.org/> and follow the instructions for installing
34421       the library. Then pass "--enable-libaom" to configure to enable it.
34422
34423   AMD AMF/VCE
34424       FFmpeg can use the AMD Advanced Media Framework library for accelerated
34425       H.264 and HEVC(only windows) encoding on hardware with Video Coding
34426       Engine (VCE).
34427
34428       To enable support you must obtain the AMF framework header
34429       files(version 1.4.9+) from
34430       <https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git>.
34431
34432       Create an "AMF/" directory in the system include path.  Copy the
34433       contents of "AMF/amf/public/include/" into that directory.  Then
34434       configure FFmpeg with "--enable-amf".
34435
34436       Initialization of amf encoder occurs in this order: 1) trying to
34437       initialize through dx11(only windows) 2) trying to initialize through
34438       dx9(only windows) 3) trying to initialize through vulkan
34439
34440       To use h.264(AMD VCE) encoder on linux amdgru-pro version 19.20+ and
34441       amf-amdgpu-pro package(amdgru-pro contains, but does not install
34442       automatically) are required.
34443
34444       This driver can be installed using amdgpu-pro-install script in
34445       official amd driver archive.
34446
34447   AviSynth
34448       FFmpeg can read AviSynth scripts as input. To enable support, pass
34449       "--enable-avisynth" to configure after installing the headers provided
34450       by <https://github.com/AviSynth/AviSynthPlus>.  AviSynth+ can be
34451       configured to install only the headers by either passing
34452       "-DHEADERS_ONLY:bool=on" to the normal CMake-based build system, or by
34453       using the supplied "GNUmakefile".
34454
34455       For Windows, supported AviSynth variants are <http://avisynth.nl> for
34456       32-bit builds and <http://avisynth.nl/index.php/AviSynth+> for 32-bit
34457       and 64-bit builds.
34458
34459       For Linux, macOS, and BSD, the only supported AviSynth variant is
34460       <https://github.com/AviSynth/AviSynthPlus>, starting with version 3.5.
34461
34462           In 2016, AviSynth+ added support for building with GCC. However,
34463           due to the eccentricities of Windows' calling conventions, 32-bit
34464           GCC builds of AviSynth+ are not compatible with typical 32-bit
34465           builds of FFmpeg.
34466
34467           By default, FFmpeg assumes compatibility with 32-bit MSVC builds of
34468           AviSynth+ since that is the most widely-used and entrenched build
34469           configuration.  Users can override this and enable support for
34470           32-bit GCC builds of AviSynth+ by passing "-DAVSC_WIN32_GCC32" to
34471           "--extra-cflags" when configuring FFmpeg.
34472
34473           64-bit builds of FFmpeg are not affected, and can use either MSVC
34474           or GCC builds of AviSynth+ without any special flags.
34475
34476           AviSynth(+) is loaded dynamically.  Distributors can build FFmpeg
34477           with "--enable-avisynth", and the binaries will work regardless of
34478           the end user having AviSynth installed.  If/when an end user would
34479           like to use AviSynth scripts, then they can install AviSynth(+) and
34480           FFmpeg will be able to find and use it to open scripts.
34481
34482   Chromaprint
34483       FFmpeg can make use of the Chromaprint library for generating audio
34484       fingerprints.  Pass "--enable-chromaprint" to configure to enable it.
34485       See <https://acoustid.org/chromaprint>.
34486
34487   codec2
34488       FFmpeg can make use of the codec2 library for codec2 decoding and
34489       encoding.  There is currently no native decoder, so libcodec2 must be
34490       used for decoding.
34491
34492       Go to <http://freedv.org/>, download "Codec 2 source archive".  Build
34493       and install using CMake. Debian users can install the libcodec2-dev
34494       package instead.  Once libcodec2 is installed you can pass
34495       "--enable-libcodec2" to configure to enable it.
34496
34497       The easiest way to use codec2 is with .c2 files, since they contain the
34498       mode information required for decoding.  To encode such a file, use a
34499       .c2 file extension and give the libcodec2 encoder the -mode option:
34500       "ffmpeg -i input.wav -mode 700C output.c2".  Playback is as simple as
34501       "ffplay output.c2".  For a list of supported modes, run "ffmpeg -h
34502       encoder=libcodec2".  Raw codec2 files are also supported.  To make
34503       sense of them the mode in use needs to be specified as a format option:
34504       "ffmpeg -f codec2raw -mode 1300 -i input.raw output.wav".
34505
34506   dav1d
34507       FFmpeg can make use of the dav1d library for AV1 video decoding.
34508
34509       Go to <https://code.videolan.org/videolan/dav1d> and follow the
34510       instructions for installing the library. Then pass "--enable-libdav1d"
34511       to configure to enable it.
34512
34513   davs2
34514       FFmpeg can make use of the davs2 library for AVS2-P2/IEEE1857.4 video
34515       decoding.
34516
34517       Go to <https://github.com/pkuvcl/davs2> and follow the instructions for
34518       installing the library. Then pass "--enable-libdavs2" to configure to
34519       enable it.
34520
34521           libdavs2 is under the GNU Public License Version 2 or later (see
34522           <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html> for
34523           details), you must upgrade FFmpeg's license to GPL in order to use
34524           it.
34525
34526   uavs3d
34527       FFmpeg can make use of the uavs3d library for AVS3-P2/IEEE1857.10 video
34528       decoding.
34529
34530       Go to <https://github.com/uavs3/uavs3d> and follow the instructions for
34531       installing the library. Then pass "--enable-libuavs3d" to configure to
34532       enable it.
34533
34534   Game Music Emu
34535       FFmpeg can make use of the Game Music Emu library to read audio from
34536       supported video game music file formats. Pass "--enable-libgme" to
34537       configure to enable it. See
34538       <https://bitbucket.org/mpyne/game-music-emu/overview>.
34539
34540   Intel QuickSync Video
34541       FFmpeg can use Intel QuickSync Video (QSV) for accelerated decoding and
34542       encoding of multiple codecs. To use QSV, FFmpeg must be linked against
34543       the "libmfx" dispatcher, which loads the actual decoding libraries.
34544
34545       The dispatcher is open source and can be downloaded from
34546       <https://github.com/lu-zero/mfx_dispatch.git>. FFmpeg needs to be
34547       configured with the "--enable-libmfx" option and "pkg-config" needs to
34548       be able to locate the dispatcher's ".pc" files.
34549
34550   Kvazaar
34551       FFmpeg can make use of the Kvazaar library for HEVC encoding.
34552
34553       Go to <https://github.com/ultravideo/kvazaar> and follow the
34554       instructions for installing the library. Then pass
34555       "--enable-libkvazaar" to configure to enable it.
34556
34557   LAME
34558       FFmpeg can make use of the LAME library for MP3 encoding.
34559
34560       Go to <http://lame.sourceforge.net/> and follow the instructions for
34561       installing the library.  Then pass "--enable-libmp3lame" to configure
34562       to enable it.
34563
34564   libilbc
34565       iLBC is a narrowband speech codec that has been made freely available
34566       by Google as part of the WebRTC project. libilbc is a packaging
34567       friendly copy of the iLBC codec. FFmpeg can make use of the libilbc
34568       library for iLBC decoding and encoding.
34569
34570       Go to <https://github.com/TimothyGu/libilbc> and follow the
34571       instructions for installing the library. Then pass "--enable-libilbc"
34572       to configure to enable it.
34573
34574   libvpx
34575       FFmpeg can make use of the libvpx library for VP8/VP9 decoding and
34576       encoding.
34577
34578       Go to <http://www.webmproject.org/> and follow the instructions for
34579       installing the library. Then pass "--enable-libvpx" to configure to
34580       enable it.
34581
34582   ModPlug
34583       FFmpeg can make use of this library, originating in Modplug-XMMS, to
34584       read from MOD-like music files.  See
34585       <https://github.com/Konstanty/libmodplug>. Pass "--enable-libmodplug"
34586       to configure to enable it.
34587
34588   OpenCORE, VisualOn, and Fraunhofer libraries
34589       Spun off Google Android sources, OpenCore, VisualOn and Fraunhofer
34590       libraries provide encoders for a number of audio codecs.
34591
34592           OpenCORE and VisualOn libraries are under the Apache License 2.0
34593           (see <http://www.apache.org/licenses/LICENSE-2.0> for details),
34594           which is incompatible to the LGPL version 2.1 and GPL version 2.
34595           You have to upgrade FFmpeg's license to LGPL version 3 (or if you
34596           have enabled GPL components, GPL version 3) by passing
34597           "--enable-version3" to configure in order to use it.
34598
34599           The license of the Fraunhofer AAC library is incompatible with the
34600           GPL.  Therefore, for GPL builds, you have to pass
34601           "--enable-nonfree" to configure in order to use it. To the best of
34602           our knowledge, it is compatible with the LGPL.
34603
34604       OpenCORE AMR
34605
34606       FFmpeg can make use of the OpenCORE libraries for AMR-NB
34607       decoding/encoding and AMR-WB decoding.
34608
34609       Go to <http://sourceforge.net/projects/opencore-amr/> and follow the
34610       instructions for installing the libraries.  Then pass
34611       "--enable-libopencore-amrnb" and/or "--enable-libopencore-amrwb" to
34612       configure to enable them.
34613
34614       VisualOn AMR-WB encoder library
34615
34616       FFmpeg can make use of the VisualOn AMR-WBenc library for AMR-WB
34617       encoding.
34618
34619       Go to <http://sourceforge.net/projects/opencore-amr/> and follow the
34620       instructions for installing the library.  Then pass
34621       "--enable-libvo-amrwbenc" to configure to enable it.
34622
34623       Fraunhofer AAC library
34624
34625       FFmpeg can make use of the Fraunhofer AAC library for AAC decoding &
34626       encoding.
34627
34628       Go to <http://sourceforge.net/projects/opencore-amr/> and follow the
34629       instructions for installing the library.  Then pass
34630       "--enable-libfdk-aac" to configure to enable it.
34631
34632   OpenH264
34633       FFmpeg can make use of the OpenH264 library for H.264 decoding and
34634       encoding.
34635
34636       Go to <http://www.openh264.org/> and follow the instructions for
34637       installing the library. Then pass "--enable-libopenh264" to configure
34638       to enable it.
34639
34640       For decoding, this library is much more limited than the built-in
34641       decoder in libavcodec; currently, this library lacks support for
34642       decoding B-frames and some other main/high profile features. (It
34643       currently only supports constrained baseline profile and CABAC.) Using
34644       it is mostly useful for testing and for taking advantage of Cisco's
34645       patent portfolio license
34646       (<http://www.openh264.org/BINARY_LICENSE.txt>).
34647
34648   OpenJPEG
34649       FFmpeg can use the OpenJPEG libraries for decoding/encoding J2K videos.
34650       Go to <http://www.openjpeg.org/> to get the libraries and follow the
34651       installation instructions.  To enable using OpenJPEG in FFmpeg, pass
34652       "--enable-libopenjpeg" to ./configure.
34653
34654   rav1e
34655       FFmpeg can make use of rav1e (Rust AV1 Encoder) via its C bindings to
34656       encode videos.  Go to <https://github.com/xiph/rav1e/> and follow the
34657       instructions to build the C library. To enable using rav1e in FFmpeg,
34658       pass "--enable-librav1e" to ./configure.
34659
34660   SVT-AV1
34661       FFmpeg can make use of the Scalable Video Technology for AV1 library
34662       for AV1 encoding.
34663
34664       Go to <https://gitlab.com/AOMediaCodec/SVT-AV1/> and follow the
34665       instructions for installing the library. Then pass "--enable-libsvtav1"
34666       to configure to enable it.
34667
34668   TwoLAME
34669       FFmpeg can make use of the TwoLAME library for MP2 encoding.
34670
34671       Go to <http://www.twolame.org/> and follow the instructions for
34672       installing the library.  Then pass "--enable-libtwolame" to configure
34673       to enable it.
34674
34675   VapourSynth
34676       FFmpeg can read VapourSynth scripts as input. To enable support, pass
34677       "--enable-vapoursynth" to configure. Vapoursynth is detected via
34678       "pkg-config". Versions 42 or greater supported.  See
34679       <http://www.vapoursynth.com/>.
34680
34681       Due to security concerns, Vapoursynth scripts will not be autodetected
34682       so the input format has to be forced. For ff* CLI tools, add "-f
34683       vapoursynth" before the input "-i yourscript.vpy".
34684
34685   x264
34686       FFmpeg can make use of the x264 library for H.264 encoding.
34687
34688       Go to <http://www.videolan.org/developers/x264.html> and follow the
34689       instructions for installing the library. Then pass "--enable-libx264"
34690       to configure to enable it.
34691
34692           x264 is under the GNU Public License Version 2 or later (see
34693           <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html> for
34694           details), you must upgrade FFmpeg's license to GPL in order to use
34695           it.
34696
34697   x265
34698       FFmpeg can make use of the x265 library for HEVC encoding.
34699
34700       Go to <http://x265.org/developers.html> and follow the instructions for
34701       installing the library. Then pass "--enable-libx265" to configure to
34702       enable it.
34703
34704           x265 is under the GNU Public License Version 2 or later (see
34705           <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html> for
34706           details), you must upgrade FFmpeg's license to GPL in order to use
34707           it.
34708
34709   xavs
34710       FFmpeg can make use of the xavs library for AVS encoding.
34711
34712       Go to <http://xavs.sf.net/> and follow the instructions for installing
34713       the library. Then pass "--enable-libxavs" to configure to enable it.
34714
34715   xavs2
34716       FFmpeg can make use of the xavs2 library for AVS2-P2/IEEE1857.4 video
34717       encoding.
34718
34719       Go to <https://github.com/pkuvcl/xavs2> and follow the instructions for
34720       installing the library. Then pass "--enable-libxavs2" to configure to
34721       enable it.
34722
34723           libxavs2 is under the GNU Public License Version 2 or later (see
34724           <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html> for
34725           details), you must upgrade FFmpeg's license to GPL in order to use
34726           it.
34727
34728   ZVBI
34729       ZVBI is a VBI decoding library which can be used by FFmpeg to decode
34730       DVB teletext pages and DVB teletext subtitles.
34731
34732       Go to <http://sourceforge.net/projects/zapping/> and follow the
34733       instructions for installing the library. Then pass "--enable-libzvbi"
34734       to configure to enable it.
34735

SUPPORTED FILE FORMATS

34737       You can use the "-formats" and "-codecs" options to have an exhaustive
34738       list.
34739
34740   File Formats
34741       FFmpeg supports the following file formats through the "libavformat"
34742       library:
34743
34744       Name  :  Encoding @tab Decoding @tab Comments
34745       3dostr                     :    @tab X
34746       4xm                        :    @tab X
34747               @tab 4X Technologies format, used in some games.
34748
34749       8088flex TMV               :    @tab X
34750       AAX                        :    @tab X
34751               @tab Audible Enhanced Audio format, used in audiobooks.
34752
34753       AA                         :    @tab X
34754               @tab Audible Format 2, 3, and 4, used in audiobooks.
34755
34756       ACT Voice                  :    @tab X
34757               @tab contains G.729 audio
34758
34759       Adobe Filmstrip            :  X @tab X
34760       Audio IFF (AIFF)           :  X @tab X
34761       American Laser Games MM    :    @tab X
34762               @tab Multimedia format used in games like Mad Dog McCree.
34763
34764       3GPP AMR                   :  X @tab X
34765       Amazing Studio Packed Animation File   :    @tab X
34766               @tab Multimedia format used in game Heart Of Darkness.
34767
34768       Apple HTTP Live Streaming  :    @tab X
34769       Artworx Data Format        :    @tab X
34770       Interplay ACM              :    @tab X
34771               @tab Audio only format used in some Interplay games.
34772
34773       ADP                        :    @tab X
34774               @tab Audio format used on the Nintendo Gamecube.
34775
34776       AFC                        :    @tab X
34777               @tab Audio format used on the Nintendo Gamecube.
34778
34779       ADS/SS2                    :    @tab X
34780               @tab Audio format used on the PS2.
34781
34782       APNG                       :  X @tab X
34783       ASF                        :  X @tab X
34784               @tab Advanced / Active Streaming Format.
34785
34786       AST                        :  X @tab X
34787               @tab Audio format used on the Nintendo Wii.
34788
34789       AVI                        :  X @tab X
34790       AviSynth                   :    @tab X
34791       AVR                        :    @tab X
34792               @tab Audio format used on Mac.
34793
34794       AVS                        :    @tab X
34795               @tab Multimedia format used by the Creature Shock game.
34796
34797       Beam Software SIFF         :    @tab X
34798               @tab Audio and video format used in some games by Beam Software.
34799
34800       Bethesda Softworks VID     :    @tab X
34801               @tab Used in some games from Bethesda Softworks.
34802
34803       Binary text                :    @tab X
34804       Bink                       :    @tab X
34805               @tab Multimedia format used by many games.
34806
34807       Bink Audio                 :    @tab X
34808               @tab Audio only multimedia format used by some games.
34809
34810       Bitmap Brothers JV         :    @tab X
34811               @tab Used in Z and Z95 games.
34812
34813       BRP                        :    @tab X
34814               @tab Argonaut Games format.
34815
34816       Brute Force & Ignorance    :    @tab X
34817               @tab Used in the game Flash Traffic: City of Angels.
34818
34819       BFSTM                      :    @tab X
34820               @tab Audio format used on the Nintendo WiiU (based on BRSTM).
34821
34822       BRSTM                      :    @tab X
34823               @tab Audio format used on the Nintendo Wii.
34824
34825       BW64                       :    @tab X
34826               @tab Broadcast Wave 64bit.
34827
34828       BWF                        :  X @tab X
34829       codec2 (raw)               :  X @tab X
34830               @tab Must be given -mode format option to decode correctly.
34831
34832       codec2 (.c2 files)         :  X @tab X
34833               @tab Contains header with version and mode info, simplifying playback.
34834
34835       CRI ADX                    :  X @tab X
34836               @tab Audio-only format used in console video games.
34837
34838       CRI AIX                    :    @tab X
34839       CRI HCA                    :    @tab X
34840               @tab Audio-only format used in console video games.
34841
34842       Discworld II BMV           :    @tab X
34843       Interplay C93              :    @tab X
34844               @tab Used in the game Cyberia from Interplay.
34845
34846       Delphine Software International CIN  :    @tab X
34847               @tab Multimedia format used by Delphine Software games.
34848
34849       Digital Speech Standard (DSS)  :    @tab X
34850       CD+G                       :    @tab X
34851               @tab Video format used by CD+G karaoke disks
34852
34853       Phantom Cine               :    @tab X
34854       Commodore CDXL             :    @tab X
34855               @tab Amiga CD video format
34856
34857       Core Audio Format          :  X @tab X
34858               @tab Apple Core Audio Format
34859
34860       CRC testing format         :  X @tab
34861       Creative Voice             :  X @tab X
34862               @tab Created for the Sound Blaster Pro.
34863
34864       CRYO APC                   :    @tab X
34865               @tab Audio format used in some games by CRYO Interactive Entertainment.
34866
34867       D-Cinema audio             :  X @tab X
34868       Deluxe Paint Animation     :    @tab X
34869       DCSTR                      :    @tab X
34870       DFA                        :    @tab X
34871               @tab This format is used in Chronomaster game
34872
34873       DirectDraw Surface         :    @tab X
34874       DSD Stream File (DSF)      :    @tab X
34875       DV video                   :  X @tab X
34876       DXA                        :    @tab X
34877               @tab This format is used in the non-Windows version of the Feeble Files
34878                    game and different game cutscenes repacked for use with ScummVM.
34879
34880       Electronic Arts cdata   :     @tab X
34881       Electronic Arts Multimedia   :     @tab X
34882               @tab Used in various EA games; files have extensions like WVE and UV2.
34883
34884       Ensoniq Paris Audio File   :    @tab X
34885       FFM (FFserver live feed)   :  X @tab X
34886       Flash (SWF)                :  X @tab X
34887       Flash 9 (AVM2)             :  X @tab X
34888               @tab Only embedded audio is decoded.
34889
34890       FLI/FLC/FLX animation      :    @tab X
34891               @tab .fli/.flc files
34892
34893       Flash Video (FLV)          :  X @tab X
34894               @tab Macromedia Flash video files
34895
34896       framecrc testing format    :  X @tab
34897       FunCom ISS                 :    @tab X
34898               @tab Audio format used in various games from FunCom like The Longest Journey.
34899
34900       G.723.1                    :  X @tab X
34901       G.726                      :    @tab X @tab Both left- and right-
34902       justified.
34903       G.729 BIT                  :  X @tab X
34904       G.729 raw                  :    @tab X
34905       GENH                       :    @tab X
34906               @tab Audio format for various games.
34907
34908       GIF Animation              :  X @tab X
34909       GXF                        :  X @tab X
34910               @tab General eXchange Format SMPTE 360M, used by Thomson Grass Valley
34911                    playout servers.
34912
34913       HNM  :    @tab X
34914               @tab Only version 4 supported, used in some games from Cryo Interactive
34915
34916       iCEDraw File               :    @tab X
34917       ICO                        :  X @tab X
34918               @tab Microsoft Windows ICO
34919
34920       id Quake II CIN video      :    @tab X
34921       id RoQ                     :  X @tab X
34922               @tab Used in Quake III, Jedi Knight 2 and other computer games.
34923
34924       IEC61937 encapsulation  :  X @tab X
34925       IFF                        :    @tab X
34926               @tab Interchange File Format
34927
34928       IFV                        :    @tab X
34929               @tab A format used by some old CCTV DVRs.
34930
34931       iLBC                       :  X @tab X
34932       Interplay MVE              :    @tab X
34933               @tab Format used in various Interplay computer games.
34934
34935       Iterated Systems ClearVideo  :      @tab  X
34936               @tab I-frames only
34937
34938       IV8                        :    @tab X
34939               @tab A format generated by IndigoVision 8000 video server.
34940
34941       IVF (On2)                  :  X @tab X
34942               @tab A format used by libvpx
34943
34944       Internet Video Recording   :    @tab X
34945       IRCAM                      :  X @tab X
34946       LATM                       :  X @tab X
34947       LMLM4                      :    @tab X
34948               @tab Used by Linux Media Labs MPEG-4 PCI boards
34949
34950       LOAS                       :    @tab X
34951               @tab contains LATM multiplexed AAC audio
34952
34953       LRC                        :  X @tab X
34954       LVF                        :    @tab X
34955       LXF                        :    @tab X
34956               @tab VR native stream format, used by Leitch/Harris' video servers.
34957
34958       Magic Lantern Video (MLV)  :    @tab X
34959       Matroska                   :  X @tab X
34960       Matroska audio             :  X @tab
34961       FFmpeg metadata            :  X @tab X
34962               @tab Metadata in text format.
34963
34964       MAXIS XA                   :    @tab X
34965               @tab Used in Sim City 3000; file extension .xa.
34966
34967       MCA                        :    @tab X
34968               @tab Used in some games from Capcom; file extension .mca.
34969
34970       MD Studio                  :    @tab X
34971       Metal Gear Solid: The Twin Snakes  :  @tab X
34972       Megalux Frame              :    @tab X
34973               @tab Used by Megalux Ultimate Paint
34974
34975       Mobotix .mxg               :    @tab X
34976       Monkey's Audio             :    @tab X
34977       Motion Pixels MVI          :    @tab X
34978       MOV/QuickTime/MP4          :  X @tab X
34979               @tab 3GP, 3GP2, PSP, iPod variants supported
34980
34981       MP2                        :  X @tab X
34982       MP3                        :  X @tab X
34983       MPEG-1 System              :  X @tab X
34984               @tab muxed audio and video, VCD format supported
34985
34986       MPEG-PS (program stream)   :  X @tab X
34987               @tab also known as C<VOB> file, SVCD and DVD format supported
34988
34989       MPEG-TS (transport stream)  :  X @tab X
34990               @tab also known as DVB Transport Stream
34991
34992       MPEG-4                     :  X @tab X
34993               @tab MPEG-4 is a variant of QuickTime.
34994
34995       MSF                        :    @tab X
34996               @tab Audio format used on the PS3.
34997
34998       Mirillis FIC video         :    @tab X
34999               @tab No cursor rendering.
35000
35001       MIDI Sample Dump Standard  :    @tab X
35002       MIME multipart JPEG        :  X @tab
35003       MSN TCP webcam             :    @tab X
35004               @tab Used by MSN Messenger webcam streams.
35005
35006       MTV                        :    @tab X
35007       Musepack                   :    @tab X
35008       Musepack SV8               :    @tab X
35009       Material eXchange Format (MXF)  :  X @tab X
35010               @tab SMPTE 377M, used by D-Cinema, broadcast industry.
35011
35012       Material eXchange Format (MXF), D-10 Mapping  :  X @tab X
35013               @tab SMPTE 386M, D-10/IMX Mapping.
35014
35015       NC camera feed             :    @tab X
35016               @tab NC (AVIP NC4600) camera streams
35017
35018       NIST SPeech HEader REsources  :    @tab X
35019       Computerized Speech Lab NSP  :    @tab X
35020       NTT TwinVQ (VQF)           :    @tab X
35021               @tab Nippon Telegraph and Telephone Corporation TwinVQ.
35022
35023       Nullsoft Streaming Video   :    @tab X
35024       NuppelVideo                :    @tab X
35025       NUT                        :  X @tab X
35026               @tab NUT Open Container Format
35027
35028       Ogg                        :  X @tab X
35029       Playstation Portable PMP   :    @tab X
35030       Portable Voice Format      :    @tab X
35031       TechnoTrend PVA            :    @tab X
35032               @tab Used by TechnoTrend DVB PCI boards.
35033
35034       QCP                        :    @tab X
35035       raw ADTS (AAC)             :  X @tab X
35036       raw AC-3                   :  X @tab X
35037       raw AMR-NB                 :    @tab X
35038       raw AMR-WB                 :    @tab X
35039       raw aptX                   :  X @tab X
35040       raw aptX HD                :  X @tab X
35041       raw Chinese AVS video      :  X @tab X
35042       raw Dirac                  :  X @tab X
35043       raw DNxHD                  :  X @tab X
35044       raw DTS                    :  X @tab X
35045       raw DTS-HD                 :    @tab X
35046       raw E-AC-3                 :  X @tab X
35047       raw FLAC                   :  X @tab X
35048       raw GSM                    :    @tab X
35049       raw H.261                  :  X @tab X
35050       raw H.263                  :  X @tab X
35051       raw H.264                  :  X @tab X
35052       raw HEVC                   :  X @tab X
35053       raw Ingenient MJPEG        :    @tab X
35054       raw MJPEG                  :  X @tab X
35055       raw MLP                    :    @tab X
35056       raw MPEG                   :    @tab X
35057       raw MPEG-1                 :    @tab X
35058       raw MPEG-2                 :    @tab X
35059       raw MPEG-4                 :  X @tab X
35060       raw NULL                   :  X @tab
35061       raw video                  :  X @tab X
35062       raw id RoQ                 :  X @tab
35063       raw OBU                    :  X @tab X
35064       raw SBC                    :  X @tab X
35065       raw Shorten                :    @tab X
35066       raw TAK                    :    @tab X
35067       raw TrueHD                 :  X @tab X
35068       raw VC-1                   :  X @tab X
35069       raw PCM A-law              :  X @tab X
35070       raw PCM mu-law             :  X @tab X
35071       raw PCM Archimedes VIDC    :  X @tab X
35072       raw PCM signed 8 bit       :  X @tab X
35073       raw PCM signed 16 bit big-endian   :  X @tab X
35074       raw PCM signed 16 bit little-endian   :  X @tab X
35075       raw PCM signed 24 bit big-endian   :  X @tab X
35076       raw PCM signed 24 bit little-endian   :  X @tab X
35077       raw PCM signed 32 bit big-endian   :  X @tab X
35078       raw PCM signed 32 bit little-endian   :  X @tab X
35079       raw PCM signed 64 bit big-endian   :  X @tab X
35080       raw PCM signed 64 bit little-endian   :  X @tab X
35081       raw PCM unsigned 8 bit     :  X @tab X
35082       raw PCM unsigned 16 bit big-endian   :  X @tab X
35083       raw PCM unsigned 16 bit little-endian   :  X @tab X
35084       raw PCM unsigned 24 bit big-endian   :  X @tab X
35085       raw PCM unsigned 24 bit little-endian   :  X @tab X
35086       raw PCM unsigned 32 bit big-endian   :  X @tab X
35087       raw PCM unsigned 32 bit little-endian   :  X @tab X
35088       raw PCM 16.8 floating point little-endian  :    @tab X
35089       raw PCM 24.0 floating point little-endian  :    @tab X
35090       raw PCM floating-point 32 bit big-endian   :  X @tab X
35091       raw PCM floating-point 32 bit little-endian   :  X @tab X
35092       raw PCM floating-point 64 bit big-endian   :  X @tab X
35093       raw PCM floating-point 64 bit little-endian   :  X @tab X
35094       RDT                        :    @tab X
35095       REDCODE R3D                :    @tab X
35096               @tab File format used by RED Digital cameras, contains JPEG 2000 frames and PCM audio.
35097
35098       RealMedia                  :  X @tab X
35099       Redirector                 :    @tab X
35100       RedSpark                   :    @tab X
35101       Renderware TeXture Dictionary  :    @tab X
35102       Resolume DXV               :    @tab X
35103       RF64                       :    @tab X
35104       RL2                        :    @tab X
35105               @tab Audio and video format used in some games by Entertainment Software Partners.
35106
35107       RPL/ARMovie                :    @tab X
35108       Lego Mindstorms RSO        :  X @tab X
35109       RSD                        :    @tab X
35110       RTMP                       :  X @tab X
35111               @tab Output is performed by publishing stream to RTMP server
35112
35113       RTP                        :  X @tab X
35114       RTSP                       :  X @tab X
35115       Sample Dump eXchange       :    @tab X
35116       SAP                        :  X @tab X
35117       SBG                        :    @tab X
35118       SDP                        :    @tab X
35119       SER                        :    @tab X
35120       Sega FILM/CPK              :  X @tab X
35121               @tab Used in many Sega Saturn console games.
35122
35123       Silicon Graphics Movie     :    @tab X
35124       Sierra SOL                 :    @tab X
35125               @tab .sol files used in Sierra Online games.
35126
35127       Sierra VMD                 :    @tab X
35128               @tab Used in Sierra CD-ROM games.
35129
35130       Smacker                    :    @tab X
35131               @tab Multimedia format used by many games.
35132
35133       SMJPEG                     :  X @tab X
35134               @tab Used in certain Loki game ports.
35135
35136       SMPTE 337M encapsulation   :    @tab X
35137       Smush                      :    @tab X
35138               @tab Multimedia format used in some LucasArts games.
35139
35140       Sony OpenMG (OMA)          :  X @tab X
35141               @tab Audio format used in Sony Sonic Stage and Sony Vegas.
35142
35143       Sony PlayStation STR       :    @tab X
35144       Sony Wave64 (W64)          :  X @tab X
35145       SoX native format          :  X @tab X
35146       SUN AU format              :  X @tab X
35147       SUP raw PGS subtitles      :  X @tab X
35148       SVAG                       :    @tab X
35149               @tab Audio format used in Konami PS2 games.
35150
35151       TDSC                       :    @tab X
35152       Text files                 :    @tab X
35153       THP                        :    @tab X
35154               @tab Used on the Nintendo GameCube.
35155
35156       Tiertex Limited SEQ        :    @tab X
35157               @tab Tiertex .seq files used in the DOS CD-ROM version of the game Flashback.
35158
35159       True Audio                 :  X @tab X
35160       VAG                        :    @tab X
35161               @tab Audio format used in many Sony PS2 games.
35162
35163       VC-1 test bitstream        :  X @tab X
35164       Vidvox Hap                 :  X @tab X
35165       Vivo                       :    @tab X
35166       VPK                        :    @tab X
35167               @tab Audio format used in Sony PS games.
35168
35169       WAV                        :  X @tab X
35170       WavPack                    :  X @tab X
35171       WebM                       :  X @tab X
35172       Windows Televison (WTV)    :  X @tab X
35173       Wing Commander III movie   :    @tab X
35174               @tab Multimedia format used in Origin's Wing Commander III computer game.
35175
35176       Westwood Studios audio     :  X @tab X
35177               @tab Multimedia format used in Westwood Studios games.
35178
35179       Westwood Studios VQA       :    @tab X
35180               @tab Multimedia format used in Westwood Studios games.
35181
35182       Wideband Single-bit Data (WSD)  :    @tab X
35183       WVE                        :    @tab X
35184       XMV                        :    @tab X
35185               @tab Microsoft video container used in Xbox games.
35186
35187       XVAG                       :    @tab X
35188               @tab Audio format used on the PS3.
35189
35190       xWMA                       :    @tab X
35191               @tab Microsoft audio container used by XAudio 2.
35192
35193       eXtended BINary text (XBIN)  :  @tab X
35194       YUV4MPEG pipe              :  X @tab X
35195       Psygnosis YOP              :    @tab X
35196
35197       "X" means that the feature in that column (encoding / decoding) is
35198       supported.
35199
35200   Image Formats
35201       FFmpeg can read and write images for each frame of a video sequence.
35202       The following image formats are supported:
35203
35204       Name  :  Encoding @tab Decoding @tab Comments
35205       .Y.U.V        :  X @tab X
35206               @tab one raw file per component
35207
35208       Alias PIX     :  X @tab X
35209               @tab Alias/Wavefront PIX image format
35210
35211       animated GIF  :  X @tab X
35212       APNG          :  X @tab X
35213               @tab Animated Portable Network Graphics
35214
35215       BMP           :  X @tab X
35216               @tab Microsoft BMP image
35217
35218       BRender PIX   :    @tab X
35219               @tab Argonaut BRender 3D engine image format.
35220
35221       CRI           :    @tab X
35222               @tab Cintel RAW
35223
35224       DPX           :  X @tab X
35225               @tab Digital Picture Exchange
35226
35227       EXR           :    @tab X
35228               @tab OpenEXR
35229
35230       FITS          :  X @tab X
35231               @tab Flexible Image Transport System
35232
35233       IMG           :    @tab X
35234               @tab GEM Raster image
35235
35236       JPEG          :  X @tab X
35237               @tab Progressive JPEG is not supported.
35238
35239       JPEG 2000     :  X @tab X
35240       JPEG-LS       :  X @tab X
35241       LJPEG         :  X @tab
35242               @tab Lossless JPEG
35243
35244       MSP           :    @tab X
35245               @tab Microsoft Paint image
35246
35247       PAM           :  X @tab X
35248               @tab PAM is a PNM extension with alpha support.
35249
35250       PBM           :  X @tab X
35251               @tab Portable BitMap image
35252
35253       PCD           :    @tab X
35254               @tab PhotoCD
35255
35256       PCX           :  X @tab X
35257               @tab PC Paintbrush
35258
35259       PFM           :  X @tab X
35260               @tab Portable FloatMap image
35261
35262       PGM           :  X @tab X
35263               @tab Portable GrayMap image
35264
35265       PGMYUV        :  X @tab X
35266               @tab PGM with U and V components in YUV 4:2:0
35267
35268       PGX           :    @tab X
35269               @tab PGX file decoder
35270
35271       PIC           :  @tab X
35272               @tab Pictor/PC Paint
35273
35274       PNG           :  X @tab X
35275               @tab Portable Network Graphics image
35276
35277       PPM           :  X @tab X
35278               @tab Portable PixelMap image
35279
35280       PSD           :    @tab X
35281               @tab Photoshop
35282
35283       PTX           :    @tab X
35284               @tab V.Flash PTX format
35285
35286       SGI           :  X @tab X
35287               @tab SGI RGB image format
35288
35289       Sun Rasterfile   :  X @tab X
35290               @tab Sun RAS image format
35291
35292       TIFF          :  X @tab X
35293               @tab YUV, JPEG and some extension is not supported yet.
35294
35295       Truevision Targa   :  X @tab X
35296               @tab Targa (.TGA) image format
35297
35298       WebP          :  E @tab X
35299               @tab WebP image format, encoding supported through external library libwebp
35300
35301       XBM   :  X @tab X
35302               @tab X BitMap image format
35303
35304       XFace  :  X @tab X
35305               @tab X-Face image format
35306
35307       XPM   :    @tab X
35308               @tab X PixMap image format
35309
35310       XWD   :  X @tab X
35311               @tab X Window Dump image format
35312
35313       "X" means that the feature in that column (encoding / decoding) is
35314       supported.
35315
35316       "E" means that support is provided through an external library.
35317
35318   Video Codecs
35319       Name  :  Encoding @tab Decoding @tab Comments
35320       4X Movie                :      @tab  X
35321               @tab Used in certain computer games.
35322
35323       8088flex TMV            :      @tab  X
35324       A64 multicolor          :   X  @tab
35325               @tab Creates video suitable to be played on a commodore 64 (multicolor mode).
35326
35327       Amazing Studio PAF Video  :      @tab  X
35328       American Laser Games MM   :     @tab X
35329               @tab Used in games like Mad Dog McCree.
35330
35331       Amuse Graphics Movie    :      @tab  X
35332       AMV Video               :   X  @tab  X
35333               @tab Used in Chinese MP3 players.
35334
35335       ANSI/ASCII art          :      @tab  X
35336       Apple Intermediate Codec  :      @tab  X
35337       Apple MJPEG-B           :      @tab  X
35338       Apple Pixlet            :      @tab  X
35339       Apple ProRes            :   X  @tab  X
35340               @tab fourcc: apch,apcn,apcs,apco,ap4h,ap4x
35341
35342       Apple QuickDraw         :      @tab  X
35343               @tab fourcc: qdrw
35344
35345       Argonaut Video          :      @tab  X
35346               @tab Used in some Argonaut games.
35347
35348       Asus v1                 :   X  @tab  X
35349               @tab fourcc: ASV1
35350
35351       Asus v2                 :   X  @tab  X
35352               @tab fourcc: ASV2
35353
35354       ATI VCR1                :      @tab  X
35355               @tab fourcc: VCR1
35356
35357       ATI VCR2                :      @tab  X
35358               @tab fourcc: VCR2
35359
35360       Auravision Aura         :      @tab  X
35361       Auravision Aura 2       :      @tab  X
35362       Autodesk Animator Flic video   :      @tab  X
35363       Autodesk RLE            :      @tab  X
35364               @tab fourcc: AASC
35365
35366       AV1                     :   E  @tab  E
35367               @tab Supported through external libraries libaom, libdav1d, librav1e and libsvtav1
35368
35369       Avid 1:1 10-bit RGB Packer   :   X  @tab  X
35370               @tab fourcc: AVrp
35371
35372       AVS (Audio Video Standard) video   :      @tab  X
35373               @tab Video encoding used by the Creature Shock game.
35374
35375       AVS2-P2/IEEE1857.4      :   E  @tab  E
35376               @tab Supported through external libraries libxavs2 and libdavs2
35377
35378       AVS3-P2/IEEE1857.10     :      @tab  E
35379               @tab Supported through external library libuavs3d
35380
35381       AYUV                    :   X  @tab  X
35382               @tab Microsoft uncompressed packed 4:4:4:4
35383
35384       Beam Software VB        :      @tab  X
35385       Bethesda VID video      :      @tab  X
35386               @tab Used in some games from Bethesda Softworks.
35387
35388       Bink Video              :      @tab  X
35389       BitJazz SheerVideo      :      @tab  X
35390       Bitmap Brothers JV video   :    @tab X
35391       y41p Brooktree uncompressed 4:1:1 12-bit      :   X  @tab  X
35392       Brooktree ProSumer Video   :      @tab  X
35393               @tab fourcc: BT20
35394
35395       Brute Force & Ignorance    :    @tab X
35396               @tab Used in the game Flash Traffic: City of Angels.
35397
35398       C93 video               :      @tab  X
35399               @tab Codec used in Cyberia game.
35400
35401       CamStudio               :      @tab  X
35402               @tab fourcc: CSCD
35403
35404       CD+G                    :      @tab  X
35405               @tab Video codec for CD+G karaoke disks
35406
35407       CDXL                    :      @tab  X
35408               @tab Amiga CD video codec
35409
35410       Chinese AVS video       :   E  @tab  X
35411               @tab AVS1-P2, JiZhun profile, encoding through external library libxavs
35412
35413       Delphine Software International CIN video   :      @tab  X
35414               @tab Codec used in Delphine Software International games.
35415
35416       Discworld II BMV Video  :      @tab  X
35417       CineForm HD             :   X  @tab  X
35418       Canopus HQ              :      @tab  X
35419       Canopus HQA             :      @tab  X
35420       Canopus HQX             :      @tab  X
35421       Canopus Lossless Codec  :      @tab  X
35422       CDToons                 :      @tab  X
35423               @tab Codec used in various Broderbund games.
35424
35425       Cinepak                 :      @tab  X
35426       Cirrus Logic AccuPak    :   X  @tab  X
35427               @tab fourcc: CLJR
35428
35429       CPiA Video Format       :      @tab  X
35430       Creative YUV (CYUV)     :      @tab  X
35431       DFA                     :      @tab  X
35432               @tab Codec used in Chronomaster game.
35433
35434       Dirac                   :   E  @tab  X
35435               @tab supported though the native vc2 (Dirac Pro) encoder
35436
35437       Deluxe Paint Animation  :      @tab  X
35438       DNxHD                   :    X @tab  X
35439               @tab aka SMPTE VC3
35440
35441       Duck TrueMotion 1.0    :      @tab  X
35442               @tab fourcc: DUCK
35443
35444       Duck TrueMotion 2.0     :      @tab  X
35445               @tab fourcc: TM20
35446
35447       Duck TrueMotion 2.0 RT  :      @tab  X
35448               @tab fourcc: TR20
35449
35450       DV (Digital Video)      :   X  @tab  X
35451       Dxtory capture format   :      @tab  X
35452       Feeble Files/ScummVM DXA   :      @tab  X
35453               @tab Codec originally used in Feeble Files game.
35454
35455       Electronic Arts CMV video   :      @tab  X
35456               @tab Used in NHL 95 game.
35457
35458       Electronic Arts Madcow video   :      @tab  X
35459       Electronic Arts TGV video   :      @tab  X
35460       Electronic Arts TGQ video   :      @tab  X
35461       Electronic Arts TQI video   :      @tab  X
35462       Escape 124              :      @tab  X
35463       Escape 130              :      @tab  X
35464       FFmpeg video codec #1   :   X  @tab  X
35465               @tab lossless codec (fourcc: FFV1)
35466
35467       Flash Screen Video v1   :   X  @tab  X
35468               @tab fourcc: FSV1
35469
35470       Flash Screen Video v2   :   X  @tab  X
35471       Flash Video (FLV)       :   X  @tab  X
35472               @tab Sorenson H.263 used in Flash
35473
35474       FM Screen Capture Codec   :      @tab  X
35475       Forward Uncompressed    :      @tab  X
35476       Fraps                   :      @tab  X
35477       Go2Meeting              :      @tab  X
35478               @tab fourcc: G2M2, G2M3
35479
35480       Go2Webinar              :      @tab  X
35481               @tab fourcc: G2M4
35482
35483       Gremlin Digital Video   :      @tab  X
35484       H.261                   :   X  @tab  X
35485       H.263 / H.263-1996      :   X  @tab  X
35486       H.263+ / H.263-1998 / H.263 version 2   :   X  @tab  X
35487       H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10   :   E  @tab  X
35488               @tab encoding supported through external library libx264 and OpenH264
35489
35490       HEVC                    :   X  @tab  X
35491               @tab encoding supported through external library libx265 and libkvazaar
35492
35493       HNM version 4           :      @tab  X
35494       HuffYUV                 :   X  @tab  X
35495       HuffYUV FFmpeg variant  :   X  @tab  X
35496       IBM Ultimotion          :      @tab  X
35497               @tab fourcc: ULTI
35498
35499       id Cinematic video      :      @tab  X
35500               @tab Used in Quake II.
35501
35502       id RoQ video            :   X  @tab  X
35503               @tab Used in Quake III, Jedi Knight 2, other computer games.
35504
35505       IFF ILBM                :      @tab  X
35506               @tab IFF interleaved bitmap
35507
35508       IFF ByteRun1            :      @tab  X
35509               @tab IFF run length encoded bitmap
35510
35511       Infinity IMM4           :      @tab  X
35512       Intel H.263             :      @tab  X
35513       Intel Indeo 2           :      @tab  X
35514       Intel Indeo 3           :      @tab  X
35515       Intel Indeo 4           :      @tab  X
35516       Intel Indeo 5           :      @tab  X
35517       Interplay C93           :      @tab  X
35518               @tab Used in the game Cyberia from Interplay.
35519
35520       Interplay MVE video     :      @tab  X
35521               @tab Used in Interplay .MVE files.
35522
35523       J2K  :   X  @tab  X
35524       Karl Morton's video codec   :      @tab  X
35525               @tab Codec used in Worms games.
35526
35527       Kega Game Video (KGV1)  :       @tab  X
35528               @tab Kega emulator screen capture codec.
35529
35530       Lagarith                :      @tab  X
35531       LCL (LossLess Codec Library) MSZH   :      @tab  X
35532       LCL (LossLess Codec Library) ZLIB   :   E  @tab  E
35533       LOCO                    :      @tab  X
35534       LucasArts SANM/Smush    :      @tab  X
35535               @tab Used in LucasArts games / SMUSH animations.
35536
35537       lossless MJPEG          :   X  @tab  X
35538       MagicYUV Video          :   X  @tab  X
35539       Mandsoft Screen Capture Codec   :      @tab  X
35540       Microsoft ATC Screen    :      @tab  X
35541               @tab Also known as Microsoft Screen 3.
35542
35543       Microsoft Expression Encoder Screen   :      @tab  X
35544               @tab Also known as Microsoft Titanium Screen 2.
35545
35546       Microsoft RLE           :      @tab  X
35547       Microsoft Screen 1      :      @tab  X
35548               @tab Also known as Windows Media Video V7 Screen.
35549
35550       Microsoft Screen 2      :      @tab  X
35551               @tab Also known as Windows Media Video V9 Screen.
35552
35553       Microsoft Video 1       :      @tab  X
35554       Mimic                   :      @tab  X
35555               @tab Used in MSN Messenger Webcam streams.
35556
35557       Miro VideoXL            :      @tab  X
35558               @tab fourcc: VIXL
35559
35560       MJPEG (Motion JPEG)     :   X  @tab  X
35561       Mobotix MxPEG video     :      @tab  X
35562       Motion Pixels video     :      @tab  X
35563       MPEG-1 video            :   X  @tab  X
35564       MPEG-2 video            :   X  @tab  X
35565       MPEG-4 part 2           :   X  @tab  X
35566               @tab libxvidcore can be used alternatively for encoding.
35567
35568       MPEG-4 part 2 Microsoft variant version 1   :      @tab  X
35569       MPEG-4 part 2 Microsoft variant version 2   :   X  @tab  X
35570       MPEG-4 part 2 Microsoft variant version 3   :   X  @tab  X
35571       Newtek SpeedHQ                :   X  @tab  X
35572       Nintendo Gamecube THP video   :      @tab  X
35573       NotchLC                 :      @tab  X
35574       NuppelVideo/RTjpeg      :      @tab  X
35575               @tab Video encoding used in NuppelVideo files.
35576
35577       On2 VP3                 :      @tab  X
35578               @tab still experimental
35579
35580       On2 VP4                 :      @tab  X
35581               @tab fourcc: VP40
35582
35583       On2 VP5                 :      @tab  X
35584               @tab fourcc: VP50
35585
35586       On2 VP6                 :      @tab  X
35587               @tab fourcc: VP60,VP61,VP62
35588
35589       On2 VP7                 :      @tab  X
35590               @tab fourcc: VP70,VP71
35591
35592       VP8                     :   E  @tab  X
35593               @tab fourcc: VP80, encoding supported through external library libvpx
35594
35595       VP9                     :   E  @tab  X
35596               @tab encoding supported through external library libvpx
35597
35598       Pinnacle TARGA CineWave YUV16  :      @tab  X
35599               @tab fourcc: Y216
35600
35601       Q-team QPEG             :      @tab  X
35602               @tab fourccs: QPEG, Q1.0, Q1.1
35603
35604       QuickTime 8BPS video    :      @tab  X
35605       QuickTime Animation (RLE) video   :   X  @tab  X
35606               @tab fourcc: 'rle '
35607
35608       QuickTime Graphics (SMC)   :   X  @tab  X
35609               @tab fourcc: 'smc '
35610
35611       QuickTime video (RPZA)  :   X  @tab  X
35612               @tab fourcc: rpza
35613
35614       R10K AJA Kona 10-bit RGB Codec      :   X  @tab  X
35615       R210 Quicktime Uncompressed RGB 10-bit      :   X  @tab  X
35616       Raw Video               :   X  @tab  X
35617       RealVideo 1.0           :   X  @tab  X
35618       RealVideo 2.0           :   X  @tab  X
35619       RealVideo 3.0           :      @tab  X
35620               @tab still far from ideal
35621
35622       RealVideo 4.0           :      @tab  X
35623       Renderware TXD (TeXture Dictionary)   :      @tab  X
35624               @tab Texture dictionaries used by the Renderware Engine.
35625
35626       RL2 video               :      @tab  X
35627               @tab used in some games by Entertainment Software Partners
35628
35629       ScreenPressor           :      @tab  X
35630       Screenpresso            :      @tab  X
35631       Screen Recorder Gold Codec   :      @tab  X
35632       Sierra VMD video        :      @tab  X
35633               @tab Used in Sierra VMD files.
35634
35635       Silicon Graphics Motion Video Compressor 1 (MVC1)   :      @tab  X
35636       Silicon Graphics Motion Video Compressor 2 (MVC2)   :      @tab  X
35637       Silicon Graphics RLE 8-bit video   :      @tab  X
35638       Smacker video           :      @tab  X
35639               @tab Video encoding used in Smacker.
35640
35641       SMPTE VC-1              :      @tab  X
35642       Snow                    :   X  @tab  X
35643               @tab experimental wavelet codec (fourcc: SNOW)
35644
35645       Sony PlayStation MDEC (Motion DECoder)   :      @tab  X
35646       Sorenson Vector Quantizer 1   :   X  @tab  X
35647               @tab fourcc: SVQ1
35648
35649       Sorenson Vector Quantizer 3   :      @tab  X
35650               @tab fourcc: SVQ3
35651
35652       Sunplus JPEG (SP5X)     :      @tab  X
35653               @tab fourcc: SP5X
35654
35655       TechSmith Screen Capture Codec   :      @tab  X
35656               @tab fourcc: TSCC
35657
35658       TechSmith Screen Capture Codec 2   :      @tab  X
35659               @tab fourcc: TSC2
35660
35661       Theora                  :   E  @tab  X
35662               @tab encoding supported through external library libtheora
35663
35664       Tiertex Limited SEQ video   :      @tab  X
35665               @tab Codec used in DOS CD-ROM FlashBack game.
35666
35667       Ut Video                :   X  @tab  X
35668       v210 QuickTime uncompressed 4:2:2 10-bit      :   X  @tab  X
35669       v308 QuickTime uncompressed 4:4:4             :   X  @tab  X
35670       v408 QuickTime uncompressed 4:4:4:4           :   X  @tab  X
35671       v410 QuickTime uncompressed 4:4:4 10-bit      :   X  @tab  X
35672       VBLE Lossless Codec     :      @tab  X
35673       VMware Screen Codec / VMware Video   :      @tab  X
35674               @tab Codec used in videos captured by VMware.
35675
35676       Westwood Studios VQA (Vector Quantized Animation) video   :      @tab
35677       X
35678       Windows Media Image     :      @tab  X
35679       Windows Media Video 7   :   X  @tab  X
35680       Windows Media Video 8   :   X  @tab  X
35681       Windows Media Video 9   :      @tab  X
35682               @tab not completely working
35683
35684       Wing Commander III / Xan   :      @tab  X
35685               @tab Used in Wing Commander III .MVE files.
35686
35687       Wing Commander IV / Xan   :      @tab  X
35688               @tab Used in Wing Commander IV.
35689
35690       Winnov WNV1             :      @tab  X
35691       WMV7                    :   X  @tab  X
35692       YAMAHA SMAF             :   X  @tab  X
35693       Psygnosis YOP Video     :      @tab  X
35694       yuv4                    :   X  @tab  X
35695               @tab libquicktime uncompressed packed 4:2:0
35696
35697       ZeroCodec Lossless Video  :      @tab  X
35698       ZLIB                    :   X  @tab  X
35699               @tab part of LCL, encoder experimental
35700
35701       Zip Motion Blocks Video   :    X @tab  X
35702               @tab Encoder works only in PAL8.
35703
35704       "X" means that the feature in that column (encoding / decoding) is
35705       supported.
35706
35707       "E" means that support is provided through an external library.
35708
35709   Audio Codecs
35710       Name  :  Encoding @tab Decoding @tab Comments
35711       8SVX exponential        :      @tab  X
35712       8SVX fibonacci          :      @tab  X
35713       AAC                     :  EX  @tab  X
35714               @tab encoding supported through internal encoder and external library libfdk-aac
35715
35716       AAC+                    :   E  @tab  IX
35717               @tab encoding supported through external library libfdk-aac
35718
35719       AC-3                    :  IX  @tab  IX
35720       ACELP.KELVIN            :      @tab  X
35721       ADPCM 4X Movie          :      @tab  X
35722       ADPCM Yamaha AICA       :      @tab  X
35723       ADPCM AmuseGraphics Movie  :     @tab  X
35724       ADPCM Argonaut Games    :  X   @tab  X
35725       ADPCM CDROM XA          :      @tab  X
35726       ADPCM Creative Technology  :      @tab  X
35727               @tab 16 -E<gt> 4, 8 -E<gt> 4, 8 -E<gt> 3, 8 -E<gt> 2
35728
35729       ADPCM Electronic Arts   :      @tab  X
35730               @tab Used in various EA titles.
35731
35732       ADPCM Electronic Arts Maxis CDROM XS   :      @tab  X
35733               @tab Used in Sim City 3000.
35734
35735       ADPCM Electronic Arts R1   :      @tab  X
35736       ADPCM Electronic Arts R2   :      @tab  X
35737       ADPCM Electronic Arts R3   :      @tab  X
35738       ADPCM Electronic Arts XAS  :      @tab  X
35739       ADPCM G.722             :   X  @tab  X
35740       ADPCM G.726             :   X  @tab  X
35741       ADPCM IMA Acorn Replay  :      @tab  X
35742       ADPCM IMA AMV           :   X  @tab  X
35743               @tab Used in AMV files
35744
35745       ADPCM IMA Cunning Developments   :      @tab  X
35746       ADPCM IMA Electronic Arts EACS   :      @tab  X
35747       ADPCM IMA Electronic Arts SEAD   :      @tab  X
35748       ADPCM IMA Funcom        :      @tab  X
35749       ADPCM IMA High Voltage Software ALP       :   X  @tab  X
35750       ADPCM IMA QuickTime     :   X  @tab  X
35751       ADPCM IMA Simon & Schuster Interactive    :   X  @tab  X
35752       ADPCM IMA Ubisoft APM   :   X  @tab  X
35753       ADPCM IMA Loki SDL MJPEG   :      @tab  X
35754       ADPCM IMA WAV           :   X  @tab  X
35755       ADPCM IMA Westwood      :      @tab  X
35756       ADPCM ISS IMA           :      @tab  X
35757               @tab Used in FunCom games.
35758
35759       ADPCM IMA Dialogic      :      @tab  X
35760       ADPCM IMA Duck DK3      :      @tab  X
35761               @tab Used in some Sega Saturn console games.
35762
35763       ADPCM IMA Duck DK4      :      @tab  X
35764               @tab Used in some Sega Saturn console games.
35765
35766       ADPCM IMA Radical       :      @tab  X
35767       ADPCM Microsoft         :   X  @tab  X
35768       ADPCM MS IMA            :   X  @tab  X
35769       ADPCM Nintendo Gamecube AFC   :      @tab  X
35770       ADPCM Nintendo Gamecube DTK   :      @tab  X
35771       ADPCM Nintendo THP   :      @tab  X
35772       ADPCM Playstation       :      @tab  X
35773       ADPCM QT IMA            :   X  @tab  X
35774       ADPCM SEGA CRI ADX      :   X  @tab  X
35775               @tab Used in Sega Dreamcast games.
35776
35777       ADPCM Shockwave Flash   :   X  @tab  X
35778       ADPCM Sound Blaster Pro 2-bit   :      @tab  X
35779       ADPCM Sound Blaster Pro 2.6-bit   :      @tab  X
35780       ADPCM Sound Blaster Pro 4-bit   :      @tab  X
35781       ADPCM VIMA              :      @tab  X
35782               @tab Used in LucasArts SMUSH animations.
35783
35784       ADPCM Westwood Studios IMA       :   X @tab  X
35785               @tab Used in Westwood Studios games like Command and Conquer.
35786
35787       ADPCM Yamaha            :   X  @tab  X
35788       ADPCM Zork              :      @tab  X
35789       AMR-NB                  :   E  @tab  X
35790               @tab encoding supported through external library libopencore-amrnb
35791
35792       AMR-WB                  :   E  @tab  X
35793               @tab encoding supported through external library libvo-amrwbenc
35794
35795       Amazing Studio PAF Audio  :      @tab  X
35796       Apple lossless audio    :   X  @tab  X
35797               @tab QuickTime fourcc 'alac'
35798
35799       aptX                    :   X  @tab  X
35800               @tab Used in Bluetooth A2DP
35801
35802       aptX HD                 :   X  @tab  X
35803               @tab Used in Bluetooth A2DP
35804
35805       ATRAC1                  :      @tab  X
35806       ATRAC3                  :      @tab  X
35807       ATRAC3+                 :      @tab  X
35808       ATRAC9                  :      @tab  X
35809       Bink Audio              :      @tab  X
35810               @tab Used in Bink and Smacker files in many games.
35811
35812       CELT                    :      @tab  E
35813               @tab decoding supported through external library libcelt
35814
35815       codec2                  :   E  @tab  E
35816               @tab en/decoding supported through external library libcodec2
35817
35818       CRI HCA                 :      @tab X
35819       Delphine Software International CIN audio   :      @tab  X
35820               @tab Codec used in Delphine Software International games.
35821
35822       Digital Speech Standard - Standard Play mode (DSS SP)  :      @tab  X
35823       Discworld II BMV Audio  :      @tab  X
35824       COOK                    :      @tab  X
35825               @tab All versions except 5.1 are supported.
35826
35827       DCA (DTS Coherent Acoustics)   :   X  @tab  X
35828               @tab supported extensions: XCh, XXCH, X96, XBR, XLL, LBR (partially)
35829
35830       Dolby E   :      @tab  X
35831       DPCM Gremlin            :      @tab  X
35832       DPCM id RoQ             :   X  @tab  X
35833               @tab Used in Quake III, Jedi Knight 2 and other computer games.
35834
35835       DPCM Interplay          :      @tab  X
35836               @tab Used in various Interplay computer games.
35837
35838       DPCM Squareroot-Delta-Exact   :   @tab  X
35839               @tab Used in various games.
35840
35841       DPCM Sierra Online      :      @tab  X
35842               @tab Used in Sierra Online game audio files.
35843
35844       DPCM Sol                :      @tab  X
35845       DPCM Xan                :      @tab  X
35846               @tab Used in Origin's Wing Commander IV AVI files.
35847
35848       DPCM Xilam DERF         :      @tab  X
35849       DSD (Direct Stream Digital), least significant bit first   :   @tab  X
35850       DSD (Direct Stream Digital), most significant bit first    :   @tab  X
35851       DSD (Direct Stream Digital), least significant bit first, planar   :
35852       @tab  X
35853       DSD (Direct Stream Digital), most significant bit first, planar    :
35854       @tab  X
35855       DSP Group TrueSpeech    :      @tab  X
35856       DST (Direct Stream Transfer)  :   @tab  X
35857       DV audio                :      @tab  X
35858       Enhanced AC-3           :   X  @tab  X
35859       EVRC (Enhanced Variable Rate Codec)  :      @tab  X
35860       FLAC (Free Lossless Audio Codec)   :   X  @tab  IX
35861       G.723.1                 :  X   @tab  X
35862       G.729                   :      @tab  X
35863       GSM                     :   E  @tab  X
35864               @tab encoding supported through external library libgsm
35865
35866       GSM Microsoft variant   :   E  @tab  X
35867               @tab encoding supported through external library libgsm
35868
35869       IAC (Indeo Audio Coder)   :      @tab  X
35870       iLBC (Internet Low Bitrate Codec)  :   E  @tab  EX
35871               @tab encoding and decoding supported through external library libilbc
35872
35873       IMC (Intel Music Coder)   :      @tab  X
35874       Interplay ACM             :      @tab  X
35875       MACE (Macintosh Audio Compression/Expansion) 3:1   :      @tab  X
35876       MACE (Macintosh Audio Compression/Expansion) 6:1   :      @tab  X
35877       MLP (Meridian Lossless Packing)   :   X  @tab  X
35878               @tab Used in DVD-Audio discs.
35879
35880       Monkey's Audio          :      @tab  X
35881       MP1 (MPEG audio layer 1)   :      @tab IX
35882       MP2 (MPEG audio layer 2)   :  IX  @tab IX
35883               @tab encoding supported also through external library TwoLAME
35884
35885       MP3 (MPEG audio layer 3)   :   E  @tab IX
35886               @tab encoding supported through external library LAME, ADU MP3 and MP3onMP4 also supported
35887
35888       MPEG-4 Audio Lossless Coding (ALS)   :      @tab  X
35889       Musepack SV7            :      @tab  X
35890       Musepack SV8            :      @tab  X
35891       Nellymoser Asao         :   X  @tab  X
35892       On2 AVC (Audio for Video Codec)  :      @tab  X
35893       Opus                    :   E  @tab  X
35894               @tab encoding supported through external library libopus
35895
35896       PCM A-law               :   X  @tab  X
35897       PCM mu-law              :   X  @tab  X
35898       PCM Archimedes VIDC     :   X  @tab  X
35899       PCM signed 8-bit planar   :   X  @tab  X
35900       PCM signed 16-bit big-endian planar   :   X  @tab  X
35901       PCM signed 16-bit little-endian planar   :   X  @tab  X
35902       PCM signed 24-bit little-endian planar   :   X  @tab  X
35903       PCM signed 32-bit little-endian planar   :   X  @tab  X
35904       PCM 32-bit floating point big-endian   :   X  @tab  X
35905       PCM 32-bit floating point little-endian   :   X  @tab  X
35906       PCM 64-bit floating point big-endian   :   X  @tab  X
35907       PCM 64-bit floating point little-endian   :   X  @tab  X
35908       PCM D-Cinema audio signed 24-bit    :   X  @tab  X
35909       PCM signed 8-bit        :   X  @tab  X
35910       PCM signed 16-bit big-endian   :   X  @tab  X
35911       PCM signed 16-bit little-endian   :   X  @tab  X
35912       PCM signed 24-bit big-endian   :   X  @tab  X
35913       PCM signed 24-bit little-endian   :   X  @tab  X
35914       PCM signed 32-bit big-endian   :   X  @tab  X
35915       PCM signed 32-bit little-endian   :   X  @tab  X
35916       PCM signed 16/20/24-bit big-endian in MPEG-TS   :      @tab  X
35917       PCM unsigned 8-bit      :   X  @tab  X
35918       PCM unsigned 16-bit big-endian   :   X  @tab  X
35919       PCM unsigned 16-bit little-endian   :   X  @tab  X
35920       PCM unsigned 24-bit big-endian   :   X  @tab  X
35921       PCM unsigned 24-bit little-endian   :   X  @tab  X
35922       PCM unsigned 32-bit big-endian   :   X  @tab  X
35923       PCM unsigned 32-bit little-endian   :   X  @tab  X
35924       QCELP / PureVoice       :      @tab  X
35925       QDesign Music Codec 1   :      @tab  X
35926       QDesign Music Codec 2   :      @tab  X
35927               @tab There are still some distortions.
35928
35929       RealAudio 1.0 (14.4K)   :   X  @tab  X
35930               @tab Real 14400 bit/s codec
35931
35932       RealAudio 2.0 (28.8K)   :      @tab  X
35933               @tab Real 28800 bit/s codec
35934
35935       RealAudio 3.0 (dnet)    :  IX  @tab  X
35936               @tab Real low bitrate AC-3 codec
35937
35938       RealAudio Lossless      :      @tab  X
35939       RealAudio SIPR / ACELP.NET  :      @tab  X
35940       SBC (low-complexity subband codec)  :   X  @tab  X
35941               @tab Used in Bluetooth A2DP
35942
35943       Shorten                 :      @tab  X
35944       Sierra VMD audio        :      @tab  X
35945               @tab Used in Sierra VMD files.
35946
35947       Smacker audio           :      @tab  X
35948       SMPTE 302M AES3 audio   :   X  @tab  X
35949       Sonic                   :   X  @tab  X
35950               @tab experimental codec
35951
35952       Sonic lossless          :   X  @tab  X
35953               @tab experimental codec
35954
35955       Speex                   :   E  @tab  EX
35956               @tab supported through external library libspeex
35957
35958       TAK (Tom's lossless Audio Kompressor)   :      @tab  X
35959       True Audio (TTA)        :   X  @tab  X
35960       TrueHD                  :   X  @tab  X
35961               @tab Used in HD-DVD and Blu-Ray discs.
35962
35963       TwinVQ (VQF flavor)     :      @tab  X
35964       VIMA                    :      @tab  X
35965               @tab Used in LucasArts SMUSH animations.
35966
35967       Vorbis                  :   E  @tab  X
35968               @tab A native but very primitive encoder exists.
35969
35970       Voxware MetaSound       :      @tab  X
35971       WavPack                 :   X  @tab  X
35972       Westwood Audio (SND1)   :      @tab  X
35973       Windows Media Audio 1   :   X  @tab  X
35974       Windows Media Audio 2   :   X  @tab  X
35975       Windows Media Audio Lossless  :   @tab  X
35976       Windows Media Audio Pro  :     @tab  X
35977       Windows Media Audio Voice  :   @tab  X
35978       Xbox Media Audio 1      :      @tab  X
35979       Xbox Media Audio 2      :      @tab  X
35980
35981       "X" means that the feature in that column (encoding / decoding) is
35982       supported.
35983
35984       "E" means that support is provided through an external library.
35985
35986       "I" means that an integer-only version is available, too (ensures high
35987       performance on systems without hardware floating point support).
35988
35989   Subtitle Formats
35990       Name  :  Muxing @tab Demuxing @tab Encoding @tab Decoding
35991       3GPP Timed Text   :    @tab   @tab X @tab X
35992       AQTitle           :    @tab X @tab   @tab X
35993       DVB               :  X @tab X @tab X @tab X
35994       DVB teletext      :    @tab X @tab   @tab E
35995       DVD               :  X @tab X @tab X @tab X
35996       JACOsub           :  X @tab X @tab   @tab X
35997       MicroDVD          :  X @tab X @tab   @tab X
35998       MPL2              :    @tab X @tab   @tab X
35999       MPsub (MPlayer)   :    @tab X @tab   @tab X
36000       PGS               :    @tab   @tab   @tab X
36001       PJS (Phoenix)     :    @tab X @tab   @tab X
36002       RealText          :    @tab X @tab   @tab X
36003       SAMI              :    @tab X @tab   @tab X
36004       Spruce format (STL)  :    @tab X @tab   @tab X
36005       SSA/ASS           :  X @tab X @tab X @tab X
36006       SubRip (SRT)      :  X @tab X @tab X @tab X
36007       SubViewer v1      :    @tab X @tab   @tab X
36008       SubViewer         :    @tab X @tab   @tab X
36009       TED Talks captions  :  @tab X @tab   @tab X
36010       TTML              :  X @tab   @tab X @tab
36011       VobSub (IDX+SUB)  :    @tab X @tab   @tab X
36012       VPlayer           :    @tab X @tab   @tab X
36013       WebVTT            :  X @tab X @tab X @tab X
36014       XSUB              :    @tab   @tab X @tab X
36015
36016       "X" means that the feature is supported.
36017
36018       "E" means that support is provided through an external library.
36019
36020   Network Protocols
36021       Name          :  Support
36022       AMQP          :  E
36023       file          :  X
36024       FTP           :  X
36025       Gopher        :  X
36026       Gophers       :  X
36027       HLS           :  X
36028       HTTP          :  X
36029       HTTPS         :  X
36030       Icecast       :  X
36031       MMSH          :  X
36032       MMST          :  X
36033       pipe          :  X
36034       Pro-MPEG FEC  :  X
36035       RTMP          :  X
36036       RTMPE         :  X
36037       RTMPS         :  X
36038       RTMPT         :  X
36039       RTMPTE        :  X
36040       RTMPTS        :  X
36041       RTP           :  X
36042       SAMBA         :  E
36043       SCTP          :  X
36044       SFTP          :  E
36045       TCP           :  X
36046       TLS           :  X
36047       UDP           :  X
36048       ZMQ           :  E
36049
36050       "X" means that the protocol is supported.
36051
36052       "E" means that support is provided through an external library.
36053
36054   Input/Output Devices
36055       Name               :  Input  @tab Output
36056       ALSA               :  X      @tab X
36057       BKTR               :  X      @tab
36058       caca               :         @tab X
36059       DV1394             :  X      @tab
36060       Lavfi virtual device  :  X   @tab
36061       Linux framebuffer  :  X      @tab X
36062       JACK               :  X      @tab
36063       LIBCDIO            :  X
36064       LIBDC1394          :  X      @tab
36065       OpenAL             :  X
36066       OpenGL             :         @tab X
36067       OSS                :  X      @tab X
36068       PulseAudio         :  X      @tab X
36069       SDL                :         @tab X
36070       Video4Linux2       :  X      @tab X
36071       VfW capture        :  X      @tab
36072       X11 grabbing       :  X      @tab
36073       Win32 grabbing     :  X      @tab
36074
36075       "X" means that input/output is supported.
36076
36077   Timecode
36078       Codec/format       :  Read   @tab Write
36079       AVI                :  X      @tab X
36080       DV                 :  X      @tab X
36081       GXF                :  X      @tab X
36082       MOV                :  X      @tab X
36083       MPEG1/2            :  X      @tab X
36084       MXF                :  X      @tab X
36085

SEE ALSO

36087       ffprobe(1), ffmpeg(1), ffplay(1), ffmpeg-utils(1), ffmpeg-scaler(1),
36088       ffmpeg-resampler(1), ffmpeg-codecs(1), ffmpeg-bitstream-filters(1),
36089       ffmpeg-formats(1), ffmpeg-devices(1), ffmpeg-protocols(1),
36090       ffmpeg-filters(1)
36091

AUTHORS

36093       The FFmpeg developers.
36094
36095       For details about the authorship, see the Git history of the project
36096       (git://source.ffmpeg.org/ffmpeg), e.g. by typing the command git log in
36097       the FFmpeg source directory, or browsing the online repository at
36098       <http://source.ffmpeg.org>.
36099
36100       Maintainers for the specific components are listed in the file
36101       MAINTAINERS in the source code tree.
36102
36103
36104
36105                                                                FFPROBE-ALL(1)
Impressum