---
 libavcodec/options.c |   93 ++++++++++++++++++++++++++------------------------
 1 files changed, 48 insertions(+), 45 deletions(-)

diff --git a/libavcodec/options.c b/libavcodec/options.c
index 194a334..bf27fef 100644
--- a/libavcodec/options.c
+++ b/libavcodec/options.c
@@ -130,6 +130,30 @@ static const AVOption options[]={
 {"plane",  NULL, 0, AV_OPT_TYPE_CONST, {FF_PRED_PLANE},  0, 0, V|E, "pred"},
 {"median", NULL, 0, AV_OPT_TYPE_CONST, {FF_PRED_MEDIAN}, 0, 0, V|E, "pred"},
 
+{"cmp",      "full pel me compare function",           OFFSET(me_cmp),         
AV_OPT_TYPE_INT, {DEFAULT},       INT_MIN, INT_MAX, V|E, "cmp_func"},
+{"subcmp",   "sub pel me compare function",            OFFSET(me_sub_cmp),     
AV_OPT_TYPE_INT, {DEFAULT},       INT_MIN, INT_MAX, V|E, "cmp_func"},
+{"mbcmp",    "macroblock compare function",            OFFSET(mb_cmp),         
AV_OPT_TYPE_INT, {DEFAULT},       INT_MIN, INT_MAX, V|E, "cmp_func"},
+{"ildctcmp", "interlaced dct compare function",        OFFSET(ildct_cmp),      
AV_OPT_TYPE_INT, {FF_CMP_VSAD},   INT_MIN, INT_MAX, V|E, "cmp_func"},
+{"precmp",   "pre motion estimation compare function", OFFSET(me_pre_cmp),     
AV_OPT_TYPE_INT, {DEFAULT},       INT_MIN, INT_MAX, V|E, "cmp_func"},
+{"skipcmp",  "frame skip compare function",            OFFSET(frame_skip_cmp), 
AV_OPT_TYPE_INT, {FF_CMP_DCTMAX}, INT_MIN, INT_MAX, V|E, "cmp_func"},
+{"sad",    "sum of absolute differences, fast (default)",             0, 
AV_OPT_TYPE_CONST, {FF_CMP_SAD},    0, 0, V|E, "cmp_func"},
+{"sse",    "sum of squared errors",                                   0, 
AV_OPT_TYPE_CONST, {FF_CMP_SSE},    0, 0, V|E, "cmp_func"},
+{"satd",   "sum of absolute Hadamard transformed differences",        0, 
AV_OPT_TYPE_CONST, {FF_CMP_SATD},   0, 0, V|E, "cmp_func"},
+{"dct",    "sum of absolute DCT transformed differences",             0, 
AV_OPT_TYPE_CONST, {FF_CMP_DCT},    0, 0, V|E, "cmp_func"},
+{"psnr",   "sum of squared quantization errors (avoid, low quality)", 0, 
AV_OPT_TYPE_CONST, {FF_CMP_PSNR},   0, 0, V|E, "cmp_func"},
+{"bit",    "number of bits needed for the block",                     0, 
AV_OPT_TYPE_CONST, {FF_CMP_BIT},    0, 0, V|E, "cmp_func"},
+{"rd",     "rate distortion optimal, slow",                           0, 
AV_OPT_TYPE_CONST, {FF_CMP_RD},     0, 0, V|E, "cmp_func"},
+{"zero",   "0",                                                       0, 
AV_OPT_TYPE_CONST, {FF_CMP_ZERO},   0, 0, V|E, "cmp_func"},
+{"vsad",   "sum of absolute vertical differences",                    0, 
AV_OPT_TYPE_CONST, {FF_CMP_VSAD},   0, 0, V|E, "cmp_func"},
+{"vsse",   "sum of squared vertical differences",                     0, 
AV_OPT_TYPE_CONST, {FF_CMP_VSSE},   0, 0, V|E, "cmp_func"},
+{"nsse",   "noise preserving sum of squared differences",             0, 
AV_OPT_TYPE_CONST, {FF_CMP_NSSE},   0, 0, V|E, "cmp_func"},
+#if CONFIG_SNOW_ENCODER
+{"w53",    "5/3 wavelet, only used in snow",                          0, 
AV_OPT_TYPE_CONST, {FF_CMP_W53},    0, 0, V|E, "cmp_func"},
+{"w97",    "9/7 wavelet, only used in snow",                          0, 
AV_OPT_TYPE_CONST, {FF_CMP_W97},    0, 0, V|E, "cmp_func"},
+#endif
+{"dctmax", NULL,                                                      0, 
AV_OPT_TYPE_CONST, {FF_CMP_DCTMAX}, 0, 0, V|E, "cmp_func"},
+{"chroma", NULL,                                                      0, 
AV_OPT_TYPE_CONST, {FF_CMP_CHROMA}, 0, 0, V|E, "cmp_func"},
+
 {"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"},
@@ -148,6 +172,30 @@ static const AVOption options[]={
 {"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"},
 
+{"debug", "print specific debug info", OFFSET(debug), AV_OPT_TYPE_FLAGS, {.dbl 
= DEFAULT }, 0, INT_MAX, V|A|S|E|D, "debug"},
+{"pict",        "picture info",                                                
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_PICT_INFO},   0, 0, V|D, "debug"},
+{"rc",          "rate control",                                                
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_RC},          0, 0, V|E, "debug"},
+{"bitstream",   NULL,                                                          
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_BITSTREAM},   0, 0, V|D, "debug"},
+{"mb_type",     "macroblock (MB) type",                                        
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_MB_TYPE},     0, 0, V|D, "debug"},
+{"qp",          "per-block quantization parameter (QP)",                       
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_QP},          0, 0, V|D, "debug"},
+{"mv",          "motion vector",                                               
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_MV},          0, 0, V|D, "debug"},
+{"dct_coeff",   NULL,                                                          
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_DCT_COEFF},   0, 0, V|D, "debug"},
+{"skip",        NULL,                                                          
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_SKIP},        0, 0, V|D, "debug"},
+{"startcode",   NULL,                                                          
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_STARTCODE},   0, 0, V|D, "debug"},
+{"pts",         NULL,                                                          
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_PTS},         0, 0, V|D, "debug"},
+{"er",          "error recognition",                                           
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_ER},          0, 0, V|D, "debug"},
+{"mmco",        "memory management control operations (H.264)",                
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_MMCO},        0, 0, V|D, "debug"},
+{"bugs",        NULL,                                                          
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_BUGS},        0, 0, V|D, "debug"},
+{"vis_qp",      "visualize quantization parameter (QP), lower QP are tinted 
greener", 0, AV_OPT_TYPE_CONST, {FF_DEBUG_VIS_QP},      0, 0, V|D, "debug"},
+{"vis_mb_type", "visualize block types",                                       
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_VIS_MB_TYPE}, 0, 0, V|D, "debug"},
+{"buffers",     "picture buffer allocations",                                  
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_BUFFERS},     0, 0, V|D, "debug"},
+{"thread_ops",  "threading operations",                                        
       0, AV_OPT_TYPE_CONST, {FF_DEBUG_THREADS},     0, 0, V|D, "debug"},
