[MEncoder-users] [BUG] mencoder fails to encode VOB file

Oded Shimon ods15 at ods15.dyndns.org
Sat Dec 31 15:56:14 CET 2005


On Sat, Dec 31, 2005 at 03:46:18PM +0100, Guillaume POIRIER wrote:
> On 12/31/05, Oded Shimon <ods15 at ods15.dyndns.org> wrote:
> > On Sat, Dec 31, 2005 at 03:30:04PM +0100, Guillaume POIRIER wrote:
> > > That's because vb_strategy is not to be used in any other pass than
> > > the first one.
> > > The man page says it already. :)
> >
> > We should really make it automatic, it's rather simple to check, don't you
> > think?
> >
> > Give a warning when it is set and we unset it though.
> 
> Not a bad idea. Would you care to write that patch? I'm away from my
> dev computer right now...

Must I do everything...

Can vb_strategy be used without vpass at all? My code assumes it can.

Please fix the warning message if you'd like...

- ods15
-------------- next part --------------
Index: help/help_mp-en.h
===================================================================
RCS file: /cvsroot/mplayer/main/help/help_mp-en.h,v
retrieving revision 1.216
diff -u -r1.216 help_mp-en.h
--- help/help_mp-en.h	17 Dec 2005 13:32:54 -0000	1.216
+++ help/help_mp-en.h	31 Dec 2005 14:54:34 -0000
@@ -591,6 +591,7 @@
 #define MSGTR_MissingDLLcodec "ERROR: Could not open required DirectShow codec %s.\n"
 #define MSGTR_ACMiniterror "Could not load/initialize Win32/ACM AUDIO codec (missing DLL file?).\n"
 #define MSGTR_MissingLAVCcodec "Cannot find codec '%s' in libavcodec...\n"
+#define MSGTR_LAVCvpassAndVb_strat "Warning: vb_strategy can only be set in 1st pass. Unsetting.\n"
 
 #define MSGTR_MpegNoSequHdr "MPEG: FATAL: EOF while searching for sequence header.\n"
 #define MSGTR_CannotReadMpegSequHdr "FATAL: Cannot read sequence header.\n"
Index: libmpcodecs/ve_lavc.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ve_lavc.c,v
retrieving revision 1.121
diff -u -r1.121 ve_lavc.c
--- libmpcodecs/ve_lavc.c	29 Nov 2005 04:16:46 -0000	1.121
+++ libmpcodecs/ve_lavc.c	31 Dec 2005 14:54:35 -0000
@@ -381,6 +381,10 @@
     lavc_venc_context->max_b_frames= lavc_param_vmax_b_frames;
     lavc_venc_context->b_quant_factor= lavc_param_vb_qfactor;
     lavc_venc_context->rc_strategy= lavc_param_vrc_strategy;
+    if (lavc_param_vpass > 2 && lavc_param_vb_strategy) {
+        lavc_param_vb_strategy = 0;
+        mp_msg(MSGT_MENCODER,MSGL_WARN,MSGTR_LAVCvpassAndVb_strat);
+    }
     lavc_venc_context->b_frame_strategy= lavc_param_vb_strategy;
     lavc_venc_context->b_quant_offset= (int)(FF_QP2LAMBDA * lavc_param_vb_qoffset + 0.5);
     lavc_venc_context->luma_elim_threshold= lavc_param_luma_elim_threshold;


More information about the MEncoder-users mailing list