changeset 5166:f99487594e08

supporting ffmpegs "hopefully better bitrate control"
author michael
date Sun, 17 Mar 2002 17:09:04 +0000
parents 51fcb1e5c96e
children 5ad4891530b5
files cfg-mencoder.h mencoder.c
diffstat 2 files changed, 18 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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}
 };
--- 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;