Merge commit '043b0b9fb1481053b712d06d2c5b772f1845b72b'
authorClément Bœsch <u@pkh.me>
Fri, 24 Mar 2017 10:37:44 +0000 (11:37 +0100)
committerClément Bœsch <u@pkh.me>
Fri, 24 Mar 2017 10:40:35 +0000 (11:40 +0100)
* commit '043b0b9fb1481053b712d06d2c5b772f1845b72b':
  Replace leftover uses of -aframes|-dframes|-vframes with -frames:a|d|v

The merge also includes all our own occurences.

Merged-by: Clément Bœsch <u@pkh.me>
1  2 
doc/ffmpeg.texi
tests/fate/demux.mak
tests/fate/ffmpeg.mak
tests/fate/fifo-muxer.mak
tests/fate/filter-audio.mak
tests/fate/filter-video.mak
tests/fate/h264.mak
tests/fate/pcm.mak
tests/fate/real.mak
tests/fate/video.mak

diff --cc doc/ffmpeg.texi
index 8b08e22,0000000..e72da8c
mode 100644,000000..100644
--- /dev/null
@@@ -1,1696 -1,0 +1,1699 @@@
- Set the number of data frames to output. This is an alias for @code{-frames:d}.
 +\input texinfo @c -*- texinfo -*-
 +@documentencoding UTF-8
 +
 +@settitle ffmpeg Documentation
 +@titlepage
 +@center @titlefont{ffmpeg Documentation}
 +@end titlepage
 +
 +@top
 +
 +@contents
 +
 +@chapter Synopsis
 +
 +ffmpeg [@var{global_options}] @{[@var{input_file_options}] -i @file{input_url}@} ... @{[@var{output_file_options}] @file{output_url}@} ...
 +
 +@chapter Description
 +@c man begin DESCRIPTION
 +
 +@command{ffmpeg} is a very fast video and audio converter that can also grab from
 +a live audio/video source. It can also convert between arbitrary sample
 +rates and resize video on the fly with a high quality polyphase filter.
 +
 +@command{ffmpeg} reads from an arbitrary number of input "files" (which can be regular
 +files, pipes, network streams, grabbing devices, etc.), specified by the
 +@code{-i} option, and writes to an arbitrary number of output "files", which are
 +specified by a plain output url. Anything found on the command line which
 +cannot be interpreted as an option is considered to be an output url.
 +
 +Each input or output url can, in principle, contain any number of streams of
 +different types (video/audio/subtitle/attachment/data). The allowed number and/or
 +types of streams may be limited by the container format. Selecting which
 +streams from which inputs will go into which output is either done automatically
 +or with the @code{-map} option (see the Stream selection chapter).
 +
 +To refer to input files in options, you must use their indices (0-based). E.g.
 +the first input file is @code{0}, the second is @code{1}, etc. Similarly, streams
 +within a file are referred to by their indices. E.g. @code{2:3} refers to the
 +fourth stream in the third input file. Also see the Stream specifiers chapter.
 +
 +As a general rule, options are applied to the next specified
 +file. Therefore, order is important, and you can have the same
 +option on the command line multiple times. Each occurrence is
 +then applied to the next input or output file.
 +Exceptions from this rule are the global options (e.g. verbosity level),
 +which should be specified first.
 +
 +Do not mix input and output files -- first specify all input files, then all
 +output files. Also do not mix options which belong to different files. All
 +options apply ONLY to the next input or output file and are reset between files.
 +
 +@itemize
 +@item
 +To set the video bitrate of the output file to 64 kbit/s:
 +@example
 +ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi
 +@end example
 +
 +@item
 +To force the frame rate of the output file to 24 fps:
 +@example
 +ffmpeg -i input.avi -r 24 output.avi
 +@end example
 +
 +@item
 +To force the frame rate of the input file (valid for raw formats only)
 +to 1 fps and the frame rate of the output file to 24 fps:
 +@example
 +ffmpeg -r 1 -i input.m2v -r 24 output.avi
 +@end example
 +@end itemize
 +
 +The format option may be needed for raw input files.
 +
 +@c man end DESCRIPTION
 +
 +@chapter Detailed description
 +@c man begin DETAILED DESCRIPTION
 +
 +The transcoding process in @command{ffmpeg} for each output can be described by
 +the following diagram:
 +
 +@verbatim
 + _______              ______________
 +|       |            |              |
 +| input |  demuxer   | encoded data |   decoder
 +| file  | ---------> | packets      | -----+
 +|_______|            |______________|      |
 +                                           v
 +                                       _________
 +                                      |         |
 +                                      | decoded |
 +                                      | frames  |
 +                                      |_________|
 + ________             ______________       |
 +|        |           |              |      |
 +| output | <-------- | encoded data | <----+
 +| file   |   muxer   | packets      |   encoder
 +|________|           |______________|
 +
 +
 +@end verbatim
 +
 +@command{ffmpeg} calls the libavformat library (containing demuxers) to read
 +input files and get packets containing encoded data from them. When there are
 +multiple input files, @command{ffmpeg} tries to keep them synchronized by
 +tracking lowest timestamp on any active input stream.
 +
 +Encoded packets are then passed to the decoder (unless streamcopy is selected
 +for the stream, see further for a description). The decoder produces
 +uncompressed frames (raw video/PCM audio/...) which can be processed further by
 +filtering (see next section). After filtering, the frames are passed to the
 +encoder, which encodes them and outputs encoded packets. Finally those are
 +passed to the muxer, which writes the encoded packets to the output file.
 +
 +@section Filtering
 +Before encoding, @command{ffmpeg} can process raw audio and video frames using
 +filters from the libavfilter library. Several chained filters form a filter
 +graph. @command{ffmpeg} distinguishes between two types of filtergraphs:
 +simple and complex.
 +
 +@subsection Simple filtergraphs
 +Simple filtergraphs are those that have exactly one input and output, both of
 +the same type. In the above diagram they can be represented by simply inserting
 +an additional step between decoding and encoding:
 +
 +@verbatim
 + _________                        ______________
 +|         |                      |              |
 +| decoded |                      | encoded data |
 +| frames  |\                   _ | packets      |
 +|_________| \                  /||______________|
 +             \   __________   /
 +  simple     _\||          | /  encoder
 +  filtergraph   | filtered |/
 +                | frames   |
 +                |__________|
 +
 +@end verbatim
 +
 +Simple filtergraphs are configured with the per-stream @option{-filter} option
 +(with @option{-vf} and @option{-af} aliases for video and audio respectively).
 +A simple filtergraph for video can look for example like this:
 +
 +@verbatim
 + _______        _____________        _______        ________
 +|       |      |             |      |       |      |        |
 +| input | ---> | deinterlace | ---> | scale | ---> | output |
 +|_______|      |_____________|      |_______|      |________|
 +
 +@end verbatim
 +
 +Note that some filters change frame properties but not frame contents. E.g. the
 +@code{fps} filter in the example above changes number of frames, but does not
 +touch the frame contents. Another example is the @code{setpts} filter, which
 +only sets timestamps and otherwise passes the frames unchanged.
 +
 +@subsection Complex filtergraphs
 +Complex filtergraphs are those which cannot be described as simply a linear
 +processing chain applied to one stream. This is the case, for example, when the graph has
 +more than one input and/or output, or when output stream type is different from
 +input. They can be represented with the following diagram:
 +
 +@verbatim
 + _________
 +|         |
 +| input 0 |\                    __________
 +|_________| \                  |          |
 +             \   _________    /| output 0 |
 +              \ |         |  / |__________|
 + _________     \| complex | /
 +|         |     |         |/
 +| input 1 |---->| filter  |\
 +|_________|     |         | \   __________
 +               /| graph   |  \ |          |
 +              / |         |   \| output 1 |
 + _________   /  |_________|    |__________|
 +|         | /
 +| input 2 |/
 +|_________|
 +
 +@end verbatim
 +
 +Complex filtergraphs are configured with the @option{-filter_complex} option.
 +Note that this option is global, since a complex filtergraph, by its nature,
 +cannot be unambiguously associated with a single stream or file.
 +
 +The @option{-lavfi} option is equivalent to @option{-filter_complex}.
 +
 +A trivial example of a complex filtergraph is the @code{overlay} filter, which
 +has two video inputs and one video output, containing one video overlaid on top
 +of the other. Its audio counterpart is the @code{amix} filter.
 +
 +@section Stream copy
 +Stream copy is a mode selected by supplying the @code{copy} parameter to the
 +@option{-codec} option. It makes @command{ffmpeg} omit the decoding and encoding
 +step for the specified stream, so it does only demuxing and muxing. It is useful
 +for changing the container format or modifying container-level metadata. The
 +diagram above will, in this case, simplify to this:
 +
 +@verbatim
 + _______              ______________            ________
 +|       |            |              |          |        |
 +| input |  demuxer   | encoded data |  muxer   | output |
 +| file  | ---------> | packets      | -------> | file   |
 +|_______|            |______________|          |________|
 +
 +@end verbatim
 +
 +Since there is no decoding or encoding, it is very fast and there is no quality
 +loss. However, it might not work in some cases because of many factors. Applying
 +filters is obviously also impossible, since filters work on uncompressed data.
 +
 +@c man end DETAILED DESCRIPTION
 +
 +@chapter Stream selection
 +@c man begin STREAM SELECTION
 +
 +By default, @command{ffmpeg} includes only one stream of each type (video, audio, subtitle)
 +present in the input files and adds them to each output file.  It picks the
 +"best" of each based upon the following criteria: for video, it is the stream
 +with the highest resolution, for audio, it is the stream with the most channels, for
 +subtitles, it is the first subtitle stream. In the case where several streams of
 +the same type rate equally, the stream with the lowest index is chosen.
 +
 +You can disable some of those defaults by using the @code{-vn/-an/-sn/-dn} options. For
 +full manual control, use the @code{-map} option, which disables the defaults just
 +described.
 +
 +@c man end STREAM SELECTION
 +
 +@chapter Options
 +@c man begin OPTIONS
 +
 +@include fftools-common-opts.texi
 +
 +@section Main options
 +
 +@table @option
 +
 +@item -f @var{fmt} (@emph{input/output})
 +Force input or output file format. The format is normally auto detected for input
 +files and guessed from the file extension for output files, so this option is not
 +needed in most cases.
 +
 +@item -i @var{url} (@emph{input})
 +input file url
 +
 +@item -y (@emph{global})
 +Overwrite output files without asking.
 +
 +@item -n (@emph{global})
 +Do not overwrite output files, and exit immediately if a specified
 +output file already exists.
 +
 +@item -stream_loop @var{number} (@emph{input})
 +Set number of times input stream shall be looped. Loop 0 means no loop,
 +loop -1 means infinite loop.
 +
 +@item -c[:@var{stream_specifier}] @var{codec} (@emph{input/output,per-stream})
 +@itemx -codec[:@var{stream_specifier}] @var{codec} (@emph{input/output,per-stream})
 +Select an encoder (when used before an output file) or a decoder (when used
 +before an input file) for one or more streams. @var{codec} is the name of a
 +decoder/encoder or a special value @code{copy} (output only) to indicate that
 +the stream is not to be re-encoded.
 +
 +For example
 +@example
 +ffmpeg -i INPUT -map 0 -c:v libx264 -c:a copy OUTPUT
 +@end example
 +encodes all video streams with libx264 and copies all audio streams.
 +
 +For each stream, the last matching @code{c} option is applied, so
 +@example
 +ffmpeg -i INPUT -map 0 -c copy -c:v:1 libx264 -c:a:137 libvorbis OUTPUT
 +@end example
 +will copy all the streams except the second video, which will be encoded with
 +libx264, and the 138th audio, which will be encoded with libvorbis.
 +
 +@item -t @var{duration} (@emph{input/output})
 +When used as an input option (before @code{-i}), limit the @var{duration} of
 +data read from the input file.
 +
 +When used as an output option (before an output url), stop writing the
 +output after its duration reaches @var{duration}.
 +
 +@var{duration} must be a time duration specification,
 +see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils}.
 +
 +-to and -t are mutually exclusive and -t has priority.
 +
 +@item -to @var{position} (@emph{output})
 +Stop writing the output at @var{position}.
 +@var{position} must be a time duration specification,
 +see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils}.
 +
 +-to and -t are mutually exclusive and -t has priority.
 +
 +@item -fs @var{limit_size} (@emph{output})
 +Set the file size limit, expressed in bytes. No further chunk of bytes is written
 +after the limit is exceeded. The size of the output file is slightly more than the
 +requested file size.
 +
 +@item -ss @var{position} (@emph{input/output})
 +When used as an input option (before @code{-i}), seeks in this input file to
 +@var{position}. Note that in most formats it is not possible to seek exactly,
 +so @command{ffmpeg} will seek to the closest seek point before @var{position}.
 +When transcoding and @option{-accurate_seek} is enabled (the default), this
 +extra segment between the seek point and @var{position} will be decoded and
 +discarded. When doing stream copy or when @option{-noaccurate_seek} is used, it
 +will be preserved.
 +
 +When used as an output option (before an output url), decodes but discards
 +input until the timestamps reach @var{position}.
 +
 +@var{position} must be a time duration specification,
 +see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils}.
 +
 +@item -sseof @var{position} (@emph{input/output})
 +
 +Like the @code{-ss} option but relative to the "end of file". That is negative
 +values are earlier in the file, 0 is at EOF.
 +
 +@item -itsoffset @var{offset} (@emph{input})
 +Set the input time offset.
 +
 +@var{offset} must be a time duration specification,
 +see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils}.
 +
 +The offset is added to the timestamps of the input files. Specifying
 +a positive offset means that the corresponding streams are delayed by
 +the time duration specified in @var{offset}.
 +
 +@item -timestamp @var{date} (@emph{output})
 +Set the recording timestamp in the container.
 +
 +@var{date} must be a date specification,
 +see @ref{date syntax,,the Date section in the ffmpeg-utils(1) manual,ffmpeg-utils}.
 +
 +@item -metadata[:metadata_specifier] @var{key}=@var{value} (@emph{output,per-metadata})
 +Set a metadata key/value pair.
 +
 +An optional @var{metadata_specifier} may be given to set metadata
 +on streams, chapters or programs. See @code{-map_metadata}
 +documentation for details.
 +
 +This option overrides metadata set with @code{-map_metadata}. It is
 +also possible to delete metadata by using an empty value.
 +
 +For example, for setting the title in the output file:
 +@example
 +ffmpeg -i in.avi -metadata title="my title" out.flv
 +@end example
 +
 +To set the language of the first audio stream:
 +@example
 +ffmpeg -i INPUT -metadata:s:a:0 language=eng OUTPUT
 +@end example
 +
 +@item -disposition[:stream_specifier] @var{value} (@emph{output,per-stream})
 +Sets the disposition for a stream.
 +
 +This option overrides the disposition copied from the input stream. It is also
 +possible to delete the disposition by setting it to 0.
 +
 +The following dispositions are recognized:
 +@table @option
 +@item default
 +@item dub
 +@item original
 +@item comment
 +@item lyrics
 +@item karaoke
 +@item forced
 +@item hearing_impaired
 +@item visual_impaired
 +@item clean_effects
 +@item captions
 +@item descriptions
 +@item metadata
 +@end table
 +
 +For example, to make the second audio stream the default stream:
 +@example
 +ffmpeg -i in.mkv -disposition:a:1 default out.mkv
 +@end example
 +
 +To make the second subtitle stream the default stream and remove the default
 +disposition from the first subtitle stream:
 +@example
 +ffmpeg -i INPUT -disposition:s:0 0 -disposition:s:1 default OUTPUT
 +@end example
 +
 +@item -program [title=@var{title}:][program_num=@var{program_num}:]st=@var{stream}[:st=@var{stream}...] (@emph{output})
 +
 +Creates a program with the specified @var{title}, @var{program_num} and adds the specified
 +@var{stream}(s) to it.
 +
 +@item -target @var{type} (@emph{output})
 +Specify target file type (@code{vcd}, @code{svcd}, @code{dvd}, @code{dv},
 +@code{dv50}). @var{type} may be prefixed with @code{pal-}, @code{ntsc-} or
 +@code{film-} to use the corresponding standard. All the format options
 +(bitrate, codecs, buffer sizes) are then set automatically. You can just type:
 +
 +@example
 +ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg
 +@end example
 +
 +Nevertheless you can specify additional options as long as you know
 +they do not conflict with the standard, as in:
 +
 +@example
 +ffmpeg -i myfile.avi -target vcd -bf 2 /tmp/vcd.mpg
 +@end example
 +
 +@item -dframes @var{number} (@emph{output})
- Set the number of video frames to output. This is an alias for @code{-frames:v}.
++Set the number of data frames to output. This is an obsolete alias for
++@code{-frames:d}, which you should use instead.
 +
 +@item -frames[:@var{stream_specifier}] @var{framecount} (@emph{output,per-stream})
 +Stop writing to the stream after @var{framecount} frames.
 +
 +@item -q[:@var{stream_specifier}] @var{q} (@emph{output,per-stream})
 +@itemx -qscale[:@var{stream_specifier}] @var{q} (@emph{output,per-stream})
 +Use fixed quality scale (VBR). The meaning of @var{q}/@var{qscale} is
 +codec-dependent.
 +If @var{qscale} is used without a @var{stream_specifier} then it applies only
 +to the video stream, this is to maintain compatibility with previous behavior
 +and as specifying the same codec specific value to 2 different codecs that is
 +audio and video generally is not what is intended when no stream_specifier is
 +used.
 +
 +@anchor{filter_option}
 +@item -filter[:@var{stream_specifier}] @var{filtergraph} (@emph{output,per-stream})
 +Create the filtergraph specified by @var{filtergraph} and use it to
 +filter the stream.
 +
 +@var{filtergraph} is a description of the filtergraph to apply to
 +the stream, and must have a single input and a single output of the
 +same type of the stream. In the filtergraph, the input is associated
 +to the label @code{in}, and the output to the label @code{out}. See
 +the ffmpeg-filters manual for more information about the filtergraph
 +syntax.
 +
 +See the @ref{filter_complex_option,,-filter_complex option} if you
 +want to create filtergraphs with multiple inputs and/or outputs.
 +
 +@item -filter_script[:@var{stream_specifier}] @var{filename} (@emph{output,per-stream})
 +This option is similar to @option{-filter}, the only difference is that its
 +argument is the name of the file from which a filtergraph description is to be
 +read.
 +
 +@item -filter_threads @var{nb_threads} (@emph{global})
 +Defines how many threads are used to process a filter pipeline. Each pipeline
 +will produce a thread pool with this many threads available for parallel processing.
 +The default is the number of available CPUs.
 +
 +@item -pre[:@var{stream_specifier}] @var{preset_name} (@emph{output,per-stream})
 +Specify the preset for matching stream(s).
 +
 +@item -stats (@emph{global})
 +Print encoding progress/statistics. It is on by default, to explicitly
 +disable it you need to specify @code{-nostats}.
 +
 +@item -progress @var{url} (@emph{global})
 +Send program-friendly progress information to @var{url}.
 +
 +Progress information is written approximately every second and at the end of
 +the encoding process. It is made of "@var{key}=@var{value}" lines. @var{key}
 +consists of only alphanumeric characters. The last key of a sequence of
 +progress information is always "progress".
 +
 +@item -stdin
 +Enable interaction on standard input. On by default unless standard input is
 +used as an input. To explicitly disable interaction you need to specify
 +@code{-nostdin}.
 +
 +Disabling interaction on standard input is useful, for example, if
 +ffmpeg is in the background process group. Roughly the same result can
 +be achieved with @code{ffmpeg ... < /dev/null} but it requires a
 +shell.
 +
 +@item -debug_ts (@emph{global})
 +Print timestamp information. It is off by default. This option is
 +mostly useful for testing and debugging purposes, and the output
 +format may change from one version to another, so it should not be
 +employed by portable scripts.
 +
 +See also the option @code{-fdebug ts}.
 +
 +@item -attach @var{filename} (@emph{output})
 +Add an attachment to the output file. This is supported by a few formats
 +like Matroska for e.g. fonts used in rendering subtitles. Attachments
 +are implemented as a specific type of stream, so this option will add
 +a new stream to the file. It is then possible to use per-stream options
 +on this stream in the usual way. Attachment streams created with this
 +option will be created after all the other streams (i.e. those created
 +with @code{-map} or automatic mappings).
 +
 +Note that for Matroska you also have to set the mimetype metadata tag:
 +@example
 +ffmpeg -i INPUT -attach DejaVuSans.ttf -metadata:s:2 mimetype=application/x-truetype-font out.mkv
 +@end example
 +(assuming that the attachment stream will be third in the output file).
 +
 +@item -dump_attachment[:@var{stream_specifier}] @var{filename} (@emph{input,per-stream})
 +Extract the matching attachment stream into a file named @var{filename}. If
 +@var{filename} is empty, then the value of the @code{filename} metadata tag
 +will be used.
 +
 +E.g. to extract the first attachment to a file named 'out.ttf':
 +@example
 +ffmpeg -dump_attachment:t:0 out.ttf -i INPUT
 +@end example
 +To extract all attachments to files determined by the @code{filename} tag:
 +@example
 +ffmpeg -dump_attachment:t "" -i INPUT
 +@end example
 +
 +Technical note -- attachments are implemented as codec extradata, so this
 +option can actually be used to extract extradata from any stream, not just
 +attachments.
 +
 +@item -noautorotate
 +Disable automatically rotating video based on file metadata.
 +
 +@end table
 +
 +@section Video Options
 +
 +@table @option
 +@item -vframes @var{number} (@emph{output})
