[MPlayer-dev-eng] making -mc the default in mencoder

D Richard Felker III dalias at aerifal.cx
Mon May 17 06:34:21 CEST 2004


On Mon, May 17, 2004 at 03:53:35AM +0300, Ivan Kalvachev wrote:
> D Richard Felker III said:
> > On Sat, May 08, 2004 at 08:00:06PM -0400, D Richard Felker III wrote:
> >> Hey guys, I propose we make -mc  the default in mencoder. I've
> >> already recommended using it in my in-progress encoding guide, but IMO
> >> lots of users are too lame to RTFM so they won't know to use it.
> >
> > Any more comments on this before I change it?
> 
> 
> Hi Rich,
> About your "mc" proposial.
> 
> If you can't fix it, don't break it.

It's very broken right now. At least with my proposed change, it would
be correct for dvd input, and most other properly synced files.

> If I understand correctly this will disable by default
> frame drop/frame repeat mechanism.

It won't disable drop/repeat entirely, just the aspect that leads to
incorrect behavior and "corrects" broken files.

> You are complaining that when you encode DVD, you get dropped frame in
> beggining and inconsistance dropping/dublicating while using same fps and ofps.
> Unfortunatly "mc" is not the root of this problem. It comes from the inablity
> of decoder to distinguish droppend frame from delayed frame (Yes B-frames

Actually, no. The problem will happen even without B frames, because
the -oac mp3lame code is broken. I agree that B frames might make it
worse, though.

> again). A quick workaround is if the first frame is dropped to be threted as
> delayed (this could be combined with the pre-load stuff)

Please try this and see if the problem goes away. IMO it won't. Even
if it does, I'm afraid the brain-damaged mc!=0 code will mess up when
doing skip/duplicate for inverse telecine...

> So if the DVD/AVI is properly interleaved it should not need correction
> at all.
> I agree that mencoder should monitor the destination A/V.
> 
> Ivan Kalvachev
> 
> p.s.
> If I understand correct "mc" is used to smooth dropping/dublicating.
> It's maximum value is maximum frame duration.

mencoder uses a bad feedback system to measure A-V drift, because the
demuxers suck too bad to give correct pts which could be used
directly. The -mc option specifies how much the measured "A-V" value
is allowed to change each frame. Using high values for -mc means trust
the demuxer's pts, whereas low values will cause correction to take
place only when there is prolonged desync in the source. But skips &
duplicates for adjusting framerate (including inverse telecine) will
always take place immediately, regardless of -mc, unless -noskip is
also used.

Rich





More information about the MPlayer-dev-eng mailing list