# HG changeset patch # User michael # Date 1016384944 0 # Node ID f99487594e08bf0bde4483db30132b717fabd987 # Parent 51fcb1e5c96e01dc1502ea6c9190206ccf9444e9 supporting ffmpegs "hopefully better bitrate control" diff -r 51fcb1e5c96e -r f99487594e08 cfg-mencoder.h --- a/cfg-mencoder.h Sun Mar 17 16:08:39 2002 +0000 +++ b/cfg-mencoder.h Sun Mar 17 17:09:04 2002 +0000 @@ -52,9 +52,15 @@ 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}, + {"vratetol", &lavc_param_vrate_tolerance, 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_INT, CONF_RANGE, 0, 3, NULL}, {"vqscale", &lavc_param_vqscale, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, + {"vqmin", &lavc_param_vqmin, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, + {"vqmax", &lavc_param_vqmax, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, + {"vqdiff", &lavc_param_vqdiff, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, + {"vqcomp", &lavc_param_vqcompress, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 1.0, NULL}, + {"vqblur", &lavc_param_vqblur, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 1.0, NULL}, {"keyint", &lavc_param_keyint, CONF_TYPE_INT, 0, 0, 0, NULL}, {NULL, NULL, 0, 0, 0, 0, NULL} }; diff -r 51fcb1e5c96e -r f99487594e08 mencoder.c --- a/mencoder.c Sun Mar 17 16:08:39 2002 +0000 +++ b/mencoder.c Sun Mar 17 17:09:04 2002 +0000 @@ -74,9 +74,15 @@ /* video options */ char *lavc_param_vcodec = NULL; int lavc_param_vbitrate = -1; +int lavc_param_vrate_tolerance = 1024*1024*8; int lavc_param_vhq = 0; /* default is realtime encoding */ int lavc_param_vme = 3; int lavc_param_vqscale = 0; +int lavc_param_vqmin = 3; +int lavc_param_vqmax = 15; +int lavc_param_vqdiff = 3; +float lavc_param_vqcompress = 0.5; +float lavc_param_vqblur = 0.5; int lavc_param_keyint = -1; #endif @@ -1086,7 +1092,13 @@ lavc_venc_context.bit_rate = lavc_param_vbitrate; else lavc_venc_context.bit_rate = 800000; /* default */ + lavc_venc_context.bit_rate_tolerance= lavc_param_vrate_tolerance; lavc_venc_context.frame_rate = (float)(force_ofps?force_ofps:sh_video->fps) * FRAME_RATE_BASE; + lavc_venc_context.qmin= lavc_param_vqmin; + lavc_venc_context.qmax= lavc_param_vqmax; + lavc_venc_context.max_qdiff= lavc_param_vqdiff; + lavc_venc_context.qcompress= lavc_param_vqcompress; + lavc_venc_context.qblur= lavc_param_vqblur; /* keyframe interval */ if (lavc_param_keyint >= 0) /* != -1 */ lavc_venc_context.gop_size = lavc_param_keyint;