Go to the documentation of this file.
22 #ifndef AVCODEC_OPTIONS_TABLE_H
23 #define AVCODEC_OPTIONS_TABLE_H
33 #define OFFSET(x) offsetof(AVCodecContext,x)
34 #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
36 #define V AV_OPT_FLAG_VIDEO_PARAM
37 #define A AV_OPT_FLAG_AUDIO_PARAM
38 #define S AV_OPT_FLAG_SUBTITLE_PARAM
39 #define E AV_OPT_FLAG_ENCODING_PARAM
40 #define D AV_OPT_FLAG_DECODING_PARAM
41 #define CC AV_OPT_FLAG_CHILD_CONSTS
43 #define AV_CODEC_DEFAULT_BITRATE 200*1000
48 {
"bt",
"Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far "
49 "ratecontrol is willing to deviate from the target average bitrate value. This is not related "
50 "to minimum/maximum bitrate. Lowering tolerance too much has an adverse effect on quality.",
62 #if FF_API_FLAG_TRUNCATED
63 {
"truncated",
"(Deprecated, use parsers instead.) Input bitstream might be randomly truncated", 0,
AV_OPT_TYPE_CONST, {.i64 =
AV_CODEC_FLAG_TRUNCATED }, INT_MIN, INT_MAX,
V|
D |
AV_OPT_FLAG_DEPRECATED,
"flags"},
97 {
"qcomp",
"video quantizer scale compression (VBR). Constant of ratecontrol equation. "
98 "Recommended range for default rc_eq: 0.0-1.0",
103 {
"qdiff",
"maximum difference between the quantizer scales (VBR)",
OFFSET(max_qdiff),
AV_OPT_TYPE_INT, {.i64 = 3 }, INT_MIN, INT_MAX,
V|
E},
105 {
"b_qfactor",
"QP factor between P- and B-frames",
OFFSET(b_quant_factor),
AV_OPT_TYPE_FLOAT, {.dbl = 1.25 }, -FLT_MAX, FLT_MAX,
V|
E},
120 {
"ms",
"work around various bugs in Microsoft's broken decoders", 0,
AV_OPT_TYPE_CONST, {.i64 =
FF_BUG_MS }, INT_MIN, INT_MAX,
V|
D,
"bug"},
129 {
"b_qoffset",
"QP offset between P- and B-frames",
OFFSET(b_quant_offset),
AV_OPT_TYPE_FLOAT, {.dbl = 1.25 }, -FLT_MAX, FLT_MAX,
V|
E},
130 {
"err_detect",
"set error detection flags",
OFFSET(err_recognition),
AV_OPT_TYPE_FLAGS, {.i64 = 0 }, INT_MIN, INT_MAX,
A|
V|
S|
D|
E,
"err_detect"},
136 {
"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,
A|
V|
S|
D|
E,
"err_detect"},
143 {
"minrate",
"minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise.",
146 {
"i_qfactor",
"QP factor between P- and I-frames",
OFFSET(i_quant_factor),
AV_OPT_TYPE_FLOAT, {.dbl = -0.8 }, -FLT_MAX, FLT_MAX,
V|
E},
147 {
"i_qoffset",
"QP offset between P- and I-frames",
OFFSET(i_quant_offset),
AV_OPT_TYPE_FLOAT, {.dbl = 0.0 }, -FLT_MAX, FLT_MAX,
V|
E},
155 {
"lumi_mask",
"compresses bright areas stronger than medium ones",
OFFSET(lumi_masking),
AV_OPT_TYPE_FLOAT, {.dbl = 0 }, -FLT_MAX, FLT_MAX,
V|
E},
156 {
"tcplx_mask",
"temporal complexity masking",
OFFSET(temporal_cplx_masking),
AV_OPT_TYPE_FLOAT, {.dbl = 0 }, -FLT_MAX, FLT_MAX,
V|
E},
157 {
"scplx_mask",
"spatial complexity masking",
OFFSET(spatial_cplx_masking),
AV_OPT_TYPE_FLOAT, {.dbl = 0 }, -FLT_MAX, FLT_MAX,
V|
E},
159 {
"dark_mask",
"compresses dark areas stronger than medium ones",
OFFSET(dark_masking),
AV_OPT_TYPE_FLOAT, {.dbl = 0 }, -FLT_MAX, FLT_MAX,
V|
E},
172 {
"xvidmmx",
"deprecated, for compatibility only", 0,
AV_OPT_TYPE_CONST, {.i64 =
FF_IDCT_XVID }, INT_MIN, INT_MAX,
V|
E|
D,
"idct"},
176 {
"ec",
"set error concealment strategy",
OFFSET(error_concealment),
AV_OPT_TYPE_FLAGS, {.i64 = 3 }, INT_MIN, INT_MAX,
V|
D,
"ec"},
200 {
"last_pred",
"amount of motion predictors from the previous frame",
OFFSET(last_predictor_count),
AV_OPT_TYPE_INT, {.i64 =
DEFAULT }, INT_MIN, INT_MAX,
V|
E},
201 {
"pre_dia_size",
"diamond type & size for motion estimation pre-pass",
OFFSET(pre_dia_size),
AV_OPT_TYPE_INT, {.i64 =
DEFAULT }, INT_MIN, INT_MAX,
V|
E},
202 {
"subq",
"sub-pel motion estimation quality",
OFFSET(me_subpel_quality),
AV_OPT_TYPE_INT, {.i64 = 8 }, INT_MIN, INT_MAX,
V|
E},
210 {
"rc_init_occupancy",
"number of bits which should be loaded into the rc buffer before decoding starts",
OFFSET(rc_initial_buffer_occupancy),
AV_OPT_TYPE_INT, {.i64 =
DEFAULT }, INT_MIN, INT_MAX,
V|
E},
211 {
"threads",
"set the number of threads",
OFFSET(thread_count),
AV_OPT_TYPE_INT, {.i64 = 1 }, 0, INT_MAX,
V|
A|
E|
D,
"threads"},
212 {
"auto",
"autodetect a suitable number of threads to use", 0,
AV_OPT_TYPE_CONST, {.i64 = 0 }, INT_MIN, INT_MAX,
V|
E|
D,
"threads"},
215 {
"skip_top",
"number of macroblock rows at the top which are skipped",
OFFSET(skip_top),
AV_OPT_TYPE_INT, {.i64 =
DEFAULT }, INT_MIN, INT_MAX,
V|
D},
216 {
"skip_bottom",
"number of macroblock rows at the bottom which are skipped",
OFFSET(skip_bottom),
AV_OPT_TYPE_INT, {.i64 =
DEFAULT }, INT_MIN, INT_MAX,
V|
D},
222 {
"lowres",
"decode at 1= 1/2, 2=1/4, 3=1/8 resolutions",
OFFSET(
lowres),
AV_OPT_TYPE_INT, {.i64 = 0 }, 0, INT_MAX,
V|
A|
D},
228 {
"sad",
"sum of absolute differences, fast", 0,
AV_OPT_TYPE_CONST, {.i64 =
FF_CMP_SAD }, INT_MIN, INT_MAX,
V|
E,
"cmp_func"},
232 {
"psnr",
"sum of squared quantization errors (avoid, low quality)", 0,
AV_OPT_TYPE_CONST, {.i64 =
FF_CMP_PSNR }, INT_MIN, INT_MAX,
V|
E,
"cmp_func"},
234 {
"rd",
"rate distortion optimal, slow", 0,
AV_OPT_TYPE_CONST, {.i64 =
FF_CMP_RD }, INT_MIN, INT_MAX,
V|
E,
"cmp_func"},
239 #if CONFIG_SNOW_ENCODER
240 {
"w53",
"5/3 wavelet, only used in snow", 0,
AV_OPT_TYPE_CONST, {.i64 =
FF_CMP_W53 }, INT_MIN, INT_MAX,
V|
E,
"cmp_func"},
241 {
"w97",
"9/7 wavelet, only used in snow", 0,
AV_OPT_TYPE_CONST, {.i64 =
FF_CMP_W97 }, INT_MIN, INT_MAX,
V|
E,
"cmp_func"},
245 {
"msad",
"sum of absolute differences, median predicted", 0,
AV_OPT_TYPE_CONST, {.i64 =
FF_CMP_MEDIAN_SAD }, INT_MIN, INT_MAX,
V|
E,
"cmp_func"},
259 {
"keyint_min",
"minimum interval between IDR-frames",
OFFSET(keyint_min),
AV_OPT_TYPE_INT, {.i64 = 25 }, INT_MIN, INT_MAX,
V|
E},
260 {
"refs",
"reference frames to consider for motion compensation",
OFFSET(refs),
AV_OPT_TYPE_INT, {.i64 = 1 }, INT_MIN, INT_MAX,
V|
E},
349 {
"slices",
"set the number of slices, used in parallelized encoding",
OFFSET(slices),
AV_OPT_TYPE_INT, {.i64 = 0 }, 0, INT_MAX,
V|
E},
371 #if FF_API_SUB_TEXT_FORMAT
372 {
"sub_text_format",
"Deprecated, does nothing",
OFFSET(sub_text_format),
AV_OPT_TYPE_INT, {.i64 =
FF_SUB_TEXT_FMT_ASS}, 0, 1,
S|
D |
AV_OPT_FLAG_DEPRECATED,
"sub_text_format"},
390 {
"ignore_level",
"ignore level even if the codec level used is unknown or higher than the maximum supported level reported by the hardware driver", 0,
AV_OPT_TYPE_CONST, { .i64 =
AV_HWACCEL_FLAG_IGNORE_LEVEL }, INT_MIN, INT_MAX,
V |
D,
"hwaccel_flags" },
393 {
"extra_hw_frames",
"Number of extra hardware frames to allocate for the user",
OFFSET(extra_hw_frames),
AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX,
V|
D },
394 {
"discard_damaged_percentage",
"Percentage of damaged samples to discard a frame",
OFFSET(discard_damaged_percentage),
AV_OPT_TYPE_INT, {.i64 = 95 }, 0, 100,
V|
D },
@ AVCOL_PRI_EBU3213
EBU Tech. 3213-E (nothing there) / one of JEDEC P22 group phosphors.
#define FF_COMPLIANCE_VERY_STRICT
Strictly conform to an older more strict version of the spec or reference software.
static int apply_cropping(AVCodecContext *avctx, AVFrame *frame)
#define FF_COMPLIANCE_EXPERIMENTAL
Allow nonstandardized experimental things.
@ AVCOL_TRC_LINEAR
"Linear transfer characteristics"
@ AV_AUDIO_SERVICE_TYPE_NB
Not part of ABI.
#define AV_CODEC_FLAG_QSCALE
Use fixed qscale.
#define AV_CODEC_FLAG_UNALIGNED
Allow decoders to produce frames with data planes that are not aligned to CPU requirements (e....
@ AVCOL_RANGE_JPEG
Full range content.
@ AV_AUDIO_SERVICE_TYPE_VOICE_OVER
@ AVCOL_SPC_RGB
order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB), YZX and ST 428-1
@ AVCOL_TRC_BT2020_12
ITU-R BT2020 for 12-bit system.
#define AV_EF_COMPLIANT
consider all spec non compliances as errors
#define FF_SUB_CHARENC_MODE_PRE_DECODER
the AVPacket data needs to be recoded to UTF-8 before being fed to the decoder, requires iconv
#define AV_CODEC_FLAG_PSNR
error[?] variables will be set during encoding.
#define AV_EF_BUFFER
detect improper bitstream length
#define FF_BUG_HPEL_CHROMA
#define FF_COMPRESSION_DEFAULT
double cutoff
resampling cutoff frequency (swr: 6dB point; soxr: 0dB point).
#define AV_CODEC_FLAG_INTERLACED_ME
interlaced motion estimation
#define FF_SUB_CHARENC_MODE_AUTOMATIC
libavcodec will select the mode itself
@ AVCOL_SPC_BT2020_CL
ITU-R BT2020 constant luminance system.
#define AV_CODEC_FLAG_4MV
4 MV per MB allowed / advanced prediction for H.263.
#define FF_COMPLIANCE_UNOFFICIAL
Allow unofficial extensions.
#define AV_HWACCEL_FLAG_IGNORE_LEVEL
Hardware acceleration should be used for decoding even if the codec level used is unknown or higher t...
#define FF_DEBUG_PICT_INFO
#define AV_CODEC_FLAG2_IGNORE_CROP
Discard cropping information from SPS.
#define AV_CODEC_FLAG_GLOBAL_HEADER
Place global headers in extradata instead of every keyframe.
@ AVCOL_SPC_BT470BG
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601
#define AV_CODEC_FLAG_OUTPUT_CORRUPT
Output even those frames that might be corrupted.
@ AVCOL_TRC_IEC61966_2_1
IEC 61966-2-1 (sRGB or sYCC)
#define FF_BUG_QPEL_CHROMA2
#define FF_BUG_MS
Work around various bugs in Microsoft's broken decoders.
@ AVCOL_TRC_GAMMA28
also ITU-R BT470BG
@ AVDISCARD_NONE
discard nothing
#define FF_SUB_CHARENC_MODE_DO_NOTHING
do nothing (demuxer outputs a stream supposed to be already in UTF-8, or the codec is bitmap for inst...
#define AV_CODEC_FLAG_LOW_DELAY
Force low delay.
#define AV_CODEC_FLAG2_NO_OUTPUT
Skip bitstream encoding.
@ AVCOL_TRC_LOG_SQRT
"Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)"
#define AV_CODEC_FLAG_LOOP_FILTER
loop filter.
@ AVCOL_TRC_GAMMA22
also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM
#define AV_CODEC_FLAG_INTERLACED_DCT
Use interlaced DCT.
#define AV_EF_BITSTREAM
detect bitstream specification deviations
#define AV_CODEC_FLAG_DROPCHANGED
Don't output frames whose parameters differ from first decoded frame in stream.
#define FF_IDCT_SIMPLEAUTO
@ AVCOL_TRC_BT1361_ECG
ITU-R BT1361 Extended Colour Gamut.
@ AVCOL_SPC_SMPTE170M
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC / functionally identical to above
#define AV_CODEC_EXPORT_DATA_PRFT
Export encoder Producer Reference Time through packet side data.
#define FF_BUG_NO_PADDING
#define FF_PROFILE_UNKNOWN
@ AVCOL_PRI_SMPTE428
SMPTE ST 428-1 (CIE 1931 XYZ)
@ AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED
static enum AVPixelFormat pix_fmt
#define AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH
Hardware acceleration can output YUV pixel formats with a different chroma sampling than 4:2:0 and/or...
@ AVCOL_PRI_SMPTE240M
identical to above, also called "SMPTE C" even though it uses D65
#define FF_BUG_DIRECT_BLOCKSIZE
@ AVDISCARD_BIDIR
discard all bidirectional frames
@ AVCOL_SPC_CHROMA_DERIVED_CL
Chromaticity-derived constant luminance system.
@ AVCOL_PRI_BT470BG
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM
@ AVCOL_PRI_SMPTE170M
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
@ AVDISCARD_ALL
discard all
#define AV_CODEC_FLAG2_SKIP_MANUAL
Do not skip samples and export skip information as frame side data.
@ AVCHROMA_LOC_LEFT
MPEG-2/4 4:2:0, H.264 default for 4:2:0.
@ AVCHROMA_LOC_TOPLEFT
ITU-R 601, SMPTE 274M 296M S314M(DV 4:1:1), mpeg2 4:2:2.
@ AVCOL_TRC_IEC61966_2_4
IEC 61966-2-4.
@ AV_OPT_TYPE_IMAGE_SIZE
offset must point to two consecutive integers
@ AVCOL_PRI_BT709
also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP 177 Annex B
#define AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH
Hardware acceleration should still be attempted for decoding when the codec profile does not match th...
#define AV_CODEC_FLAG2_FAST
Allow non spec compliant speedup tricks.
int log_level_offset
logging level offset
#define FF_PROFILE_HEVC_MAIN_10
#define AV_CODEC_FLAG_TRUNCATED
Input bitstream might be truncated at a random location instead of only at frame boundaries.
#define AV_CODEC_FLAG_AC_PRED
H.263 advanced intra coding / MPEG-4 AC prediction.
@ AVCOL_TRC_BT2020_10
ITU-R BT2020 for 10-bit system.
#define FF_MB_DECISION_SIMPLE
uses mb_cmp
#define FF_IDCT_SIMPLEARM
@ AVCOL_SPC_YCGCO
used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16
@ AV_AUDIO_SERVICE_TYPE_EMERGENCY
#define AV_EF_EXPLODE
abort decoding on minor error detection
#define FF_CMP_MEDIAN_SAD
@ AVCOL_RANGE_UNSPECIFIED
#define AV_EF_CAREFUL
consider things that violate the spec, are fast to calculate and have not been seen in the wild as er...
@ AVCOL_PRI_BT2020
ITU-R BT2020.
@ AVCOL_TRC_SMPTE2084
SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems.
@ AVCOL_PRI_SMPTE431
SMPTE ST 431-2 (2011) / DCI P3.
#define FF_DEBUG_DCT_COEFF
#define AV_CODEC_FLAG_QPEL
Use qpel MC.
@ AVDISCARD_NONKEY
discard all frames except keyframes
#define AV_EF_IGNORE_ERR
ignore errors and continue
#define AV_CODEC_FLAG_GRAY
Only decode/encode grayscale.
@ AVDISCARD_DEFAULT
discard useless packets like 0 size packets in avi
@ AVCOL_PRI_FILM
colour filters using Illuminant C
#define FF_IDCT_SIMPLEARMV6
@ AVCOL_TRC_LOG
"Logarithmic transfer characteristic (100:1 range)"
#define FF_SUB_TEXT_FMT_ASS
#define FF_COMPLIANCE_STRICT
Strictly conform to all the things in the spec no matter what consequences.
#define FF_THREAD_SLICE
Decode more than one part of a single frame at once.
@ AVCHROMA_LOC_UNSPECIFIED
@ AV_OPT_TYPE_CHANNEL_LAYOUT
#define AV_CODEC_FLAG_PASS2
Use internal 2pass ratecontrol in second pass mode.
#define FF_COMPLIANCE_NORMAL
@ AVCOL_SPC_CHROMA_DERIVED_NCL
Chromaticity-derived non-constant luminance system.
@ AVCOL_TRC_BT709
also ITU-R BT1361
#define FF_THREAD_FRAME
Decode more than one frame at once.
@ AVCOL_SPC_SMPTE240M
derived from 170M primaries and D65 white point, 170M is derived from BT470 System M's primaries
static int bidir_refine(MpegEncContext *s, int mb_x, int mb_y)
@ AVDISCARD_NONINTRA
discard all non intra frames
#define AV_CODEC_FLAG2_SHOW_ALL
Show all frames before the first keyframe.
@ AVCOL_SPC_BT2020_NCL
ITU-R BT2020 non-constant luminance system.
#define FF_IDCT_SIMPLENEON
#define FF_BUG_AUTODETECT
autodetection
#define FF_DEBUG_STARTCODE
@ AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED
#define FF_BUG_QPEL_CHROMA
@ AVCOL_RANGE_MPEG
Narrow or limited range content.
#define AV_CODEC_DEFAULT_BITRATE
#define AV_CODEC_FLAG_CLOSED_GOP
@ AVCOL_PRI_BT470M
also FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
#define AV_EF_CRCCHECK
Verify checksums embedded in the bitstream (could be of either encoded or decoded data,...
#define FF_DEBUG_GREEN_MD
@ AV_AUDIO_SERVICE_TYPE_KARAOKE
#define AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS
Decoding only.
#define AV_CODEC_FLAG2_CHUNKS
Input bitstream might be truncated at a packet boundaries instead of only at frame boundaries.
@ AVCOL_TRC_ARIB_STD_B67
ARIB STD-B67, known as "Hybrid log-gamma".
@ AVCHROMA_LOC_CENTER
MPEG-1 4:2:0, JPEG 4:2:0, H.263 4:2:0.
@ AVCOL_SPC_FCC
FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
@ AV_AUDIO_SERVICE_TYPE_COMMENTARY
#define AV_CODEC_FLAG2_LOCAL_HEADER
Place global headers at every keyframe instead of in extradata.
@ AVCOL_TRC_SMPTE170M
also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC
#define FF_IDCT_SIMPLEARMV5TE
#define FF_MB_DECISION_RD
rate distortion
#define AV_EF_AGGRESSIVE
consider things that a sane encoder should not do as an error
#define AV_CODEC_EXPORT_DATA_MVS
Export motion vectors through frame side data.
#define AV_CODEC_FLAG_BITEXACT
Use only bitexact stuff (except (I)DCT).
#define FF_BUG_XVID_ILACE
@ AVCOL_PRI_SMPTE432
SMPTE ST 432-1 (2010) / P3 D65 / Display P3.
#define AV_CODEC_FLAG2_EXPORT_MVS
Export motion vectors through frame side data.
@ AV_AUDIO_SERVICE_TYPE_EFFECTS
#define FF_MB_DECISION_BITS
chooses the one which needs the fewest bits
@ AVCOL_SPC_SMPTE2085
SMPTE 2085, Y'D'zD'x.
#define FF_IDCT_SIMPLEMMX
#define flags(name, subs,...)
static const AVOption avcodec_options[]
@ AVCOL_TRC_SMPTE428
SMPTE ST 428-1.
@ AV_AUDIO_SERVICE_TYPE_DIALOGUE
#define FF_QP2LAMBDA
factor to convert from H.263 QP to lambda
@ AVDISCARD_NONREF
discard all non reference
#define AV_CODEC_FLAG2_RO_FLUSH_NOOP
Do not reset ASS ReadOrder field on flush (subtitles decoding)
#define FF_EC_FAVOR_INTER
@ AVCOL_SPC_BT709
also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / derived in SMPTE RP 177 Annex B
#define FF_DEBUG_BITSTREAM
@ AVCOL_SPC_ICTCP
ITU-R BT.2100-0, ICtCp.
@ AV_AUDIO_SERVICE_TYPE_MAIN
static const struct ColorPrimaries color_primaries[AVCOL_PRI_NB]
@ AVCHROMA_LOC_BOTTOMLEFT
#define AV_CODEC_EXPORT_DATA_FILM_GRAIN
Decoding only.
#define AV_CODEC_FLAG_PASS1
Use internal 2pass ratecontrol in first pass mode.
#define FF_SUB_CHARENC_MODE_IGNORE
neither convert the subtitles, nor check them for valid UTF-8
#define AV_OPT_FLAG_DEPRECATED
set if option is deprecated, users should refer to AVOption.help text for more information