{"flush_packets","reduce the latency by flushing out packets immediately",0,AV_OPT_TYPE_CONST,{.i64=AVFMT_FLAG_FLUSH_PACKETS},INT_MIN,INT_MAX,E,.unit="fflags"},
{"nofillin","do not fill in missing values that can be exactly calculated",0,AV_OPT_TYPE_CONST,{.i64=AVFMT_FLAG_NOFILLIN},INT_MIN,INT_MAX,D,.unit="fflags"},
{"noparse","disable AVParsers, this needs nofillin too",0,AV_OPT_TYPE_CONST,{.i64=AVFMT_FLAG_NOPARSE},INT_MIN,INT_MAX,D,.unit="fflags"},
{"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},
{"indexmem","max memory used for timestamp index (per stream)",OFFSET(max_index_size),AV_OPT_TYPE_INT,{.i64=1<<20},0,INT_MAX,D},
{"rtbufsize","max memory used for buffering real-time frames",OFFSET(max_picture_buffer),AV_OPT_TYPE_INT,{.i64=3041280},0,INT_MAX,D},/* defaults to 1s of 15fps 352x288 YUYV422 video */
{"start_time_realtime","wall-clock time when stream begins (PTS==0)",OFFSET(start_time_realtime),AV_OPT_TYPE_INT64,{.i64=AV_NOPTS_VALUE},INT64_MIN,INT64_MAX,E},
{"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,.unit="err_detect"},
{"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,.unit="err_detect"},
{"compliant","consider all spec non compliancies as errors",0,AV_OPT_TYPE_CONST,{.i64=AV_EF_COMPLIANT|AV_EF_CAREFUL},INT_MIN,INT_MAX,D,.unit="err_detect"},
{"aggressive","consider things that a sane encoder shouldn't do as an error",0,AV_OPT_TYPE_CONST,{.i64=AV_EF_AGGRESSIVE|AV_EF_COMPLIANT|AV_EF_CAREFUL},INT_MIN,INT_MAX,D,.unit="err_detect"},
{"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},
{"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},
{"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,.unit="strict"},
{"strict","how strictly to follow the standards",OFFSET(strict_std_compliance),AV_OPT_TYPE_INT,{.i64=DEFAULT},INT_MIN,INT_MAX,D|E,.unit="strict"},
{"very","strictly conform to a older more strict version of the spec or reference software",0,AV_OPT_TYPE_CONST,{.i64=FF_COMPLIANCE_VERY_STRICT},INT_MIN,INT_MAX,D|E,.unit="strict"},
{"strict","strictly conform to all the things in the spec no matter what the consequences",0,AV_OPT_TYPE_CONST,{.i64=FF_COMPLIANCE_STRICT},INT_MIN,INT_MAX,D|E,.unit="strict"},
{"avoid_negative_ts","shift timestamps so they start at 0",OFFSET(avoid_negative_ts),AV_OPT_TYPE_INT,{.i64=-1},-1,2,E,.unit="avoid_negative_ts"},
{"auto","enabled when required by target format",0,AV_OPT_TYPE_CONST,{.i64=AVFMT_AVOID_NEG_TS_AUTO},INT_MIN,INT_MAX,E,.unit="avoid_negative_ts"},
{"disabled","do not change timestamps",0,AV_OPT_TYPE_CONST,{.i64=AVFMT_AVOID_NEG_TS_DISABLED},INT_MIN,INT_MAX,E,.unit="avoid_negative_ts"},
{"make_non_negative","shift timestamps so they are non negative",0,AV_OPT_TYPE_CONST,{.i64=AVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE},INT_MIN,INT_MAX,E,.unit="avoid_negative_ts"},
{"make_zero","shift timestamps so they start at 0",0,AV_OPT_TYPE_CONST,{.i64=AVFMT_AVOID_NEG_TS_MAKE_ZERO},INT_MIN,INT_MAX,E,.unit="avoid_negative_ts"},
{"skip_estimate_duration_from_pts","skip duration calculation in estimate_timings_from_pts",OFFSET(skip_estimate_duration_from_pts),AV_OPT_TYPE_BOOL,{.i64=0},0,1,D},
{"duration_probesize","Maximum number of bytes to probe the durations of the streams in estimate_timings_from_pts",OFFSET(duration_probesize),AV_OPT_TYPE_INT64,{.i64=0},0,INT64_MAX,D},