diff --git a/cfg-mencoder.h b/cfg-mencoder.h index b0fad6ade6..891da64a88 100644 --- a/cfg-mencoder.h +++ b/cfg-mencoder.h @@ -51,6 +51,7 @@ struct config lavcopts_conf[]={ {"vcodec", &lavc_param_vcodec, CONF_TYPE_STRING, 0, 0, 0, NULL}, {"vbitrate", &lavc_param_vbitrate, CONF_TYPE_INT, CONF_RANGE, 4, 24000000, NULL}, {"vhq", &lavc_param_vhq, CONF_TYPE_FLAG, 0, 0, 1, NULL}, + {"vme", &lavc_param_vme, CONF_TYPE_FLAG, CONF_RANGE, 0, 3, NULL}, {"keyint", &lavc_param_keyint, CONF_TYPE_INT, 0, 0, 0, NULL}, {NULL, NULL, 0, 0, 0, 0, NULL} }; diff --git a/mencoder.c b/mencoder.c index c989af5f4e..508143cf01 100644 --- a/mencoder.c +++ b/mencoder.c @@ -67,6 +67,7 @@ extern int avcodec_inited; char *lavc_param_vcodec = NULL; int lavc_param_vbitrate = -1; int lavc_param_vhq = 0; /* default is realtime encoding */ +int lavc_param_vme = 3; int lavc_param_keyint = -1; #endif @@ -905,6 +906,11 @@ case VCODEC_LIBAVCODEC: else lavc_venc_context.flags = 0; + /* motion estimation (0 = none ... 3 = high quality but slow) */ + /* this is just an extern from libavcodec but it should be in the + encoder context - FIXME */ + motion_estimation_method = lavc_param_vme; + #if 0 /* fixed qscale :p */ lavc_venc_context.flags |= CODEC_FLAG_QSCALE;