| 
							- @chapter Format Options
 - @c man begin FORMAT OPTIONS
 - 
 - The libavformat library provides some generic global options, which
 - can be set on all the muxers and demuxers. In addition each muxer or
 - demuxer may support so-called private options, which are specific for
 - that component.
 - 
 - Options may be set by specifying -@var{option} @var{value} in the
 - FFmpeg tools, or by setting the value explicitly in the
 - @code{AVFormatContext} options or using the @file{libavutil/opt.h} API
 - for programmatic use.
 - 
 - The list of supported options follows:
 - 
 - @table @option
 - @item avioflags @var{flags} (@emph{input/output})
 - Possible values:
 - @table @samp
 - @item direct
 - Reduce buffering.
 - @end table
 - 
 - @item probesize @var{integer} (@emph{input})
 - Set probing size in bytes, i.e. the size of the data to analyze to get
 - stream information. A higher value will enable detecting more
 - information in case it is dispersed into the stream, but will increase
 - latency. Must be an integer not lesser than 32. It is 5000000 by default.
 - 
 - @item max_probe_packets @var{integer} (@emph{input})
 - Set the maximum number of buffered packets when probing a codec.
 - Default is 2500 packets.
 - 
 - @item packetsize @var{integer} (@emph{output})
 - Set packet size.
 - 
 - @item fflags @var{flags}
 - Set format flags. Some are implemented for a limited number of formats.
 - 
 - Possible values for input files:
 - @table @samp
 - @item discardcorrupt
 - Discard corrupted packets.
 - @item fastseek
 - Enable fast, but inaccurate seeks for some formats.
 - @item genpts
 - Generate missing PTS if DTS is present.
 - @item igndts
 - Ignore DTS if PTS is set. Inert when nofillin is set.
 - @item ignidx
 - Ignore index.
 - @item keepside (@emph{deprecated},@emph{inert})
 - @item nobuffer
 - Reduce the latency introduced by buffering during initial input streams analysis.
 - @item nofillin
 - Do not fill in missing values in packet fields that can be exactly calculated.
 - @item noparse
 - Disable AVParsers, this needs @code{+nofillin} too.
 - @item sortdts
 - Try to interleave output packets by DTS. At present, available only for AVIs with an index.
 - @end table
 - 
 - Possible values for output files:
 - @table @samp
 - @item autobsf
 - Automatically apply bitstream filters as required by the output format. Enabled by default.
 - @item bitexact
 - Only write platform-, build- and time-independent data.
 - This ensures that file and data checksums are reproducible and match between
 - platforms. Its primary use is for regression testing.
 - @item flush_packets
 - Write out packets immediately.
 - @item latm (@emph{deprecated},@emph{inert})
 - @item shortest
 - Stop muxing at the end of the shortest stream.
 - It may be needed to increase max_interleave_delta to avoid flushing the longer
 - streams before EOF.
 - @end table
 - 
 - @item seek2any @var{integer} (@emph{input})
 - Allow seeking to non-keyframes on demuxer level when supported if set to 1.
 - Default is 0.
 - 
 - @item analyzeduration @var{integer} (@emph{input})
 - Specify how many microseconds are analyzed to probe the input. A
 - higher value will enable detecting more accurate information, but will
 - increase latency. It defaults to 5,000,000 microseconds = 5 seconds.
 - 
 - @item cryptokey @var{hexadecimal string} (@emph{input})
 - Set decryption key.
 - 
 - @item indexmem @var{integer} (@emph{input})
 - Set max memory used for timestamp index (per stream).
 - 
 - @item rtbufsize @var{integer} (@emph{input})
 - Set max memory used for buffering real-time frames.
 - 
 - @item fdebug @var{flags} (@emph{input/output})
 - Print specific debug info.
 - 
 - Possible values:
 - @table @samp
 - @item ts
 - @end table
 - 
 - @item max_delay @var{integer} (@emph{input/output})
 - Set maximum muxing or demuxing delay in microseconds.
 - 
 - @item fpsprobesize @var{integer} (@emph{input})
 - Set number of frames used to probe fps.
 - 
 - @item audio_preload @var{integer} (@emph{output})
 - Set microseconds by which audio packets should be interleaved earlier.
 - 
 - @item chunk_duration @var{integer} (@emph{output})
 - Set microseconds for each chunk.
 - 
 - @item chunk_size @var{integer} (@emph{output})
 - Set size in bytes for each chunk.
 - 
 - @item err_detect, f_err_detect @var{flags} (@emph{input})
 - Set error detection flags. @code{f_err_detect} is deprecated and
 - should be used only via the @command{ffmpeg} tool.
 - 
 - Possible values:
 - @table @samp
 - @item crccheck
 - Verify embedded CRCs.
 - @item bitstream
 - Detect bitstream specification deviations.
 - @item buffer
 - Detect improper bitstream length.
 - @item explode
 - Abort decoding on minor error detection.
 - @item careful
 - Consider things that violate the spec and have not been seen in the
 - wild as errors.
 - @item compliant
 - Consider all spec non compliancies as errors.
 - @item aggressive
 - Consider things that a sane encoder should not do as an error.
 - @end table
 - 
 - @item max_interleave_delta @var{integer} (@emph{output})
 - Set maximum buffering duration for interleaving. The duration is
 - expressed in microseconds, and defaults to 10000000 (10 seconds).
 - 
 - To ensure all the streams are interleaved correctly, libavformat will
 - wait until it has at least one packet for each stream before actually
 - writing any packets to the output file. When some streams are
 - "sparse" (i.e. there are large gaps between successive packets), this
 - can result in excessive buffering.
 - 
 - This field specifies the maximum difference between the timestamps of the
 - first and the last packet in the muxing queue, above which libavformat
 - will output a packet regardless of whether it has queued a packet for all
 - the streams.
 - 
 - If set to 0, libavformat will continue buffering packets until it has
 - a packet for each stream, regardless of the maximum timestamp
 - difference between the buffered packets.
 - 
 - @item use_wallclock_as_timestamps @var{integer} (@emph{input})
 - Use wallclock as timestamps if set to 1. Default is 0.
 - 
 - @item avoid_negative_ts @var{integer} (@emph{output})
 - 
 - Possible values:
 - @table @samp
 - @item make_non_negative
 - Shift timestamps to make them non-negative.
 - Also note that this affects only leading negative timestamps, and not
 - non-monotonic negative timestamps.
 - @item make_zero
 - Shift timestamps so that the first timestamp is 0.
 - @item auto (default)
 - Enables shifting when required by the target format.
 - @item disabled
 - Disables shifting of timestamp.
 - @end table
 - 
 - When shifting is enabled, all output timestamps are shifted by the
 - same amount. Audio, video, and subtitles desynching and relative
 - timestamp differences are preserved compared to how they would have
 - been without shifting.
 - 
 - @item skip_initial_bytes @var{integer} (@emph{input})
 - Set number of bytes to skip before reading header and frames if set to 1.
 - Default is 0.
 - 
 - @item correct_ts_overflow @var{integer} (@emph{input})
 - Correct single timestamp overflows if set to 1. Default is 1.
 - 
 - @item flush_packets @var{integer} (@emph{output})
 - Flush the underlying I/O stream after each packet. Default is -1 (auto), which
 - means that the underlying protocol will decide, 1 enables it, and has the
 - effect of reducing the latency, 0 disables it and may increase IO throughput in
 - some cases.
 - 
 - @item output_ts_offset @var{offset} (@emph{output})
 - Set the output 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 by the muxer to the output timestamps.
 - 
 - Specifying a positive offset means that the corresponding streams are
 - delayed bt the time duration specified in @var{offset}. Default value
 - is @code{0} (meaning that no offset is applied).
 - 
 - @item format_whitelist @var{list} (@emph{input})
 - "," separated list of allowed demuxers. By default all are allowed.
 - 
 - @item dump_separator @var{string} (@emph{input})
 - Separator used to separate the fields printed on the command line about the
 - Stream parameters.
 - For example, to separate the fields with newlines and indentation:
 - @example
 - ffprobe -dump_separator "
 -                           "  -i ~/videos/matrixbench_mpeg2.mpg
 - @end example
 - 
 - @item max_streams @var{integer} (@emph{input})
 - Specifies the maximum number of streams. This can be used to reject files that
 - would require too many resources due to a large number of streams.
 - 
 - @item skip_estimate_duration_from_pts @var{bool} (@emph{input})
 - Skip estimation of input duration when calculated using PTS.
 - At present, applicable for MPEG-PS and MPEG-TS.
 - 
 - @item strict, f_strict @var{integer} (@emph{input/output})
 - Specify how strictly to follow the standards. @code{f_strict} is deprecated and
 - should be used only via the @command{ffmpeg} tool.
 - 
 - Possible values:
 - @table @samp
 - @item very
 - strictly conform to an older more strict version of the spec or reference software
 - @item strict
 - strictly conform to all the things in the spec no matter what consequences
 - @item normal
 - 
 - @item unofficial
 - allow unofficial extensions
 - @item experimental
 - allow non standardized experimental things, experimental
 - (unfinished/work in progress/not well tested) decoders and encoders.
 - Note: experimental decoders can pose a security risk, do not use this for
 - decoding untrusted input.
 - @end table
 - 
 - @end table
 - 
 - @c man end FORMAT OPTIONS
 - 
 - @anchor{Format stream specifiers}
 - @section Format stream specifiers
 - 
 - Format stream specifiers allow selection of one or more streams that
 - match specific properties.
 - 
 - The exact semantics of stream specifiers is defined by the
 - @code{avformat_match_stream_specifier()} function declared in the
 - @file{libavformat/avformat.h} header and documented in the
 - @ref{Stream specifiers,,Stream specifiers section in the ffmpeg(1) manual,ffmpeg}.
 - 
 - @ifclear config-writeonly
 - @include demuxers.texi
 - @end ifclear
 - @ifclear config-readonly
 - @include muxers.texi
 - @end ifclear
 - @include metadata.texi
 
 
  |