---
libavcodec/options.c | 62 +++++++++++++++++++++++++------------------------
1 files changed, 32 insertions(+), 30 deletions(-)
diff --git a/libavcodec/options.c b/libavcodec/options.c
index 83a6b4f..05e8fe8 100644
--- a/libavcodec/options.c
+++ b/libavcodec/options.c
@@ -77,6 +77,7 @@ 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},
+{"sub_id", NULL, OFFSET(sub_id), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN,
INT_MAX},
{"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"},
@@ -110,20 +111,38 @@ static const AVOption options[]={
{"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" },
-{"full", "full motion estimation (slowest)", 0, AV_OPT_TYPE_CONST, {.dbl =
ME_FULL }, INT_MIN, INT_MAX, V|E, "me_method" },
-{"epzs", "EPZS motion estimation (default)", 0, AV_OPT_TYPE_CONST, {.dbl =
ME_EPZS }, INT_MIN, INT_MAX, V|E, "me_method" },
-{"esa", "esa motion estimation (alias for full)", 0, AV_OPT_TYPE_CONST, {.dbl
= ME_FULL }, INT_MIN, INT_MAX, V|E, "me_method" },
-{"tesa", "tesa motion estimation", 0, AV_OPT_TYPE_CONST, {.dbl = ME_TESA },
INT_MIN, INT_MAX, V|E, "me_method" },
-{"dia", "dia motion estimation (alias for epzs)", 0, AV_OPT_TYPE_CONST, {.dbl
= ME_EPZS }, INT_MIN, INT_MAX, V|E, "me_method" },
-{"log", "log motion estimation", 0, AV_OPT_TYPE_CONST, {.dbl = ME_LOG },
INT_MIN, INT_MAX, V|E, "me_method" },
-{"phods", "phods motion estimation", 0, AV_OPT_TYPE_CONST, {.dbl = ME_PHODS },
INT_MIN, INT_MAX, V|E, "me_method" },
-{"x1", "X1 motion estimation", 0, AV_OPT_TYPE_CONST, {.dbl = ME_X1 }, INT_MIN,
INT_MAX, V|E, "me_method" },
-{"hex", "hex motion estimation", 0, AV_OPT_TYPE_CONST, {.dbl = ME_HEX },
INT_MIN, INT_MAX, V|E, "me_method" },
-{"umh", "umh motion estimation", 0, AV_OPT_TYPE_CONST, {.dbl = ME_UMH },
INT_MIN, INT_MAX, V|E, "me_method" },
-{"iter", "iter motion estimation", 0, AV_OPT_TYPE_CONST, {.dbl = ME_ITER },
INT_MIN, INT_MAX, V|E, "me_method" },
+{"zero", "zero motion estimation (fastest)", 0, AV_OPT_TYPE_CONST,
{ME_ZERO}, 0, 0, V|E, "me_method" },
+{"full", "full motion estimation (slowest)", 0, AV_OPT_TYPE_CONST,
{ME_FULL}, 0, 0, V|E, "me_method" },
+{"epzs", "EPZS motion estimation (default)", 0, AV_OPT_TYPE_CONST,
{ME_EPZS}, 0, 0, V|E, "me_method" },
+{"esa", "esa motion estimation (alias for full)", 0, AV_OPT_TYPE_CONST,
{ME_FULL}, 0, 0, V|E, "me_method" },
+{"tesa", "tesa motion estimation", 0, AV_OPT_TYPE_CONST,
{ME_TESA}, 0, 0, V|E, "me_method" },
+{"dia", "dia motion estimation (alias for epzs)", 0, AV_OPT_TYPE_CONST,
{ME_EPZS}, 0, 0, V|E, "me_method" },
+{"log", "log motion estimation", 0, AV_OPT_TYPE_CONST,
{ME_LOG}, 0, 0, V|E, "me_method" },
+{"phods", "phods motion estimation", 0, AV_OPT_TYPE_CONST,
{ME_PHODS}, 0, 0, V|E, "me_method" },
+{"x1", "X1 motion estimation", 0, AV_OPT_TYPE_CONST,
{ME_X1}, 0, 0, V|E, "me_method" },
+{"hex", "hex motion estimation", 0, AV_OPT_TYPE_CONST,
{ME_HEX}, 0, 0, V|E, "me_method" },
+{"umh", "umh motion estimation", 0, AV_OPT_TYPE_CONST,
{ME_UMH}, 0, 0, V|E, "me_method" },
+{"iter", "iter motion estimation", 0, AV_OPT_TYPE_CONST,
{ME_ITER}, 0, 0, V|E, "me_method" },
+
+{"bug", "workaround not auto detected encoder bugs", OFFSET(workaround_bugs),
AV_OPT_TYPE_FLAGS, {.dbl = FF_BUG_AUTODETECT }, INT_MIN, INT_MAX, V|D, "bug"},
+{"autodetect", NULL,
0, AV_OPT_TYPE_CONST, {FF_BUG_AUTODETECT}, 0, 0, V|D, "bug"},
+{"old_msmpeg4", "some old lavc generated msmpeg4v3 files (no
autodetection)", 0, AV_OPT_TYPE_CONST, {FF_BUG_OLD_MSMPEG4}, 0, 0, V|D,
"bug"},
+{"xvid_ilace", "Xvid interlacing bug (autodetected if fourcc==XVIX)",
0, AV_OPT_TYPE_CONST, {FF_BUG_XVID_ILACE}, 0, 0, V|D, "bug"},
+{"ump4", "(autodetected if fourcc==UMP4)",
0, AV_OPT_TYPE_CONST, {FF_BUG_UMP4}, 0, 0, V|D, "bug"},
+{"no_padding", "padding bug (autodetected)",
0, AV_OPT_TYPE_CONST, {FF_BUG_NO_PADDING}, 0, 0, V|D, "bug"},
+{"amv", NULL,
0, AV_OPT_TYPE_CONST, {FF_BUG_AMV}, 0, 0, V|D, "bug"},
+{"ac_vlc", "illegal vlc bug (autodetected per fourcc)",
0, AV_OPT_TYPE_CONST, {FF_BUG_AC_VLC}, 0, 0, V|D, "bug"},
+{"std_qpel", "old standard qpel (autodetected per fourcc/version)",
0, AV_OPT_TYPE_CONST, {FF_BUG_STD_QPEL}, 0, 0, V|D, "bug"},
+{"qpel_chroma", NULL,
0, AV_OPT_TYPE_CONST, {FF_BUG_QPEL_CHROMA}, 0, 0, V|D, "bug"},
+{"qpel_chroma2", NULL,
0, AV_OPT_TYPE_CONST, {FF_BUG_QPEL_CHROMA2}, 0, 0, V|D, "bug"},
+{"hpel_chroma", NULL,
0, AV_OPT_TYPE_CONST, {FF_BUG_HPEL_CHROMA}, 0, 0, V|D, "bug"},
+{"dc_clip", NULL,
0, AV_OPT_TYPE_CONST, {FF_BUG_DC_CLIP}, 0, 0, V|D, "bug"},
+{"direct_blocksize", "direct-qpel-blocksize bug (autodetected per
fourcc/version)", 0, AV_OPT_TYPE_CONST, {FF_BUG_DIRECT_BLOCKSIZE}, 0, 0, V|D,
"bug"},
+{"edge", "edge padding bug (autodetected per fourcc/version)",
0, AV_OPT_TYPE_CONST, {FF_BUG_EDGE}, 0, 0, V|D, "bug"},
+{"ms", "workaround various bugs in microsofts broken decoders",
0, AV_OPT_TYPE_CONST, {FF_BUG_MS}, 0, 0, V|D, "bug"},
+{"trunc", "trancated frames",
0, AV_OPT_TYPE_CONST, {FF_BUG_TRUNCATED}, 0, 0, V|D, "bug"},
+
{"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},
@@ -153,23 +172,6 @@ static const AVOption options[]={
{"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},
-{"bug", "workaround not auto detected encoder bugs", OFFSET(workaround_bugs),
AV_OPT_TYPE_FLAGS, {.dbl = FF_BUG_AUTODETECT }, INT_MIN, INT_MAX, V|D, "bug"},
-{"autodetect", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_BUG_AUTODETECT },
INT_MIN, INT_MAX, V|D, "bug"},
-{"old_msmpeg4", "some old lavc generated msmpeg4v3 files (no autodetection)",
0, AV_OPT_TYPE_CONST, {.dbl = FF_BUG_OLD_MSMPEG4 }, INT_MIN, INT_MAX, V|D,
"bug"},
-{"xvid_ilace", "Xvid interlacing bug (autodetected if fourcc==XVIX)", 0,
AV_OPT_TYPE_CONST, {.dbl = FF_BUG_XVID_ILACE }, INT_MIN, INT_MAX, V|D, "bug"},
-{"ump4", "(autodetected if fourcc==UMP4)", 0, AV_OPT_TYPE_CONST, {.dbl =
FF_BUG_UMP4 }, INT_MIN, INT_MAX, V|D, "bug"},
-{"no_padding", "padding bug (autodetected)", 0, AV_OPT_TYPE_CONST, {.dbl =
FF_BUG_NO_PADDING }, INT_MIN, INT_MAX, V|D, "bug"},
-{"amv", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_BUG_AMV }, INT_MIN, INT_MAX,
V|D, "bug"},
-{"ac_vlc", "illegal vlc bug (autodetected per fourcc)", 0, AV_OPT_TYPE_CONST,
{.dbl = FF_BUG_AC_VLC }, INT_MIN, INT_MAX, V|D, "bug"},
-{"qpel_chroma", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_BUG_QPEL_CHROMA },
INT_MIN, INT_MAX, V|D, "bug"},
-{"std_qpel", "old standard qpel (autodetected per fourcc/version)", 0,
AV_OPT_TYPE_CONST, {.dbl = FF_BUG_STD_QPEL }, INT_MIN, INT_MAX, V|D, "bug"},
-{"qpel_chroma2", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_BUG_QPEL_CHROMA2 },
INT_MIN, INT_MAX, V|D, "bug"},
-{"direct_blocksize", "direct-qpel-blocksize bug (autodetected per
fourcc/version)", 0, AV_OPT_TYPE_CONST, {.dbl = FF_BUG_DIRECT_BLOCKSIZE },
INT_MIN, INT_MAX, V|D, "bug"},
-{"edge", "edge padding bug (autodetected per fourcc/version)", 0,
AV_OPT_TYPE_CONST, {.dbl = FF_BUG_EDGE }, INT_MIN, INT_MAX, V|D, "bug"},
-{"hpel_chroma", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_BUG_HPEL_CHROMA },
INT_MIN, INT_MAX, V|D, "bug"},
-{"dc_clip", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_BUG_DC_CLIP }, INT_MIN,
INT_MAX, V|D, "bug"},
-{"ms", "workaround various bugs in microsofts broken decoders", 0,
AV_OPT_TYPE_CONST, {.dbl = FF_BUG_MS }, INT_MIN, INT_MAX, V|D, "bug"},
-{"trunc", "trancated frames", 0, AV_OPT_TYPE_CONST, {.dbl = FF_BUG_TRUNCATED},
INT_MIN, INT_MAX, V|D, "bug"},
{"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},
{"strict", "how strictly to follow the standards",
OFFSET(strict_std_compliance), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN,
INT_MAX, A|V|D|E, "strict"},
--
1.7.7.3
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel