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"},
 
   55 {
"seek2any", 
"allow seeking to non-keyframes on demuxer level when supported", 
OFFSET(seek2any), 
AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, 
D},
 
   57 {
"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},
 
   59 {
"indexmem", 
"max memory used for timestamp index (per stream)", 
OFFSET(max_index_size), 
AV_OPT_TYPE_INT, {.i64 = 1<<20 }, 0, INT_MAX, 
D},
 
   60 {
"rtbufsize", 
"max memory used for buffering real-time frames", 
OFFSET(max_picture_buffer), 
AV_OPT_TYPE_INT, {.i64 = 3041280 }, 0, INT_MAX, 
D}, 
 
   65 {
"fpsprobesize", 
"number of frames used to probe fps", 
OFFSET(fps_probe_size), 
AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX-1, 
D},
 
   66 {
"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},
 
   67 {
"chunk_duration", 
"microseconds for each chunk", 
OFFSET(max_chunk_duration), 
AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1, 
E},
 
   68 {
"chunk_size", 
"size in bytes for each chunk", 
OFFSET(max_chunk_size), 
AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX-1, 
E},
 
   71 {
"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"},
 
   78 {
"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"},
 
   81 {
"use_wallclock_as_timestamps", 
"use wallclock as timestamps", 
OFFSET(use_wallclock_as_timestamps), 
AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, 
D},
 
   82 {
"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},
 
   83 {
"correct_ts_overflow", 
"correct single timestamp overflows", 
OFFSET(correct_ts_overflow), 
AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, 
D},
 
   84 {
"flush_packets", 
"enable flushing of the I/O context after each packet", 
OFFSET(flush_packets), 
AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, 
E},
 
   85 {
"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},
 
   86 {
"output_ts_offset", 
"set output timestamp offset", 
OFFSET(output_ts_offset), 
AV_OPT_TYPE_DURATION, {.i64 = 0}, -INT64_MAX, INT64_MAX, 
E},
 
   87 {
"max_interleave_delta", 
"maximum buffering duration for interleaving", 
OFFSET(max_interleave_delta), 
AV_OPT_TYPE_INT64, { .i64 = 10000000 }, 0, INT64_MAX, 
E },
 
   88 {
"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"},
 
   89 {
"strict", 
"how strictly to follow the standards", 
OFFSET(strict_std_compliance), 
AV_OPT_TYPE_INT, {.i64 = 
DEFAULT }, INT_MIN, INT_MAX, 
D|
E, 
"strict"},
 
   95 {
"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 },
 
   96 {
"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"},
 
   98 {
"disabled",          
"do not change timestamps",                  0, 
AV_OPT_TYPE_CONST, {.i64 = 0 },                                    INT_MIN, INT_MAX, 
E, 
"avoid_negative_ts"},
 
  101 {
"dump_separator", 
"set information dump field separator", 
OFFSET(dump_separator), 
AV_OPT_TYPE_STRING, {.str = 
", "}, CHAR_MIN, CHAR_MAX, 
D|
E},
 
  102 {
"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 },
 
  103 {
"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 },
 
  104 {
"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 },
 
  105 {
"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 },
 
#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. 
 
static int max_delay(struct NCSofa *sofa)
 
#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.