---
libavcodec/options.c | 63 ++++++++++++++++++++++++++-----------------------
1 files changed, 33 insertions(+), 30 deletions(-)
diff --git a/libavcodec/options.c b/libavcodec/options.c
index c416b4a..83a6b4f 100644
--- a/libavcodec/options.c
+++ b/libavcodec/options.c
@@ -77,34 +77,39 @@ static const AVClass *codec_child_class_next(const AVClass
*prev)
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},
-{"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,
{.dbl = CODEC_FLAG_4MV }, INT_MIN, INT_MAX, V|E, "flags"},
-{"qpel", "use 1/4 pel motion compensation", 0, AV_OPT_TYPE_CONST, {.dbl =
CODEC_FLAG_QPEL }, INT_MIN, INT_MAX, V|E, "flags"},
-{"loop", "use loop filter", 0, AV_OPT_TYPE_CONST, {.dbl =
CODEC_FLAG_LOOP_FILTER }, INT_MIN, INT_MAX, V|E, "flags"},
-{"qscale", "use fixed qscale", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_QSCALE
}, INT_MIN, INT_MAX, 0, "flags"},
-{"gmc", "use gmc", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_GMC }, INT_MIN,
INT_MAX, V|E, "flags"},
-{"mv0", "always try a mb with mv=<0,0>", 0, AV_OPT_TYPE_CONST, {.dbl =
CODEC_FLAG_MV0 }, INT_MIN, INT_MAX, V|E, "flags"},
-{"input_preserved", NULL, 0, AV_OPT_TYPE_CONST, {.dbl =
CODEC_FLAG_INPUT_PRESERVED }, INT_MIN, INT_MAX, 0, "flags"},
-{"pass1", "use internal 2pass ratecontrol in first pass mode", 0,
AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_PASS1 }, INT_MIN, INT_MAX, 0, "flags"},
-{"pass2", "use internal 2pass ratecontrol in second pass mode", 0,
AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_PASS2 }, INT_MIN, INT_MAX, 0, "flags"},
-{"gray", "only decode/encode grayscale", 0, AV_OPT_TYPE_CONST, {.dbl =
CODEC_FLAG_GRAY }, INT_MIN, INT_MAX, V|E|D, "flags"},
-{"emu_edge", "don't draw edges", 0, AV_OPT_TYPE_CONST, {.dbl =
CODEC_FLAG_EMU_EDGE }, INT_MIN, INT_MAX, 0, "flags"},
-{"psnr", "error[?] variables will be set during encoding", 0,
AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_PSNR }, INT_MIN, INT_MAX, V|E, "flags"},
-{"truncated", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_TRUNCATED },
INT_MIN, INT_MAX, 0, "flags"},
-{"naq", "normalize adaptive quantization", 0, AV_OPT_TYPE_CONST, {.dbl =
CODEC_FLAG_NORMALIZE_AQP }, INT_MIN, INT_MAX, V|E, "flags"},
-{"ildct", "use interlaced dct", 0, AV_OPT_TYPE_CONST, {.dbl =
CODEC_FLAG_INTERLACED_DCT }, INT_MIN, INT_MAX, V|E, "flags"},
-{"low_delay", "force low delay", 0, AV_OPT_TYPE_CONST, {.dbl =
CODEC_FLAG_LOW_DELAY }, INT_MIN, INT_MAX, V|D|E, "flags"},
-{"global_header", "place global headers in extradata instead of every
keyframe", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_GLOBAL_HEADER }, INT_MIN,
INT_MAX, V|A|E, "flags"},
-{"bitexact", "use only bitexact stuff (except (i)dct)", 0, AV_OPT_TYPE_CONST,
{.dbl = CODEC_FLAG_BITEXACT }, INT_MIN, INT_MAX, A|V|S|D|E, "flags"},
-{"aic", "h263 advanced intra coding / mpeg4 ac prediction", 0,
AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_AC_PRED }, INT_MIN, INT_MAX, V|E,
"flags"},
-{"cbp", "use rate distortion optimization for cbp", 0, AV_OPT_TYPE_CONST,
{.dbl = CODEC_FLAG_CBP_RD }, INT_MIN, INT_MAX, V|E, "flags"},
-{"qprd", "use rate distortion optimization for qp selection", 0,
AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_QP_RD }, INT_MIN, INT_MAX, V|E, "flags"},
-{"ilme", "interlaced motion estimation", 0, AV_OPT_TYPE_CONST, {.dbl =
CODEC_FLAG_INTERLACED_ME }, INT_MIN, INT_MAX, V|E, "flags"},
-{"cgop", "closed gop", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG_CLOSED_GOP },
INT_MIN, INT_MAX, V|E, "flags"},
-{"fast", "allow non spec compliant speedup tricks", 0, AV_OPT_TYPE_CONST,
{.dbl = CODEC_FLAG2_FAST }, INT_MIN, INT_MAX, V|E, "flags2"},
-{"sgop", "strictly enforce gop size", 0, AV_OPT_TYPE_CONST, {.dbl =
CODEC_FLAG2_STRICT_GOP }, INT_MIN, INT_MAX, V|E, "flags2"},
-{"noout", "skip bitstream encoding", 0, AV_OPT_TYPE_CONST, {.dbl =
CODEC_FLAG2_NO_OUTPUT }, INT_MIN, INT_MAX, V|E, "flags2"},
-{"local_header", "place global headers at every keyframe instead of in
extradata", 0, AV_OPT_TYPE_CONST, {.dbl = CODEC_FLAG2_LOCAL_HEADER }, INT_MIN,
INT_MAX, V|E, "flags2"},
+
+{"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"},
+{"qpel", "use 1/4 pel motion compensation",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_QPEL}, 0, 0, V|E, "flags"},
+{"loop", "use loop filter",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_LOOP_FILTER}, 0, 0, V|E, "flags"},
+{"qscale", "use fixed qscale",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_QSCALE}, 0, 0, 0, "flags"},
+{"gmc", "use gmc",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_GMC}, 0, 0, V|E, "flags"},
+{"mv0", "always try a mb with mv=<0,0>",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_MV0}, 0, 0, V|E, "flags"},
+{"input_preserved", NULL,
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_INPUT_PRESERVED}, 0, 0, 0, "flags"},
+{"pass1", "use internal 2pass ratecontrol in first pass mode",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_PASS1}, 0, 0, 0, "flags"},
+{"pass2", "use internal 2pass ratecontrol in second pass mode",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_PASS2}, 0, 0, 0, "flags"},
+{"gray", "only decode/encode grayscale",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_GRAY}, 0, 0, V|E|D,
"flags"},
+{"emu_edge", "don't draw edges",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_EMU_EDGE}, 0, 0, 0, "flags"},
+{"psnr", "error[?] variables will be set during encoding",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_PSNR}, 0, 0, V|E, "flags"},
+{"truncated", NULL,
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_TRUNCATED}, 0, 0, 0, "flags"},
+{"naq", "normalize adaptive quantization",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_NORMALIZE_AQP}, 0, 0, V|E, "flags"},
+{"ildct", "use interlaced dct",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_INTERLACED_DCT}, 0, 0, V|E, "flags"},
+{"low_delay", "force low delay",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_LOW_DELAY}, 0, 0, V|D|E,
"flags"},
+{"global_header", "place global headers in extradata instead of every
keyframe", 0, AV_OPT_TYPE_CONST, {CODEC_FLAG_GLOBAL_HEADER}, 0, 0, V|A|E,
"flags"},
+{"bitexact", "use only bitexact stuff (except (i)dct)",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_BITEXACT}, 0, 0, A|V|S|D|E,
"flags"},
+{"aic", "h263 advanced intra coding / mpeg4 ac prediction",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_AC_PRED}, 0, 0, V|E, "flags"},
+{"cbp", "use rate distortion optimization for cbp",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_CBP_RD}, 0, 0, V|E, "flags"},
+{"qprd", "use rate distortion optimization for qp selection",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_QP_RD}, 0, 0, V|E, "flags"},
+{"ilme", "interlaced motion estimation",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_INTERLACED_ME}, 0, 0, V|E, "flags"},
+{"cgop", "closed gop",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG_CLOSED_GOP}, 0, 0, V|E, "flags"},
+
+{"flags2", NULL, OFFSET(flags2), AV_OPT_TYPE_FLAGS, {.dbl = DEFAULT}, 0,
UINT_MAX, V|A|E|D, "flags2"},
+{"fast", "allow non spec compliant speedup tricks",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG2_FAST}, 0, 0, V|E, "flags2"},
+{"sgop", "strictly enforce gop size",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG2_STRICT_GOP}, 0, 0, V|E, "flags2"},
+{"noout", "skip bitstream encoding",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG2_NO_OUTPUT}, 0, 0, V|E, "flags2"},
+{"local_header", "place global headers at every keyframe instead of in
extradata", 0, AV_OPT_TYPE_CONST, {CODEC_FLAG2_LOCAL_HEADER}, 0, 0, V|E,
"flags2"},
+{"skiprd", "RD optimal MB level residual skipping",
0, AV_OPT_TYPE_CONST, {CODEC_FLAG2_SKIP_RD}, 0, 0, V|E, "flags2"},
+
{"sub_id", NULL, OFFSET(sub_id), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN,
INT_MAX},
{"me_method", "set motion estimation method", OFFSET(me_method),
AV_OPT_TYPE_INT, {.dbl = ME_EPZS }, INT_MIN, INT_MAX, V|E, "me_method"},
{"zero", "zero motion estimation (fastest)", 0, AV_OPT_TYPE_CONST, {.dbl =
ME_ZERO }, INT_MIN, INT_MAX, V|E, "me_method" },
@@ -315,7 +320,6 @@ static const AVOption options[]={
{"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},
-{"flags2", NULL, OFFSET(flags2), AV_OPT_TYPE_FLAGS, {.dbl = DEFAULT}, 0,
UINT_MAX, V|A|E|D, "flags2"},
{"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"},
@@ -363,7 +367,6 @@ static const AVOption options[]={
{"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},
-{"skiprd", "RD optimal MB level residual skipping", 0, AV_OPT_TYPE_CONST,
{.dbl = CODEC_FLAG2_SKIP_RD }, INT_MIN, INT_MAX, V|E, "flags2"},
{"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},
--
1.7.7.3
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel