---
libavcodec/options.c | 280 ++++++++++++++++++++++++++------------------------
1 files changed, 147 insertions(+), 133 deletions(-)
diff --git a/libavcodec/options.c b/libavcodec/options.c
index 5fa777f..6957171 100644
--- a/libavcodec/options.c
+++ b/libavcodec/options.c
@@ -75,9 +75,151 @@ static const AVClass *codec_child_class_next(const AVClass
*prev)
#define AV_CODEC_DEFAULT_BITRATE 200*1000
static const AVOption options[]={
-{"b", "set bitrate (in bits/s)", OFFSET(bit_rate), AV_OPT_TYPE_INT, {.dbl =
AV_CODEC_DEFAULT_BITRATE }, INT_MIN, INT_MAX, V|A|E},
-{"bt", "set video bitrate tolerance (in bits/s)", OFFSET(bit_rate_tolerance),
AV_OPT_TYPE_INT, {.dbl = AV_CODEC_DEFAULT_BITRATE*20 }, 1, INT_MAX, V|E},
-{"sub_id", NULL, OFFSET(sub_id), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN,
INT_MAX},
+{"b", "set bitrate (in bits/s)",
OFFSET(bit_rate), AV_OPT_TYPE_INT,
{AV_CODEC_DEFAULT_BITRATE}, INT_MIN, INT_MAX, V|A|E},
+{"bt", "set video bitrate tolerance (in bits/s)",
OFFSET(bit_rate_tolerance), AV_OPT_TYPE_INT,
{AV_CODEC_DEFAULT_BITRATE*20}, 1, INT_MAX, V|E},
+{"sub_id", NULL,
OFFSET(sub_id), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"extradata_size", NULL,
OFFSET(extradata_size), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"time_base", NULL,
OFFSET(time_base), AV_OPT_TYPE_RATIONAL, {0},
INT_MIN, INT_MAX},
+{"g", "set the group of picture size",
OFFSET(gop_size), AV_OPT_TYPE_INT, {12},
INT_MIN, INT_MAX, V|E},
+{"ar", "set audio sampling rate (in Hz)",
OFFSET(sample_rate), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, A|D|E},
+{"ac", "set number of audio channels",
OFFSET(channels), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, A|D|E},
+{"cutoff", "set cutoff bandwidth",
OFFSET(cutoff), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, A|E},
+{"frame_size", NULL,
OFFSET(frame_size), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, A|E},
+{"frame_number", NULL,
OFFSET(frame_number), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"delay", NULL,
OFFSET(delay), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"qcomp", "video quantizer scale compression (VBR)",
OFFSET(qcompress), AV_OPT_TYPE_FLOAT, {0.5},
-FLT_MAX, FLT_MAX, V|E},
+{"qblur", "video quantizer scale blur (VBR)",
OFFSET(qblur), AV_OPT_TYPE_FLOAT, {0.5},
-1, FLT_MAX, V|E},
+{"qmin", "min video quantizer scale (VBR)",
OFFSET(qmin), AV_OPT_TYPE_INT, {2},
-1, 69, V|E},
+{"qmax", "max video quantizer scale (VBR)",
OFFSET(qmax), AV_OPT_TYPE_INT, {31},
-1, 69, V|E},
+{"qdiff", "max difference between the quantizer scale (VBR)",
OFFSET(max_qdiff), AV_OPT_TYPE_INT, {3},
INT_MIN, INT_MAX, V|E},
+{"bf", "use 'frames' B frames",
OFFSET(max_b_frames), AV_OPT_TYPE_INT, {DEFAULT},
-1, FF_MAX_B_FRAMES, V|E},
+{"b_qfactor", "qp factor between p and b frames",
OFFSET(b_quant_factor), AV_OPT_TYPE_FLOAT, {1.25},
-FLT_MAX, FLT_MAX, V|E},
+{"rc_strategy", "ratecontrol method",
OFFSET(rc_strategy), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"b_strategy", "strategy to choose between I/P/B-frames",
OFFSET(b_frame_strategy), AV_OPT_TYPE_INT, {0},
INT_MIN, INT_MAX, V|E},
+{"ps", "rtp payload size in bytes",
OFFSET(rtp_payload_size), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"mv_bits", NULL,
OFFSET(mv_bits), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"header_bits", NULL,
OFFSET(header_bits), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"i_tex_bits", NULL,
OFFSET(i_tex_bits), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"p_tex_bits", NULL,
OFFSET(p_tex_bits), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"misc_bits", NULL,
OFFSET(misc_bits), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"frame_bits", NULL,
OFFSET(frame_bits), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"i_count", NULL,
OFFSET(i_count), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"p_count", NULL,
OFFSET(p_count), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"skip_count", NULL,
OFFSET(skip_count), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"codec_tag", NULL,
OFFSET(codec_tag), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"lelim", "single coefficient elimination threshold for
luminance (negative values also consider dc coefficient)",
+
OFFSET(luma_elim_threshold), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"celim", "single coefficient elimination threshold for
chrominance (negative values also consider dc coefficient)",
+
OFFSET(chroma_elim_threshold), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"b_qoffset", "qp offset between P and B frames",
OFFSET(b_quant_offset), AV_OPT_TYPE_FLOAT, {1.25},
-FLT_MAX, FLT_MAX, V|E},
+{"has_b_frames", NULL,
OFFSET(has_b_frames), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"block_align", NULL,
OFFSET(block_align), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"mpeg_quant", "use MPEG quantizers instead of H.263",
OFFSET(mpeg_quant), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"stats_out", NULL,
OFFSET(stats_out), AV_OPT_TYPE_STRING, {.str = NULL}},
+{"stats_in", NULL,
OFFSET(stats_in), AV_OPT_TYPE_STRING, {.str = NULL}},
+{"qsquish", "how to keep quantizer between qmin and qmax (0 =
clip, 1 = use differentiable function)",
+
OFFSET(rc_qsquish), AV_OPT_TYPE_FLOAT, {DEFAULT},
0, 99, V|E},
+{"rc_qmod_amp", "experimental quantizer modulation",
OFFSET(rc_qmod_amp), AV_OPT_TYPE_FLOAT, {DEFAULT},
-FLT_MAX, FLT_MAX, V|E},
+{"rc_qmod_freq", "experimental quantizer modulation",
OFFSET(rc_qmod_freq), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"rc_override_count", NULL,
OFFSET(rc_override_count), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"rc_eq", "set rate control equation",
OFFSET(rc_eq), AV_OPT_TYPE_STRING, {.str = NULL},
0, 0, V|E},
+{"maxrate", "set max video bitrate tolerance (in bits/s)",
OFFSET(rc_max_rate), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"minrate", "set min video bitrate tolerance (in bits/s)",
OFFSET(rc_min_rate), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"bufsize", "set ratecontrol buffer size (in bits)",
OFFSET(rc_buffer_size), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, A|V|E},
+{"rc_buf_aggressivity", "currently useless",
OFFSET(rc_buffer_aggressivity), AV_OPT_TYPE_FLOAT, {1.0},
-FLT_MAX, FLT_MAX, V|E},
+{"i_qfactor", "qp factor between P and I frames",
OFFSET(i_quant_factor), AV_OPT_TYPE_FLOAT, {-0.8},
-FLT_MAX, FLT_MAX, V|E},
+{"i_qoffset", "qp offset between P and I frames",
OFFSET(i_quant_offset), AV_OPT_TYPE_FLOAT, {0.0},
-FLT_MAX, FLT_MAX, V|E},
+{"rc_init_cplx", "initial complexity for 1-pass encoding",
OFFSET(rc_initial_cplx), AV_OPT_TYPE_FLOAT, {DEFAULT},
-FLT_MAX, FLT_MAX, V|E},
+{"lumi_mask", "compresses bright areas stronger than medium ones",
OFFSET(lumi_masking), AV_OPT_TYPE_FLOAT, {0},
-FLT_MAX, FLT_MAX, V|E},
+{"tcplx_mask", "temporal complexity masking",
OFFSET(temporal_cplx_masking), AV_OPT_TYPE_FLOAT, {0},
-FLT_MAX, FLT_MAX, V|E},
+{"scplx_mask", "spatial complexity masking",
OFFSET(spatial_cplx_masking), AV_OPT_TYPE_FLOAT, {0},
-FLT_MAX, FLT_MAX, V|E},
+{"p_mask", "inter masking",
OFFSET(p_masking), AV_OPT_TYPE_FLOAT, {0},
-FLT_MAX, FLT_MAX, V|E},
+{"dark_mask", "compresses dark areas stronger than medium ones",
OFFSET(dark_masking), AV_OPT_TYPE_FLOAT, {0},
-FLT_MAX, FLT_MAX, V|E},
+{"slice_count", NULL,
OFFSET(slice_count), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"bits_per_coded_sample", NULL,
OFFSET(bits_per_coded_sample), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"aspect", "sample aspect ratio",
OFFSET(sample_aspect_ratio), AV_OPT_TYPE_RATIONAL, {0},
0, 10, V|E},
+{"dia_size", "diamond type & size for motion estimation",
OFFSET(dia_size), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"last_pred", "amount of motion predictors from the previous
frame", OFFSET(last_predictor_count), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"preme", "pre motion estimation",
OFFSET(pre_me), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"pre_dia_size", "diamond type & size for motion estimation
pre-pass", OFFSET(pre_dia_size), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"subq", "sub pel motion estimation quality",
OFFSET(me_subpel_quality), AV_OPT_TYPE_INT, {8},
INT_MIN, INT_MAX, V|E},
+{"dtg_active_format", NULL,
OFFSET(dtg_active_format), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"me_range", "limit motion vectors range (1023 for DivX player)",
OFFSET(me_range), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"ibias", "intra quant bias",
OFFSET(intra_quant_bias), AV_OPT_TYPE_INT,
{FF_DEFAULT_QUANT_BIAS}, INT_MIN, INT_MAX, V|E},
+{"pbias", "inter quant bias",
OFFSET(inter_quant_bias), AV_OPT_TYPE_INT,
{FF_DEFAULT_QUANT_BIAS}, INT_MIN, INT_MAX, V|E},
+{"color_table_id", NULL,
OFFSET(color_table_id), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"global_quality", NULL,
OFFSET(global_quality), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|A|E},
+{"context", "context model",
OFFSET(context_model), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"slice_flags", NULL,
OFFSET(slice_flags), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"xvmc_acceleration", NULL,
OFFSET(xvmc_acceleration), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"stream_codec_tag", NULL,
OFFSET(stream_codec_tag), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"sc_threshold", "scene change threshold",
OFFSET(scenechange_threshold), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"lmin", "min lagrange factor (VBR)",
OFFSET(lmin), AV_OPT_TYPE_INT, { 2*FF_QP2LAMBDA},
0, INT_MAX, V|E},
+{"lmax", "max lagrange factor (VBR)",
OFFSET(lmax), AV_OPT_TYPE_INT, {31*FF_QP2LAMBDA},
0, INT_MAX, V|E},
+{"nr", "noise reduction",
OFFSET(noise_reduction), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"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, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"inter_threshold", NULL,
OFFSET(inter_threshold), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"error", NULL,
OFFSET(error_rate), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"qns", "quantizer noise shaping",
OFFSET(quantizer_noise_shaping), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"me_threshold", "motion estimaton threshold",
OFFSET(me_threshold), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"mb_threshold", "macroblock threshold",
OFFSET(mb_threshold), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"dc", "intra_dc_precision",
OFFSET(intra_dc_precision), AV_OPT_TYPE_INT, {0},
INT_MIN, INT_MAX, V|E},
+{"nssew", "nsse weight",
OFFSET(nsse_weight), AV_OPT_TYPE_INT, {8},
INT_MIN, INT_MAX, V|E},
+{"skip_top", "number of macroblock rows at the top which are
skipped",
+
OFFSET(skip_top), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|D},
+{"skip_bottom", "number of macroblock rows at the bottom which are
skipped",
+
OFFSET(skip_bottom), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|D},
+{"lowres", "decode at 1= 1/2, 2=1/4, 3=1/8 resolutions",
OFFSET(lowres), AV_OPT_TYPE_INT, {0},
0, INT_MAX, V|A|D},
+{"skip_threshold", "frame skip threshold",
OFFSET(frame_skip_threshold), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"skip_factor", "frame skip factor",
OFFSET(frame_skip_factor), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"skip_exp", "frame skip exponent",
OFFSET(frame_skip_exp), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"border_mask", "increases the quantizer for macroblocks close to
borders",
+
OFFSET(border_masking), AV_OPT_TYPE_FLOAT, {DEFAULT},
-FLT_MAX, FLT_MAX, V|E},
+{"mblmin", "min macroblock lagrange factor (VBR)",
OFFSET(mb_lmin), AV_OPT_TYPE_INT, {FF_QP2LAMBDA * 2},
1, FF_LAMBDA_MAX, V|E},
+{"mblmax", "max macroblock lagrange factor (VBR)",
OFFSET(mb_lmax), AV_OPT_TYPE_INT, {FF_QP2LAMBDA * 31},
1, FF_LAMBDA_MAX, V|E},
+{"mepc", "motion estimation bitrate penalty compensation (1.0
= 256)",
+
OFFSET(me_penalty_compensation), AV_OPT_TYPE_INT, {256},
INT_MIN, INT_MAX, V|E},
+{"bidir_refine", "refine the two motion vectors used in bidirectional
macroblocks",
+
OFFSET(bidir_refine), AV_OPT_TYPE_INT, {1},
0, 4, V|E},
+{"brd_scale", "downscales frames for dynamic B-frame decision",
OFFSET(brd_scale), AV_OPT_TYPE_INT, {DEFAULT},
0, 10, V|E},
+{"keyint_min", "minimum interval between IDR-frames (x264)",
OFFSET(keyint_min), AV_OPT_TYPE_INT, {25},
INT_MIN, INT_MAX, V|E},
+{"refs", "reference frames to consider for motion
compensation (Snow)",
+
OFFSET(refs), AV_OPT_TYPE_INT, {1},
INT_MIN, INT_MAX, V|E},
+{"chromaoffset", "chroma qp offset from luma",
OFFSET(chromaoffset), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|E},
+{"trellis", "rate-distortion optimal quantization",
OFFSET(trellis), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX, V|A|E},
+{"sc_factor", "multiplied by qscale for each frame and added to
scene_change_score",
+
OFFSET(scenechange_factor), AV_OPT_TYPE_INT, {6},
0, INT_MAX, V|E},
+{"mv0_threshold", NULL,
OFFSET(mv0_threshold), AV_OPT_TYPE_INT, {256},
0, INT_MAX, V|E},
+{"b_sensitivity", "adjusts sensitivity of b_frame_strategy 1",
OFFSET(b_sensitivity), AV_OPT_TYPE_INT, {40},
1, INT_MAX, V|E},
+{"compression_level", NULL,
OFFSET(compression_level), AV_OPT_TYPE_INT,
{FF_COMPRESSION_DEFAULT}, INT_MIN, INT_MAX, V|A|E},
+{"min_prediction_order", NULL,
OFFSET(min_prediction_order), AV_OPT_TYPE_INT, {-1},
INT_MIN, INT_MAX, A|E},
+{"max_prediction_order", NULL,
OFFSET(max_prediction_order), AV_OPT_TYPE_INT, {-1},
INT_MIN, INT_MAX, A|E},
+{"timecode_frame_start", "GOP timecode frame start number, in non drop frame
format",
+
OFFSET(timecode_frame_start), AV_OPT_TYPE_INT64, {0},
0, INT64_MAX, V|E},
+#if FF_API_REQUEST_CHANNELS
+{"request_channels", "set desired number of audio channels",
OFFSET(request_channels), AV_OPT_TYPE_INT, {DEFAULT},
0, INT_MAX, A|D},
+#endif
+{"bits_per_raw_sample", NULL,
OFFSET(bits_per_raw_sample), AV_OPT_TYPE_INT, {DEFAULT},
INT_MIN, INT_MAX},
+{"channel_layout", NULL,
OFFSET(channel_layout), AV_OPT_TYPE_INT64, {DEFAULT},
0, INT64_MAX, A|E|D},
+{"request_channel_layout",NULL,
OFFSET(request_channel_layout), AV_OPT_TYPE_INT64, {DEFAULT},
0, INT64_MAX, A|D},
+{"rc_max_vbv_use", NULL,
OFFSET(rc_max_available_vbv_use),AV_OPT_TYPE_FLOAT, {1.0/3},
0.0, FLT_MAX, V|E},
+{"rc_min_vbv_use", NULL,
OFFSET(rc_min_vbv_overflow_use), AV_OPT_TYPE_FLOAT, {3},
0.0, FLT_MAX, V|E},
+{"ticks_per_frame", NULL,
OFFSET(ticks_per_frame), AV_OPT_TYPE_INT, {1},
1, INT_MAX, A|V|E|D},
+{"color_primaries", NULL,
OFFSET(color_primaries), AV_OPT_TYPE_INT,
{AVCOL_PRI_UNSPECIFIED}, 1, AVCOL_PRI_NB-1, V|E|D},
+{"color_trc", NULL,
OFFSET(color_trc), AV_OPT_TYPE_INT,
{AVCOL_TRC_UNSPECIFIED}, 1, AVCOL_TRC_NB-1, V|E|D},
+{"colorspace", NULL,
OFFSET(colorspace), AV_OPT_TYPE_INT,
{AVCOL_SPC_UNSPECIFIED}, 1, AVCOL_SPC_NB-1, V|E|D},
+{"color_range", NULL,
OFFSET(color_range), AV_OPT_TYPE_INT,
{AVCOL_RANGE_UNSPECIFIED}, 0, AVCOL_RANGE_NB-1, V|E|D},
+{"chroma_sample_location",NULL,
OFFSET(chroma_sample_location), AV_OPT_TYPE_INT,
{AVCHROMA_LOC_UNSPECIFIED},0, AVCHROMA_LOC_NB-1,V|E|D},
+{"log_level_offset", "set the log level offset",
OFFSET(log_level_offset), AV_OPT_TYPE_INT, {0}, INT_MIN, INT_MAX},
+{"slices", "number of slices, used in parallelized encoding",
OFFSET(slices), AV_OPT_TYPE_INT, {0}, 0, INT_MAX, V|E},
+{"level", NULL,
OFFSET(level), AV_OPT_TYPE_INT, {FF_LEVEL_UNKNOWN},
INT_MIN, INT_MAX, V|A|E, "level"},
+{"unknown", NULL,
0, AV_OPT_TYPE_CONST, {FF_LEVEL_UNKNOWN},
INT_MIN, INT_MAX, V|A|E, "level"},
+{"threads", NULL,
OFFSET(thread_count), AV_OPT_TYPE_INT, {1},
0, INT_MAX, V|E|D, "threads"},
+{"auto", "detect a good number of threads",
0, AV_OPT_TYPE_CONST, {0},
INT_MIN, INT_MAX, V|E|D, "threads"},
+{"thread_type", "select multithreading type",
OFFSET(thread_type), AV_OPT_TYPE_FLAGS,
{FF_THREAD_SLICE|FF_THREAD_FRAME}, 0, INT_MAX, V|E|D, "thread_type"},
+{"slice", NULL,
0, AV_OPT_TYPE_CONST, {FF_THREAD_SLICE},
0, 0, V|E|D, "thread_type"},
+{"frame", NULL,
0, AV_OPT_TYPE_CONST, {FF_THREAD_FRAME},
0, 0, V|E|D, "thread_type"},
{"flags", NULL, OFFSET(flags), AV_OPT_TYPE_FLAGS, {.dbl = DEFAULT }, 0,
UINT_MAX, V|A|E|D, "flags"},
{"mv4", "use four motion vector by macroblock (mpeg4)",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_4MV}, 0, 0, V|E, "flags"},
@@ -268,104 +410,6 @@ static const AVOption options[]={
{"dts_hd_hra", NULL, 0, AV_OPT_TYPE_CONST, {FF_PROFILE_DTS_HD_HRA}, 0, 0, A|E,
"profile"},
{"dts_hd_ma", NULL, 0, AV_OPT_TYPE_CONST, {FF_PROFILE_DTS_HD_MA}, 0, 0, A|E,
"profile"},
-{"extradata_size", NULL, OFFSET(extradata_size), AV_OPT_TYPE_INT, {.dbl =
DEFAULT }, INT_MIN, INT_MAX},
-{"time_base", NULL, OFFSET(time_base), AV_OPT_TYPE_RATIONAL, {.dbl = 0},
INT_MIN, INT_MAX},
-{"g", "set the group of picture size", OFFSET(gop_size), AV_OPT_TYPE_INT,
{.dbl = 12 }, INT_MIN, INT_MAX, V|E},
-{"ar", "set audio sampling rate (in Hz)", OFFSET(sample_rate),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, A|D|E},
-{"ac", "set number of audio channels", OFFSET(channels), AV_OPT_TYPE_INT,
{.dbl = DEFAULT }, INT_MIN, INT_MAX, A|D|E},
-{"cutoff", "set cutoff bandwidth", OFFSET(cutoff), AV_OPT_TYPE_INT, {.dbl =
DEFAULT }, INT_MIN, INT_MAX, A|E},
-{"frame_size", NULL, OFFSET(frame_size), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX, A|E},
-{"frame_number", NULL, OFFSET(frame_number), AV_OPT_TYPE_INT, {.dbl = DEFAULT
}, INT_MIN, INT_MAX},
-{"delay", NULL, OFFSET(delay), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN,
INT_MAX},
-{"qcomp", "video quantizer scale compression (VBR)", OFFSET(qcompress),
AV_OPT_TYPE_FLOAT, {.dbl = 0.5 }, -FLT_MAX, FLT_MAX, V|E},
-{"qblur", "video quantizer scale blur (VBR)", OFFSET(qblur),
AV_OPT_TYPE_FLOAT, {.dbl = 0.5 }, -1, FLT_MAX, V|E},
-{"qmin", "min video quantizer scale (VBR)", OFFSET(qmin), AV_OPT_TYPE_INT,
{.dbl = 2 }, -1, 69, V|E},
-{"qmax", "max video quantizer scale (VBR)", OFFSET(qmax), AV_OPT_TYPE_INT,
{.dbl = 31 }, -1, 69, V|E},
-{"qdiff", "max difference between the quantizer scale (VBR)",
OFFSET(max_qdiff), AV_OPT_TYPE_INT, {.dbl = 3 }, INT_MIN, INT_MAX, V|E},
-{"bf", "use 'frames' B frames", OFFSET(max_b_frames), AV_OPT_TYPE_INT, {.dbl =
DEFAULT }, -1, FF_MAX_B_FRAMES, V|E},
-{"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},
-{"rc_strategy", "ratecontrol method", OFFSET(rc_strategy), AV_OPT_TYPE_INT,
{.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"b_strategy", "strategy to choose between I/P/B-frames",
OFFSET(b_frame_strategy), AV_OPT_TYPE_INT, {.dbl = 0 }, INT_MIN, INT_MAX, V|E},
-{"ps", "rtp payload size in bytes", OFFSET(rtp_payload_size), AV_OPT_TYPE_INT,
{.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"mv_bits", NULL, OFFSET(mv_bits), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"header_bits", NULL, OFFSET(header_bits), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"i_tex_bits", NULL, OFFSET(i_tex_bits), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"p_tex_bits", NULL, OFFSET(p_tex_bits), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"i_count", NULL, OFFSET(i_count), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"p_count", NULL, OFFSET(p_count), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"skip_count", NULL, OFFSET(skip_count), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"misc_bits", NULL, OFFSET(misc_bits), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"frame_bits", NULL, OFFSET(frame_bits), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"codec_tag", NULL, OFFSET(codec_tag), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"lelim", "single coefficient elimination threshold for luminance (negative
values also consider dc coefficient)", OFFSET(luma_elim_threshold),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"celim", "single coefficient elimination threshold for chrominance (negative
values also consider dc coefficient)", OFFSET(chroma_elim_threshold),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"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},
-{"has_b_frames", NULL, OFFSET(has_b_frames), AV_OPT_TYPE_INT, {.dbl = DEFAULT
}, INT_MIN, INT_MAX},
-{"block_align", NULL, OFFSET(block_align), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"mpeg_quant", "use MPEG quantizers instead of H.263", OFFSET(mpeg_quant),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"stats_out", NULL, OFFSET(stats_out), AV_OPT_TYPE_STRING, {.str = NULL},
CHAR_MIN, CHAR_MAX},
-{"stats_in", NULL, OFFSET(stats_in), AV_OPT_TYPE_STRING, {.str = NULL},
CHAR_MIN, CHAR_MAX},
-{"qsquish", "how to keep quantizer between qmin and qmax (0 = clip, 1 = use
differentiable function)", OFFSET(rc_qsquish), AV_OPT_TYPE_FLOAT, {.dbl =
DEFAULT }, 0, 99, V|E},
-{"rc_qmod_amp", "experimental quantizer modulation", OFFSET(rc_qmod_amp),
AV_OPT_TYPE_FLOAT, {.dbl = DEFAULT }, -FLT_MAX, FLT_MAX, V|E},
-{"rc_qmod_freq", "experimental quantizer modulation", OFFSET(rc_qmod_freq),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"rc_override_count", NULL, OFFSET(rc_override_count), AV_OPT_TYPE_INT, {.dbl
= DEFAULT }, INT_MIN, INT_MAX},
-{"rc_eq", "set rate control equation", OFFSET(rc_eq), AV_OPT_TYPE_STRING,
{.str = NULL}, CHAR_MIN, CHAR_MAX, V|E},
-{"maxrate", "set max video bitrate tolerance (in bits/s)",
OFFSET(rc_max_rate), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"minrate", "set min video bitrate tolerance (in bits/s)",
OFFSET(rc_min_rate), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"bufsize", "set ratecontrol buffer size (in bits)", OFFSET(rc_buffer_size),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, A|V|E},
-{"rc_buf_aggressivity", "currently useless", OFFSET(rc_buffer_aggressivity),
AV_OPT_TYPE_FLOAT, {.dbl = 1.0 }, -FLT_MAX, FLT_MAX, V|E},
-{"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},
-{"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},
-{"rc_init_cplx", "initial complexity for 1-pass encoding",
OFFSET(rc_initial_cplx), AV_OPT_TYPE_FLOAT, {.dbl = DEFAULT }, -FLT_MAX,
FLT_MAX, V|E},
-{"lumi_mask", "compresses bright areas stronger than medium ones",
OFFSET(lumi_masking), AV_OPT_TYPE_FLOAT, {.dbl = 0 }, -FLT_MAX, FLT_MAX, V|E},
-{"tcplx_mask", "temporal complexity masking", OFFSET(temporal_cplx_masking),
AV_OPT_TYPE_FLOAT, {.dbl = 0 }, -FLT_MAX, FLT_MAX, V|E},
-{"scplx_mask", "spatial complexity masking", OFFSET(spatial_cplx_masking),
AV_OPT_TYPE_FLOAT, {.dbl = 0 }, -FLT_MAX, FLT_MAX, V|E},
-{"p_mask", "inter masking", OFFSET(p_masking), AV_OPT_TYPE_FLOAT, {.dbl = 0 },
-FLT_MAX, FLT_MAX, V|E},
-{"dark_mask", "compresses dark areas stronger than medium ones",
OFFSET(dark_masking), AV_OPT_TYPE_FLOAT, {.dbl = 0 }, -FLT_MAX, FLT_MAX, V|E},
-{"slice_count", NULL, OFFSET(slice_count), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"bits_per_coded_sample", NULL, OFFSET(bits_per_coded_sample),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX},
-{"aspect", "sample aspect ratio", OFFSET(sample_aspect_ratio),
AV_OPT_TYPE_RATIONAL, {.dbl = 0}, 0, 10, V|E},
-{"dia_size", "diamond type & size for motion estimation", OFFSET(dia_size),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"last_pred", "amount of motion predictors from the previous frame",
OFFSET(last_predictor_count), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN,
INT_MAX, V|E},
-{"preme", "pre motion estimation", OFFSET(pre_me), AV_OPT_TYPE_INT, {.dbl =
DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"pre_dia_size", "diamond type & size for motion estimation pre-pass",
OFFSET(pre_dia_size), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX,
V|E},
-{"subq", "sub pel motion estimation quality", OFFSET(me_subpel_quality),
AV_OPT_TYPE_INT, {.dbl = 8 }, INT_MIN, INT_MAX, V|E},
-{"dtg_active_format", NULL, OFFSET(dtg_active_format), AV_OPT_TYPE_INT, {.dbl
= DEFAULT }, INT_MIN, INT_MAX},
-{"me_range", "limit motion vectors range (1023 for DivX player)",
OFFSET(me_range), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"ibias", "intra quant bias", OFFSET(intra_quant_bias), AV_OPT_TYPE_INT, {.dbl
= FF_DEFAULT_QUANT_BIAS }, INT_MIN, INT_MAX, V|E},
-{"pbias", "inter quant bias", OFFSET(inter_quant_bias), AV_OPT_TYPE_INT, {.dbl
= FF_DEFAULT_QUANT_BIAS }, INT_MIN, INT_MAX, V|E},
-{"color_table_id", NULL, OFFSET(color_table_id), AV_OPT_TYPE_INT, {.dbl =
DEFAULT }, INT_MIN, INT_MAX},
-{"global_quality", NULL, OFFSET(global_quality), AV_OPT_TYPE_INT, {.dbl =
DEFAULT }, INT_MIN, INT_MAX, V|A|E},
-{"context", "context model", OFFSET(context_model), AV_OPT_TYPE_INT, {.dbl =
DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"slice_flags", NULL, OFFSET(slice_flags), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX},
-{"xvmc_acceleration", NULL, OFFSET(xvmc_acceleration), AV_OPT_TYPE_INT, {.dbl
= DEFAULT }, INT_MIN, INT_MAX},
-{"stream_codec_tag", NULL, OFFSET(stream_codec_tag), AV_OPT_TYPE_INT, {.dbl =
DEFAULT }, INT_MIN, INT_MAX},
-{"sc_threshold", "scene change threshold", OFFSET(scenechange_threshold),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"lmin", "min lagrange factor (VBR)", OFFSET(lmin), AV_OPT_TYPE_INT, {.dbl =
2*FF_QP2LAMBDA }, 0, INT_MAX, V|E},
-{"lmax", "max lagrange factor (VBR)", OFFSET(lmax), AV_OPT_TYPE_INT, {.dbl =
31*FF_QP2LAMBDA }, 0, INT_MAX, V|E},
-{"nr", "noise reduction", OFFSET(noise_reduction), AV_OPT_TYPE_INT, {.dbl =
DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"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, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"inter_threshold", NULL, OFFSET(inter_threshold), AV_OPT_TYPE_INT, {.dbl =
DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"error", NULL, OFFSET(error_rate), AV_OPT_TYPE_INT, {.dbl = DEFAULT },
INT_MIN, INT_MAX, V|E},
-{"qns", "quantizer noise shaping", OFFSET(quantizer_noise_shaping),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"threads", NULL, OFFSET(thread_count), AV_OPT_TYPE_INT, {.dbl = 1 }, 0,
INT_MAX, V|E|D, "threads"},
-{"auto", "detect a good number of threads", 0, AV_OPT_TYPE_CONST, {.dbl = 0 },
INT_MIN, INT_MAX, V|E|D, "threads"},
-{"me_threshold", "motion estimaton threshold", OFFSET(me_threshold),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"mb_threshold", "macroblock threshold", OFFSET(mb_threshold),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"dc", "intra_dc_precision", OFFSET(intra_dc_precision), AV_OPT_TYPE_INT,
{.dbl = 0 }, INT_MIN, INT_MAX, V|E},
-{"nssew", "nsse weight", OFFSET(nsse_weight), AV_OPT_TYPE_INT, {.dbl = 8 },
INT_MIN, INT_MAX, V|E},
-{"skip_top", "number of macroblock rows at the top which are skipped",
OFFSET(skip_top), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|D},
-{"skip_bottom", "number of macroblock rows at the bottom which are skipped",
OFFSET(skip_bottom), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|D},
-{"level", NULL, OFFSET(level), AV_OPT_TYPE_INT, {.dbl = FF_LEVEL_UNKNOWN },
INT_MIN, INT_MAX, V|A|E, "level"},
-{"unknown", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_LEVEL_UNKNOWN }, INT_MIN,
INT_MAX, V|A|E, "level"},
-{"lowres", "decode at 1= 1/2, 2=1/4, 3=1/8 resolutions", OFFSET(lowres),
AV_OPT_TYPE_INT, {.dbl = 0 }, 0, INT_MAX, V|A|D},
-{"skip_threshold", "frame skip threshold", OFFSET(frame_skip_threshold),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"skip_factor", "frame skip factor", OFFSET(frame_skip_factor),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"skip_exp", "frame skip exponent", OFFSET(frame_skip_exp), AV_OPT_TYPE_INT,
{.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"border_mask", "increases the quantizer for macroblocks close to borders",
OFFSET(border_masking), AV_OPT_TYPE_FLOAT, {.dbl = DEFAULT }, -FLT_MAX,
FLT_MAX, V|E},
-{"mblmin", "min macroblock lagrange factor (VBR)", OFFSET(mb_lmin),
AV_OPT_TYPE_INT, {.dbl = FF_QP2LAMBDA * 2 }, 1, FF_LAMBDA_MAX, V|E},
-{"mblmax", "max macroblock lagrange factor (VBR)", OFFSET(mb_lmax),
AV_OPT_TYPE_INT, {.dbl = FF_QP2LAMBDA * 31 }, 1, FF_LAMBDA_MAX, V|E},
-{"mepc", "motion estimation bitrate penalty compensation (1.0 = 256)",
OFFSET(me_penalty_compensation), AV_OPT_TYPE_INT, {.dbl = 256 }, INT_MIN,
INT_MAX, V|E},
{"skip_loop_filter", NULL, OFFSET(skip_loop_filter), AV_OPT_TYPE_INT, {.dbl =
AVDISCARD_DEFAULT }, INT_MIN, INT_MAX, V|D, "avdiscard"},
{"skip_idct" , NULL, OFFSET(skip_idct) , AV_OPT_TYPE_INT, {.dbl =
AVDISCARD_DEFAULT }, INT_MIN, INT_MAX, V|D, "avdiscard"},
{"skip_frame" , NULL, OFFSET(skip_frame) , AV_OPT_TYPE_INT, {.dbl =
AVDISCARD_DEFAULT }, INT_MIN, INT_MAX, V|D, "avdiscard"},
@@ -375,38 +419,7 @@ static const AVOption options[]={
{"bidir" , NULL, 0, AV_OPT_TYPE_CONST, {.dbl = AVDISCARD_BIDIR },
INT_MIN, INT_MAX, V|D, "avdiscard"},
{"nokey" , NULL, 0, AV_OPT_TYPE_CONST, {.dbl = AVDISCARD_NONKEY },
INT_MIN, INT_MAX, V|D, "avdiscard"},
{"all" , NULL, 0, AV_OPT_TYPE_CONST, {.dbl = AVDISCARD_ALL },
INT_MIN, INT_MAX, V|D, "avdiscard"},
-{"bidir_refine", "refine the two motion vectors used in bidirectional
macroblocks", OFFSET(bidir_refine), AV_OPT_TYPE_INT, {.dbl = 1 }, 0, 4, V|E},
-{"brd_scale", "downscales frames for dynamic B-frame decision",
OFFSET(brd_scale), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, 0, 10, V|E},
-{"keyint_min", "minimum interval between IDR-frames (x264)",
OFFSET(keyint_min), AV_OPT_TYPE_INT, {.dbl = 25 }, INT_MIN, INT_MAX, V|E},
-{"refs", "reference frames to consider for motion compensation (Snow)",
OFFSET(refs), AV_OPT_TYPE_INT, {.dbl = 1 }, INT_MIN, INT_MAX, V|E},
-{"chromaoffset", "chroma qp offset from luma", OFFSET(chromaoffset),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E},
-{"trellis", "rate-distortion optimal quantization", OFFSET(trellis),
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|A|E},
-{"sc_factor", "multiplied by qscale for each frame and added to
scene_change_score", OFFSET(scenechange_factor), AV_OPT_TYPE_INT, {.dbl = 6 },
0, INT_MAX, V|E},
-{"mv0_threshold", NULL, OFFSET(mv0_threshold), AV_OPT_TYPE_INT, {.dbl = 256 },
0, INT_MAX, V|E},
-{"b_sensitivity", "adjusts sensitivity of b_frame_strategy 1",
OFFSET(b_sensitivity), AV_OPT_TYPE_INT, {.dbl = 40 }, 1, INT_MAX, V|E},
-{"compression_level", NULL, OFFSET(compression_level), AV_OPT_TYPE_INT, {.dbl
= FF_COMPRESSION_DEFAULT }, INT_MIN, INT_MAX, V|A|E},
-{"min_prediction_order", NULL, OFFSET(min_prediction_order), AV_OPT_TYPE_INT,
{.dbl = -1 }, INT_MIN, INT_MAX, A|E},
-{"max_prediction_order", NULL, OFFSET(max_prediction_order), AV_OPT_TYPE_INT,
{.dbl = -1 }, INT_MIN, INT_MAX, A|E},
-{"timecode_frame_start", "GOP timecode frame start number, in non drop frame
format", OFFSET(timecode_frame_start), AV_OPT_TYPE_INT64, {.dbl = 0 }, 0,
INT64_MAX, V|E},
-#if FF_API_REQUEST_CHANNELS
-{"request_channels", "set desired number of audio channels",
OFFSET(request_channels), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, 0, INT_MAX, A|D},
-#endif
-{"bits_per_raw_sample", NULL, OFFSET(bits_per_raw_sample), AV_OPT_TYPE_INT,
{.dbl = DEFAULT }, INT_MIN, INT_MAX},
-{"channel_layout", NULL, OFFSET(channel_layout), AV_OPT_TYPE_INT64, {.dbl =
DEFAULT }, 0, INT64_MAX, A|E|D, "channel_layout"},
-{"request_channel_layout", NULL, OFFSET(request_channel_layout),
AV_OPT_TYPE_INT64, {.dbl = DEFAULT }, 0, INT64_MAX, A|D,
"request_channel_layout"},
-{"rc_max_vbv_use", NULL, OFFSET(rc_max_available_vbv_use), AV_OPT_TYPE_FLOAT,
{.dbl = 1.0/3 }, 0.0, FLT_MAX, V|E},
-{"rc_min_vbv_use", NULL, OFFSET(rc_min_vbv_overflow_use), AV_OPT_TYPE_FLOAT,
{.dbl = 3 }, 0.0, FLT_MAX, V|E},
-{"ticks_per_frame", NULL, OFFSET(ticks_per_frame), AV_OPT_TYPE_INT, {.dbl = 1
}, 1, INT_MAX, A|V|E|D},
-{"color_primaries", NULL, OFFSET(color_primaries), AV_OPT_TYPE_INT, {.dbl =
AVCOL_PRI_UNSPECIFIED }, 1, AVCOL_PRI_NB-1, V|E|D},
-{"color_trc", NULL, OFFSET(color_trc), AV_OPT_TYPE_INT, {.dbl =
AVCOL_TRC_UNSPECIFIED }, 1, AVCOL_TRC_NB-1, V|E|D},
-{"colorspace", NULL, OFFSET(colorspace), AV_OPT_TYPE_INT, {.dbl =
AVCOL_SPC_UNSPECIFIED }, 1, AVCOL_SPC_NB-1, V|E|D},
-{"color_range", NULL, OFFSET(color_range), AV_OPT_TYPE_INT, {.dbl =
AVCOL_RANGE_UNSPECIFIED }, 0, AVCOL_RANGE_NB-1, V|E|D},
-{"chroma_sample_location", NULL, OFFSET(chroma_sample_location),
AV_OPT_TYPE_INT, {.dbl = AVCHROMA_LOC_UNSPECIFIED }, 0, AVCHROMA_LOC_NB-1,
V|E|D},
-{"log_level_offset", "set the log level offset", OFFSET(log_level_offset),
AV_OPT_TYPE_INT, {.dbl = 0 }, INT_MIN, INT_MAX },
-{"slices", "number of slices, used in parallelized encoding", OFFSET(slices),
AV_OPT_TYPE_INT, {.dbl = 0 }, 0, INT_MAX, V|E},
-{"thread_type", "select multithreading type", OFFSET(thread_type),
AV_OPT_TYPE_FLAGS, {.dbl = FF_THREAD_SLICE|FF_THREAD_FRAME }, 0, INT_MAX,
V|E|D, "thread_type"},
-{"slice", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_THREAD_SLICE }, INT_MIN,
INT_MAX, V|E|D, "thread_type"},
-{"frame", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_THREAD_FRAME }, INT_MIN,
INT_MAX, V|E|D, "thread_type"},
+
{"audio_service_type", "audio service type", OFFSET(audio_service_type),
AV_OPT_TYPE_INT, {.dbl = AV_AUDIO_SERVICE_TYPE_MAIN }, 0,
AV_AUDIO_SERVICE_TYPE_NB-1, A|E, "audio_service_type"},
{"ma", "Main Audio Service", 0, AV_OPT_TYPE_CONST, {.dbl =
AV_AUDIO_SERVICE_TYPE_MAIN }, INT_MIN, INT_MAX, A|E,
"audio_service_type"},
{"ef", "Effects", 0, AV_OPT_TYPE_CONST, {.dbl =
AV_AUDIO_SERVICE_TYPE_EFFECTS }, INT_MIN, INT_MAX, A|E,
"audio_service_type"},
@@ -417,6 +430,7 @@ static const AVOption options[]={
{"em", "Emergency", 0, AV_OPT_TYPE_CONST, {.dbl =
AV_AUDIO_SERVICE_TYPE_EMERGENCY }, INT_MIN, INT_MAX, A|E,
"audio_service_type"},
{"vo", "Voice Over", 0, AV_OPT_TYPE_CONST, {.dbl =
AV_AUDIO_SERVICE_TYPE_VOICE_OVER }, INT_MIN, INT_MAX, A|E,
"audio_service_type"},
{"ka", "Karaoke", 0, AV_OPT_TYPE_CONST, {.dbl =
AV_AUDIO_SERVICE_TYPE_KARAOKE }, INT_MIN, INT_MAX, A|E,
"audio_service_type"},
+
{"request_sample_fmt", NULL, OFFSET(request_sample_fmt), AV_OPT_TYPE_INT,
{.dbl = AV_SAMPLE_FMT_NONE }, AV_SAMPLE_FMT_NONE, AV_SAMPLE_FMT_NB-1, A|D,
"request_sample_fmt"},
{"u8" , "8-bit unsigned integer", 0, AV_OPT_TYPE_CONST, {.dbl =
AV_SAMPLE_FMT_U8 }, INT_MIN, INT_MAX, A|D, "request_sample_fmt"},
{"s16", "16-bit signed integer", 0, AV_OPT_TYPE_CONST, {.dbl =
AV_SAMPLE_FMT_S16 }, INT_MIN, INT_MAX, A|D, "request_sample_fmt"},
--
1.7.7.3
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel