summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-09-18 23:20:09 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-09-18 23:20:09 +0000
commita33c90828ea8b6f59ed3c7396088a7bc0bc9ff6a (patch)
tree51565892246fef126765c01f090f46290d03dc08 /libmpcodecs
parent926e76298eee97a20372cbe07cf84be2c14b2fa3 (diff)
downloadmpv-a33c90828ea8b6f59ed3c7396088a7bc0bc9ff6a.tar.bz2
mpv-a33c90828ea8b6f59ed3c7396088a7bc0bc9ff6a.tar.xz
support generating divx2pass.log on 2nd pass patch by (Loren Merritt <lorenm at u dot washington dot edu>)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13386 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/ve_lavc.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c
index d089bf1a8b..86dd0dc774 100644
--- a/libmpcodecs/ve_lavc.c
+++ b/libmpcodecs/ve_lavc.c
@@ -185,7 +185,7 @@ m_option_t lavcopts_conf[]={
{"vqblur", &lavc_param_vqblur, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 1.0, NULL},
{"vb_qfactor", &lavc_param_vb_qfactor, CONF_TYPE_FLOAT, CONF_RANGE, -31.0, 31.0, NULL},
{"vmax_b_frames", &lavc_param_vmax_b_frames, CONF_TYPE_INT, CONF_RANGE, 0, FF_MAX_B_FRAMES, NULL},
- {"vpass", &lavc_param_vpass, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL},
+ {"vpass", &lavc_param_vpass, CONF_TYPE_INT, CONF_RANGE, 0, 3, NULL},
{"vrc_strategy", &lavc_param_vrc_strategy, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL},
{"vb_strategy", &lavc_param_vb_strategy, CONF_TYPE_INT, CONF_RANGE, 0, 10, NULL},
{"vb_qoffset", &lavc_param_vb_qoffset, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 31.0, NULL},
@@ -635,15 +635,8 @@ static int config(struct vf_instance_s* vf,
if(!stats_file) {
/* lavc internal 2pass bitrate control */
switch(lavc_param_vpass){
- case 1:
- lavc_venc_context->flags|= CODEC_FLAG_PASS1;
- stats_file= fopen(passtmpfile, "wb");
- if(stats_file==NULL){
- mp_msg(MSGT_MENCODER,MSGL_ERR,"2pass failed: filename=%s\n", passtmpfile);
- return 0;
- }
- break;
case 2:
+ case 3:
lavc_venc_context->flags|= CODEC_FLAG_PASS2;
stats_file= fopen(passtmpfile, "rb");
if(stats_file==NULL){
@@ -661,6 +654,18 @@ static int config(struct vf_instance_s* vf,
mp_msg(MSGT_MENCODER,MSGL_ERR,"2pass failed: reading from filename=%s\n", passtmpfile);
return 0;
}
+ if(lavc_param_vpass == 2)
+ break;
+ else
+ fclose(stats_file);
+ /* fall through */
+ case 1:
+ lavc_venc_context->flags|= CODEC_FLAG_PASS1;
+ stats_file= fopen(passtmpfile, "wb");
+ if(stats_file==NULL){
+ mp_msg(MSGT_MENCODER,MSGL_ERR,"2pass failed: filename=%s\n", passtmpfile);
+ return 0;
+ }
break;
}
}