21 #ifndef AVFORMAT_OPTIONS_TABLE_H
22 #define AVFORMAT_OPTIONS_TABLE_H
29 #define OFFSET(x) offsetof(AVFormatContext,x)
30 #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
32 #define E AV_OPT_FLAG_ENCODING_PARAM
33 #define D AV_OPT_FLAG_DECODING_PARAM
45 {
"noparse",
"disable AVParsers, this needs nofillin too", 0,
AV_OPT_TYPE_CONST, {.i64 =
AVFMT_FLAG_NOPARSE }, INT_MIN, INT_MAX,
D,
"fflags"},
52 {
"seek2any",
"allow seeking to non-keyframes on demuxer level when supported",
OFFSET(seek2any),
AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 1,
D},
53 {
"analyzeduration",
"specify how many microseconds are analyzed to probe the input",
OFFSET(max_analyze_duration),
AV_OPT_TYPE_INT, {.i64 = 5*
AV_TIME_BASE }, 0, INT_MAX,
D},
55 {
"indexmem",
"max memory used for timestamp index (per stream)",
OFFSET(max_index_size),
AV_OPT_TYPE_INT, {.i64 = 1<<20 }, 0, INT_MAX,
D},
56 {
"rtbufsize",
"max memory used for buffering real-time frames",
OFFSET(max_picture_buffer),
AV_OPT_TYPE_INT, {.i64 = 3041280 }, 0, INT_MAX,
D},
59 {
"max_delay",
"maximum muxing or demuxing delay in microseconds",
OFFSET(max_delay),
AV_OPT_TYPE_INT, {.i64 = -1 }, -1, INT_MAX,
E|
D},
60 {
"fpsprobesize",
"number of frames used to probe fps",
OFFSET(fps_probe_size),
AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX-1,
D},
61 {
"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},
62 {
"chunk_duration",
"microseconds for each chunk",
OFFSET(max_chunk_duration),
AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1,
E},
63 {
"chunk_size",
"size in bytes for each chunk",
OFFSET(max_chunk_size),
AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1,
E},
66 {
"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"},
72 {
"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"},
75 {
"use_wallclock_as_timestamps",
"use wallclock as timestamps",
OFFSET(use_wallclock_as_timestamps),
AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1,
D},
76 {
"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"},
77 {
"auto",
"enabled when required by target format", 0,
AV_OPT_TYPE_CONST, {.i64 = -1 }, INT_MIN, INT_MAX,
E,
"avoid_negative_ts"},
78 {
"disabled",
"do not change timestamps", 0,
AV_OPT_TYPE_CONST, {.i64 = 0 }, INT_MIN, INT_MAX,
E,
"avoid_negative_ts"},
79 {
"make_zero",
"shift timestamps so they start at 0", 0,
AV_OPT_TYPE_CONST, {.i64 = 2 }, INT_MIN, INT_MAX,
E,
"avoid_negative_ts"},
80 {
"make_non_negative",
"shift timestamps so they are non negative", 0,
AV_OPT_TYPE_CONST, {.i64 = 1 }, INT_MIN, INT_MAX,
E,
"avoid_negative_ts"},
81 {
"skip_initial_bytes",
"set number of bytes to skip before reading header and frames",
OFFSET(skip_initial_bytes),
AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1,
D},
82 {
"correct_ts_overflow",
"correct single timestamp overflows",
OFFSET(correct_ts_overflow),
AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1,
D},
83 {
"flush_packets",
"enable flushing of the I/O context after each packet",
OFFSET(flush_packets),
AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1,
E},
84 {
"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},
85 {
"output_ts_offset",
"set output timestamp offset",
OFFSET(output_ts_offset),
AV_OPT_TYPE_DURATION, {.i64 = 0}, -INT64_MAX, INT64_MAX,
E},
86 {
"max_interleave_delta",
"maximum buffering duration for interleaving",
OFFSET(max_interleave_delta),
AV_OPT_TYPE_INT64, { .i64 = 10000000 }, 0, INT64_MAX,
E },