- Set the number of audio frames to output. This is an alias for @code{-frames:a}.
++Set the number of video frames to output. This is an obsolete alias for
++@code{-frames:v}, which you should use instead.
 +@item -r[:@var{stream_specifier}] @var{fps} (@emph{input/output,per-stream})
 +Set frame rate (Hz value, fraction or abbreviation).
 +
 +As an input option, ignore any timestamps stored in the file and instead
 +generate timestamps assuming constant frame rate @var{fps}.
 +This is not the same as the @option{-framerate} option used for some input formats
 +like image2 or v4l2 (it used to be the same in older versions of FFmpeg).
 +If in doubt use @option{-framerate} instead of the input option @option{-r}.
 +
 +As an output option, duplicate or drop input frames to achieve constant output
 +frame rate @var{fps}.
 +
 +@item -s[:@var{stream_specifier}] @var{size} (@emph{input/output,per-stream})
 +Set frame size.
 +
 +As an input option, this is a shortcut for the @option{video_size} private
 +option, recognized by some demuxers for which the frame size is either not
 +stored in the file or is configurable -- e.g. raw video or video grabbers.
 +
 +As an output option, this inserts the @code{scale} video filter to the
 +@emph{end} of the corresponding filtergraph. Please use the @code{scale} filter
 +directly to insert it at the beginning or some other place.
 +
 +The format is @samp{wxh} (default - same as source).
 +
 +@item -aspect[:@var{stream_specifier}] @var{aspect} (@emph{output,per-stream})
 +Set the video display aspect ratio specified by @var{aspect}.
 +
 +@var{aspect} can be a floating point number string, or a string of the
 +form @var{num}:@var{den}, where @var{num} and @var{den} are the
 +numerator and denominator of the aspect ratio. For example "4:3",
 +"16:9", "1.3333", and "1.7777" are valid argument values.
 +
 +If used together with @option{-vcodec copy}, it will affect the aspect ratio
 +stored at container level, but not the aspect ratio stored in encoded
 +frames, if it exists.
 +
 +@item -vn (@emph{output})
 +Disable video recording.
 +
 +@item -vcodec @var{codec} (@emph{output})
 +Set the video codec. This is an alias for @code{-codec:v}.
 +
 +@item -pass[:@var{stream_specifier}] @var{n} (@emph{output,per-stream})
 +Select the pass number (1 or 2). It is used to do two-pass
 +video encoding. The statistics of the video are recorded in the first
 +pass into a log file (see also the option -passlogfile),
 +and in the second pass that log file is used to generate the video
 +at the exact requested bitrate.
 +On pass 1, you may just deactivate audio and set output to null,
 +examples for Windows and Unix:
 +@example
 +ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y NUL
 +ffmpeg -i foo.mov -c:v libxvid -pass 1 -an -f rawvideo -y /dev/null
 +@end example
 +
 +@item -passlogfile[:@var{stream_specifier}] @var{prefix} (@emph{output,per-stream})
 +Set two-pass log file name prefix to @var{prefix}, the default file name
 +prefix is ``ffmpeg2pass''. The complete file name will be
 +@file{PREFIX-N.log}, where N is a number specific to the output
 +stream
 +
 +@item -vf @var{filtergraph} (@emph{output})
 +Create the filtergraph specified by @var{filtergraph} and use it to
 +filter the stream.
 +
 +This is an alias for @code{-filter:v}, see the @ref{filter_option,,-filter option}.
 +@end table
 +
 +@section Advanced Video options
 +
 +@table @option
 +@item -pix_fmt[:@var{stream_specifier}] @var{format} (@emph{input/output,per-stream})
 +Set pixel format. Use @code{-pix_fmts} to show all the supported
 +pixel formats.
 +If the selected pixel format can not be selected, ffmpeg will print a
 +warning and select the best pixel format supported by the encoder.
 +If @var{pix_fmt} is prefixed by a @code{+}, ffmpeg will exit with an error
 +if the requested pixel format can not be selected, and automatic conversions
 +inside filtergraphs are disabled.
 +If @var{pix_fmt} is a single @code{+}, ffmpeg selects the same pixel format
 +as the input (or graph output) and automatic conversions are disabled.
 +
 +@item -sws_flags @var{flags} (@emph{input/output})
 +Set SwScaler flags.
 +@item -vdt @var{n}
 +Discard threshold.
 +
 +@item -rc_override[:@var{stream_specifier}] @var{override} (@emph{output,per-stream})
 +Rate control override for specific intervals, formatted as "int,int,int"
 +list separated with slashes. Two first values are the beginning and
 +end frame numbers, last one is quantizer to use if positive, or quality
 +factor if negative.
 +
 +@item -ilme
 +Force interlacing support in encoder (MPEG-2 and MPEG-4 only).
 +Use this option if your input file is interlaced and you want
 +to keep the interlaced format for minimum losses.
 +The alternative is to deinterlace the input stream with
 +@option{-deinterlace}, but deinterlacing introduces losses.
 +@item -psnr
 +Calculate PSNR of compressed frames.
 +@item -vstats
 +Dump video coding statistics to @file{vstats_HHMMSS.log}.
 +@item -vstats_file @var{file}
 +Dump video coding statistics to @var{file}.
 +@item -vstats_version @var{file}
 +Specifies which version of the vstats format to use. Default is 2.
 +
 +version = 1 :
 +
 +@code{frame= %5d q= %2.1f PSNR= %6.2f f_size= %6d s_size= %8.0fkB time= %0.3f br= %7.1fkbits/s avg_br= %7.1fkbits/s}
 +
 +version > 1:
 +
 +@code{out= %2d st= %2d frame= %5d q= %2.1f PSNR= %6.2f f_size= %6d s_size= %8.0fkB time= %0.3f br= %7.1fkbits/s avg_br= %7.1fkbits/s}
 +@item -top[:@var{stream_specifier}] @var{n} (@emph{output,per-stream})
 +top=1/bottom=0/auto=-1 field first
 +@item -dc @var{precision}
 +Intra_dc_precision.
 +@item -vtag @var{fourcc/tag} (@emph{output})
 +Force video tag/fourcc. This is an alias for @code{-tag:v}.
 +@item -qphist (@emph{global})
 +Show QP histogram
 +@item -vbsf @var{bitstream_filter}
 +Deprecated see -bsf
 +
 +@item -force_key_frames[:@var{stream_specifier}] @var{time}[,@var{time}...] (@emph{output,per-stream})
 +@item -force_key_frames[:@var{stream_specifier}] expr:@var{expr} (@emph{output,per-stream})
 +Force key frames at the specified timestamps, more precisely at the first
 +frames after each specified time.
 +
 +If the argument is prefixed with @code{expr:}, the string @var{expr}
 +is interpreted like an expression and is evaluated for each frame. A
 +key frame is forced in case the evaluation is non-zero.
 +
 +If one of the times is "@code{chapters}[@var{delta}]", it is expanded into
 +the time of the beginning of all chapters in the file, shifted by
 +@var{delta}, expressed as a time in seconds.
 +This option can be useful to ensure that a seek point is present at a
 +chapter mark or any other designated place in the output file.
 +
 +For example, to insert a key frame at 5 minutes, plus key frames 0.1 second
 +before the beginning of every chapter:
 +@example
 +-force_key_frames 0:05:00,chapters-0.1
 +@end example
 +
 +The expression in @var{expr} can contain the following constants:
 +@table @option
 +@item n
 +the number of current processed frame, starting from 0
 +@item n_forced
 +the number of forced frames
 +@item prev_forced_n
 +the number of the previous forced frame, it is @code{NAN} when no
 +keyframe was forced yet
 +@item prev_forced_t
 +the time of the previous forced frame, it is @code{NAN} when no
 +keyframe was forced yet
 +@item t
 +the time of the current processed frame
 +@end table
 +
 +For example to force a key frame every 5 seconds, you can specify:
 +@example
 +-force_key_frames expr:gte(t,n_forced*5)
 +@end example
 +
 +To force a key frame 5 seconds after the time of the last forced one,
 +starting from second 13:
 +@example
 +-force_key_frames expr:if(isnan(prev_forced_t),gte(t,13),gte(t,prev_forced_t+5))
 +@end example
 +
 +Note that forcing too many keyframes is very harmful for the lookahead
 +algorithms of certain encoders: using fixed-GOP options or similar
 +would be more efficient.
 +
 +@item -copyinkf[:@var{stream_specifier}] (@emph{output,per-stream})
 +When doing stream copy, copy also non-key frames found at the
 +beginning.
 +
 +@item -hwaccel[:@var{stream_specifier}] @var{hwaccel} (@emph{input,per-stream})
 +Use hardware acceleration to decode the matching stream(s). The allowed values
 +of @var{hwaccel} are:
 +@table @option
 +@item none
 +Do not use any hardware acceleration (the default).
 +
 +@item auto
 +Automatically select the hardware acceleration method.
 +
 +@item vda
 +Use Apple VDA hardware acceleration.
 +
 +@item vdpau
 +Use VDPAU (Video Decode and Presentation API for Unix) hardware acceleration.
 +
 +@item dxva2
 +Use DXVA2 (DirectX Video Acceleration) hardware acceleration.
 +
 +@item qsv
 +Use the Intel QuickSync Video acceleration for video transcoding.
 +
 +Unlike most other values, this option does not enable accelerated decoding (that
 +is used automatically whenever a qsv decoder is selected), but accelerated
 +transcoding, without copying the frames into the system memory.
 +
 +For it to work, both the decoder and the encoder must support QSV acceleration
 +and no filters must be used.
 +@end table
 +
 +This option has no effect if the selected hwaccel is not available or not
 +supported by the chosen decoder.
 +
 +Note that most acceleration methods are intended for playback and will not be
 +faster than software decoding on modern CPUs. Additionally, @command{ffmpeg}
 +will usually need to copy the decoded frames from the GPU memory into the system
 +memory, resulting in further performance loss. This option is thus mainly
 +useful for testing.
 +
 +@item -hwaccel_device[:@var{stream_specifier}] @var{hwaccel_device} (@emph{input,per-stream})
 +Select a device to use for hardware acceleration.
 +
 +This option only makes sense when the @option{-hwaccel} option is also
 +specified. Its exact meaning depends on the specific hardware acceleration
 +method chosen.
 +
 +@table @option
 +@item vdpau
 +For VDPAU, this option specifies the X11 display/screen to use. If this option
 +is not specified, the value of the @var{DISPLAY} environment variable is used
 +
 +@item dxva2
 +For DXVA2, this option should contain the number of the display adapter to use.
 +If this option is not specified, the default adapter is used.
 +
 +@item qsv
 +For QSV, this option corresponds to the values of MFX_IMPL_* . Allowed values
 +are:
 +@table @option
 +@item auto
 +@item sw
 +@item hw
 +@item auto_any
 +@item hw_any
 +@item hw2
 +@item hw3
 +@item hw4
 +@end table
 +@end table
 +
 +@item -hwaccels
 +List all hardware acceleration methods supported in this build of ffmpeg.
 +
 +@end table
 +
 +@section Audio Options
 +
 +@table @option
 +@item -aframes @var{number} (@emph{output})
- above command in combination with the -vframes or -t option, or in
- combination with -ss to start extracting from a certain point in time.
++Set the number of audio frames to output. This is an obsolete alias for
++@code{-frames:a}, which you should use instead.
 +@item -ar[:@var{stream_specifier}] @var{freq} (@emph{input/output,per-stream})
 +Set the audio sampling frequency. For output streams it is set by
 +default to the frequency of the corresponding input stream. For input
 +streams this option only makes sense for audio grabbing devices and raw
 +demuxers and is mapped to the corresponding demuxer options.
 +@item -aq @var{q} (@emph{output})
 +Set the audio quality (codec-specific, VBR). This is an alias for -q:a.
 +@item -ac[:@var{stream_specifier}] @var{channels} (@emph{input/output,per-stream})
 +Set the number of audio channels. For output streams it is set by
 +default to the number of input audio channels. For input streams
 +this option only makes sense for audio grabbing devices and raw demuxers
 +and is mapped to the corresponding demuxer options.
 +@item -an (@emph{output})
 +Disable audio recording.
 +@item -acodec @var{codec} (@emph{input/output})
 +Set the audio codec. This is an alias for @code{-codec:a}.
 +@item -sample_fmt[:@var{stream_specifier}] @var{sample_fmt} (@emph{output,per-stream})
 +Set the audio sample format. Use @code{-sample_fmts} to get a list
 +of supported sample formats.
 +
 +@item -af @var{filtergraph} (@emph{output})
 +Create the filtergraph specified by @var{filtergraph} and use it to
 +filter the stream.
 +
 +This is an alias for @code{-filter:a}, see the @ref{filter_option,,-filter option}.
 +@end table
 +
 +@section Advanced Audio options
 +
 +@table @option
 +@item -atag @var{fourcc/tag} (@emph{output})
 +Force audio tag/fourcc. This is an alias for @code{-tag:a}.
 +@item -absf @var{bitstream_filter}
 +Deprecated, see -bsf
 +@item -guess_layout_max @var{channels} (@emph{input,per-stream})
 +If some input channel layout is not known, try to guess only if it
 +corresponds to at most the specified number of channels. For example, 2
 +tells to @command{ffmpeg} to recognize 1 channel as mono and 2 channels as
 +stereo but not 6 channels as 5.1. The default is to always try to guess. Use
 +0 to disable all guessing.
 +@end table
 +
 +@section Subtitle options
 +
 +@table @option
 +@item -scodec @var{codec} (@emph{input/output})
 +Set the subtitle codec. This is an alias for @code{-codec:s}.
 +@item -sn (@emph{output})
 +Disable subtitle recording.
 +@item -sbsf @var{bitstream_filter}
 +Deprecated, see -bsf
 +@end table
 +
 +@section Advanced Subtitle options
 +
 +@table @option
 +
 +@item -fix_sub_duration
 +Fix subtitles durations. For each subtitle, wait for the next packet in the
 +same stream and adjust the duration of the first to avoid overlap. This is
 +necessary with some subtitles codecs, especially DVB subtitles, because the
 +duration in the original packet is only a rough estimate and the end is
 +actually marked by an empty subtitle frame. Failing to use this option when
 +necessary can result in exaggerated durations or muxing failures due to
 +non-monotonic timestamps.
 +
 +Note that this option will delay the output of all data until the next
 +subtitle packet is decoded: it may increase memory consumption and latency a
 +lot.
 +
 +@item -canvas_size @var{size}
 +Set the size of the canvas used to render subtitles.
 +
 +@end table
 +
 +@section Advanced options
 +
 +@table @option
 +@item -map [-]@var{input_file_id}[:@var{stream_specifier}][?][,@var{sync_file_id}[:@var{stream_specifier}]] | @var{[linklabel]} (@emph{output})
 +
 +Designate one or more input streams as a source for the output file. Each input
 +stream is identified by the input file index @var{input_file_id} and
 +the input stream index @var{input_stream_id} within the input
 +file. Both indices start at 0. If specified,
 +@var{sync_file_id}:@var{stream_specifier} sets which input stream
 +is used as a presentation sync reference.
 +
 +The first @code{-map} option on the command line specifies the
 +source for output stream 0, the second @code{-map} option specifies
 +the source for output stream 1, etc.
 +
 +A @code{-} character before the stream identifier creates a "negative" mapping.
 +It disables matching streams from already created mappings.
 +
 +A trailing @code{?} after the stream index will allow the map to be
 +optional: if the map matches no streams the map will be ignored instead
 +of failing. Note the map will still fail if an invalid input file index
 +is used; such as if the map refers to a non-existant input.
 +
 +An alternative @var{[linklabel]} form will map outputs from complex filter
 +graphs (see the @option{-filter_complex} option) to the output file.
 +@var{linklabel} must correspond to a defined output link label in the graph.
 +
 +For example, to map ALL streams from the first input file to output
 +@example
 +ffmpeg -i INPUT -map 0 output
 +@end example
 +
 +For example, if you have two audio streams in the first input file,
 +these streams are identified by "0:0" and "0:1". You can use
 +@code{-map} to select which streams to place in an output file. For
 +example:
 +@example
 +ffmpeg -i INPUT -map 0:1 out.wav
 +@end example
 +will map the input stream in @file{INPUT} identified by "0:1" to
 +the (single) output stream in @file{out.wav}.
 +
 +For example, to select the stream with index 2 from input file
 +@file{a.mov} (specified by the identifier "0:2"), and stream with
 +index 6 from input @file{b.mov} (specified by the identifier "1:6"),
 +and copy them to the output file @file{out.mov}:
 +@example
 +ffmpeg -i a.mov -i b.mov -c copy -map 0:2 -map 1:6 out.mov
 +@end example
 +
 +To select all video and the third audio stream from an input file:
 +@example
 +ffmpeg -i INPUT -map 0:v -map 0:a:2 OUTPUT
 +@end example
 +
 +To map all the streams except the second audio, use negative mappings
 +@example
 +ffmpeg -i INPUT -map 0 -map -0:a:1 OUTPUT
 +@end example
 +
 +To map the video and audio streams from the first input, and using the
 +trailing @code{?}, ignore the audio mapping if no audio streams exist in
 +the first input:
 +@example
 +ffmpeg -i INPUT -map 0:v -map 0:a? OUTPUT
 +@end example
 +
 +To pick the English audio stream:
 +@example
 +ffmpeg -i INPUT -map 0:m:language:eng OUTPUT
 +@end example
 +
 +Note that using this option disables the default mappings for this output file.
 +
 +@item -ignore_unknown
 +Ignore input streams with unknown type instead of failing if copying
 +such streams is attempted.
 +
 +@item -copy_unknown
 +Allow input streams with unknown type to be copied instead of failing if copying
 +such streams is attempted.
 +
 +@item -map_channel [@var{input_file_id}.@var{stream_specifier}.@var{channel_id}|-1][:@var{output_file_id}.@var{stream_specifier}]
 +Map an audio channel from a given input to an output. If
 +@var{output_file_id}.@var{stream_specifier} is not set, the audio channel will
 +be mapped on all the audio streams.
 +
 +Using "-1" instead of
 +@var{input_file_id}.@var{stream_specifier}.@var{channel_id} will map a muted
 +channel.
 +
 +For example, assuming @var{INPUT} is a stereo audio file, you can switch the
 +two audio channels with the following command:
 +@example
 +ffmpeg -i INPUT -map_channel 0.0.1 -map_channel 0.0.0 OUTPUT
 +@end example
 +
 +If you want to mute the first channel and keep the second:
 +@example
 +ffmpeg -i INPUT -map_channel -1 -map_channel 0.0.1 OUTPUT
 +@end example
 +
 +The order of the "-map_channel" option specifies the order of the channels in
 +the output stream. The output channel layout is guessed from the number of
 +channels mapped (mono if one "-map_channel", stereo if two, etc.). Using "-ac"
 +in combination of "-map_channel" makes the channel gain levels to be updated if
 +input and output channel layouts don't match (for instance two "-map_channel"
 +options and "-ac 6").
 +
 +You can also extract each channel of an input to specific outputs; the following
 +command extracts two channels of the @var{INPUT} audio stream (file 0, stream 0)
 +to the respective @var{OUTPUT_CH0} and @var{OUTPUT_CH1} outputs:
 +@example
 +ffmpeg -i INPUT -map_channel 0.0.0 OUTPUT_CH0 -map_channel 0.0.1 OUTPUT_CH1
 +@end example
 +
 +The following example splits the channels of a stereo input into two separate
 +streams, which are put into the same output file:
 +@example
 +ffmpeg -i stereo.wav -map 0:0 -map 0:0 -map_channel 0.0.0:0.0 -map_channel 0.0.1:0.1 -y out.ogg
 +@end example
 +
 +Note that currently each output stream can only contain channels from a single
 +input stream; you can't for example use "-map_channel" to pick multiple input
 +audio channels contained in different streams (from the same or different files)
 +and merge them into a single output stream. It is therefore not currently
 +possible, for example, to turn two separate mono streams into a single stereo
 +stream. However splitting a stereo stream into two single channel mono streams
 +is possible.
 +
 +If you need this feature, a possible workaround is to use the @emph{amerge}
 +filter. For example, if you need to merge a media (here @file{input.mkv}) with 2
 +mono audio streams into one single stereo channel audio stream (and keep the
 +video stream), you can use the following command:
 +@example
 +ffmpeg -i input.mkv -filter_complex "[0:1] [0:2] amerge" -c:a pcm_s16le -c:v copy output.mkv
 +@end example
 +
 +@item -map_metadata[:@var{metadata_spec_out}] @var{infile}[:@var{metadata_spec_in}] (@emph{output,per-metadata})
 +Set metadata information of the next output file from @var{infile}. Note that
 +those are file indices (zero-based), not filenames.
 +Optional @var{metadata_spec_in/out} parameters specify, which metadata to copy.
 +A metadata specifier can have the following forms:
 +@table @option
 +@item @var{g}
 +global metadata, i.e. metadata that applies to the whole file
 +
 +@item @var{s}[:@var{stream_spec}]
 +per-stream metadata. @var{stream_spec} is a stream specifier as described
 +in the @ref{Stream specifiers} chapter. In an input metadata specifier, the first
 +matching stream is copied from. In an output metadata specifier, all matching
 +streams are copied to.
 +
 +@item @var{c}:@var{chapter_index}
 +per-chapter metadata. @var{chapter_index} is the zero-based chapter index.
 +
 +@item @var{p}:@var{program_index}
 +per-program metadata. @var{program_index} is the zero-based program index.
 +@end table
 +If metadata specifier is omitted, it defaults to global.
 +
 +By default, global metadata is copied from the first input file,
 +per-stream and per-chapter metadata is copied along with streams/chapters. These
 +default mappings are disabled by creating any mapping of the relevant type. A negative
 +file index can be used to create a dummy mapping that just disables automatic copying.
 +
 +For example to copy metadata from the first stream of the input file to global metadata
 +of the output file:
 +@example
 +ffmpeg -i in.ogg -map_metadata 0:s:0 out.mp3
 +@end example
 +
 +To do the reverse, i.e. copy global metadata to all audio streams:
 +@example
 +ffmpeg -i in.mkv -map_metadata:s:a 0:g out.mkv
 +@end example
 +Note that simple @code{0} would work as well in this example, since global
 +metadata is assumed by default.
 +
 +@item -map_chapters @var{input_file_index} (@emph{output})
 +Copy chapters from input file with index @var{input_file_index} to the next
 +output file. If no chapter mapping is specified, then chapters are copied from
 +the first input file with at least one chapter. Use a negative file index to
 +disable any chapter copying.
 +
 +@item -benchmark (@emph{global})
 +Show benchmarking information at the end of an encode.
 +Shows CPU time used and maximum memory consumption.
 +Maximum memory consumption is not supported on all systems,
 +it will usually display as 0 if not supported.
 +@item -benchmark_all (@emph{global})
 +Show benchmarking information during the encode.
 +Shows CPU time used in various steps (audio/video encode/decode).
 +@item -timelimit @var{duration} (@emph{global})
 +Exit after ffmpeg has been running for @var{duration} seconds.
 +@item -dump (@emph{global})
 +Dump each input packet to stderr.
 +@item -hex (@emph{global})
 +When dumping packets, also dump the payload.
 +@item -re (@emph{input})
 +Read input at native frame rate. Mainly used to simulate a grab device,
 +or live input stream (e.g. when reading from a file). Should not be used
 +with actual grab devices or live input streams (where it can cause packet
 +loss).
 +By default @command{ffmpeg} attempts to read the input(s) as fast as possible.
 +This option will slow down the reading of the input(s) to the native frame rate
 +of the input(s). It is useful for real-time output (e.g. live streaming).
 +@item -loop_input
 +Loop over the input stream. Currently it works only for image
 +streams. This option is used for automatic FFserver testing.
 +This option is deprecated, use -loop 1.
 +@item -loop_output @var{number_of_times}
 +Repeatedly loop output for formats that support looping such as animated GIF
 +(0 will loop the output infinitely).
 +This option is deprecated, use -loop.
 +@item -vsync @var{parameter}
 +Video sync method.
 +For compatibility reasons old values can be specified as numbers.
 +Newly added values will have to be specified as strings always.
 +
 +@table @option
 +@item 0, passthrough
 +Each frame is passed with its timestamp from the demuxer to the muxer.
 +@item 1, cfr
 +Frames will be duplicated and dropped to achieve exactly the requested
 +constant frame rate.
 +@item 2, vfr
 +Frames are passed through with their timestamp or dropped so as to
 +prevent 2 frames from having the same timestamp.
 +@item drop
 +As passthrough but destroys all timestamps, making the muxer generate
 +fresh timestamps based on frame-rate.
 +@item -1, auto
 +Chooses between 1 and 2 depending on muxer capabilities. This is the
 +default method.
 +@end table
 +
 +Note that the timestamps may be further modified by the muxer, after this.
 +For example, in the case that the format option @option{avoid_negative_ts}
 +is enabled.
 +
 +With -map you can select from which stream the timestamps should be
 +taken. You can leave either video or audio unchanged and sync the
 +remaining stream(s) to the unchanged one.
 +
 +@item -frame_drop_threshold @var{parameter}
 +Frame drop threshold, which specifies how much behind video frames can
 +be before they are dropped. In frame rate units, so 1.0 is one frame.
 +The default is -1.1. One possible usecase is to avoid framedrops in case
 +of noisy timestamps or to increase frame drop precision in case of exact
 +timestamps.
 +
 +@item -async @var{samples_per_second}
 +Audio sync method. "Stretches/squeezes" the audio stream to match the timestamps,
 +the parameter is the maximum samples per second by which the audio is changed.
 +-async 1 is a special case where only the start of the audio stream is corrected
 +without any later correction.
 +
 +Note that the timestamps may be further modified by the muxer, after this.
 +For example, in the case that the format option @option{avoid_negative_ts}
 +is enabled.
 +
 +This option has been deprecated. Use the @code{aresample} audio filter instead.
 +
 +@item -copyts
 +Do not process input timestamps, but keep their values without trying
 +to sanitize them. In particular, do not remove the initial start time
 +offset value.
 +
 +Note that, depending on the @option{vsync} option or on specific muxer
 +processing (e.g. in case the format option @option{avoid_negative_ts}
 +is enabled) the output timestamps may mismatch with the input
 +timestamps even when this option is selected.
 +
 +@item -start_at_zero
 +When used with @option{copyts}, shift input timestamps so they start at zero.
 +
 +This means that using e.g. @code{-ss 50} will make output timestamps start at
 +50 seconds, regardless of what timestamp the input file started at.
 +
 +@item -copytb @var{mode}
 +Specify how to set the encoder timebase when stream copying.  @var{mode} is an
 +integer numeric value, and can assume one of the following values:
 +
 +@table @option
 +@item 1
 +Use the demuxer timebase.
 +
 +The time base is copied to the output encoder from the corresponding input
 +demuxer. This is sometimes required to avoid non monotonically increasing
 +timestamps when copying video streams with variable frame rate.
 +
 +@item 0
 +Use the decoder timebase.
 +
 +The time base is copied to the output encoder from the corresponding input
 +decoder.
 +
 +@item -1
 +Try to make the choice automatically, in order to generate a sane output.
 +@end table
 +
 +Default value is -1.
 +
 +@item -shortest (@emph{output})
 +Finish encoding when the shortest input stream ends.
 +@item -dts_delta_threshold
 +Timestamp discontinuity delta threshold.
 +@item -muxdelay @var{seconds} (@emph{input})
 +Set the maximum demux-decode delay.
 +@item -muxpreload @var{seconds} (@emph{input})
 +Set the initial demux-decode delay.
 +@item -streamid @var{output-stream-index}:@var{new-value} (@emph{output})
 +Assign a new stream-id value to an output stream. This option should be
 +specified prior to the output filename to which it applies.
 +For the situation where multiple output files exist, a streamid
 +may be reassigned to a different value.
 +
 +For example, to set the stream 0 PID to 33 and the stream 1 PID to 36 for
 +an output mpegts file:
 +@example
 +ffmpeg -i inurl -streamid 0:33 -streamid 1:36 out.ts
 +@end example
 +
 +@item -bsf[:@var{stream_specifier}] @var{bitstream_filters} (@emph{output,per-stream})
 +Set bitstream filters for matching streams. @var{bitstream_filters} is
 +a comma-separated list of bitstream filters. Use the @code{-bsfs} option
 +to get the list of bitstream filters.
 +@example
 +ffmpeg -i h264.mp4 -c:v copy -bsf:v h264_mp4toannexb -an out.h264
 +@end example
 +@example
 +ffmpeg -i file.mov -an -vn -bsf:s mov2textsub -c:s copy -f rawvideo sub.txt
 +@end example
 +
 +@item -tag[:@var{stream_specifier}] @var{codec_tag} (@emph{input/output,per-stream})
 +Force a tag/fourcc for matching streams.
 +
 +@item -timecode @var{hh}:@var{mm}:@var{ss}SEP@var{ff}
 +Specify Timecode for writing. @var{SEP} is ':' for non drop timecode and ';'
 +(or '.') for drop.
 +@example
 +ffmpeg -i input.mpg -timecode 01:02:03.04 -r 30000/1001 -s ntsc output.mpg
 +@end example
 +
 +@anchor{filter_complex_option}
 +@item -filter_complex @var{filtergraph} (@emph{global})
 +Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or
 +outputs. For simple graphs -- those with one input and one output of the same
 +type -- see the @option{-filter} options. @var{filtergraph} is a description of
 +the filtergraph, as described in the ``Filtergraph syntax'' section of the
 +ffmpeg-filters manual.
 +
 +Input link labels must refer to input streams using the
 +@code{[file_index:stream_specifier]} syntax (i.e. the same as @option{-map}
 +uses). If @var{stream_specifier} matches multiple streams, the first one will be
 +used. An unlabeled input will be connected to the first unused input stream of
 +the matching type.
 +
 +Output link labels are referred to with @option{-map}. Unlabeled outputs are
 +added to the first output file.
 +
 +Note that with this option it is possible to use only lavfi sources without
 +normal input files.
 +
 +For example, to overlay an image over video
 +@example
 +ffmpeg -i video.mkv -i image.png -filter_complex '[0:v][1:v]overlay[out]' -map
 +'[out]' out.mkv
 +@end example
 +Here @code{[0:v]} refers to the first video stream in the first input file,
 +which is linked to the first (main) input of the overlay filter. Similarly the
 +first video stream in the second input is linked to the second (overlay) input
 +of overlay.
 +
 +Assuming there is only one video stream in each input file, we can omit input
 +labels, so the above is equivalent to
 +@example
 +ffmpeg -i video.mkv -i image.png -filter_complex 'overlay[out]' -map
 +'[out]' out.mkv
 +@end example
 +
 +Furthermore we can omit the output label and the single output from the filter
 +graph will be added to the output file automatically, so we can simply write
 +@example
 +ffmpeg -i video.mkv -i image.png -filter_complex 'overlay' out.mkv
 +@end example
 +
 +To generate 5 seconds of pure red video using lavfi @code{color} source:
 +@example
 +ffmpeg -filter_complex 'color=c=red' -t 5 out.mkv
 +@end example
 +
 +@item -filter_complex_threads @var{nb_threads} (@emph{global})
 +Defines how many threads are used to process a filter_complex graph.
 +Similar to filter_threads but used for @code{-filter_complex} graphs only.
 +The default is the number of available CPUs.
 +
 +@item -lavfi @var{filtergraph} (@emph{global})
 +Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or
 +outputs. Equivalent to @option{-filter_complex}.
 +
 +@item -filter_complex_script @var{filename} (@emph{global})
 +This option is similar to @option{-filter_complex}, the only difference is that
 +its argument is the name of the file from which a complex filtergraph
 +description is to be read.
 +
 +@item -accurate_seek (@emph{input})
 +This option enables or disables accurate seeking in input files with the
 +@option{-ss} option. It is enabled by default, so seeking is accurate when
 +transcoding. Use @option{-noaccurate_seek} to disable it, which may be useful
 +e.g. when copying some streams and transcoding the others.
 +
 +@item -seek_timestamp (@emph{input})
 +This option enables or disables seeking by timestamp in input files with the
 +@option{-ss} option. It is disabled by default. If enabled, the argument
 +to the @option{-ss} option is considered an actual timestamp, and is not
 +offset by the start time of the file. This matters only for files which do
 +not start from timestamp 0, such as transport streams.
 +
 +@item -thread_queue_size @var{size} (@emph{input})
 +This option sets the maximum number of queued packets when reading from the
 +file or device. With low latency / high rate live streams, packets may be
 +discarded if they are not read in a timely manner; raising this value can
 +avoid it.
 +
 +@item -override_ffserver (@emph{global})
 +Overrides the input specifications from @command{ffserver}. Using this
 +option you can map any input stream to @command{ffserver} and control
 +many aspects of the encoding from @command{ffmpeg}. Without this
 +option @command{ffmpeg} will transmit to @command{ffserver} what is
 +requested by @command{ffserver}.
 +
 +The option is intended for cases where features are needed that cannot be
 +specified to @command{ffserver} but can be to @command{ffmpeg}.
 +
 +@item -sdp_file @var{file} (@emph{global})
 +Print sdp information for an output stream to @var{file}.
 +This allows dumping sdp information when at least one output isn't an
 +rtp stream. (Requires at least one of the output formats to be rtp).
 +
 +@item -discard (@emph{input})
 +Allows discarding specific streams or frames of streams at the demuxer.
 +Not all demuxers support this.
 +
 +@table @option
 +@item none
 +Discard no frame.
 +
 +@item default
 +Default, which discards no frames.
 +
 +@item noref
 +Discard all non-reference frames.
 +
 +@item bidir
 +Discard all bidirectional frames.
 +
 +@item nokey
 +Discard all frames excepts keyframes.
 +
 +@item all
 +Discard all frames.
 +@end table
 +
 +@item -abort_on @var{flags} (@emph{global})
 +Stop and abort on various conditions. The following flags are available:
 +
 +@table @option
 +@item empty_output
 +No packets were passed to the muxer, the output is empty.
 +@end table
 +
 +@item -xerror (@emph{global})
 +Stop and exit on error
 +
 +@item -max_muxing_queue_size @var{packets} (@emph{output,per-stream})
 +When transcoding audio and/or video streams, ffmpeg will not begin writing into
 +the output until it has one packet for each such stream. While waiting for that
 +to happen, packets for other streams are buffered. This option sets the size of
 +this buffer, in packets, for the matching output stream.
 +
 +The default value of this option should be high enough for most uses, so only
 +touch this option if you are sure that you need it.
 +
 +@end table
 +
 +As a special exception, you can use a bitmap subtitle stream as input: it
 +will be converted into a video with the same size as the largest video in
 +the file, or 720x576 if no video is present. Note that this is an
 +experimental and temporary solution. It will be removed once libavfilter has
 +proper support for subtitles.
 +
 +For example, to hardcode subtitles on top of a DVB-T recording stored in
 +MPEG-TS format, delaying the subtitles by 1 second:
 +@example
 +ffmpeg -i input.ts -filter_complex \
 +  '[#0x2ef] setpts=PTS+1/TB [sub] ; [#0x2d0] [sub] overlay' \
 +  -sn -map '#0x2dc' output.mkv
 +@end example
 +(0x2d0, 0x2dc and 0x2ef are the MPEG-TS PIDs of respectively the video,
 +audio and subtitles streams; 0:0, 0:3 and 0:7 would have worked too)
 +
 +@section Preset files
 +A preset file contains a sequence of @var{option}=@var{value} pairs,
 +one for each line, specifying a sequence of options which would be
 +awkward to specify on the command line. Lines starting with the hash
 +('#') character are ignored and are used to provide comments. Check
 +the @file{presets} directory in the FFmpeg source tree for examples.
 +
 +There are two types of preset files: ffpreset and avpreset files.
 +
 +@subsection ffpreset files
 +ffpreset files are specified with the @code{vpre}, @code{apre},
 +@code{spre}, and @code{fpre} options. The @code{fpre} option takes the
 +filename of the preset instead of a preset name as input and can be
 +used for any kind of codec. For the @code{vpre}, @code{apre}, and
 +@code{spre} options, the options specified in a preset file are
 +applied to the currently selected codec of the same type as the preset
 +option.
 +
 +The argument passed to the @code{vpre}, @code{apre}, and @code{spre}
 +preset options identifies the preset file to use according to the
 +following rules:
 +
 +First ffmpeg searches for a file named @var{arg}.ffpreset in the
 +directories @file{$FFMPEG_DATADIR} (if set), and @file{$HOME/.ffmpeg}, and in
 +the datadir defined at configuration time (usually @file{PREFIX/share/ffmpeg})
 +or in a @file{ffpresets} folder along the executable on win32,
 +in that order. For example, if the argument is @code{libvpx-1080p}, it will
 +search for the file @file{libvpx-1080p.ffpreset}.
 +
 +If no such file is found, then ffmpeg will search for a file named
 +@var{codec_name}-@var{arg}.ffpreset in the above-mentioned
 +directories, where @var{codec_name} is the name of the codec to which
 +the preset file options will be applied. For example, if you select
 +the video codec with @code{-vcodec libvpx} and use @code{-vpre 1080p},
 +then it will search for the file @file{libvpx-1080p.ffpreset}.
 +
 +@subsection avpreset files
 +avpreset files are specified with the @code{pre} option. They work similar to
 +ffpreset files, but they only allow encoder- specific options. Therefore, an
 +@var{option}=@var{value} pair specifying an encoder cannot be used.
 +
 +When the @code{pre} option is specified, ffmpeg will look for files with the
 +suffix .avpreset in the directories @file{$AVCONV_DATADIR} (if set), and
 +@file{$HOME/.avconv}, and in the datadir defined at configuration time (usually
 +@file{PREFIX/share/ffmpeg}), in that order.
 +
 +First ffmpeg searches for a file named @var{codec_name}-@var{arg}.avpreset in
 +the above-mentioned directories, where @var{codec_name} is the name of the codec
 +to which the preset file options will be applied. For example, if you select the
 +video codec with @code{-vcodec libvpx} and use @code{-pre 1080p}, then it will
 +search for the file @file{libvpx-1080p.avpreset}.
 +
 +If no such file is found, then ffmpeg will search for a file named
 +@var{arg}.avpreset in the same directories.
 +
 +@c man end OPTIONS
 +
 +@chapter Examples
 +@c man begin EXAMPLES
 +
 +@section Video and Audio grabbing
 +
 +If you specify the input format and device then ffmpeg can grab video
 +and audio directly.
 +
 +@example
 +ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg
 +@end example
 +
 +Or with an ALSA audio source (mono input, card id 1) instead of OSS:
 +@example
 +ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0 /tmp/out.mpg
 +@end example
 +
 +Note that you must activate the right video source and channel before
 +launching ffmpeg with any TV viewer such as
 +@uref{http://linux.bytesex.org/xawtv/, xawtv} by Gerd Knorr. You also
 +have to set the audio recording levels correctly with a
 +standard mixer.
 +
 +@section X11 grabbing
 +
 +Grab the X11 display with ffmpeg via
 +
 +@example
 +ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0 /tmp/out.mpg
 +@end example
 +
 +0.0 is display.screen number of your X11 server, same as
 +the DISPLAY environment variable.
 +
 +@example
 +ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0+10,20 /tmp/out.mpg
 +@end example
 +
 +0.0 is display.screen number of your X11 server, same as the DISPLAY environment
 +variable. 10 is the x-offset and 20 the y-offset for the grabbing.
 +
 +@section Video and Audio file format conversion
 +
 +Any supported file format and protocol can serve as input to ffmpeg:
 +
 +Examples:
 +@itemize
 +@item
 +You can use YUV files as input:
 +
 +@example
 +ffmpeg -i /tmp/test%d.Y /tmp/out.mpg
 +@end example
 +
 +It will use the files:
 +@example
 +/tmp/test0.Y, /tmp/test0.U, /tmp/test0.V,
 +/tmp/test1.Y, /tmp/test1.U, /tmp/test1.V, etc...
 +@end example
 +
 +The Y files use twice the resolution of the U and V files. They are
 +raw files, without header. They can be generated by all decent video
 +decoders. You must specify the size of the image with the @option{-s} option
 +if ffmpeg cannot guess it.
 +
 +@item
 +You can input from a raw YUV420P file:
 +
 +@example
 +ffmpeg -i /tmp/test.yuv /tmp/out.avi
 +@end example
 +
 +test.yuv is a file containing raw YUV planar data. Each frame is composed
 +of the Y plane followed by the U and V planes at half vertical and
 +horizontal resolution.
 +
 +@item
 +You can output to a raw YUV420P file:
 +
 +@example
 +ffmpeg -i mydivx.avi hugefile.yuv
 +@end example
 +
 +@item
 +You can set several input files and output files:
 +
 +@example
 +ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg
 +@end example
 +
 +Converts the audio file a.wav and the raw YUV video file a.yuv
 +to MPEG file a.mpg.
 +
 +@item
 +You can also do audio and video conversions at the same time:
 +
 +@example
 +ffmpeg -i /tmp/a.wav -ar 22050 /tmp/a.mp2
 +@end example
 +
 +Converts a.wav to MPEG audio at 22050 Hz sample rate.
 +
 +@item
 +You can encode to several formats at the same time and define a
 +mapping from input stream to output streams:
 +
 +@example
 +ffmpeg -i /tmp/a.wav -map 0:a -b:a 64k /tmp/a.mp2 -map 0:a -b:a 128k /tmp/b.mp2
 +@end example
 +
 +Converts a.wav to a.mp2 at 64 kbits and to b.mp2 at 128 kbits. '-map
 +file:index' specifies which input stream is used for each output
 +stream, in the order of the definition of output streams.
 +
 +@item
 +You can transcode decrypted VOBs:
 +
 +@example
 +ffmpeg -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.avi
 +@end example
 +
 +This is a typical DVD ripping example; the input is a VOB file, the
 +output an AVI file with MPEG-4 video and MP3 audio. Note that in this
 +command we use B-frames so the MPEG-4 stream is DivX5 compatible, and
 +GOP size is 300 which means one intra frame every 10 seconds for 29.97fps
 +input video. Furthermore, the audio stream is MP3-encoded so you need
 +to enable LAME support by passing @code{--enable-libmp3lame} to configure.
 +The mapping is particularly useful for DVD transcoding
 +to get the desired audio language.
 +
 +NOTE: To see the supported input formats, use @code{ffmpeg -demuxers}.
 +
 +@item
 +You can extract images from a video, or create a video from many images:
 +
 +For extracting images from a video:
 +@example
 +ffmpeg -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg
 +@end example
 +
 +This will extract one video frame per second from the video and will
 +output them in files named @file{foo-001.jpeg}, @file{foo-002.jpeg},
 +etc. Images will be rescaled to fit the new WxH values.
 +
 +If you want to extract just a limited number of frames, you can use the
++above command in combination with the @code{-frames:v} or @code{-t} option,
++or in combination with -ss to start extracting from a certain point in time.
 +
 +For creating a video from many images:
 +@example
 +ffmpeg -f image2 -framerate 12 -i foo-%03d.jpeg -s WxH foo.avi
 +@end example
 +
 +The syntax @code{foo-%03d.jpeg} specifies to use a decimal number
 +composed of three digits padded with zeroes to express the sequence
 +number. It is the same syntax supported by the C printf function, but
 +only formats accepting a normal integer are suitable.
 +
 +When importing an image sequence, -i also supports expanding
 +shell-like wildcard patterns (globbing) internally, by selecting the
 +image2-specific @code{-pattern_type glob} option.
 +
 +For example, for creating a video from filenames matching the glob pattern
 +@code{foo-*.jpeg}:
 +@example
 +ffmpeg -f image2 -pattern_type glob -framerate 12 -i 'foo-*.jpeg' -s WxH foo.avi
 +@end example
 +
 +@item
 +You can put many streams of the same type in the output:
 +
 +@example
 +ffmpeg -i test1.avi -i test2.avi -map 1:1 -map 1:0 -map 0:1 -map 0:0 -c copy -y test12.nut
 +@end example
 +
 +The resulting output file @file{test12.nut} will contain the first four streams
 +from the input files in reverse order.
 +
 +@item
 +To force CBR video output:
 +@example
 +ffmpeg -i myfile.avi -b 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k out.m2v
 +@end example
 +
 +@item
 +The four options lmin, lmax, mblmin and mblmax use 'lambda' units,
 +but you may use the QP2LAMBDA constant to easily convert from 'q' units:
 +@example
 +ffmpeg -i src.ext -lmax 21*QP2LAMBDA dst.ext
 +@end example
 +
 +@end itemize
 +@c man end EXAMPLES
 +
 +@include config.texi
 +@ifset config-all
 +@ifset config-avutil
 +@include utils.texi
 +@end ifset
 +@ifset config-avcodec
 +@include codecs.texi
 +@include bitstream_filters.texi
 +@end ifset
 +@ifset config-avformat
 +@include formats.texi
 +@include protocols.texi
 +@end ifset
 +@ifset config-avdevice
 +@include devices.texi
 +@end ifset
 +@ifset config-swresample
 +@include resampler.texi
 +@end ifset
 +@ifset config-swscale
 +@include scaler.texi
 +@end ifset
 +@ifset config-avfilter
 +@include filters.texi
 +@end ifset
 +@end ifset
 +
 +@chapter See Also
 +
 +@ifhtml
 +@ifset config-all
 +@url{ffmpeg.html,ffmpeg}
 +@end ifset
 +@ifset config-not-all
 +@url{ffmpeg-all.html,ffmpeg-all},
 +@end ifset
 +@url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
 +@url{ffmpeg-utils.html,ffmpeg-utils},
 +@url{ffmpeg-scaler.html,ffmpeg-scaler},
 +@url{ffmpeg-resampler.html,ffmpeg-resampler},
 +@url{ffmpeg-codecs.html,ffmpeg-codecs},
 +@url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
 +@url{ffmpeg-formats.html,ffmpeg-formats},
 +@url{ffmpeg-devices.html,ffmpeg-devices},
 +@url{ffmpeg-protocols.html,ffmpeg-protocols},
 +@url{ffmpeg-filters.html,ffmpeg-filters}
 +@end ifhtml
 +
 +@ifnothtml
 +@ifset config-all
 +ffmpeg(1),
 +@end ifset
 +@ifset config-not-all
 +ffmpeg-all(1),
 +@end ifset
 +ffplay(1), ffprobe(1), ffserver(1),
 +ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
 +ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
 +ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)
 +@end ifnothtml
 +
 +@include authors.texi
 +
 +@ignore
 +
 +@setfilename ffmpeg
 +@settitle ffmpeg video converter
 +
 +@end ignore
 +
 +@bye
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, AAC, AAC) += fate-adts-demux
 +FATE_SAMPLES_DEMUX-$(call DEMDEC, AVI, FRAPS) += fate-avio-direct
 +fate-avio-direct: CMD = framecrc -avioflags direct -i $(TARGET_SAMPLES)/fraps/fraps-v5-bouncing-balls-partial.avi -avioflags direct
 +
 +FATE_SAMPLES_DEMUX-$(DEMDEC, AAC, AAC) += fate-adts-demux
  fate-adts-demux: CMD = crc -i $(TARGET_SAMPLES)/aac/ct_faac-adts.aac -acodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_AEA_DEMUXER) += fate-aea-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_AEA_DEMUXER) += fate-aea-demux
  fate-aea-demux: CMD = crc -i $(TARGET_SAMPLES)/aea/chirp.aea -acodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_BINK_DEMUXER) += fate-bink-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_AST_DEMUXER) += fate-ast
 +fate-ast: CMD = crc -i $(TARGET_SAMPLES)/ast/demo11_02_partial.ast -c copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_BINK_DEMUXER) += fate-bink-demux
  fate-bink-demux: CMD = crc -i $(TARGET_SAMPLES)/bink/Snd0a7d9b58.dee -vn -acodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_CAF_DEMUXER) += fate-caf
 +FATE_SAMPLES_DEMUX-$(CONFIG_BFSTM_DEMUXER) += fate-bfstm fate-bcstm
 +fate-bfstm: CMD = crc -i $(TARGET_SAMPLES)/bfstm/spl-forest-day.bfstm -acodec copy
 +fate-bcstm: CMD = crc -i $(TARGET_SAMPLES)/bfstm/loz-mm-mikau.bcstm -acodec copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_BRSTM_DEMUXER) += fate-brstm
 +fate-brstm: CMD = crc -i $(TARGET_SAMPLES)/brstm/lozswd_partial.brstm -acodec copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_CAF_DEMUXER) += fate-caf
  fate-caf: CMD = crc -i $(TARGET_SAMPLES)/caf/caf-pcm16.caf -c copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_CDXL_DEMUXER) += fate-cdxl-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_CDXL_DEMUXER) += fate-cdxl-demux
  fate-cdxl-demux: CMD = framecrc -i $(TARGET_SAMPLES)/cdxl/mirage.cdxl -vcodec copy -acodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_DAUD_DEMUXER) += fate-d-cinema-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_CINE_DEMUXER) += fate-cine-demux
 +fate-cine-demux: CMD = crc -i $(TARGET_SAMPLES)/cine/bayer_gbrg8.cine -c copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_DAUD_DEMUXER) += fate-d-cinema-demux
  fate-d-cinema-demux: CMD = framecrc -i $(TARGET_SAMPLES)/d-cinema/THX_Science_FLT_1920-partial.302 -acodec copy
  
 -FATE_SAMPLES_AVCONV-$(call ALLYES, IV8_DEMUXER MPEG4VIDEO_PARSER) += fate-iv8-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_EA_DEMUXER) += fate-d-eavp6-demux
 +fate-d-eavp6-demux: CMD = framecrc -i $(TARGET_SAMPLES)/ea-vp6/SmallRing.vp6 -map 0 -vcodec copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_FLV_DEMUXER) += fate-flv-demux
 +fate-flv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/flv/Enigma_Principles_of_Lust-part.flv -codec copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_GIF_DEMUXER) += fate-gif-demux
 +fate-gif-demux: CMD = framecrc -i $(TARGET_SAMPLES)/gif/Newtons_cradle_animation_book_2.gif -vcodec copy
 +
 +FATE_SAMPLES_DEMUX-$(call ALLYES, IV8_DEMUXER MPEG4VIDEO_PARSER) += fate-iv8-demux
  fate-iv8-demux: CMD = framecrc -i $(TARGET_SAMPLES)/iv8/zzz-partial.mpg -vcodec copy
  
 -FATE_SAMPLES_AVCONV-$(call ALLYES, LMLM4_DEMUXER MPEG4VIDEO_PARSER) += fate-lmlm4-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_JV_DEMUXER) += fate-jv-demux
 +fate-jv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/jv/intro.jv -vcodec copy -acodec copy
 +
 +FATE_SAMPLES_DEMUX-$(call ALLYES, LMLM4_DEMUXER MPEG4VIDEO_PARSER) += fate-lmlm4-demux
  fate-lmlm4-demux: CMD = framecrc -i $(TARGET_SAMPLES)/lmlm4/LMLM4_CIFat30fps.divx -t 3 -acodec copy -vcodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_XA_DEMUXER) += fate-maxis-xa
 +FATE_SAMPLES_DEMUX-$(CONFIG_XA_DEMUXER) += fate-maxis-xa
  fate-maxis-xa: CMD = framecrc -i $(TARGET_SAMPLES)/maxis-xa/SC2KBUG.XA -frames:a 30 -c:a copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_MTV_DEMUXER) += fate-mtv
 +FATE_SAMPLES_DEMUX-$(call DEMDEC, MATROSKA, H264) += fate-mkv
 +fate-mkv: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/test7_cut.mkv -c copy
 +
 +#No dts errors or duplicate DTS should be in this
 +FATE_SAMPLES_DEMUX-$(call DEMDEC, MATROSKA, H264) += fate-mkv-1242
- fate-mkv-1242: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/1242-small.mkv -c copy -vframes 11
++fate-mkv-1242: CMD = framecrc -i $(TARGET_SAMPLES)/mkv/1242-small.mkv -c copy -frames:v 11
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_MLV_DEMUXER) += fate-mlv-demux
 +fate-mlv-demux: CMD = crc -i $(TARGET_SAMPLES)/mlv/M19-0333-cut.MLV -c copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_MOV_DEMUXER) += fate-mov-mp3-demux
 +fate-mov-mp3-demux: CMD = framecrc -i $(TARGET_SAMPLES)/mpegaudio/packed_maindata.mp3.mp4 -c copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_MPEGTS_DEMUXER) += fate-ts-opus-demux
 +fate-ts-opus-demux: CMD = framecrc -i $(TARGET_SAMPLES)/opus/test-8-7.1.opus-small.ts -c copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_MTV_DEMUXER) += fate-mtv
  fate-mtv: CMD = framecrc -i $(TARGET_SAMPLES)/mtv/comedian_auto-partial.mtv -c copy
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, MXF, MPEG4) += fate-mxf-demux
 +FATE_SAMPLES_DEMUX-$(call DEMDEC, MXF, MPEG4) += fate-mxf-demux
  fate-mxf-demux: CMD = framecrc -i $(TARGET_SAMPLES)/mxf/C0023S01.mxf -acodec copy -vcodec copy
  
 -FATE_SAMPLES_AVCONV-$(call ALLYES, NC_DEMUXER MPEG4VIDEO_PARSER) += fate-nc-demux
 +FATE_SAMPLES_DEMUX-$(call ALLYES, NC_DEMUXER MPEG4VIDEO_PARSER) += fate-nc-demux
  fate-nc-demux: CMD = framecrc -i $(TARGET_SAMPLES)/nc-camera/nc-sample-partial -vcodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_NSV_DEMUXER) += fate-nsv-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_NISTSPHERE_DEMUXER) += fate-nistsphere-demux
 +fate-nistsphere-demux: CMD = crc -i $(TARGET_SAMPLES)/nistsphere/nist-ulaw.nist -acodec copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_NSV_DEMUXER) += fate-nsv-demux
  fate-nsv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/nsv/witchblade-51kbps.nsv -t 6 -vcodec copy -acodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_OMA_DEMUXER) += fate-oma-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_OGG_DEMUXER) += fate-oggopus-demux
 +fate-oggopus-demux: CMD = framecrc -i $(TARGET_SAMPLES)/ogg/intro-partial.opus -c:a copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_OGG_DEMUXER) += fate-oggvp8-demux
 +fate-oggvp8-demux: CMD = framecrc -i $(TARGET_SAMPLES)/ogg/videotest.ogv -c:v copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_OMA_DEMUXER) += fate-oma-demux
  fate-oma-demux: CMD = crc -i $(TARGET_SAMPLES)/oma/01-Untitled-partial.oma -acodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_STR_DEMUXER) += fate-psx-str-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_PAF_DEMUXER) += fate-paf-demux
 +fate-paf-demux: CMD = framecrc -i $(TARGET_SAMPLES)/paf/hod1-partial.paf -vcodec copy -acodec copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_PMP_DEMUXER) += fate-pmp-demux
 +fate-pmp-demux: CMD = framecrc -i $(TARGET_SAMPLES)/pmp/demo.pmp -vn -c:a copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_RSD_DEMUXER) += fate-rsd-demux
 +fate-rsd-demux: CMD = crc -i $(TARGET_SAMPLES)/rsd/hum01_partial.rsd -c:a copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_REDSPARK_DEMUXER) += fate-redspark-demux
 +fate-redspark-demux: CMD = crc -i $(TARGET_SAMPLES)/redspark/jingle04_partial.rsd -c:a copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_STR_DEMUXER) += fate-psx-str-demux
  fate-psx-str-demux: CMD = framecrc -i $(TARGET_SAMPLES)/psx-str/descent-partial.str -c copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_PVA_DEMUXER) += fate-pva-demux
 -fate-pva-demux: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/pva/PVA_test-partial.pva -t 0.6 -acodec copy -vn
 +FATE_SAMPLES_DEMUX-$(CONFIG_PVA_DEMUXER) += fate-pva-demux
 +fate-pva-demux: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/pva/PVA_test-partial.pva -t 0.6 -acodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_QCP_DEMUXER) += fate-qcp-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_QCP_DEMUXER) += fate-qcp-demux
  fate-qcp-demux: CMD = crc -i $(TARGET_SAMPLES)/qcp/0036580847.QCP -acodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_R3D_DEMUXER) += fate-redcode-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_R3D_DEMUXER) += fate-redcode-demux
  fate-redcode-demux: CMD = framecrc -i $(TARGET_SAMPLES)/r3d/4MB-sample.r3d -vcodec copy -acodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_SIFF_DEMUXER) += fate-siff-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_SIFF_DEMUXER) += fate-siff-demux
  fate-siff-demux: CMD = framecrc -i $(TARGET_SAMPLES)/SIFF/INTRO_B.VB -c copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_SMJPEG_DEMUXER) += fate-smjpeg-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_SMJPEG_DEMUXER) += fate-smjpeg-demux
  fate-smjpeg-demux: CMD = framecrc -i $(TARGET_SAMPLES)/smjpeg/scenwin.mjpg -c copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_WSAUD_DEMUXER) += fate-westwood-aud
 +FATE_SAMPLES_DEMUX-$(CONFIG_WAV_DEMUXER) += fate-wav-ac3
 +fate-wav-ac3: CMD = framecrc -i $(TARGET_SAMPLES)/ac3/diatonis_invisible_order_anfos_ac3-small.wav -c copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_WSAUD_DEMUXER) += fate-westwood-aud
  fate-westwood-aud: CMD = framecrc -i $(TARGET_SAMPLES)/westwood-aud/excellent.aud -c copy
  
 -FATE_SAMPLES_AVCONV-$(call ALLYES, WTV_DEMUXER MPEGVIDEO_PARSER) += fate-wtv-demux
 +FATE_SAMPLES_DEMUX-$(call ALLYES, WTV_DEMUXER MPEGVIDEO_PARSER) += fate-wtv-demux
  fate-wtv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/wtv/law-and-order-partial.wtv -vcodec copy -acodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_XMV_DEMUXER) += fate-xmv-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_XMV_DEMUXER) += fate-xmv-demux
  fate-xmv-demux: CMD = framecrc -i $(TARGET_SAMPLES)/xmv/logos1p.fmv -vcodec copy -acodec copy
  
 -FATE_SAMPLES_AVCONV-$(CONFIG_XWMA_DEMUXER) += fate-xwma-demux
 +FATE_SAMPLES_DEMUX-$(CONFIG_XWMA_DEMUXER) += fate-xwma-demux
  fate-xwma-demux: CMD = crc -i $(TARGET_SAMPLES)/xwma/ergon.xwma -acodec copy
 +
 +FATE_SAMPLES_DEMUX-$(CONFIG_MPEGTS_DEMUXER) += fate-ts-demux
 +fate-ts-demux: CMD = framecrc -i $(TARGET_SAMPLES)/ac3/mp3ac325-4864-small.ts -codec copy
 +
 +FATE_SAMPLES_DEMUX += $(FATE_SAMPLES_DEMUX-yes)
 +FATE_SAMPLES_FFMPEG += $(FATE_SAMPLES_DEMUX)
 +fate-demux: $(FATE_SAMPLES_DEMUX)
index e35427d,0000000..8199f81
mode 100644,000000..100644
--- /dev/null
@@@ -1,120 -1,0 +1,120 @@@
- fate-ffmpeg-filter_colorkey: CMD = framecrc -idct simple -fflags +bitexact -flags +bitexact  -sws_flags +accurate_rnd+bitexact -i $(TARGET_SAMPLES)/cavs/cavs.mpg -fflags +bitexact -flags +bitexact -sws_flags +accurate_rnd+bitexact -i $(TARGET_SAMPLES)/lena.pnm -an -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/colorkey -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -qscale 2 -vframes 10
 +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-6ch-extract-2
 +fate-mapchan-6ch-extract-2: tests/data/asynth-22050-6.wav
 +fate-mapchan-6ch-extract-2: CMD = ffmpeg -i $(TARGET_PATH)/tests/data/asynth-22050-6.wav -map_channel 0.0.0 -fflags +bitexact -f wav md5: -map_channel 0.0.1 -fflags +bitexact -f wav md5:
 +
 +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-6ch-extract-2-downmix-mono
 +fate-mapchan-6ch-extract-2-downmix-mono: tests/data/asynth-22050-6.wav
 +fate-mapchan-6ch-extract-2-downmix-mono: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-22050-6.wav -map_channel 0.0.1 -map_channel 0.0.0 -ac 1 -fflags +bitexact -f wav
 +
 +FATE_MAPCHAN-$(CONFIG_CHANNELMAP_FILTER) += fate-mapchan-silent-mono
 +fate-mapchan-silent-mono: tests/data/asynth-22050-1.wav
 +fate-mapchan-silent-mono: CMD = md5 -i $(TARGET_PATH)/tests/data/asynth-22050-1.wav -map_channel -1 -map_channel 0.0.0 -fflags +bitexact -f wav
 +
 +FATE_MAPCHAN = $(FATE_MAPCHAN-yes)
 +
 +FATE_FFMPEG += $(FATE_MAPCHAN)
 +fate-mapchan: $(FATE_MAPCHAN)
 +
 +FATE_FFMPEG-$(CONFIG_COLOR_FILTER) += fate-ffmpeg-filter_complex
 +fate-ffmpeg-filter_complex: CMD = framecrc -filter_complex color=d=1:r=5 -fflags +bitexact
 +
 +FATE_SAMPLES_FFMPEG-$(CONFIG_COLORKEY_FILTER) += fate-ffmpeg-filter_colorkey
 +fate-ffmpeg-filter_colorkey: tests/data/filtergraphs/colorkey
-                       matroska "-vcodec rawvideo -pix_fmt rgb24 -allow_raw_vfw 1 -vframes 1"
++fate-ffmpeg-filter_colorkey: CMD = framecrc -idct simple -fflags +bitexact -flags +bitexact  -sws_flags +accurate_rnd+bitexact -i $(TARGET_SAMPLES)/cavs/cavs.mpg -fflags +bitexact -flags +bitexact -sws_flags +accurate_rnd+bitexact -i $(TARGET_SAMPLES)/lena.pnm -an -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/colorkey -sws_flags +accurate_rnd+bitexact -fflags +bitexact -flags +bitexact -qscale 2 -frames:v 10
 +
 +FATE_FFMPEG-$(CONFIG_COLOR_FILTER) += fate-ffmpeg-lavfi
 +fate-ffmpeg-lavfi: CMD = framecrc -lavfi color=d=1:r=5 -fflags +bitexact
 +
 +FATE_SAMPLES_FFMPEG-$(CONFIG_RAWVIDEO_DEMUXER) += fate-force_key_frames
 +fate-force_key_frames: tests/data/vsynth_lena.yuv
 +fate-force_key_frames: CMD = enc_dec \
 +  "rawvideo -s 352x288 -pix_fmt yuv420p" tests/data/vsynth_lena.yuv \
 +  avi "-c mpeg4 -g 240 -qscale 10 -force_key_frames 0.5,0:00:01.5" \
 +  framecrc "" "" "-skip_frame nokey"
 +
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, VOBSUB_DEMUXER DVDSUB_DECODER AVFILTER OVERLAY_FILTER DVDSUB_ENCODER) += fate-sub2video
 +fate-sub2video: tests/data/vsynth_lena.yuv
 +fate-sub2video: CMD = framecrc \
 +  -f rawvideo -r 5 -s 352x288 -pix_fmt yuv420p -i $(TARGET_PATH)/tests/data/vsynth_lena.yuv \
 +  -ss 132 -i $(TARGET_SAMPLES)/sub/vobsub.idx \
 +  -filter_complex "sws_flags=+accurate_rnd+bitexact\;[0:0]scale=720:480[v]\;[v][1:0]overlay[v2]" \
 +  -map "[v2]" -c:v rawvideo -map 1:s -c:s dvdsub
 +
 +FATE_FFMPEG-$(call ALLYES, PCM_S16LE_DEMUXER PCM_S16LE_MUXER PCM_S16LE_DECODER PCM_S16LE_ENCODER) += fate-unknown_layout-pcm
 +fate-unknown_layout-pcm: $(AREF)
 +fate-unknown_layout-pcm: CMD = md5 \
 +  -guess_layout_max 0 -f s16le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) -f s16le
 +
 +FATE_FFMPEG-$(call ALLYES, PCM_S16LE_DEMUXER AC3_MUXER PCM_S16LE_DECODER AC3_FIXED_ENCODER) += fate-unknown_layout-ac3
 +fate-unknown_layout-ac3: $(AREF)
 +fate-unknown_layout-ac3: CMD = md5 \
 +  -guess_layout_max 0 -f s16le -ac 1 -ar 44100 -i $(TARGET_PATH)/$(AREF) \
 +  -f ac3 -flags +bitexact -c ac3_fixed
 +
 +FATE_STREAMCOPY-$(call ALLYES, MOV_DEMUXER MOV_MUXER) += fate-copy-trac236
 +fate-copy-trac236: $(TARGET_SAMPLES)/mov/fcp_export8-236.mov
 +fate-copy-trac236: CMD = transcode mov $(TARGET_SAMPLES)/mov/fcp_export8-236.mov\
 +                     mov "-codec copy -map 0"
 +
 +FATE_STREAMCOPY-$(call ALLYES, MPEGTS_DEMUXER MXF_MUXER PCM_S16LE_ENCODER) += fate-copy-trac4914
 +fate-copy-trac4914: $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts
 +fate-copy-trac4914: CMD = transcode mpegts $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts\
 +                      mxf "-c:a pcm_s16le -c:v copy"
 +
 +FATE_STREAMCOPY-$(call ALLYES, MPEGTS_DEMUXER AVI_MUXER) += fate-copy-trac4914-avi
 +fate-copy-trac4914-avi: $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts
 +fate-copy-trac4914-avi: CMD = transcode mpegts $(TARGET_SAMPLES)/mpeg2/xdcam8mp2-1s_small.ts\
 +                          avi "-c:a copy -c:v copy"
 +
 +FATE_STREAMCOPY-$(call ALLYES, H264_DEMUXER AVI_MUXER) += fate-copy-trac2211-avi
 +fate-copy-trac2211-avi: $(TARGET_SAMPLES)/h264/bbc2.sample.h264
 +fate-copy-trac2211-avi: CMD = transcode "h264 -r 14" $(TARGET_SAMPLES)/h264/bbc2.sample.h264\
 +                          avi "-c:a copy -c:v copy"
 +
 +FATE_STREAMCOPY-$(call DEMMUX, OGG, OGG) += fate-limited_input_seek fate-limited_input_seek-copyts
 +fate-limited_input_seek: $(TARGET_SAMPLES)/vorbis/moog_small.ogg
 +fate-limited_input_seek: CMD = md5 -ss 1.5 -t 1.3 -i $(TARGET_SAMPLES)/vorbis/moog_small.ogg -c:a copy -fflags +bitexact -f ogg
 +fate-limited_input_seek-copyts: $(TARGET_SAMPLES)/vorbis/moog_small.ogg
 +fate-limited_input_seek-copyts: CMD = md5 -ss 1.5 -t 1.3 -i $(TARGET_SAMPLES)/vorbis/moog_small.ogg -c:a copy -copyts -fflags +bitexact -f ogg
 +
 +FATE_STREAMCOPY-$(call ALLYES, MOV_DEMUXER MOV_MUXER) += fate-copy-psp
 +fate-copy-psp: $(TARGET_SAMPLES)/h264/wwwq_cut.mp4
 +fate-copy-psp: CMD = transcode "mov" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\
 +                      psp "-c copy" "-codec copy"
 +
 +fate-streamcopy: $(FATE_STREAMCOPY-yes)
 +
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER MATROSKA_MUXER) += fate-rgb24-mkv
 +fate-rgb24-mkv: $(TARGET_SAMPLES)/qtrle/aletrek-rle.mov
 +fate-rgb24-mkv: CMD = transcode "mov" $(TARGET_SAMPLES)/qtrle/aletrek-rle.mov\
++                      matroska "-vcodec rawvideo -pix_fmt rgb24 -allow_raw_vfw 1 -frames:v 1"
 +
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, AAC_DEMUXER MOV_MUXER) += fate-adtstoasc_ticket3715
 +fate-adtstoasc_ticket3715: $(TARGET_SAMPLES)/aac/foo.aac
 +fate-adtstoasc_ticket3715: CMD = transcode "aac" $(TARGET_SAMPLES)/aac/foo.aac\
 +                      mov "-c copy -bsf:a aac_adtstoasc" "-codec copy"
 +
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER H264_MUXER H264_MP4TOANNEXB_BSF) += fate-h264_mp4toannexb_ticket2991
 +fate-h264_mp4toannexb_ticket2991: $(TARGET_SAMPLES)/h264/wwwq_cut.mp4
 +fate-h264_mp4toannexb_ticket2991: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/wwwq_cut.mp4\
 +                                  h264 "-c:v copy -bsf:v h264_mp4toannexb" "-codec copy"
 +
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, MOV_DEMUXER H264_MUXER H264_MP4TOANNEXB_BSF) += fate-h264_mp4toannexb_ticket5927 fate-h264_mp4toannexb_ticket5927_2
 +fate-h264_mp4toannexb_ticket5927:   CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 \
 +                                          h264 "-c:v copy -bsf:v h264_mp4toannexb -an" "-c:v copy"
 +fate-h264_mp4toannexb_ticket5927_2: CMD = transcode "mp4" $(TARGET_SAMPLES)/h264/thezerotheorem-cut.mp4 \
 +                                          h264 "-c:v copy -an" "-c:v copy"
 +
 +FATE_SAMPLES_FFMPEG-$(call ALLYES, MPEGPS_DEMUXER AVI_MUXER REMOVE_EXTRADATA_BSF) += fate-ffmpeg-bsf-remove-k fate-ffmpeg-bsf-remove-r fate-ffmpeg-bsf-remove-e
 +fate-ffmpeg-bsf-remove-k: $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg
 +fate-ffmpeg-bsf-remove-k: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\
 +                          avi "-vbsf remove_extra=k" "-codec copy"
 +fate-ffmpeg-bsf-remove-r: $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg
 +fate-ffmpeg-bsf-remove-r: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\
 +                          avi "-vbsf remove_extra=keyframe" "-codec copy"
 +fate-ffmpeg-bsf-remove-e: $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg
 +fate-ffmpeg-bsf-remove-e: CMD = transcode "mpeg" $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg\
 +                          avi "-vbsf remove_extra=e" "-codec copy"
 +
 +
 +FATE_SAMPLES_FFMPEG-yes += $(FATE_STREAMCOPY-yes)
index fb68d59,0000000..ef8b3b3
mode 100644,000000..100644
--- /dev/null
@@@ -1,20 -1,0 +1,20 @@@
- fate-fifo-muxer-h264: CMD = ffmpeg -i $(TARGET_SAMPLES)/mkv/1242-small.mkv -vframes 11\
++fate-fifo-muxer-h264: CMD = ffmpeg -i $(TARGET_SAMPLES)/mkv/1242-small.mkv -frames:v 11\
 +                            -c:v copy -c:a copy -map v:0 -map a:0 -flags +bitexact\
 +                            -fflags +bitexact -f fifo -fifo_format framecrc -
 +fate-fifo-muxer-h264: REF = $(SRC_PATH)/tests/ref/fate/mkv-1242
 +FATE_SAMPLES_FIFO_MUXER-$(call ALLYES, FIFO_MUXER, MATROSKA_DEMUXER, H264_DECODER) += fate-fifo-muxer-h264
 +
 +fate-fifo-muxer-wav: CMD = ffmpeg -i $(TARGET_SAMPLES)/audio-reference/chorusnoise_2ch_44kHz_s16.wav\
 +                           -c:a copy -map a:0 -flags +bitexact\
 +                           -fflags +bitexact -f fifo -fifo_format wav md5:
 +fate-fifo-muxer-wav: CMP = oneline
 +fate-fifo-muxer-wav: REF = 4dda5dcc7ecdc2218b0739a152ada802
 +FATE_SAMPLES_FIFO_MUXER-$(call ALLYES, FIFO_MUXER, WAV_DEMUXER) += fate-fifo-muxer-wav
 +
 +fate-fifo-muxer-tst: libavformat/tests/fifo_muxer$(EXESUF)
 +fate-fifo-muxer-tst: CMD = run libavformat/tests/fifo_muxer$(EXESUF)
 +FATE_FIFO_MUXER-$(CONFIG_FIFO_MUXER) += fate-fifo-muxer-tst
 +
 +FATE_SAMPLES_FFMPEG += $(FATE_SAMPLES_FIFO_MUXER-yes)
 +FATE_FFMPEG += $(FATE_FIFO_MUXER-yes)
 +fate-fifo-muxer: $(FATE_FIFO_MUXER-yes) $(FATE_SAMPLES_FIFO_MUXER-yes)
