21 #ifndef AVFORMAT_OPTIONS_TABLE_H
22 #define AVFORMAT_OPTIONS_TABLE_H
30 #define OFFSET(x) offsetof(AVFormatContext,x)
31 #define DEFAULT 0 //should be NAN but it does not work as it is not a constant in glibc as required by ANSI/ISO C
33 #define E AV_OPT_FLAG_ENCODING_PARAM
34 #define D AV_OPT_FLAG_DECODING_PARAM
47 {
"noparse",
"disable AVParsers, this needs nofillin too", 0,
AV_OPT_TYPE_CONST, {.i64 =
AVFMT_FLAG_NOPARSE }, INT_MIN, INT_MAX,
D,
"fflags"},
51 #if FF_API_LAVF_KEEPSIDE_FLAG
52 {
"keepside",
"deprecated, does nothing", 0,
AV_OPT_TYPE_CONST, {.i64 = AVFMT_FLAG_KEEP_SIDE_DATA }, INT_MIN, INT_MAX,
D,
"fflags"},
60 {
"seek2any",
"allow seeking to non-keyframes on demuxer level when supported",
OFFSET(seek2any),
AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1,
D},
61 {
"analyzeduration",
"specify how many microseconds are analyzed to probe the input",
OFFSET(max_analyze_duration),
AV_OPT_TYPE_INT64, {.i64 = 0 }, 0, INT64_MAX,
D},
63 {
"indexmem",
"max memory used for timestamp index (per stream)",
OFFSET(max_index_size),
AV_OPT_TYPE_INT, {.i64 = 1<<20 }, 0, INT_MAX,
D},
64 {
"rtbufsize",
"max memory used for buffering real-time frames",
OFFSET(max_picture_buffer),
AV_OPT_TYPE_INT, {.i64 = 3041280 }, 0, INT_MAX,
D},
67 {
"max_delay",
"maximum muxing or demuxing delay in microseconds",
OFFSET(max_delay),
AV_OPT_TYPE_INT, {.i64 = -1 }, -1, INT_MAX,
E|
D},
69 {
"fpsprobesize",
"number of frames used to probe fps",
OFFSET(fps_probe_size),
AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX-1,
D},
70 {
"audio_preload",
"microseconds by which audio packets should be interleaved earlier",
OFFSET(audio_preload),
AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1,
E},
71 {
"chunk_duration",
"microseconds for each chunk",
OFFSET(max_chunk_duration),
AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1,
E},
72 {
"chunk_size",
"size in bytes for each chunk",
OFFSET(max_chunk_size),
AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1,
E},
75 {
"f_err_detect",
"set error detection flags (deprecated; use err_detect, save via avconv)",
OFFSET(error_recognition),
AV_OPT_TYPE_FLAGS, {.i64 =
AV_EF_CRCCHECK }, INT_MIN, INT_MAX,
D,
"err_detect"},
82 {
"careful",
"consider things that violate the spec, are fast to check and have not been seen in the wild as errors", 0,
AV_OPT_TYPE_CONST, {.i64 =
AV_EF_CAREFUL }, INT_MIN, INT_MAX,
D,
"err_detect"},
85 {
"use_wallclock_as_timestamps",
"use wallclock as timestamps",
OFFSET(use_wallclock_as_timestamps),
AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1,
D},
86 {
"skip_initial_bytes",
"set number of bytes to skip before reading header and frames",
OFFSET(skip_initial_bytes),
AV_OPT_TYPE_INT64, {.i64 = 0}, 0, INT64_MAX-1,
D},
87 {
"correct_ts_overflow",
"correct single timestamp overflows",
OFFSET(correct_ts_overflow),
AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1,
D},
88 {
"flush_packets",
"enable flushing of the I/O context after each packet",
OFFSET(flush_packets),
AV_OPT_TYPE_INT, {.i64 = -1}, -1, 1,
E},
89 {
"metadata_header_padding",
"set number of bytes to be written as padding in a metadata header",
OFFSET(metadata_header_padding),
AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX,
E},
90 {
"output_ts_offset",
"set output timestamp offset",
OFFSET(output_ts_offset),
AV_OPT_TYPE_DURATION, {.i64 = 0}, -INT64_MAX, INT64_MAX,
E},
91 {
"max_interleave_delta",
"maximum buffering duration for interleaving",
OFFSET(max_interleave_delta),
AV_OPT_TYPE_INT64, { .i64 = 10000000 }, 0, INT64_MAX,
E },
92 {
"f_strict",
"how strictly to follow the standards (deprecated; use strict, save via avconv)",
OFFSET(strict_std_compliance),
AV_OPT_TYPE_INT, {.i64 =
DEFAULT }, INT_MIN, INT_MAX,
D|
E,
"strict"},
93 {
"strict",
"how strictly to follow the standards",
OFFSET(strict_std_compliance),
AV_OPT_TYPE_INT, {.i64 =
DEFAULT }, INT_MIN, INT_MAX,
D|
E,
"strict"},
99 {
"max_ts_probe",
"maximum number of packets to read while waiting for the first timestamp",
OFFSET(max_ts_probe),
AV_OPT_TYPE_INT, { .i64 = 50 }, 0, INT_MAX,
D },
100 {
"avoid_negative_ts",
"shift timestamps so they start at 0",
OFFSET(avoid_negative_ts),
AV_OPT_TYPE_INT, {.i64 = -1}, -1, 2,
E,
"avoid_negative_ts"},
102 {
"disabled",
"do not change timestamps", 0,
AV_OPT_TYPE_CONST, {.i64 = 0 }, INT_MIN, INT_MAX,
E,
"avoid_negative_ts"},
105 {
"dump_separator",
"set information dump field separator",
OFFSET(dump_separator),
AV_OPT_TYPE_STRING, {.str =
", "}, CHAR_MIN, CHAR_MAX,
D|
E},
106 {
"codec_whitelist",
"List of decoders that are allowed to be used",
OFFSET(codec_whitelist),
AV_OPT_TYPE_STRING, { .str =
NULL }, CHAR_MIN, CHAR_MAX,
D },
107 {
"format_whitelist",
"List of demuxers that are allowed to be used",
OFFSET(format_whitelist),
AV_OPT_TYPE_STRING, { .str =
NULL }, CHAR_MIN, CHAR_MAX,
D },
108 {
"protocol_whitelist",
"List of protocols that are allowed to be used",
OFFSET(protocol_whitelist),
AV_OPT_TYPE_STRING, { .str =
NULL }, CHAR_MIN, CHAR_MAX,
D },
109 {
"protocol_blacklist",
"List of protocols that are not allowed to be used",
OFFSET(protocol_blacklist),
AV_OPT_TYPE_STRING, { .str =
NULL }, CHAR_MIN, CHAR_MAX,
D },
110 {
"max_streams",
"maximum number of streams",
OFFSET(max_streams),
AV_OPT_TYPE_INT, { .i64 = 1000 }, 0, INT_MAX,
D },
#define FF_COMPLIANCE_EXPERIMENTAL
Allow nonstandardized experimental things.
#define AV_EF_AGGRESSIVE
consider things that a sane encoder should not do as an error
#define FF_COMPLIANCE_VERY_STRICT
Strictly conform to an older more strict version of the spec or reference software.
#define AV_EF_COMPLIANT
consider all spec non compliances as errors
#define AV_EF_BUFFER
detect improper bitstream length
#define AV_EF_BITSTREAM
detect bitstream specification deviations
#define FF_COMPLIANCE_UNOFFICIAL
Allow unofficial extensions.
#define AV_EF_EXPLODE
abort decoding on minor error detection
offset must point to a pointer immediately followed by an int for the length
#define AV_EF_CAREFUL
consider things that violate the spec, are fast to calculate and have not been seen in the wild as er...
#define FF_COMPLIANCE_NORMAL
#define AVIO_FLAG_DIRECT
Use direct mode.
#define AV_EF_IGNORE_ERR
ignore errors and continue
#define AV_EF_CRCCHECK
Verify checksums embedded in the bitstream (could be of either encoded or decoded data...
#define FF_COMPLIANCE_STRICT
Strictly conform to all the things in the spec no matter what consequences.
#define AV_NOPTS_VALUE
Undefined timestamp value.