+
+{"vismv", "visualize motion vectors (MVs)", OFFSET(debug_mv), AV_OPT_TYPE_INT, 
{.dbl = DEFAULT }, 0, INT_MAX, V|D, "debug_mv"},
+{"pf", "forward predicted MVs of P-frames",  0, AV_OPT_TYPE_CONST, 
{FF_DEBUG_VIS_MV_P_FOR},  0, 0, V|D, "debug_mv"},
+{"bf", "forward predicted MVs of B-frames",  0, AV_OPT_TYPE_CONST, 
{FF_DEBUG_VIS_MV_B_FOR},  0, 0, V|D, "debug_mv"},
+{"bb", "backward predicted MVs of B-frames", 0, AV_OPT_TYPE_CONST, 
{FF_DEBUG_VIS_MV_B_BACK}, 0, 0, V|D, "debug_mv"},
+
 {"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"},
 {"very",         "strictly conform to a older more strict version of the spec 
or reference software", 0, AV_OPT_TYPE_CONST, {FF_COMPLIANCE_VERY_STRICT},  0, 
0, V|D|E, "strict"},
 {"strict",       "strictly conform to all the things in the spec no matter 
what consequences",        0, AV_OPT_TYPE_CONST, {FF_COMPLIANCE_STRICT},       
0, 0, V|D|E, "strict"},
@@ -253,53 +301,9 @@ static const AVOption options[]={
 {"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},
-{"debug", "print specific debug info", OFFSET(debug), AV_OPT_TYPE_FLAGS, {.dbl 
= DEFAULT }, 0, INT_MAX, V|A|S|E|D, "debug"},
-{"pict", "picture info", 0, AV_OPT_TYPE_CONST, {.dbl = FF_DEBUG_PICT_INFO }, 
INT_MIN, INT_MAX, V|D, "debug"},
-{"rc", "rate control", 0, AV_OPT_TYPE_CONST, {.dbl = FF_DEBUG_RC }, INT_MIN, 
INT_MAX, V|E, "debug"},
-{"bitstream", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_DEBUG_BITSTREAM }, 
INT_MIN, INT_MAX, V|D, "debug"},
-{"mb_type", "macroblock (MB) type", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_DEBUG_MB_TYPE }, INT_MIN, INT_MAX, V|D, "debug"},
-{"qp", "per-block quantization parameter (QP)", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_DEBUG_QP }, INT_MIN, INT_MAX, V|D, "debug"},
-{"mv", "motion vector", 0, AV_OPT_TYPE_CONST, {.dbl = FF_DEBUG_MV }, INT_MIN, 
INT_MAX, V|D, "debug"},
-{"dct_coeff", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_DEBUG_DCT_COEFF }, 
INT_MIN, INT_MAX, V|D, "debug"},
-{"skip", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_DEBUG_SKIP }, INT_MIN, 
INT_MAX, V|D, "debug"},
-{"startcode", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_DEBUG_STARTCODE }, 
INT_MIN, INT_MAX, V|D, "debug"},
-{"pts", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_DEBUG_PTS }, INT_MIN, INT_MAX, 
V|D, "debug"},
-{"er", "error recognition", 0, AV_OPT_TYPE_CONST, {.dbl = FF_DEBUG_ER }, 
INT_MIN, INT_MAX, V|D, "debug"},
-{"mmco", "memory management control operations (H.264)", 0, AV_OPT_TYPE_CONST, 
{.dbl = FF_DEBUG_MMCO }, INT_MIN, INT_MAX, V|D, "debug"},
-{"bugs", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_DEBUG_BUGS }, INT_MIN, 
INT_MAX, V|D, "debug"},
-{"vis_qp", "visualize quantization parameter (QP), lower QP are tinted 
greener", 0, AV_OPT_TYPE_CONST, {.dbl = FF_DEBUG_VIS_QP }, INT_MIN, INT_MAX, 
V|D, "debug"},
-{"vis_mb_type", "visualize block types", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_DEBUG_VIS_MB_TYPE }, INT_MIN, INT_MAX, V|D, "debug"},
-{"buffers", "picture buffer allocations", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_DEBUG_BUFFERS }, INT_MIN, INT_MAX, V|D, "debug"},
-{"thread_ops", "threading operations", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_DEBUG_THREADS }, INT_MIN, INT_MAX, V|D, "debug"},
-{"vismv", "visualize motion vectors (MVs)", OFFSET(debug_mv), AV_OPT_TYPE_INT, 
{.dbl = DEFAULT }, 0, INT_MAX, V|D, "debug_mv"},
-{"pf", "forward predicted MVs of P-frames", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_DEBUG_VIS_MV_P_FOR }, INT_MIN, INT_MAX, V|D, "debug_mv"},
-{"bf", "forward predicted MVs of B-frames", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_DEBUG_VIS_MV_B_FOR }, INT_MIN, INT_MAX, V|D, "debug_mv"},
-{"bb", "backward predicted MVs of B-frames", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_DEBUG_VIS_MV_B_BACK }, INT_MIN, INT_MAX, V|D, "debug_mv"},
-{"cmp", "full pel me compare function", OFFSET(me_cmp), AV_OPT_TYPE_INT, {.dbl 
= DEFAULT }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"subcmp", "sub pel me compare function", OFFSET(me_sub_cmp), AV_OPT_TYPE_INT, 
{.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"mbcmp", "macroblock compare function", OFFSET(mb_cmp), AV_OPT_TYPE_INT, 
{.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"ildctcmp", "interlaced dct compare function", OFFSET(ildct_cmp), 
AV_OPT_TYPE_INT, {.dbl = FF_CMP_VSAD }, INT_MIN, INT_MAX, V|E, "cmp_func"},
 {"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},
-{"precmp", "pre motion estimation compare function", OFFSET(me_pre_cmp), 
AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"sad", "sum of absolute differences, fast (default)", 0, AV_OPT_TYPE_CONST, 
{.dbl = FF_CMP_SAD }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"sse", "sum of squared errors", 0, AV_OPT_TYPE_CONST, {.dbl = FF_CMP_SSE }, 
INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"satd", "sum of absolute Hadamard transformed differences", 0, 
AV_OPT_TYPE_CONST, {.dbl = FF_CMP_SATD }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"dct", "sum of absolute DCT transformed differences", 0, AV_OPT_TYPE_CONST, 
{.dbl = FF_CMP_DCT }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"psnr", "sum of squared quantization errors (avoid, low quality)", 0, 
AV_OPT_TYPE_CONST, {.dbl = FF_CMP_PSNR }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"bit", "number of bits needed for the block", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_CMP_BIT }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"rd", "rate distortion optimal, slow", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_CMP_RD }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"zero", "0", 0, AV_OPT_TYPE_CONST, {.dbl = FF_CMP_ZERO }, INT_MIN, INT_MAX, 
V|E, "cmp_func"},
-{"vsad", "sum of absolute vertical differences", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_CMP_VSAD }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"vsse", "sum of squared vertical differences", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_CMP_VSSE }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"nsse", "noise preserving sum of squared differences", 0, AV_OPT_TYPE_CONST, 
{.dbl = FF_CMP_NSSE }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-#if CONFIG_SNOW_ENCODER
-{"w53", "5/3 wavelet, only used in snow", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_CMP_W53 }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-{"w97", "9/7 wavelet, only used in snow", 0, AV_OPT_TYPE_CONST, {.dbl = 
FF_CMP_W97 }, INT_MIN, INT_MAX, V|E, "cmp_func"},
-#endif
-{"dctmax", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_CMP_DCTMAX }, INT_MIN, 
INT_MAX, V|E, "cmp_func"},
-{"chroma", NULL, 0, AV_OPT_TYPE_CONST, {.dbl = FF_CMP_CHROMA }, INT_MIN, 
INT_MAX, V|E, "cmp_func"},
 {"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},
@@ -355,7 +359,6 @@ static const AVOption options[]={
 {"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},
-{"skipcmp", "frame skip compare function", OFFSET(frame_skip_cmp), 
AV_OPT_TYPE_INT, {.dbl = FF_CMP_DCTMAX }, INT_MIN, INT_MAX, V|E, "cmp_func"},
 {"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},
-- 
1.7.7.3

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to