- fate-filter-asetrate: CMD = framecrc -i $(SRC) -aframes 20 -af asetrate=20000
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, ADELAY, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-adelay
 +fate-filter-adelay: tests/data/asynth-44100-2.wav
 +fate-filter-adelay: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-adelay: CMD = framecrc -i $(SRC) -af adelay=42
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, AECHO, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-aecho
 +fate-filter-aecho: tests/data/asynth-44100-2.wav
 +fate-filter-aecho: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-aecho: CMD = framecrc -i $(SRC) -af aecho=0.5:0.5:32:0.5
 +
 +FATE_FILTER_AEMPHASIS += fate-filter-aemphasis-50fm
 +fate-filter-aemphasis-50fm: tests/data/asynth-44100-2.wav
 +fate-filter-aemphasis-50fm: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-aemphasis-50fm: CMD = framecrc -i $(SRC) -af aemphasis=1:5:reproduction:50fm
 +
 +FATE_FILTER_AEMPHASIS += fate-filter-aemphasis-75kf
 +fate-filter-aemphasis-75kf: tests/data/asynth-44100-2.wav
 +fate-filter-aemphasis-75kf: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-aemphasis-75kf: CMD = framecrc -i $(SRC) -af aemphasis=2:8:reproduction:75kf
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, AEMPHASIS, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_FILTER_AEMPHASIS)
 +
 +FATE_FILTER_AFADE += fate-filter-afade-qsin
 +fate-filter-afade-qsin: tests/data/asynth-44100-2.wav
 +fate-filter-afade-qsin: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-afade-qsin: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=qsin
 +
 +FATE_FILTER_AFADE += fate-filter-afade-iqsin
 +fate-filter-afade-iqsin: tests/data/asynth-44100-2.wav
 +fate-filter-afade-iqsin: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-afade-iqsin: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=iqsin
 +
 +FATE_FILTER_AFADE += fate-filter-afade-esin
 +fate-filter-afade-esin: tests/data/asynth-44100-2.wav
 +fate-filter-afade-esin: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-afade-esin: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=esin
 +
 +FATE_FILTER_AFADE += fate-filter-afade-hsin
 +fate-filter-afade-hsin: tests/data/asynth-44100-2.wav
 +fate-filter-afade-hsin: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-afade-hsin: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=hsin
 +
 +FATE_FILTER_AFADE += fate-filter-afade-exp
 +fate-filter-afade-exp: tests/data/asynth-44100-2.wav
 +fate-filter-afade-exp: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-afade-exp: CMD = framecrc -i $(SRC) -af afade=t=in:ss=0:d=2:curve=exp
 +
 +FATE_FILTER_AFADE += fate-filter-afade-log
 +fate-filter-afade-log: tests/data/asynth-44100-2.wav
 +fate-filter-afade-log: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-afade-log: CMD = framecrc -i $(SRC) -af afade=t=in:ss=1:d=2.5:curve=log
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, AFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += $(FATE_FILTER_AFADE)
 +
 +FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, ACROSSFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-acrossfade
 +fate-filter-acrossfade: tests/data/asynth-44100-2.wav
 +fate-filter-acrossfade: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-acrossfade: SRC2 = $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
 +fate-filter-acrossfade: CMD = framecrc -i $(SRC) -i $(SRC2) -filter_complex acrossfade=d=2:c1=log:c2=exp
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, AFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-agate
 +fate-filter-agate: tests/data/asynth-44100-2.wav
 +fate-filter-agate: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-agate: CMD = framecrc -i $(SRC) -af agate=level_in=10:range=0:threshold=1:ratio=1:attack=1:knee=1:makeup=4
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, AFADE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-alimiter
 +fate-filter-alimiter: tests/data/asynth-44100-2.wav
 +fate-filter-alimiter: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-alimiter: CMD = framecrc -i $(SRC) -af alimiter=level_in=1:level_out=2:limit=0.2
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, AMERGE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-amerge
 +fate-filter-amerge: tests/data/asynth-44100-1.wav
 +fate-filter-amerge: SRC = $(TARGET_PATH)/tests/data/asynth-44100-1.wav
 +fate-filter-amerge: CMD = framecrc -i $(SRC) -i $(SRC) -filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]"
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, APAD, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-apad
 +fate-filter-apad: tests/data/asynth-44100-2.wav
 +fate-filter-apad: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-apad: CMD = framecrc -i $(SRC) -af apad=pad_len=10
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, ANEQUALIZER, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-anequalizer
 +fate-filter-anequalizer: tests/data/asynth-44100-2.wav
 +fate-filter-anequalizer: tests/data/filtergraphs/anequalizer
 +fate-filter-anequalizer: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-anequalizer: CMD = framecrc -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/anequalizer
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, ASETNSAMPLES, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-asetnsamples
 +fate-filter-asetnsamples: tests/data/asynth-44100-2.wav
 +fate-filter-asetnsamples: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
 +fate-filter-asetnsamples: CMD = framecrc -i $(SRC) -af asetnsamples=512:p=1
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, ASETRATE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-asetrate
 +fate-filter-asetrate: tests/data/asynth-44100-2.wav
 +fate-filter-asetrate: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
- fate-filter-chorus: CMD = framecrc -i $(SRC) -aframes 10 -af chorus=0.050001:0.050002:64:0.050001:0.025003:2.00004
++fate-filter-asetrate: CMD = framecrc -i $(SRC) -frames:a 20 -af asetrate=20000
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, CHORUS, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-chorus
 +fate-filter-chorus: tests/data/asynth-22050-1.wav
 +fate-filter-chorus: SRC = $(TARGET_PATH)/tests/data/asynth-22050-1.wav
- fate-filter-dcshift: CMD = framecrc -i $(SRC) -aframes 20 -af dcshift=shift=0.25:limitergain=0.05
++fate-filter-chorus: CMD = framecrc -i $(SRC) -frames:a 10 -af chorus=0.050001:0.050002:64:0.050001:0.025003:2.00004
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, DCSHIFT, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-dcshift
 +fate-filter-dcshift: tests/data/asynth-44100-2.wav
 +fate-filter-dcshift: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
- fate-filter-earwax: CMD = framecrc -i $(SRC) -aframes 20 -af earwax
++fate-filter-dcshift: CMD = framecrc -i $(SRC) -frames:a 20 -af dcshift=shift=0.25:limitergain=0.05
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, EARWAX, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-earwax
 +fate-filter-earwax: tests/data/asynth-44100-2.wav
 +fate-filter-earwax: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
- fate-filter-extrastereo: CMD = framecrc -i $(SRC) -aframes 20 -af extrastereo=m=2
++fate-filter-earwax: CMD = framecrc -i $(SRC) -frames:a 20 -af earwax
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, EXTRASTEREO, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-extrastereo
 +fate-filter-extrastereo: tests/data/asynth-44100-2.wav
 +fate-filter-extrastereo: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
- fate-filter-silenceremove: CMD = framecrc -i $(SRC) -aframes 30 -af silenceremove=0:0:0:-1:0:-90dB
++fate-filter-extrastereo: CMD = framecrc -i $(SRC) -frames:a 20 -af extrastereo=m=2
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, FIREQUALIZER ATRIM VOLUME, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-firequalizer
 +fate-filter-firequalizer: tests/data/asynth-44100-2.wav
 +fate-filter-firequalizer: tests/data/filtergraphs/firequalizer
 +fate-filter-firequalizer: REF = tests/data/asynth-44100-2.wav
 +fate-filter-firequalizer: CMD = ffmpeg -i $(TARGET_PATH)/tests/data/asynth-44100-2.wav -filter_script $(TARGET_PATH)/tests/data/filtergraphs/firequalizer -f wav -acodec pcm_s16le -
 +fate-filter-firequalizer: CMP = oneoff
 +fate-filter-firequalizer: CMP_UNIT = s16
 +fate-filter-firequalizer: SIZE_TOLERANCE = 1058400 - 1097208
 +
 +FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, SILENCEREMOVE, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-silenceremove
 +fate-filter-silenceremove: SRC = $(TARGET_SAMPLES)/audio-reference/divertimenti_2ch_96kHz_s24.wav
- fate-filter-stereotools: CMD = framecrc -i $(SRC) -aframes 20 -af stereotools=mlev=0.015625
++fate-filter-silenceremove: CMD = framecrc -i $(SRC) -frames:a 30 -af silenceremove=0:0:0:-1:0:-90dB
 +
 +FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, STEREOTOOLS, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-stereotools
 +fate-filter-stereotools: SRC = $(TARGET_SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
- fate-filter-tremolo: CMD = framecrc -i $(SRC) -aframes 20 -af tremolo
++fate-filter-stereotools: CMD = framecrc -i $(SRC) -frames:a 20 -af stereotools=mlev=0.015625
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, TREMOLO, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-tremolo
 +fate-filter-tremolo: tests/data/asynth-44100-2.wav
 +fate-filter-tremolo: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
- fate-filter-compand: CMD = framecrc -i $(SRC) -aframes 20 -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/compand
++fate-filter-tremolo: CMD = framecrc -i $(SRC) -frames:a 20 -af tremolo
 +
 +FATE_AFILTER-$(call FILTERDEMDECENCMUX, COMPAND, WAV, PCM_S16LE, PCM_S16LE, WAV) += fate-filter-compand
 +fate-filter-compand: tests/data/asynth-44100-2.wav
 +fate-filter-compand: tests/data/filtergraphs/compand
 +fate-filter-compand: SRC = $(TARGET_PATH)/tests/data/asynth-44100-2.wav
++fate-filter-compand: CMD = framecrc -i $(SRC) -frames:a 20 -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/compand
 +
 +tests/data/hls-list.m3u8: TAG = GEN
 +tests/data/hls-list.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
 +      $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
 +        -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t)::d=20" -f segment -segment_time 10 -map 0 -flags +bitexact -codec:a mp2fixed \
 +        -segment_list $(TARGET_PATH)/$@ -y $(TARGET_PATH)/tests/data/hls-out-%03d.ts 2>/dev/null
 +
 +FATE_AFILTER-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-filter-hls
 +fate-filter-hls: tests/data/hls-list.m3u8
 +fate-filter-hls: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/hls-list.m3u8
 +
 +tests/data/hls-list-append.m3u8: TAG = GEN
 +tests/data/hls-list-append.m3u8: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
 +      $(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
 +        -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t)::d=20" -f segment -segment_time 10 -map 0 -flags +bitexact -codec:a mp2fixed \
 +        -segment_list $(TARGET_PATH)/$@ -y $(TARGET_PATH)/tests/data/hls-append-out-%03d.ts 2>/dev/null; \
 +        $(TARGET_EXEC) $(TARGET_PATH)/$< \
 +        -f lavfi -i "aevalsrc=cos(2*PI*t)*sin(2*PI*(440+4*t)*t)::d=20" -f hls -hls_time 10 -map 0 -flags +bitexact \
 +        -hls_flags append_list -codec:a mp2fixed -hls_segment_filename $(TARGET_PATH)/tests/data/hls-append-out-%03d.ts \
 +        $(TARGET_PATH)/tests/data/hls-list-append.m3u8 2>/dev/null
 +
 +FATE_AFILTER-$(call ALLYES, HLS_DEMUXER MPEGTS_MUXER MPEGTS_DEMUXER AEVALSRC_FILTER LAVFI_INDEV MP2FIXED_ENCODER) += fate-filter-hls-append
 +fate-filter-hls-append: tests/data/hls-list-append.m3u8
 +fate-filter-hls-append: CMD = framecrc -flags +bitexact -i $(TARGET_PATH)/tests/data/hls-list-append.m3u8 -af asetpts=RTCTIME
 +
  FATE_AMIX += fate-filter-amix-simple
 -fate-filter-amix-simple: CMD = avconv -filter_complex amix -i $(SRC) -ss 3 -i $(SRC1) -f f32le -
 +fate-filter-amix-simple: CMD = ffmpeg -filter_complex amix -i $(SRC) -ss 3 -i $(SRC1) -f f32le -
  fate-filter-amix-simple: REF = $(SAMPLES)/filter/amix_simple.pcm
  
  FATE_AMIX += fate-filter-amix-first
@@@ -1,86 -1,16 +1,86 @@@
 -FATE_FILTER-$(call FILTERDEMDEC, DELOGO, RM, RV30) += fate-filter-delogo
 -fate-filter-delogo: CMD = framecrc -i $(TARGET_SAMPLES)/real/rv30.rm -vf delogo=show=0:x=290:y=25:w=26:h=16 -an
 +FATE_FILTER_SAMPLES-$(call ALLYES, PERMS_FILTER DELOGO_FILTER RM_DEMUXER RV30_DECODER) += fate-filter-delogo
 +fate-filter-delogo: CMD = framecrc -i $(TARGET_SAMPLES)/real/rv30.rm -vf perms=random,delogo=show=0:x=290:y=25:w=26:h=16 -an
  
  FATE_YADIF += fate-filter-yadif-mode0
- fate-filter-yadif-mode0: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -vframes 30 -vf yadif=0
 -fate-filter-yadif-mode0: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -vf yadif=0
++fate-filter-yadif-mode0: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf yadif=0
  
  FATE_YADIF += fate-filter-yadif-mode1
- fate-filter-yadif-mode1: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -vframes 59 -vf yadif=1
 -fate-filter-yadif-mode1: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -vf yadif=1
++fate-filter-yadif-mode1: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 59 -vf yadif=1
  
 -FATE_FILTER-$(call FILTERDEMDEC, YADIF, MPEGTS, MPEG2VIDEO) += $(FATE_YADIF)
 +FATE_YADIF += fate-filter-yadif10
- fate-filter-yadif10: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -flags bitexact -pix_fmt yuv420p10le -vframes 30 -vf yadif=0
++fate-filter-yadif10: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -flags bitexact -pix_fmt yuv420p10le -frames:v 30 -vf yadif=0
  
 -FATE_SAMPLES_AVCONV += $(FATE_FILTER-yes)
 +FATE_YADIF += fate-filter-yadif16
- fate-filter-yadif16: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -flags bitexact -pix_fmt yuv420p16le -vframes 30 -vf yadif=0
++fate-filter-yadif16: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -flags bitexact -pix_fmt yuv420p16le -frames:v 30 -vf yadif=0
  
- fate-filter-w3fdif-simple: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -vframes 30 -vf w3fdif=0
 +FATE_FILTER_SAMPLES-$(call FILTERDEMDEC, YADIF, MPEGTS, MPEG2VIDEO) += $(FATE_YADIF)
 +
 +FATE_W3FDIF += fate-filter-w3fdif-simple
- fate-filter-w3fdif-complex: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -vframes 30 -vf w3fdif=1
++fate-filter-w3fdif-simple: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf w3fdif=0
 +
 +FATE_W3FDIF += fate-filter-w3fdif-complex
- fate-filter-mcdeint-fast: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -vframes 30 -vf mcdeint=fast
++fate-filter-w3fdif-complex: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf w3fdif=1
 +
 +FATE_FILTER_SAMPLES-$(call FILTERDEMDEC, W3FDIF, MPEGTS, MPEG2VIDEO) += $(FATE_W3FDIF)
 +
 +FATE_MCDEINT += fate-filter-mcdeint-fast
- fate-filter-mcdeint-medium: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -vframes 30 -vf mcdeint=mode=medium
++fate-filter-mcdeint-fast: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf mcdeint=fast
 +
 +FATE_MCDEINT += fate-filter-mcdeint-medium
- fate-filter-codecview-mvs: CMD = framecrc -flags2 +export_mvs -i $(TARGET_SAMPLES)/real/spygames-2MB.rmvb -vf codecview=mv=pf+bf+bb -vframes 60 -an
++fate-filter-mcdeint-medium: CMD = framecrc -flags bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -frames:v 30 -vf mcdeint=mode=medium
 +
 +FATE_FILTER_SAMPLES-$(call ALLYES, MCDEINT_FILTER, MPEGTS_DEMUXER, MPEG2VIDEO_DECODER SNOW_ENCODER) += $(FATE_MCDEINT)
 +
 +FATE_FILTER_SAMPLES-$(call ALLYES, CODECVIEW_FILTER RM_DEMUXER RV40_DECODER) += fate-filter-codecview-mvs
++fate-filter-codecview-mvs: CMD = framecrc -flags2 +export_mvs -i $(TARGET_SAMPLES)/real/spygames-2MB.rmvb -vf codecview=mv=pf+bf+bb -frames:v 60 -an
 +
 +FATE_FILTER_SAMPLES-$(call ALLYES, SHOWPALETTE_FILTER FLIC_DEMUXER FLIC_DECODER) += fate-filter-showpalette
 +fate-filter-showpalette: CMD = framecrc -i $(TARGET_SAMPLES)/fli/fli-engines.fli -vf showpalette=3 -pix_fmt bgra
 +
 +FATE_FILTER_PALETTEGEN += fate-filter-palettegen-1
 +fate-filter-palettegen-1: CMD = framecrc -i $(TARGET_SAMPLES)/filter/anim.mkv -vf palettegen -pix_fmt bgra
 +
 +FATE_FILTER_PALETTEGEN += fate-filter-palettegen-2
 +fate-filter-palettegen-2: CMD = framecrc -i $(TARGET_SAMPLES)/filter/anim.mkv -vf palettegen=max_colors=128:reserve_transparent=0:stats_mode=diff -pix_fmt bgra
 +
 +fate-filter-palettegen: $(FATE_FILTER_PALETTEGEN)
 +FATE_FILTER_SAMPLES-$(call ALLYES, PALETTEGEN_FILTER MATROSKA_DEMUXER H264_DECODER) += $(FATE_FILTER_PALETTEGEN)
 +
 +FATE_FILTER_PALETTEUSE += fate-filter-paletteuse-nodither
 +fate-filter-paletteuse-nodither: CMD = framecrc -i $(TARGET_SAMPLES)/filter/anim.mkv -i $(TARGET_SAMPLES)/filter/anim-palette.png -lavfi paletteuse=none -pix_fmt bgra
 +
 +FATE_FILTER_PALETTEUSE += fate-filter-paletteuse-bayer
 +fate-filter-paletteuse-bayer: CMD = framecrc -i $(TARGET_SAMPLES)/filter/anim.mkv -i $(TARGET_SAMPLES)/filter/anim-palette.png -lavfi paletteuse=bayer -pix_fmt bgra
 +
 +FATE_FILTER_PALETTEUSE += fate-filter-paletteuse-sierra2_4a
 +fate-filter-paletteuse-sierra2_4a: CMD = framecrc -i $(TARGET_SAMPLES)/filter/anim.mkv -i $(TARGET_SAMPLES)/filter/anim-palette.png -lavfi paletteuse=sierra2_4a:diff_mode=rectangle -pix_fmt bgra
 +
 +fate-filter-paletteuse: $(FATE_FILTER_PALETTEUSE)
 +FATE_FILTER_SAMPLES-$(call ALLYES, PALETTEUSE_FILTER MATROSKA_DEMUXER H264_DECODER IMAGE2_DEMUXER PNG_DECODER) += $(FATE_FILTER_PALETTEUSE)
 +
 +FATE_FILTER-$(call ALLYES, AVDEVICE LIFE_FILTER) += fate-filter-lavd-life
 +fate-filter-lavd-life: CMD = framecrc -f lavfi -i life=s=40x40:r=5:seed=42:mold=64:ratio=0.1:death_color=red:life_color=green -t 2
 +
 +FATE_FILTER-$(call ALLYES, AVDEVICE TESTSRC_FILTER) += fate-filter-lavd-testsrc
 +fate-filter-lavd-testsrc: CMD = framecrc -f lavfi -i testsrc=r=7:n=2:d=10
 +
 +FATE_FILTER-$(call ALLYES, TESTSRC2_FILTER) += fate-filter-testsrc2-yuv420p
 +fate-filter-testsrc2-yuv420p: CMD = framecrc -lavfi testsrc2=r=7:d=10 -pix_fmt yuv420p
 +
 +FATE_FILTER-$(call ALLYES, TESTSRC2_FILTER) += fate-filter-testsrc2-yuv444p
 +fate-filter-testsrc2-yuv444p: CMD = framecrc -lavfi testsrc2=r=7:d=10 -pix_fmt yuv444p
 +
 +FATE_FILTER-$(call ALLYES, TESTSRC2_FILTER) += fate-filter-testsrc2-rgb24
 +fate-filter-testsrc2-rgb24: CMD = framecrc -lavfi testsrc2=r=7:d=10 -pix_fmt rgb24
 +
 +FATE_FILTER-$(call ALLYES, AVDEVICE TESTSRC_FILTER FORMAT_FILTER CONCAT_FILTER SCALE_FILTER) += fate-filter-lavd-scalenorm
 +fate-filter-lavd-scalenorm: tests/data/filtergraphs/scalenorm
 +fate-filter-lavd-scalenorm: CMD = framecrc -f lavfi -graph_file $(TARGET_PATH)/tests/data/filtergraphs/scalenorm -i dummy
 +
 +
 +FATE_FILTER-$(call ALLYES FRAMERATE_FILTER TESTSRC2_FILTER) += fate-filter-framerate-up fate-filter-framerate-down
 +fate-filter-framerate-up: CMD = framecrc -lavfi testsrc2=r=2:d=10,framerate=fps=10 -t 1
 +fate-filter-framerate-down: CMD = framecrc -lavfi testsrc2=r=2:d=10,framerate=fps=1 -t 1
  
  FATE_FILTER_VSYNTH-$(CONFIG_BOXBLUR_FILTER) += fate-filter-boxblur
  fate-filter-boxblur: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf boxblur=2:1
@@@ -116,171 -41,13 +116,171 @@@ fate-filter-hqdn3d: CMD = framecrc -c:
  FATE_FILTER_VSYNTH-$(CONFIG_INTERLACE_FILTER) += fate-filter-interlace
  fate-filter-interlace: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf interlace
  
 -FATE_FILTER_VSYNTH-$(CONFIG_NEGATE_FILTER) += fate-filter-negate
 -fate-filter-negate: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf negate
 +FATE_FILTER_VSYNTH-$(call ALLYES, NEGATE_FILTER PERMS_FILTER) += fate-filter-negate
 +fate-filter-negate: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf perms=random,negate
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_HISTOGRAM_FILTER) += fate-filter-histogram-levels
 +fate-filter-histogram-levels: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf histogram -flags +bitexact -sws_flags +accurate_rnd+bitexact
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_WAVEFORM_FILTER) += fate-filter-waveform_column
 +fate-filter-waveform_column: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf waveform -flags +bitexact -sws_flags +accurate_rnd+bitexact
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_WAVEFORM_FILTER) += fate-filter-waveform_row
 +fate-filter-waveform_row: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf waveform=m=row -flags +bitexact -sws_flags +accurate_rnd+bitexact
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_WAVEFORM_FILTER) += fate-filter-waveform_envelope
 +fate-filter-waveform_envelope: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf waveform=e=3 -flags +bitexact -sws_flags +accurate_rnd+bitexact
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_WAVEFORM_FILTER) += fate-filter-waveform_uv
 +fate-filter-waveform_uv: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf waveform=c=6 -flags +bitexact -sws_flags +accurate_rnd+bitexact
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_VECTORSCOPE_FILTER) += fate-filter-vectorscope_gray
- fate-filter-vectorscope_gray: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=gray -sws_flags +accurate_rnd+bitexact -vframes 3
++fate-filter-vectorscope_gray: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=gray -sws_flags +accurate_rnd+bitexact -frames:v 3
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_VECTORSCOPE_FILTER) += fate-filter-vectorscope_color
- fate-filter-vectorscope_color: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=color -sws_flags +accurate_rnd+bitexact -vframes 3
++fate-filter-vectorscope_color: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=color -sws_flags +accurate_rnd+bitexact -frames:v 3
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_VECTORSCOPE_FILTER) += fate-filter-vectorscope_color2
- fate-filter-vectorscope_color2: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=color2 -sws_flags +accurate_rnd+bitexact -vframes 3
++fate-filter-vectorscope_color2: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=color2 -sws_flags +accurate_rnd+bitexact -frames:v 3
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_VECTORSCOPE_FILTER) += fate-filter-vectorscope_color3
- fate-filter-vectorscope_color3: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=color3 -sws_flags +accurate_rnd+bitexact -vframes 3
++fate-filter-vectorscope_color3: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=color3 -sws_flags +accurate_rnd+bitexact -frames:v 3
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_VECTORSCOPE_FILTER) += fate-filter-vectorscope_color4
- fate-filter-vectorscope_color4: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=color4 -sws_flags +accurate_rnd+bitexact -vframes 3
++fate-filter-vectorscope_color4: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=color4 -sws_flags +accurate_rnd+bitexact -frames:v 3
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_VECTORSCOPE_FILTER) += fate-filter-vectorscope_xy
- fate-filter-vectorscope_xy: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=x=0:y=1 -sws_flags +accurate_rnd+bitexact -vframes 3
++fate-filter-vectorscope_xy: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf vectorscope=x=0:y=1 -sws_flags +accurate_rnd+bitexact -frames:v 3
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_MERGEPLANES_FILTER) += fate-filter-mergeplanes
 +fate-filter-mergeplanes: tests/data/filtergraphs/mergeplanes
 +fate-filter-mergeplanes: CMD = framecrc -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/mergeplanes
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_HSTACK_FILTER) += fate-filter-hstack
 +fate-filter-hstack: tests/data/filtergraphs/hstack
 +fate-filter-hstack: CMD = framecrc -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/hstack
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_VSTACK_FILTER) += fate-filter-vstack
 +fate-filter-vstack: tests/data/filtergraphs/vstack
 +fate-filter-vstack: CMD = framecrc -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/vstack
  
  FATE_FILTER_VSYNTH-$(CONFIG_OVERLAY_FILTER) += fate-filter-overlay
  fate-filter-overlay: tests/data/filtergraphs/overlay
  fate-filter-overlay: CMD = framecrc -c:v pgmyuv -i $(SRC) -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay
  
- fate-filter-removegrain-mode-00: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=0:0:0
 +FATE_FILTER_VSYNTH-$(call ALLYES, SPLIT_FILTER SCALE_FILTER PAD_FILTER OVERLAY_FILTER) += fate-filter-overlay_rgb
 +fate-filter-overlay_rgb: tests/data/filtergraphs/overlay_rgb
 +fate-filter-overlay_rgb: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_rgb
 +
 +FATE_FILTER_VSYNTH-$(call ALLYES, SPLIT_FILTER SCALE_FILTER PAD_FILTER OVERLAY_FILTER) += fate-filter-overlay_yuv420
 +fate-filter-overlay_yuv420: tests/data/filtergraphs/overlay_yuv420
 +fate-filter-overlay_yuv420: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_yuv420
 +
 +FATE_FILTER_VSYNTH-$(call ALLYES, SPLIT_FILTER SCALE_FILTER PAD_FILTER OVERLAY_FILTER) += fate-filter-overlay_nv12
 +fate-filter-overlay_nv12: tests/data/filtergraphs/overlay_nv12
 +fate-filter-overlay_nv12: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_nv12
 +fate-filter-overlay_nv12: REF = $(SRC_PATH)/tests/ref/fate/filter-overlay_yuv420
 +
 +FATE_FILTER_VSYNTH-$(call ALLYES, SPLIT_FILTER SCALE_FILTER PAD_FILTER OVERLAY_FILTER) += fate-filter-overlay_nv21
 +fate-filter-overlay_nv21: tests/data/filtergraphs/overlay_nv21
 +fate-filter-overlay_nv21: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_nv21
 +fate-filter-overlay_nv21: REF = $(SRC_PATH)/tests/ref/fate/filter-overlay_yuv420
 +
 +FATE_FILTER_VSYNTH-$(call ALLYES, SPLIT_FILTER SCALE_FILTER PAD_FILTER OVERLAY_FILTER) += fate-filter-overlay_yuv422
 +fate-filter-overlay_yuv422: tests/data/filtergraphs/overlay_yuv422
 +fate-filter-overlay_yuv422: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_yuv422
 +
 +FATE_FILTER_VSYNTH-$(call ALLYES, SPLIT_FILTER SCALE_FILTER PAD_FILTER OVERLAY_FILTER) += fate-filter-overlay_yuv444
 +fate-filter-overlay_yuv444: tests/data/filtergraphs/overlay_yuv444
 +fate-filter-overlay_yuv444: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_complex_script $(TARGET_PATH)/tests/data/filtergraphs/overlay_yuv444
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_PHASE_FILTER) += fate-filter-phase
 +fate-filter-phase: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf phase
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-00
- fate-filter-removegrain-mode-01: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=1:1:1
++fate-filter-removegrain-mode-00: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=0:0:0
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-01
- fate-filter-removegrain-mode-02: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=2:2:2
++fate-filter-removegrain-mode-01: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=1:1:1
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-02
- fate-filter-removegrain-mode-03: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=3:3:3
++fate-filter-removegrain-mode-02: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=2:2:2
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-03
- fate-filter-removegrain-mode-04: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=4:4:4
++fate-filter-removegrain-mode-03: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=3:3:3
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-04
- fate-filter-removegrain-mode-05: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=5:5:5
++fate-filter-removegrain-mode-04: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=4:4:4
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-05
- fate-filter-removegrain-mode-06: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=6:6:6
++fate-filter-removegrain-mode-05: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=5:5:5
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-06
- fate-filter-removegrain-mode-07: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=7:7:7
++fate-filter-removegrain-mode-06: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=6:6:6
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-07
- fate-filter-removegrain-mode-08: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=8:8:8
++fate-filter-removegrain-mode-07: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=7:7:7
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-08
- fate-filter-removegrain-mode-09: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=9:9:9
++fate-filter-removegrain-mode-08: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=8:8:8
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-09
- fate-filter-removegrain-mode-10: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=10:10:10
++fate-filter-removegrain-mode-09: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=9:9:9
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-10
- fate-filter-removegrain-mode-11: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=11:11:11
++fate-filter-removegrain-mode-10: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=10:10:10
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-11
- fate-filter-removegrain-mode-12: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=12:12:12
++fate-filter-removegrain-mode-11: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=11:11:11
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-12
- fate-filter-removegrain-mode-13: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=13:13:13
++fate-filter-removegrain-mode-12: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=12:12:12
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-13
- fate-filter-removegrain-mode-14: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=14:14:14
++fate-filter-removegrain-mode-13: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=13:13:13
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-14
- fate-filter-removegrain-mode-15: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=15:15:15
++fate-filter-removegrain-mode-14: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=14:14:14
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-15
- fate-filter-removegrain-mode-16: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=16:16:16
++fate-filter-removegrain-mode-15: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=15:15:15
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-16
- fate-filter-removegrain-mode-17: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=17:17:17
++fate-filter-removegrain-mode-16: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=16:16:16
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-17
- fate-filter-removegrain-mode-18: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=18:18:18
++fate-filter-removegrain-mode-17: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=17:17:17
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-18
- fate-filter-removegrain-mode-19: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=19:19:19
++fate-filter-removegrain-mode-18: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=18:18:18
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-19
- fate-filter-removegrain-mode-20: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=20:20:20
++fate-filter-removegrain-mode-19: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=19:19:19
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-20
- fate-filter-removegrain-mode-21: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=21:21:21
++fate-filter-removegrain-mode-20: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=20:20:20
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-21
- fate-filter-removegrain-mode-22: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=22:22:22
++fate-filter-removegrain-mode-21: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=21:21:21
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-22
- fate-filter-removegrain-mode-23: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=23:23:23
++fate-filter-removegrain-mode-22: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=22:22:22
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-23
- fate-filter-removegrain-mode-24: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 1 -vf removegrain=24:24:24
++fate-filter-removegrain-mode-23: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=23:23:23
 +
 +FATE_REMOVEGRAIN += fate-filter-removegrain-mode-24
++fate-filter-removegrain-mode-24: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 1 -vf removegrain=24:24:24
 +
 +fate-filter-removegrain: $(FATE_REMOVEGRAIN)
 +FATE_FILTER_VSYNTH-$(CONFIG_REMOVEGRAIN_FILTER) += $(FATE_REMOVEGRAIN)
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_SEPARATEFIELDS_FILTER) += fate-filter-separatefields
 +fate-filter-separatefields: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf separatefields
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_WEAVE_FILTER) += fate-filter-weave
 +fate-filter-weave: CMD = framecrc -c:v pgmyuv -i $(SRC) -vf weave
 +
  FATE_FILTER_VSYNTH-$(CONFIG_SELECT_FILTER) += fate-filter-select-alternate
  fate-filter-select-alternate: tests/data/filtergraphs/select-alternate
  fate-filter-select-alternate: CMD = framecrc -c:v pgmyuv -i $(SRC) -filter_script $(TARGET_PATH)/tests/data/filtergraphs/select-alternate
@@@ -422,123 -115,9 +422,123 @@@ fate-filter-vflip_crop: CMD = video_fil
  FATE_FILTER_VSYNTH-$(CONFIG_VFLIP_FILTER) += fate-filter-vflip_vflip
  fate-filter-vflip_vflip: CMD = video_filter "vflip,vflip"
  
- fate-filter-edgedetect: CMD = video_filter "format=gray,perms=random,edgedetect" -vframes 20
 +FATE_FILTER_VSYNTH-$(call ALLYES, FORMAT_FILTER PERMS_FILTER EDGEDETECT_FILTER) += fate-filter-edgedetect
- fate-filter-edgedetect-colormix: CMD = video_filter "format=gbrp,perms=random,edgedetect=mode=colormix" -vframes 20
++fate-filter-edgedetect: CMD = video_filter "format=gray,perms=random,edgedetect" -frames:v 20
 +
 +FATE_FILTER_VSYNTH-$(call ALLYES, FORMAT_FILTER PERMS_FILTER EDGEDETECT_FILTER) += fate-filter-edgedetect-colormix
- fate-filter-hue: CMD = video_filter "perms=random,hue=s=sin(2*PI*t)+1" -vframes 20
++fate-filter-edgedetect-colormix: CMD = video_filter "format=gbrp,perms=random,edgedetect=mode=colormix" -frames:v 20
 +
 +FATE_FILTER_VSYNTH-$(call ALLYES, PERMS_FILTER HUE_FILTER) += fate-filter-hue
- fate-filter-idet: CMD = framecrc -flags bitexact -idct simple -i $(SRC) -vf idet -vframes 25 -flags +bitexact
++fate-filter-hue: CMD = video_filter "perms=random,hue=s=sin(2*PI*t)+1" -frames:v 20
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_IDET_FILTER) += fate-filter-idet
- fate-filter-pp:  CMD = framecrc -flags bitexact -idct simple -i $(TARGET_PATH)/tests/data/fate/vsynth1-mpeg4-qprd.avi -vframes 5 -flags +bitexact -vf "pp=be/hb/vb/tn/l5/al"
++fate-filter-idet: CMD = framecrc -flags bitexact -idct simple -i $(SRC) -vf idet -frames:v 25 -flags +bitexact
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_PAD_FILTER) += fate-filter-pad
 +fate-filter-pad: CMD = video_filter "pad=iw*1.5:ih*1.5:iw*0.3:ih*0.2"
 +
 +FATE_FILTER_PP = fate-filter-pp fate-filter-pp1 fate-filter-pp2 fate-filter-pp3 fate-filter-pp4 fate-filter-pp5 fate-filter-pp6
 +FATE_FILTER_VSYNTH-$(CONFIG_PP_FILTER) += $(FATE_FILTER_PP)
 +$(FATE_FILTER_PP): fate-vsynth1-mpeg4-qprd
 +
- fate-filter-select: CMD = framecrc -flags bitexact -idct simple -i $(SRC) -vf "select=not(eq(mod(n\,2)\,0)+eq(mod(n\,3)\,0))" -vframes 25 -flags +bitexact
++fate-filter-pp:  CMD = framecrc -flags bitexact -idct simple -i $(TARGET_PATH)/tests/data/fate/vsynth1-mpeg4-qprd.avi -frames:v 5 -flags +bitexact -vf "pp=be/hb/vb/tn/l5/al"
 +fate-filter-pp1: CMD = video_filter "pp=fq|4/be/hb/vb/tn/l5/al"
 +fate-filter-pp2: CMD = video_filter "qp=x+y,pp=be/h1/v1/lb"
 +fate-filter-pp3: CMD = video_filter "qp=x+y,pp=be/ha|128|7/va/li"
 +fate-filter-pp4: CMD = video_filter "pp=be/ci"
 +fate-filter-pp5: CMD = video_filter "pp=md"
 +fate-filter-pp6: CMD = video_filter "pp=be/fd"
 +
 +FATE_FILTER_VSYNTH-$(call ALLYES, QP_FILTER PP_FILTER) += fate-filter-qp
 +fate-filter-qp: CMD = video_filter "qp=17,pp=be/hb/vb/tn/l5/al"
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_SELECT_FILTER) += fate-filter-select
- fate-filter-stereo3d-al-sbsl: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=al:sbsl
++fate-filter-select: CMD = framecrc -flags bitexact -idct simple -i $(SRC) -vf "select=not(eq(mod(n\,2)\,0)+eq(mod(n\,3)\,0))" -frames:v 25 -flags +bitexact
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_SETDAR_FILTER) += fate-filter-setdar
 +fate-filter-setdar: CMD = video_filter "setdar=dar=16/9"
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_SETSAR_FILTER) += fate-filter-setsar
 +fate-filter-setsar: CMD = video_filter "setsar=sar=16/11"
 +
 +FATE_STEREO3D += fate-filter-stereo3d-al-sbsl
- fate-filter-stereo3d-ar-abl: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=ar:abl
++fate-filter-stereo3d-al-sbsl: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=al:sbsl
 +
 +FATE_STEREO3D += fate-filter-stereo3d-ar-abl
- fate-filter-stereo3d-abr-mr: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=abr:mr
++fate-filter-stereo3d-ar-abl: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=ar:abl
 +
 +FATE_STEREO3D += fate-filter-stereo3d-abr-mr
- fate-filter-stereo3d-abr-ml: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=abr:ml
++fate-filter-stereo3d-abr-mr: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=abr:mr
 +
 +FATE_STEREO3D += fate-filter-stereo3d-abr-ml
- fate-filter-stereo3d-sbsl-abl: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:abl
++fate-filter-stereo3d-abr-ml: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=abr:ml
 +
 +FATE_STEREO3D  += fate-filter-stereo3d-sbsl-abl
- fate-filter-stereo3d-sbsl-abr: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:abr
++fate-filter-stereo3d-sbsl-abl: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:abl
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-abr
- fate-filter-stereo3d-sbsl-al: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:al
++fate-filter-stereo3d-sbsl-abr: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:abr
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-al
- fate-filter-stereo3d-sbsl-sbsr: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:sbsr
++fate-filter-stereo3d-sbsl-al: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:al
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-sbsr
- fate-filter-stereo3d-sbsl-agmc: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmc
++fate-filter-stereo3d-sbsl-sbsr: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:sbsr
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-agmc
- fate-filter-stereo3d-sbsl-agmd: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmd
++fate-filter-stereo3d-sbsl-agmc: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmc
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-agmd
- fate-filter-stereo3d-sbsl-agmg: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmg
++fate-filter-stereo3d-sbsl-agmd: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmd
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-agmg
- fate-filter-stereo3d-sbsl-agmh: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmh
++fate-filter-stereo3d-sbsl-agmg: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmg
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-agmh
- fate-filter-stereo3d-sbsl-arbg: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arbg
++fate-filter-stereo3d-sbsl-agmh: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:agmh
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-arbg
- fate-filter-stereo3d-sbsl-arcc: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcc
++fate-filter-stereo3d-sbsl-arbg: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arbg
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-arcc
- fate-filter-stereo3d-sbsl-arcd: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcd
++fate-filter-stereo3d-sbsl-arcc: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcc
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-arcd
- fate-filter-stereo3d-sbsl-arcg: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcg
++fate-filter-stereo3d-sbsl-arcd: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcd
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-arcg
- fate-filter-stereo3d-sbsl-arch: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arch
++fate-filter-stereo3d-sbsl-arcg: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arcg
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-arch
- fate-filter-stereo3d-sbsl-argg: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:argg
++fate-filter-stereo3d-sbsl-arch: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:arch
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-argg
- fate-filter-stereo3d-sbsl-aybc: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybc
++fate-filter-stereo3d-sbsl-argg: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:argg
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-aybc
- fate-filter-stereo3d-sbsl-aybd: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybd
++fate-filter-stereo3d-sbsl-aybc: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybc
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-aybd
- fate-filter-stereo3d-sbsl-aybg: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybg
++fate-filter-stereo3d-sbsl-aybd: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybd
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-aybg
- fate-filter-stereo3d-sbsl-aybh: CMD = framecrc -c:v pgmyuv -i $(SRC) -vframes 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybh
++fate-filter-stereo3d-sbsl-aybg: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybg
 +
 +FATE_STEREO3D += fate-filter-stereo3d-sbsl-aybh
++fate-filter-stereo3d-sbsl-aybh: CMD = framecrc -c:v pgmyuv -i $(SRC) -frames:v 5 -flags +bitexact -sws_flags +accurate_rnd+bitexact -vf stereo3d=sbsl:aybh
 +
 +fate-filter-stereo3d: $(FATE_STEREO3D)
 +FATE_FILTER_VSYNTH-$(CONFIG_STEREO3D_FILTER) += $(FATE_STEREO3D)
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_THUMBNAIL_FILTER) += fate-filter-thumbnail
 +fate-filter-thumbnail: CMD = video_filter "thumbnail=10"
 +
 +FATE_FILTER_VSYNTH-$(CONFIG_TILE_FILTER) += fate-filter-tile
 +fate-filter-tile: CMD = video_filter "tile=3x3:nb_frames=5:padding=7:margin=2"
 +
  
  tests/pixfmts.mak: TAG = GEN
 -tests/pixfmts.mak: avconv$(EXESUF) | tests
 +tests/pixfmts.mak: ffmpeg$(PROGSSUF)$(EXESUF) | tests
        $(M)printf "PIXFMTS = " > $@
        $(Q)$(TARGET_EXEC) $(TARGET_PATH)/$< -pix_fmts list 2> /dev/null | awk 'NR > 8 && /^IO/ { printf $$2 " " }' >> $@
        $(Q)printf "\n" >> $@
@@@ -250,186 -224,168 +250,186 @@@ fate-h264-conformance-caba2_sva_b
  fate-h264-conformance-caba3_sony_c:               CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CABA3_Sony_C.jsv
  fate-h264-conformance-caba3_sva_b:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CABA3_SVA_B.264
  fate-h264-conformance-caba3_toshiba_e:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CABA3_TOSHIBA_E.264
 -fate-h264-conformance-cabac_mot_fld0_full:        CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/camp_mot_fld0_full.26l
 -fate-h264-conformance-cabac_mot_frm0_full:        CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/camp_mot_frm0_full.26l
 -fate-h264-conformance-cabac_mot_mbaff0_full:      CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/camp_mot_mbaff0_full.26l
 -fate-h264-conformance-cabac_mot_picaff0_full:     CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/camp_mot_picaff0_full.26l
 -fate-h264-conformance-cabaci3_sony_b:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CABACI3_Sony_B.jsv
 -fate-h264-conformance-cabast3_sony_e:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CABAST3_Sony_E.jsv
 -fate-h264-conformance-cabastbr3_sony_b:           CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CABASTBR3_Sony_B.jsv
 -fate-h264-conformance-cabref3_sand_d:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CABREF3_Sand_D.264
 -fate-h264-conformance-cacqp3_sony_d:              CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CACQP3_Sony_D.jsv
 -fate-h264-conformance-cafi1_sva_c:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAFI1_SVA_C.264
 -fate-h264-conformance-cama1_sony_c:               CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAMA1_Sony_C.jsv
 -fate-h264-conformance-cama1_toshiba_b:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAMA1_TOSHIBA_B.264
 -fate-h264-conformance-cama1_vtc_c:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/cama1_vtc_c.avc
 -fate-h264-conformance-cama2_vtc_b:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/cama2_vtc_b.avc
 -fate-h264-conformance-cama3_sand_e:               CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAMA3_Sand_E.264
 -fate-h264-conformance-cama3_vtc_b:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/cama3_vtc_b.avc
 -fate-h264-conformance-camaci3_sony_c:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAMACI3_Sony_C.jsv
 -fate-h264-conformance-camanl1_toshiba_b:          CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAMANL1_TOSHIBA_B.264
 -fate-h264-conformance-camanl2_toshiba_b:          CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAMANL2_TOSHIBA_B.264
 -fate-h264-conformance-camanl3_sand_e:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAMANL3_Sand_E.264
 -fate-h264-conformance-camasl3_sony_b:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAMASL3_Sony_B.jsv
 -fate-h264-conformance-camp_mot_mbaff_l30:         CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAMP_MOT_MBAFF_L30.26l
 -fate-h264-conformance-camp_mot_mbaff_l31:         CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAMP_MOT_MBAFF_L31.26l
 -fate-h264-conformance-canl1_sony_e:               CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CANL1_Sony_E.jsv
 -fate-h264-conformance-canl1_sva_b:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CANL1_SVA_B.264
 -fate-h264-conformance-canl1_toshiba_g:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CANL1_TOSHIBA_G.264
 -fate-h264-conformance-canl2_sony_e:               CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CANL2_Sony_E.jsv
 -fate-h264-conformance-canl2_sva_b:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CANL2_SVA_B.264
 -fate-h264-conformance-canl3_sony_c:               CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CANL3_Sony_C.jsv
 -fate-h264-conformance-canl3_sva_b:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CANL3_SVA_B.264
 -fate-h264-conformance-canl4_sva_b:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CANL4_SVA_B.264
 -fate-h264-conformance-canlma2_sony_c:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CANLMA2_Sony_C.jsv
 -fate-h264-conformance-canlma3_sony_c:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CANLMA3_Sony_C.jsv
 -fate-h264-conformance-capa1_toshiba_b:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAPA1_TOSHIBA_B.264
 -fate-h264-conformance-capama3_sand_f:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAPAMA3_Sand_F.264
 -fate-h264-conformance-capcm1_sand_e:              CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAPCM1_Sand_E.264
 -fate-h264-conformance-capcmnl1_sand_e:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAPCMNL1_Sand_E.264
 -fate-h264-conformance-capm3_sony_d:               CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAPM3_Sony_D.jsv
 -fate-h264-conformance-caqp1_sony_b:               CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAQP1_Sony_B.jsv
 -fate-h264-conformance-cavlc_mot_fld0_full_b:      CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/cvmp_mot_fld0_full_B.26l
 -fate-h264-conformance-cavlc_mot_frm0_full_b:      CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/cvmp_mot_frm0_full_B.26l
 -fate-h264-conformance-cavlc_mot_mbaff0_full_b:    CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/cvmp_mot_mbaff0_full_B.26l
 -fate-h264-conformance-cavlc_mot_picaff0_full_b:   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/cvmp_mot_picaff0_full_B.26l
 -fate-h264-conformance-cawp1_toshiba_e:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAWP1_TOSHIBA_E.264
 -fate-h264-conformance-cawp5_toshiba_e:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CAWP5_TOSHIBA_E.264
 -fate-h264-conformance-ci1_ft_b:                   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CI1_FT_B.264
 -fate-h264-conformance-ci_mw_d:                    CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CI_MW_D.264
 -fate-h264-conformance-cvbs3_sony_c:               CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVBS3_Sony_C.jsv
 -fate-h264-conformance-cvcanlma2_sony_c:           CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVCANLMA2_Sony_C.jsv
 +fate-h264-conformance-cabac_mot_fld0_full:        CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/camp_mot_fld0_full.26l
 +fate-h264-conformance-cabac_mot_frm0_full:        CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/camp_mot_frm0_full.26l
 +fate-h264-conformance-cabac_mot_mbaff0_full:      CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/camp_mot_mbaff0_full.26l
 +fate-h264-conformance-cabac_mot_picaff0_full:     CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/camp_mot_picaff0_full.26l
 +fate-h264-conformance-cabaci3_sony_b:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CABACI3_Sony_B.jsv
 +fate-h264-conformance-cabast3_sony_e:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CABAST3_Sony_E.jsv
 +fate-h264-conformance-cabastbr3_sony_b:           CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CABASTBR3_Sony_B.jsv
 +fate-h264-conformance-cabref3_sand_d:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CABREF3_Sand_D.264
 +fate-h264-conformance-cacqp3_sony_d:              CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CACQP3_Sony_D.jsv
 +fate-h264-conformance-cafi1_sva_c:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAFI1_SVA_C.264
 +fate-h264-conformance-cama1_sony_c:               CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAMA1_Sony_C.jsv
 +fate-h264-conformance-cama1_toshiba_b:            CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAMA1_TOSHIBA_B.264
 +fate-h264-conformance-cama1_vtc_c:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/cama1_vtc_c.avc
 +fate-h264-conformance-cama2_vtc_b:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/cama2_vtc_b.avc
 +fate-h264-conformance-cama3_sand_e:               CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAMA3_Sand_E.264
 +fate-h264-conformance-cama3_vtc_b:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/cama3_vtc_b.avc
 +fate-h264-conformance-camaci3_sony_c:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAMACI3_Sony_C.jsv
 +fate-h264-conformance-camanl1_toshiba_b:          CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAMANL1_TOSHIBA_B.264
 +fate-h264-conformance-camanl2_toshiba_b:          CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAMANL2_TOSHIBA_B.264
 +fate-h264-conformance-camanl3_sand_e:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAMANL3_Sand_E.264
 +fate-h264-conformance-camasl3_sony_b:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAMASL3_Sony_B.jsv
 +fate-h264-conformance-camp_mot_mbaff_l30:         CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAMP_MOT_MBAFF_L30.26l
 +fate-h264-conformance-camp_mot_mbaff_l31:         CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAMP_MOT_MBAFF_L31.26l
 +fate-h264-conformance-canl1_sony_e:               CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CANL1_Sony_E.jsv
 +fate-h264-conformance-canl1_sva_b:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CANL1_SVA_B.264
 +fate-h264-conformance-canl1_toshiba_g:            CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CANL1_TOSHIBA_G.264
 +fate-h264-conformance-canl2_sony_e:               CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CANL2_Sony_E.jsv
 +fate-h264-conformance-canl2_sva_b:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CANL2_SVA_B.264
 +fate-h264-conformance-canl3_sony_c:               CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CANL3_Sony_C.jsv
 +fate-h264-conformance-canl3_sva_b:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CANL3_SVA_B.264
 +fate-h264-conformance-canl4_sva_b:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CANL4_SVA_B.264
 +fate-h264-conformance-canlma2_sony_c:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CANLMA2_Sony_C.jsv
 +fate-h264-conformance-canlma3_sony_c:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CANLMA3_Sony_C.jsv
 +fate-h264-conformance-capa1_toshiba_b:            CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAPA1_TOSHIBA_B.264
 +fate-h264-conformance-capama3_sand_f:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAPAMA3_Sand_F.264
 +fate-h264-conformance-capcm1_sand_e:              CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAPCM1_Sand_E.264
 +fate-h264-conformance-capcmnl1_sand_e:            CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAPCMNL1_Sand_E.264
 +fate-h264-conformance-capm3_sony_d:               CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAPM3_Sony_D.jsv
 +fate-h264-conformance-caqp1_sony_b:               CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAQP1_Sony_B.jsv
 +fate-h264-conformance-cavlc_mot_fld0_full_b:      CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/cvmp_mot_fld0_full_B.26l
 +fate-h264-conformance-cavlc_mot_frm0_full_b:      CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/cvmp_mot_frm0_full_B.26l
 +fate-h264-conformance-cavlc_mot_mbaff0_full_b:    CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/cvmp_mot_mbaff0_full_B.26l
 +fate-h264-conformance-cavlc_mot_picaff0_full_b:   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/cvmp_mot_picaff0_full_B.26l
 +fate-h264-conformance-cawp1_toshiba_e:            CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAWP1_TOSHIBA_E.264
 +fate-h264-conformance-cawp5_toshiba_e:            CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CAWP5_TOSHIBA_E.264
 +fate-h264-conformance-ci1_ft_b:                   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CI1_FT_B.264
 +fate-h264-conformance-ci_mw_d:                    CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CI_MW_D.264
 +fate-h264-conformance-cvbs3_sony_c:               CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVBS3_Sony_C.jsv
 +fate-h264-conformance-cvcanlma2_sony_c:           CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVCANLMA2_Sony_C.jsv
  fate-h264-conformance-cvfc1_sony_c:               CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/h264-conformance/CVFC1_Sony_C.jsv
 -fate-h264-conformance-cvfi1_sony_d:               CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVFI1_Sony_D.jsv
 -fate-h264-conformance-cvfi1_sva_c:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVFI1_SVA_C.264
 -fate-h264-conformance-cvfi2_sony_h:               CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVFI2_Sony_H.jsv
 -fate-h264-conformance-cvfi2_sva_c:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVFI2_SVA_C.264
 -fate-h264-conformance-cvma1_sony_d:               CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVMA1_Sony_D.jsv
 -fate-h264-conformance-cvma1_toshiba_b:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVMA1_TOSHIBA_B.264
 -fate-h264-conformance-cvmanl1_toshiba_b:          CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVMANL1_TOSHIBA_B.264
 -fate-h264-conformance-cvmanl2_toshiba_b:          CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVMANL2_TOSHIBA_B.264
 -fate-h264-conformance-cvmapaqp3_sony_e:           CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVMAPAQP3_Sony_E.jsv
 -fate-h264-conformance-cvmaqp2_sony_g:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVMAQP2_Sony_G.jsv
 -fate-h264-conformance-cvmaqp3_sony_d:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVMAQP3_Sony_D.jsv
 -fate-h264-conformance-cvmp_mot_fld_l30_b:         CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVMP_MOT_FLD_L30_B.26l
 -fate-h264-conformance-cvmp_mot_frm_l31_b:         CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVMP_MOT_FRM_L31_B.26l
 -fate-h264-conformance-cvnlfi1_sony_c:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVNLFI1_Sony_C.jsv
 -fate-h264-conformance-cvnlfi2_sony_h:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVNLFI2_Sony_H.jsv
 -fate-h264-conformance-cvpa1_toshiba_b:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVPA1_TOSHIBA_B.264
 -fate-h264-conformance-cvpcmnl1_sva_c:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVPCMNL1_SVA_C.264
 -fate-h264-conformance-cvpcmnl2_sva_c:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVPCMNL2_SVA_C.264
 -fate-h264-conformance-cvwp1_toshiba_e:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVWP1_TOSHIBA_E.264
 -fate-h264-conformance-cvwp2_toshiba_e:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVWP2_TOSHIBA_E.264
 -fate-h264-conformance-cvwp3_toshiba_e:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVWP3_TOSHIBA_E.264
 -fate-h264-conformance-cvwp5_toshiba_e:            CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/CVWP5_TOSHIBA_E.264
 -fate-h264-conformance-fi1_sony_e:                 CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FI1_Sony_E.jsv
 -fate-h264-conformance-frext-alphaconformanceg:    CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/test8b43.264
 -fate-h264-conformance-frext-bcrm_freh10:          CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh10.264 -vsync 0
 -fate-h264-conformance-frext-brcm_freh11:          CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh11.264 -vsync 0
 -fate-h264-conformance-frext-brcm_freh3:           CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh3.264
 -fate-h264-conformance-frext-brcm_freh4:           CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh4.264 -vsync 0
 -fate-h264-conformance-frext-brcm_freh5:           CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh5.264
 -fate-h264-conformance-frext-brcm_freh8:           CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh8.264
 -fate-h264-conformance-frext-brcm_freh9:           CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh9.264
 -fate-h264-conformance-frext-freh12_b:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/Freh12_B.264
 -fate-h264-conformance-frext-freh1_b:              CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/Freh1_B.264
 -fate-h264-conformance-frext-freh2_b:              CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/Freh2_B.264
 -fate-h264-conformance-frext-freh6:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh6.264 -vsync 0
 -fate-h264-conformance-frext-freh7_b:              CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/Freh7_B.264 -vsync 0
 -fate-h264-conformance-frext-frext01_jvc_d:        CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/FREXT01_JVC_D.264
 -fate-h264-conformance-frext-frext02_jvc_c:        CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/FREXT02_JVC_C.264
 -fate-h264-conformance-frext-frext1_panasonic_c:   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/FRExt1_Panasonic.avc
 -fate-h264-conformance-frext-frext2_panasonic_b:   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/FRExt2_Panasonic.avc -vsync 0
 -fate-h264-conformance-frext-frext3_panasonic_d:   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/FRExt3_Panasonic.avc
 -fate-h264-conformance-frext-frext4_panasonic_a:   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/FRExt4_Panasonic.avc
 -fate-h264-conformance-frext-frext_mmco4_sony_b:   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/FRExt_MMCO4_Sony_B.264
 -fate-h264-conformance-frext-hcaff1_hhi_b:         CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HCAFF1_HHI.264
 -fate-h264-conformance-frext-hcafr1_hhi_c:         CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HCAFR1_HHI.264
 -fate-h264-conformance-frext-hcafr2_hhi_a:         CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HCAFR2_HHI.264
 -fate-h264-conformance-frext-hcafr3_hhi_a:         CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HCAFR3_HHI.264
 -fate-h264-conformance-frext-hcafr4_hhi_a:         CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HCAFR4_HHI.264
 -fate-h264-conformance-frext-hcamff1_hhi_b:        CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HCAMFF1_HHI.264
 -fate-h264-conformance-frext-hpca_brcm_c:          CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCA_BRCM_C.264
 -fate-h264-conformance-frext-hpcadq_brcm_b:        CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCADQ_BRCM_B.264
 -fate-h264-conformance-frext-hpcafl_bcrm_c:        CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCAFL_BRCM_C.264 -vsync 0
 -fate-h264-conformance-frext-hpcaflnl_bcrm_c:      CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCAFLNL_BRCM_C.264 -vsync 0
 -fate-h264-conformance-frext-hpcalq_brcm_b:        CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCALQ_BRCM_B.264
 -fate-h264-conformance-frext-hpcamapalq_bcrm_b:    CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCAMAPALQ_BRCM_B.264 -vsync 0
 -fate-h264-conformance-frext-hpcamolq_brcm_b:      CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCAMOLQ_BRCM_B.264
 -fate-h264-conformance-frext-hpcanl_brcm_c:        CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCANL_BRCM_C.264
 -fate-h264-conformance-frext-hpcaq2lq_brcm_b:      CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCAQ2LQ_BRCM_B.264
 -fate-h264-conformance-frext-hpcv_brcm_a:          CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCV_BRCM_A.264
 -fate-h264-conformance-frext-hpcvfl_bcrm_a:        CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCVFL_BRCM_A.264 -vsync 0
 -fate-h264-conformance-frext-hpcvflnl_bcrm_a:      CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCVFLNL_BRCM_A.264 -vsync 0
 -fate-h264-conformance-frext-hpcvmolq_brcm_b:      CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCVMOLQ_BRCM_B.264
 -fate-h264-conformance-frext-hpcvnl_brcm_a:        CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCVNL_BRCM_A.264
 -fate-h264-conformance-frext-pph10i1_panasonic_a:  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I1_Panasonic_A.264 -pix_fmt yuv420p10le
 -fate-h264-conformance-frext-pph10i2_panasonic_a:  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I2_Panasonic_A.264 -pix_fmt yuv420p10le
 -fate-h264-conformance-frext-pph10i3_panasonic_a:  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I3_Panasonic_A.264 -pix_fmt yuv420p10le
 -fate-h264-conformance-frext-pph10i4_panasonic_a:  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I4_Panasonic_A.264 -pix_fmt yuv420p10le
 -fate-h264-conformance-frext-pph10i5_panasonic_a:  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I5_Panasonic_A.264 -pix_fmt yuv420p10le
 -fate-h264-conformance-frext-pph10i6_panasonic_a:  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I6_Panasonic_A.264 -pix_fmt yuv420p10le
 -fate-h264-conformance-frext-pph10i7_panasonic_a:  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I7_Panasonic_A.264 -pix_fmt yuv420p10le
 -fate-h264-conformance-hcbp2_hhi_a:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/HCBP2_HHI_A.264
 -fate-h264-conformance-hcmp1_hhi_a:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/HCMP1_HHI_A.264
 -fate-h264-conformance-ls_sva_d:                   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/LS_SVA_D.264
 -fate-h264-conformance-midr_mw_d:                  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/MIDR_MW_D.264
 -fate-h264-conformance-mps_mw_a:                   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/MPS_MW_A.264
 -fate-h264-conformance-mr1_bt_a:                   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/MR1_BT_A.h264
 -fate-h264-conformance-mr1_mw_a:                   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/MR1_MW_A.264
 -fate-h264-conformance-mr2_mw_a:                   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/MR2_MW_A.264
 -fate-h264-conformance-mr2_tandberg_e:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/MR2_TANDBERG_E.264
 -fate-h264-conformance-mr3_tandberg_b:             CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/MR3_TANDBERG_B.264
 -fate-h264-conformance-mr4_tandberg_c:             CMD = framecrc -strict 1 -i $(TARGET_SAMPLES)/h264-conformance/MR4_TANDBERG_C.264
 -fate-h264-conformance-mr5_tandberg_c:             CMD = framecrc -strict 1 -i $(TARGET_SAMPLES)/h264-conformance/MR5_TANDBERG_C.264
 -fate-h264-conformance-mr6_bt_b:                   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/MR6_BT_B.h264
 -fate-h264-conformance-mr7_bt_b:                   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/MR7_BT_B.h264
 -fate-h264-conformance-mr8_bt_b:                   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/MR8_BT_B.h264
 -fate-h264-conformance-mr9_bt_b:                   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/MR9_BT_B.h264
 -fate-h264-conformance-mv1_brcm_d:                 CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/src19td.IBP.264
 -fate-h264-conformance-nl1_sony_d:                 CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/NL1_Sony_D.jsv
 -fate-h264-conformance-nl2_sony_h:                 CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/NL2_Sony_H.jsv
 -fate-h264-conformance-nl3_sva_e:                  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/NL3_SVA_E.264
 -fate-h264-conformance-nlmq1_jvc_c:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/NLMQ1_JVC_C.264
 -fate-h264-conformance-nlmq2_jvc_c:                CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/NLMQ2_JVC_C.264
 -fate-h264-conformance-nrf_mw_e:                   CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/NRF_MW_E.264
 -fate-h264-conformance-sharp_mp_field_1_b:         CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/Sharp_MP_Field_1_B.jvt
 -fate-h264-conformance-sharp_mp_field_2_b:         CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/Sharp_MP_Field_2_B.jvt
 -fate-h264-conformance-sharp_mp_field_3_b:         CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/Sharp_MP_Field_3_B.jvt
 -fate-h264-conformance-sharp_mp_paff_1r2:          CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/Sharp_MP_PAFF_1r2.jvt
 -fate-h264-conformance-sharp_mp_paff_2r:           CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/Sharp_MP_PAFF_2.jvt
 -fate-h264-conformance-sl1_sva_b:                  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/SL1_SVA_B.264
 -fate-h264-conformance-sva_ba1_b:                  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/SVA_BA1_B.264
 -fate-h264-conformance-sva_ba2_d:                  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/SVA_BA2_D.264
 -fate-h264-conformance-sva_base_b:                 CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/SVA_Base_B.264
 -fate-h264-conformance-sva_cl1_e:                  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/SVA_CL1_E.264
 -fate-h264-conformance-sva_fm1_e:                  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/SVA_FM1_E.264
 -fate-h264-conformance-sva_nl1_b:                  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/SVA_NL1_B.264
 -fate-h264-conformance-sva_nl2_e:                  CMD = framecrc -i $(TARGET_SAMPLES)/h264-conformance/SVA_NL2_E.264
 +fate-h264-conformance-cvfi1_sony_d:               CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVFI1_Sony_D.jsv
 +fate-h264-conformance-cvfi1_sva_c:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVFI1_SVA_C.264
 +fate-h264-conformance-cvfi2_sony_h:               CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVFI2_Sony_H.jsv
 +fate-h264-conformance-cvfi2_sva_c:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVFI2_SVA_C.264
 +fate-h264-conformance-cvma1_sony_d:               CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVMA1_Sony_D.jsv
 +fate-h264-conformance-cvma1_toshiba_b:            CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVMA1_TOSHIBA_B.264
 +fate-h264-conformance-cvmanl1_toshiba_b:          CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVMANL1_TOSHIBA_B.264
 +fate-h264-conformance-cvmanl2_toshiba_b:          CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVMANL2_TOSHIBA_B.264
 +fate-h264-conformance-cvmapaqp3_sony_e:           CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVMAPAQP3_Sony_E.jsv
 +fate-h264-conformance-cvmaqp2_sony_g:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVMAQP2_Sony_G.jsv
 +fate-h264-conformance-cvmaqp3_sony_d:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVMAQP3_Sony_D.jsv
 +fate-h264-conformance-cvmp_mot_fld_l30_b:         CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVMP_MOT_FLD_L30_B.26l
 +fate-h264-conformance-cvmp_mot_frm_l31_b:         CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVMP_MOT_FRM_L31_B.26l
 +fate-h264-conformance-cvnlfi1_sony_c:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVNLFI1_Sony_C.jsv
 +fate-h264-conformance-cvnlfi2_sony_h:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVNLFI2_Sony_H.jsv
 +fate-h264-conformance-cvpa1_toshiba_b:            CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVPA1_TOSHIBA_B.264
 +fate-h264-conformance-cvpcmnl1_sva_c:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVPCMNL1_SVA_C.264
 +fate-h264-conformance-cvpcmnl2_sva_c:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVPCMNL2_SVA_C.264
 +fate-h264-conformance-cvwp1_toshiba_e:            CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVWP1_TOSHIBA_E.264
 +fate-h264-conformance-cvwp2_toshiba_e:            CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVWP2_TOSHIBA_E.264
 +fate-h264-conformance-cvwp3_toshiba_e:            CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVWP3_TOSHIBA_E.264
 +fate-h264-conformance-cvwp5_toshiba_e:            CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/CVWP5_TOSHIBA_E.264
 +fate-h264-conformance-fi1_sony_e:                 CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FI1_Sony_E.jsv
 +fate-h264-conformance-frext-alphaconformanceg:    CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/test8b43.264
 +fate-h264-conformance-frext-bcrm_freh10:          CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh10.264 -vsync drop
 +fate-h264-conformance-frext-brcm_freh11:          CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh11.264 -vsync drop
 +fate-h264-conformance-frext-brcm_freh3:           CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh3.264
 +fate-h264-conformance-frext-brcm_freh4:           CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh4.264 -vsync drop
 +fate-h264-conformance-frext-brcm_freh5:           CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh5.264
 +fate-h264-conformance-frext-brcm_freh8:           CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh8.264
 +fate-h264-conformance-frext-brcm_freh9:           CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh9.264
 +fate-h264-conformance-frext-freh12_b:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/Freh12_B.264
 +fate-h264-conformance-frext-freh1_b:              CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/Freh1_B.264
 +fate-h264-conformance-frext-freh2_b:              CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/Freh2_B.264
 +fate-h264-conformance-frext-freh6:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/freh6.264 -vsync drop
 +fate-h264-conformance-frext-freh7_b:              CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/Freh7_B.264 -vsync drop
 +fate-h264-conformance-frext-frext01_jvc_d:        CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/FREXT01_JVC_D.264
 +fate-h264-conformance-frext-frext02_jvc_c:        CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/FREXT02_JVC_C.264
 +fate-h264-conformance-frext-frext1_panasonic_c:   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/FRExt1_Panasonic.avc
 +fate-h264-conformance-frext-frext2_panasonic_b:   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/FRExt2_Panasonic.avc -vsync 0
 +fate-h264-conformance-frext-frext3_panasonic_d:   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/FRExt3_Panasonic.avc
 +fate-h264-conformance-frext-frext4_panasonic_a:   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/FRExt4_Panasonic.avc
 +fate-h264-conformance-frext-frext_mmco4_sony_b:   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/FRExt_MMCO4_Sony_B.264
 +fate-h264-conformance-frext-hcaff1_hhi_b:         CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HCAFF1_HHI.264
 +fate-h264-conformance-frext-hcafr1_hhi_c:         CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HCAFR1_HHI.264
 +fate-h264-conformance-frext-hcafr2_hhi_a:         CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HCAFR2_HHI.264
 +fate-h264-conformance-frext-hcafr3_hhi_a:         CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HCAFR3_HHI.264
 +fate-h264-conformance-frext-hcafr4_hhi_a:         CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HCAFR4_HHI.264
 +fate-h264-conformance-frext-hcamff1_hhi_b:        CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HCAMFF1_HHI.264
 +fate-h264-conformance-frext-hi422fr10_sony_b:     CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/Hi422FR10_SONY_B.264
 +fate-h264-conformance-frext-hi422fr13_sony_b:     CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/Hi422FR13_SONY_B.264 -pix_fmt yuv422p10le
 +fate-h264-conformance-frext-hi422fr1_sony_a:      CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/Hi422FR1_SONY_A.jsv
 +fate-h264-conformance-frext-hi422fr6_sony_a:      CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/Hi422FR6_SONY_A.jsv -pix_fmt yuv422p10le
 +fate-h264-conformance-frext-hpca_brcm_c:          CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCA_BRCM_C.264
 +fate-h264-conformance-frext-hpcadq_brcm_b:        CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCADQ_BRCM_B.264
 +fate-h264-conformance-frext-hpcafl_bcrm_c:        CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCAFL_BRCM_C.264 -vsync drop
 +fate-h264-conformance-frext-hpcaflnl_bcrm_c:      CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCAFLNL_BRCM_C.264 -vsync drop
 +fate-h264-conformance-frext-hpcalq_brcm_b:        CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCALQ_BRCM_B.264
 +fate-h264-conformance-frext-hpcamapalq_bcrm_b:    CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCAMAPALQ_BRCM_B.264 -vsync 0
 +fate-h264-conformance-frext-hpcamolq_brcm_b:      CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCAMOLQ_BRCM_B.264
 +fate-h264-conformance-frext-hpcanl_brcm_c:        CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCANL_BRCM_C.264
 +fate-h264-conformance-frext-hpcaq2lq_brcm_b:      CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCAQ2LQ_BRCM_B.264
 +fate-h264-conformance-frext-hpcv_brcm_a:          CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCV_BRCM_A.264
 +fate-h264-conformance-frext-hpcvfl_bcrm_a:        CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCVFL_BRCM_A.264 -vsync drop
 +fate-h264-conformance-frext-hpcvflnl_bcrm_a:      CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCVFLNL_BRCM_A.264 -vsync drop
 +fate-h264-conformance-frext-hpcvmolq_brcm_b:      CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCVMOLQ_BRCM_B.264
 +fate-h264-conformance-frext-hpcvnl_brcm_a:        CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/HPCVNL_BRCM_A.264
 +fate-h264-conformance-frext-pph10i1_panasonic_a:  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I1_Panasonic_A.264 -pix_fmt yuv420p10le
 +fate-h264-conformance-frext-pph10i2_panasonic_a:  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I2_Panasonic_A.264 -pix_fmt yuv420p10le
 +fate-h264-conformance-frext-pph10i3_panasonic_a:  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I3_Panasonic_A.264 -pix_fmt yuv420p10le
 +fate-h264-conformance-frext-pph10i4_panasonic_a:  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I4_Panasonic_A.264 -pix_fmt yuv420p10le
 +fate-h264-conformance-frext-pph10i5_panasonic_a:  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I5_Panasonic_A.264 -pix_fmt yuv420p10le
 +fate-h264-conformance-frext-pph10i6_panasonic_a:  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I6_Panasonic_A.264 -pix_fmt yuv420p10le
 +fate-h264-conformance-frext-pph10i7_panasonic_a:  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH10I7_Panasonic_A.264 -pix_fmt yuv420p10le
 +fate-h264-conformance-frext-pph422i1_panasonic_a: CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH422I1_Panasonic_A.264 -pix_fmt yuv422p10le
 +fate-h264-conformance-frext-pph422i2_panasonic_a: CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH422I2_Panasonic_A.264 -pix_fmt yuv422p10le
 +fate-h264-conformance-frext-pph422i3_panasonic_a: CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH422I3_Panasonic_A.264 -pix_fmt yuv422p10le
 +fate-h264-conformance-frext-pph422i4_panasonic_a: CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH422I4_Panasonic_A.264 -pix_fmt yuv422p10le
 +fate-h264-conformance-frext-pph422i5_panasonic_a: CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH422I5_Panasonic_A.264 -pix_fmt yuv422p10le
 +fate-h264-conformance-frext-pph422i6_panasonic_a: CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH422I6_Panasonic_A.264 -pix_fmt yuv422p10le
 +fate-h264-conformance-frext-pph422i7_panasonic_a: CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/FRext/PPH422I7_Panasonic_A.264 -pix_fmt yuv422p10le
 +fate-h264-conformance-hcbp2_hhi_a:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/HCBP2_HHI_A.264
 +fate-h264-conformance-hcmp1_hhi_a:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/HCMP1_HHI_A.264
 +fate-h264-conformance-ls_sva_d:                   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/LS_SVA_D.264
 +fate-h264-conformance-midr_mw_d:                  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MIDR_MW_D.264
 +fate-h264-conformance-mps_mw_a:                   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MPS_MW_A.264
 +fate-h264-conformance-mr1_bt_a:                   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MR1_BT_A.h264
 +fate-h264-conformance-mr1_mw_a:                   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MR1_MW_A.264
 +fate-h264-conformance-mr2_mw_a:                   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MR2_MW_A.264
 +fate-h264-conformance-mr2_tandberg_e:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MR2_TANDBERG_E.264
 +fate-h264-conformance-mr3_tandberg_b:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MR3_TANDBERG_B.264
 +fate-h264-conformance-mr4_tandberg_c:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MR4_TANDBERG_C.264
 +fate-h264-conformance-mr5_tandberg_c:             CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MR5_TANDBERG_C.264
 +fate-h264-conformance-mr6_bt_b:                   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MR6_BT_B.h264
 +fate-h264-conformance-mr7_bt_b:                   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MR7_BT_B.h264
 +fate-h264-conformance-mr8_bt_b:                   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MR8_BT_B.h264
 +fate-h264-conformance-mr9_bt_b:                   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/MR9_BT_B.h264
 +fate-h264-conformance-mv1_brcm_d:                 CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/src19td.IBP.264
 +fate-h264-conformance-nl1_sony_d:                 CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/NL1_Sony_D.jsv
 +fate-h264-conformance-nl2_sony_h:                 CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/NL2_Sony_H.jsv
 +fate-h264-conformance-nl3_sva_e:                  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/NL3_SVA_E.264
 +fate-h264-conformance-nlmq1_jvc_c:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/NLMQ1_JVC_C.264
 +fate-h264-conformance-nlmq2_jvc_c:                CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/NLMQ2_JVC_C.264
 +fate-h264-conformance-nrf_mw_e:                   CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/NRF_MW_E.264
 +fate-h264-conformance-sharp_mp_field_1_b:         CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/Sharp_MP_Field_1_B.jvt
 +fate-h264-conformance-sharp_mp_field_2_b:         CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/Sharp_MP_Field_2_B.jvt
 +fate-h264-conformance-sharp_mp_field_3_b:         CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/Sharp_MP_Field_3_B.jvt
 +fate-h264-conformance-sharp_mp_paff_1r2:          CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/Sharp_MP_PAFF_1r2.jvt
 +fate-h264-conformance-sharp_mp_paff_2r:           CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/Sharp_MP_PAFF_2.jvt
 +fate-h264-conformance-sl1_sva_b:                  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/SL1_SVA_B.264
 +fate-h264-conformance-sva_ba1_b:                  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/SVA_BA1_B.264
 +fate-h264-conformance-sva_ba2_d:                  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/SVA_BA2_D.264
 +fate-h264-conformance-sva_base_b:                 CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/SVA_Base_B.264
 +fate-h264-conformance-sva_cl1_e:                  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/SVA_CL1_E.264
 +fate-h264-conformance-sva_fm1_e:                  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/SVA_FM1_E.264
 +fate-h264-conformance-sva_nl1_b:                  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/SVA_NL1_B.264
 +fate-h264-conformance-sva_nl2_e:                  CMD = framecrc -vsync drop -i $(TARGET_SAMPLES)/h264-conformance/SVA_NL2_E.264
 +
 +fate-h264-bsf-mp4toannexb:                        CMD = md5 -i $(TARGET_SAMPLES)/h264/interlaced_crop.mp4 -vcodec copy -f h264
  
 -fate-h264-bsf-mp4toannexb:                        CMD = md5 -i $(TARGET_SAMPLES)/h264/interlaced_crop.mp4 -vcodec copy -bsf h264_mp4toannexb -f h264
  fate-h264-crop-to-container:                      CMD = framemd5 -i $(TARGET_SAMPLES)/h264/crop-to-container-dims-canon.mov
  fate-h264-direct-bff:                             CMD = framecrc -i $(TARGET_SAMPLES)/h264/direct-bff.mkv
 +fate-h264-extradata-reload:                       CMD = framemd5 -i $(TARGET_SAMPLES)/h264/extradata-reload-multi-stsd.mov
  fate-h264-extreme-plane-pred:                     CMD = framemd5 -i $(TARGET_SAMPLES)/h264/extreme-plane-pred.h264
