summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-29 16:27:21 +0000
committerrfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-29 16:27:21 +0000
commit4c4a168a0140156f02354efc4befd0b833b20f9f (patch)
tree9e2d18393cfea52ca806936e5a316545505035b0
parent667973e1016ab7dc063381faf294b7b93d961e09 (diff)
downloadmpv-4c4a168a0140156f02354efc4befd0b833b20f9f.tar.bz2
mpv-4c4a168a0140156f02354efc4befd0b833b20f9f.tar.xz
added constant-qscale encoding support with lavc, fixed slightly incorrect definition for the vme lavc option
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4409 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--cfg-mencoder.h3
-rw-r--r--mencoder.c11
2 files changed, 9 insertions, 5 deletions
diff --git a/cfg-mencoder.h b/cfg-mencoder.h
index 802f22e901..7340fba96d 100644
--- a/cfg-mencoder.h
+++ b/cfg-mencoder.h
@@ -53,7 +53,8 @@ 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},
+ {"vme", &lavc_param_vme, CONF_TYPE_INT, CONF_RANGE, 0, 3, NULL},
+ {"vqscale", &lavc_param_vqscale, CONF_TYPE_INT, CONF_RANGE, 1, 31, 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 a5638250db..1313a61692 100644
--- a/mencoder.c
+++ b/mencoder.c
@@ -72,6 +72,7 @@ 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_vqscale = 0;
int lavc_param_keyint = -1;
#endif
@@ -988,11 +989,13 @@ case VCODEC_LIBAVCODEC:
encoder context - FIXME */
motion_estimation_method = lavc_param_vme;
-#if 0
/* fixed qscale :p */
- lavc_venc_context.flags |= CODEC_FLAG_QSCALE;
- lavc_venc_context.quality = 1;
-#endif
+ if (lavc_param_vqscale)
+ {
+ printf("Using constant qscale = %d (VBR)\n", lavc_param_vqscale);
+ lavc_venc_context.flags |= CODEC_FLAG_QSCALE;
+ lavc_venc_context.quality = lavc_param_vqscale;
+ }
if (avcodec_open(&lavc_venc_context, lavc_venc_codec) != 0)
{