summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorrfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-02 02:44:19 +0000
committerrfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-02 02:44:19 +0000
commit49f52e877d7be2d66a8b1718154399d40162cb01 (patch)
treea3fa56445bc41591f8c05c03521876bf9318a1c3 /libmpcodecs
parent99e9abc246a5b587bc5fa6025f16fc50c9d0831f (diff)
downloadmpv-49f52e877d7be2d66a8b1718154399d40162cb01.tar.bz2
mpv-49f52e877d7be2d66a8b1718154399d40162cb01.tar.xz
removed -pass nonsense from mencoder! it's now a suboption to -divx4opts
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8033 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/ve_divx4.c3
-rw-r--r--libmpcodecs/ve_lavc.c50
2 files changed, 2 insertions, 51 deletions
diff --git a/libmpcodecs/ve_divx4.c b/libmpcodecs/ve_divx4.c
index af7c296ac4..d18713d461 100644
--- a/libmpcodecs/ve_divx4.c
+++ b/libmpcodecs/ve_divx4.c
@@ -42,7 +42,7 @@
#include "xvid_vbr.h"
#endif
-extern int pass;
+static int pass;
extern char* passtmpfile;
extern void mencoder_write_chunk(aviwrite_stream_t *s,int len,unsigned int flags);
@@ -62,6 +62,7 @@ static int vbrdebug = 0;
#include "cfgparser.h"
struct config divx4opts_conf[]={
+ {"pass", &pass, CONF_TYPE_INT, CONF_RANGE,0,2, NULL},
{"br", &divx4_param.bitrate, CONF_TYPE_INT, CONF_RANGE, 4, 24000000, NULL},
{"rc_period", &divx4_param.rc_period, CONF_TYPE_INT, 0,0,0, NULL},
{"rc_reaction_period", &divx4_param.rc_reaction_period, CONF_TYPE_INT, 0,0,0, NULL},
diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c
index ea50094b44..6a532d7458 100644
--- a/libmpcodecs/ve_lavc.c
+++ b/libmpcodecs/ve_lavc.c
@@ -25,7 +25,6 @@
#endif
extern char* passtmpfile;
-extern int pass;
extern void mencoder_write_chunk(aviwrite_stream_t *s,int len,unsigned int flags);
//===========================================================================//
@@ -348,11 +347,7 @@ static int config(struct vf_instance_s* vf,
#endif
/* lavc internal 2pass bitrate control */
-#ifdef HAVE_DIVX4ENCORE
switch(lavc_param_vpass){
-#else
- switch(lavc_param_vpass?lavc_param_vpass:pass){
-#endif
case 1:
lavc_venc_context->flags|= CODEC_FLAG_PASS1;
#if LIBAVCODEC_BUILD >= 4620
@@ -401,28 +396,6 @@ static int config(struct vf_instance_s* vf,
lavc_venc_context->quality = lavc_param_vqscale;
}
-#ifdef HAVE_DIVX4ENCORE
- switch(pass){
- case 1:
- if (VbrControl_init_2pass_vbr_analysis(passtmpfile, 5) == -1){
- mp_msg(MSGT_MENCODER,MSGL_ERR,"2pass failed: filename=%s\n", passtmpfile);
- pass=0;
- }
- break;
- case 2:
- if (VbrControl_init_2pass_vbr_encoding(passtmpfile,
- lavc_venc_context->bit_rate,
- (float)mux_v->h.dwRate/mux_v->h.dwScale,
- 100, /* crispness */
- 5) == -1){
- mp_msg(MSGT_MENCODER,MSGL_ERR,"2pass failed: filename=%s\n", passtmpfile);
- pass=0;
- } else
- lavc_venc_context->flags|=CODEC_FLAG_QSCALE|CODEC_FLAG_TYPE; // VBR
- break;
- }
-#endif
-
if (avcodec_open(lavc_venc_context, vf->priv->codec) != 0) {
mp_msg(MSGT_MENCODER,MSGL_ERR,MSGTR_CantOpenCodec);
return 0;
@@ -468,31 +441,8 @@ static int put_image(struct vf_instance_s* vf, mp_image_t *mpi){
lavc_venc_picture.linesize[1]=mpi->stride[1];
lavc_venc_picture.linesize[2]=mpi->stride[2];
-#ifdef HAVE_DIVX4ENCORE
- if(pass==2){ // handle 2-pass:
- lavc_venc_context->flags|=CODEC_FLAG_QSCALE; // enable VBR
- lavc_venc_context->quality=VbrControl_get_quant();
- lavc_venc_context->key_frame=VbrControl_get_intra();
- lavc_venc_context->gop_size=0x3fffffff;
out_size = avcodec_encode_video(lavc_venc_context, mux_v->buffer, mux_v->buffer_size,
&lavc_venc_picture);
- VbrControl_update_2pass_vbr_encoding(lavc_venc_context->mv_bits,
- lavc_venc_context->i_tex_bits+lavc_venc_context->p_tex_bits,
- 8*out_size);
- } else
-#endif
- {
- out_size = avcodec_encode_video(lavc_venc_context, mux_v->buffer, mux_v->buffer_size,
- &lavc_venc_picture);
-#ifdef HAVE_DIVX4ENCORE
- if(pass==1){
- VbrControl_update_2pass_vbr_analysis(lavc_venc_context->key_frame,
- lavc_venc_context->mv_bits,
- lavc_venc_context->i_tex_bits+lavc_venc_context->p_tex_bits,
- 8*out_size, lavc_venc_context->quality);
- }
-#endif
- }
mencoder_write_chunk(mux_v,out_size,lavc_venc_context->key_frame?0x10:0);