- fate-h264-interlace-crop:                         CMD = framecrc -i $(TARGET_SAMPLES)/h264/interlaced_crop.mp4 -vframes 3
+ fate-h264-interlace-crop:                         CMD = framecrc -i $(TARGET_SAMPLES)/h264/interlaced_crop.mp4 -frames:v 3
 +fate-h264-brokensps-2580:                         CMD = framecrc -i $(TARGET_SAMPLES)/h264/brokensps.flv -vf format=yuv420p,scale=w=192:h=144 -sws_flags bitexact+bilinear
 +fate-h264-xavc-4389:                              CMD = framecrc -i $(TARGET_SAMPLES)/h264/SonyXAVC_LongGOP_green_pixelation_early_Frames.MXF -pix_fmt yuv422p10le
 +fate-h264-attachment-631:                         CMD = framecrc -i $(TARGET_SAMPLES)/h264/attachment631-small.mp4 -an -max_error_rate 0.96
 +fate-h264-skip-nokey:                             CMD = framecrc -skip_frame nokey -i $(TARGET_SAMPLES)/h264/h264_intra_first-small.ts
 +fate-h264-skip-nointra:                           CMD = framecrc -skip_frame nointra -i $(TARGET_SAMPLES)/h264/h264_intra_first-small.ts
  fate-h264-intra-refresh-recovery:                 CMD = framecrc -i $(TARGET_SAMPLES)/h264/intra_refresh.h264 -frames:v 10
  fate-h264-invalid-ref-mod:                        CMD = framecrc -i $(TARGET_SAMPLES)/h264/h264refframeregression.mp4 -an -frames 10 -pix_fmt yuv420p10le
  fate-h264-lossless:                               CMD = framecrc -i $(TARGET_SAMPLES)/h264/lossless.h264
@@@ -1,32 -1,32 +1,32 @@@
 -FATE_SAMPLES_PCM += fate-iff-pcm
 +FATE_SAMPLES_PCM-$(call DEMDEC, WAV, PCM_U8) += fate-iff-pcm
  fate-iff-pcm: CMD = md5 -i $(TARGET_SAMPLES)/iff/Bells -f s16le
  
 -FATE_SAMPLES_PCM += fate-pcm_dvd
 +FATE_SAMPLES_PCM-$(call DEMDEC, MPEGPS, PCM_DVD) += fate-pcm_dvd
  fate-pcm_dvd: CMD = framecrc -i $(TARGET_SAMPLES)/pcm-dvd/coolitnow-partial.vob -vn
  
 -FATE_SAMPLES_PCM += fate-pcm-planar
 +FATE_SAMPLES_PCM-$(call DEMDEC, EA, PCM_S16LE_PLANAR) += fate-pcm-planar
  fate-pcm-planar: CMD = framecrc -i $(TARGET_SAMPLES)/ea-mad/xeasport.mad -vn
  
 -FATE_SAMPLES_PCM += fate-pcm_s16be-stereo
 +FATE_SAMPLES_PCM-$(call DEMDEC, MOV, PCM_S16BE) += fate-pcm_s16be-stereo
  fate-pcm_s16be-stereo: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-2-16-B-twos.mov -f s16le
  
 -FATE_SAMPLES_PCM += fate-pcm_s16le-stereo
 +FATE_SAMPLES_PCM-$(call DEMDEC, MOV, PCM_S16LE) += fate-pcm_s16le-stereo
  fate-pcm_s16le-stereo: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-2-16-L-sowt.mov -f s16le
  
 -FATE_SAMPLES_PCM += fate-pcm_u8-mono
 +FATE_SAMPLES_PCM-$(call DEMDEC, MOV, PCM_U8) += fate-pcm_u8-mono
  fate-pcm_u8-mono: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-1-8-raw.mov -f s16le
  
 -FATE_SAMPLES_PCM += fate-pcm_u8-stereo
 +FATE_SAMPLES_PCM-$(call DEMDEC, MOV, PCM_U8) += fate-pcm_u8-stereo
  fate-pcm_u8-stereo: CMD = md5 -i $(TARGET_SAMPLES)/qt-surge-suite/surge-2-8-raw.mov -f s16le
  
 -FATE_SAMPLES_PCM += fate-w64
 +FATE_SAMPLES_PCM-$(call DEMDEC, W64, PCM_S16LE) += fate-w64
  fate-w64: CMD = crc -i $(TARGET_SAMPLES)/w64/w64-pcm16.w64
  
 -FATE_PCM += fate-dcinema-encode
 +FATE_PCM-$(call ENCMUX, PCM_S24DAUD, DAUD) += fate-dcinema-encode
  fate-dcinema-encode: tests/data/asynth-96000-6.wav
  fate-dcinema-encode: SRC = tests/data/asynth-96000-6.wav
- fate-dcinema-encode: CMD = enc_dec_pcm daud framemd5 s16le $(SRC) -c:a pcm_s24daud -aframes 20
 -fate-dcinema-encode: CMD = enc_dec_pcm daud md5 s16le $(SRC) -c:a pcm_s24daud
++fate-dcinema-encode: CMD = enc_dec_pcm daud framemd5 s16le $(SRC) -c:a pcm_s24daud -frames:a 20
  
 -FATE_AVCONV += $(FATE_PCM)
 -FATE_SAMPLES_AVCONV += $(FATE_SAMPLES_PCM)
 -fate-pcm: $(FATE_PCM) $(FATE_SAMPLES_PCM)
 +FATE_FFMPEG += $(FATE_PCM-yes)
 +FATE_SAMPLES_AVCONV += $(FATE_SAMPLES_PCM-yes)
 +fate-pcm: $(FATE_PCM-yes) $(FATE_SAMPLES_PCM-yes)
@@@ -42,9 -39,8 +42,9 @@@ fate-sipr-8k5: CMD = pcm -i $(TARGET_SA
  fate-sipr-8k5: REF = $(SAMPLES)/sipr/sipr_8k5.pcm
  
  FATE_SIPR += fate-sipr-16k
- fate-sipr-16k: CMD = pcm -i $(TARGET_SAMPLES)/sipr/sipr_16k.rm -aframes 3250
 -fate-sipr-16k: CMD = pcm -i $(TARGET_SAMPLES)/sipr/sipr_16k.rm
++fate-sipr-16k: CMD = pcm -i $(TARGET_SAMPLES)/sipr/sipr_16k.rm -frames:a 3250
  fate-sipr-16k: REF = $(SAMPLES)/sipr/sipr_16k.pcm
 +fate-sipr-16k: SIZE_TOLERANCE = 40000
  
  $(FATE_SIPR): CMP = oneoff
  
@@@ -4,49 -4,40 +4,49 @@@ fate-4xm-1: CMD = framecrc -i $(TARGET_
  FATE_4XM += fate-4xm-2
  fate-4xm-2: CMD = framecrc -i $(TARGET_SAMPLES)/4xm/version2.4xm -pix_fmt rgb24 -an
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, FOURXM, FOURXM) += $(FATE_4XM)
 +FATE_VIDEO-$(call DEMDEC, FOURXM, FOURXM) += $(FATE_4XM)
  fate-4xm: $(FATE_4XM)
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, AASC) += fate-aasc
 +FATE_VIDEO-$(call DEMDEC, AVI, ZERO12V) += fate-012v
 +fate-012v: CMD = framecrc -i $(TARGET_SAMPLES)/012v/sample.avi -pix_fmt yuv422p16le
 +
 +FATE_VIDEO-$(call DEMDEC, AVI, AASC) += fate-aasc
  fate-aasc: CMD = framecrc -i $(TARGET_SAMPLES)/aasc/AASC-1.5MB.AVI -pix_fmt rgb24
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, MOV, AIC) += fate-aic-oddsize
 +FATE_VIDEO-$(call DEMDEC, MOV, AIC) += fate-aic
- fate-aic: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/aic/small_apple_intermediate_codec.mov -an -vframes 15
++fate-aic: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/aic/small_apple_intermediate_codec.mov -an -frames:v 15
 +
 +FATE_VIDEO-$(call DEMDEC, MOV, AIC) += fate-aic-oddsize
  fate-aic-oddsize: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/aic/aic_odd_dimensions.mov
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, MM, MMVIDEO) += fate-alg-mm
 +FATE_VIDEO-$(call DEMDEC, MM, MMVIDEO) += fate-alg-mm
  fate-alg-mm: CMD = framecrc -i $(TARGET_SAMPLES)/alg-mm/ibmlogo.mm -an -pix_fmt rgb24
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, AMV) += fate-amv
 +FATE_VIDEO-$(call DEMDEC, AVI, AMV) += fate-amv
  fate-amv: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/amv/MTV_high_res_320x240_sample_Penguin_Joke_MTV_from_WMV.amv -t 10 -an
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, TTY, ANSI) += fate-ansi
 +FATE_VIDEO-$(call DEMDEC, TTY, ANSI) += fate-ansi
  fate-ansi: CMD = framecrc -chars_per_frame 44100 -i $(TARGET_SAMPLES)/ansi/TRE-IOM5.ANS -pix_fmt rgb24
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, RPL, ESCAPE124) += fate-armovie-escape124
 +FATE_VIDEO-$(call DEMDEC, TTY, ANSI) += fate-ansi256
 +fate-ansi256: CMD = framecrc -chars_per_frame 44100 -i $(TARGET_SAMPLES)/ansi/ansi256.ans -pix_fmt rgb24
 +
 +FATE_VIDEO-$(call DEMDEC, RPL, ESCAPE124) += fate-armovie-escape124
  fate-armovie-escape124: CMD = framecrc -i $(TARGET_SAMPLES)/rpl/ESCAPE.RPL -pix_fmt rgb24
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, RPL, ESCAPE130) += fate-armovie-escape130
 +FATE_VIDEO-$(call DEMDEC, RPL, ESCAPE130) += fate-armovie-escape130
  fate-armovie-escape130: CMD = framecrc -i $(TARGET_SAMPLES)/rpl/landing.rpl -an
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, AURA) += fate-auravision-v1
 +FATE_VIDEO-$(call DEMDEC, AVI, AURA) += fate-auravision-v1
  fate-auravision-v1: CMD = framecrc -i $(TARGET_SAMPLES)/auravision/SOUVIDEO.AVI -an
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, AVI, AURA2) += fate-auravision-v2
 +FATE_VIDEO-$(call DEMDEC, AVI, AURA2) += fate-auravision-v2
  fate-auravision-v2: CMD = framecrc -i $(TARGET_SAMPLES)/auravision/salma-hayek-in-ugly-betty-partial-avi -an
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, BETHSOFTVID, BETHSOFTVID) += fate-bethsoft-vid
 +FATE_VIDEO-$(call DEMDEC, BETHSOFTVID, BETHSOFTVID) += fate-bethsoft-vid
  fate-bethsoft-vid: CMD = framecrc -i $(TARGET_SAMPLES)/bethsoft-vid/ANIM0001.VID -t 5 -pix_fmt rgb24
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, BFI, BFI) += fate-bfi
 +FATE_VIDEO-$(call DEMDEC, BFI, BFI) += fate-bfi
  fate-bfi: CMD = framecrc -i $(TARGET_SAMPLES)/bfi/2287.bfi -pix_fmt rgb24
  
  FATE_BINK_VIDEO += fate-bink-video-b
@@@ -220,40 -206,33 +220,40 @@@ fate-magicyuv-y422i:  CMD = framecrc -
  fate-magicyuv-y4444i: CMD = framecrc -i $(TARGET_SAMPLES)/magy/magy_yuv4444_left_interlaced.avi
  fate-magicyuv-y444:   CMD = framecrc -i $(TARGET_SAMPLES)/magy/magy_yuv444_left.avi
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, EA, MDEC) += fate-mdec
 +FATE_VIDEO-$(call DEMDEC, EA, MDEC) += fate-mdec
  fate-mdec: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/ea-dct/NFS2Esprit-partial.dct -an
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, STR, MDEC) += fate-mdec-v3
 +FATE_VIDEO-$(call DEMDEC, STR, MDEC) += fate-mdec-v3
  fate-mdec-v3: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/psx-str/abc000_cut.str -an
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, MSNWC_TCP, MIMIC) += fate-mimic
 +FATE_VIDEO-$(call DEMDEC, MSNWC_TCP, MIMIC) += fate-mimic
  fate-mimic: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/mimic/mimic2-womanloveffmpeg.cam
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, MOV, MJPEGB) += fate-mjpegb
 +FATE_VIDEO-$(call DEMDEC, MOV, MJPEGB) += fate-mjpegb
  fate-mjpegb: CMD = framecrc -idct simple -fflags +bitexact -i $(TARGET_SAMPLES)/mjpegb/mjpegb_part.mov -an
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, MVI, MOTIONPIXELS) += fate-motionpixels
 +FATE_VIDEO-$(call DEMDEC, MVI, MOTIONPIXELS) += fate-motionpixels
- fate-motionpixels: CMD = framecrc -i $(TARGET_SAMPLES)/motion-pixels/INTRO-partial.MVI -an -pix_fmt rgb24 -vframes 111
+ fate-motionpixels: CMD = framecrc -i $(TARGET_SAMPLES)/motion-pixels/INTRO-partial.MVI -an -pix_fmt rgb24 -frames:v 111
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, MPEGTS, MPEG2VIDEO) += fate-mpeg2-field-enc
 +FATE_VIDEO-$(call DEMDEC, MPEGTS, MPEG2VIDEO) += fate-mpeg2-field-enc fate-mpeg2-ticket186
- fate-mpeg2-field-enc: CMD = framecrc -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -an -vframes 30
+ fate-mpeg2-field-enc: CMD = framecrc -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -an -frames:v 30
 +fate-mpeg2-ticket186: CMD = framecrc -flags +bitexact -idct simple -i $(TARGET_SAMPLES)/mpeg2/t.mpg -an
 +
 +FATE_VIDEO-$(call DEMDEC, MPEGPS, MPEG2VIDEO) += fate-mpeg2-ticket6024
 +fate-mpeg2-ticket6024: CMD = framecrc -flags +bitexact -idct simple -flags +truncated -i $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg -an
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, MV, MVC1) += fate-mv-mvc1
 +FATE_VIDEO-$(call DEMDEC, MV, MVC1) += fate-mv-mvc1
  fate-mv-mvc1: CMD = framecrc -i $(TARGET_SAMPLES)/mv/posture.mv -an -frames 25 -pix_fmt rgb555le
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, MV, MVC2) += fate-mv-mvc2
 +FATE_VIDEO-$(call DEMDEC, MV, MVC2) += fate-mv-mvc2
  fate-mv-mvc2: CMD = framecrc -i $(TARGET_SAMPLES)/mv/12345.mv -an -frames 30 -pix_fmt bgra
  
 -FATE_SAMPLES_AVCONV-$(call DEMDEC, MV, SGIRLE) += fate-mv-sgirle
 +FATE_VIDEO-$(call DEMDEC, MV, SGIRLE) += fate-mv-sgirle
  fate-mv-sgirle: CMD = framecrc -i $(TARGET_SAMPLES)/mv/pet-rle.movie -an
  
 +FATE_VIDEO-$(call DEMDEC, MXG, MXPEG) += fate-mxpeg
 +fate-mxpeg: CMD = framecrc -idct simple -flags +bitexact -i $(TARGET_SAMPLES)/mxpeg/m1.mxg -an
 +
  # FIXME dropped frames in this test because of coarse timebase
  FATE_NUV += fate-nuv-rtjpeg
  fate-nuv-rtjpeg: CMD = framecrc -idct simple -i $(TARGET_SAMPLES)/nuv/Today.nuv -an