[MPlayer-users] Re: Re: Telecine output - needed for NTSC DVD encoding

D Richard Felker III dalias at aerifal.cx
Tue Mar 9 06:13:06 CET 2004


On Mon, Mar 08, 2004 at 06:34:43PM -0000, Bruno wrote:
> >
> >Tobias Diedrich wrote:
> >
> >It is not enabled unless you explicitly insert one of the ivtc filters.
> >I guess what you want is to use "-vf softpulldown" and "-lavcopts ildct".
> >
> 
> Been there, done that, doesn't work.
> I've done some hard-telecine and soft-telecine analisys over the original 
> and Mencoded streams.
> Used Windows tools.
> 
> Mencoded (Soft Telecine test through DVD2AVI):
> 
> 7 0 0 2
> 7 0 9 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
> 7 0 5B 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
> 7 0 AB 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
> 7 0 F5 2 2 2 2 2 2
> 
> Original (Soft Telecine test through DVD2AVI):
> 
> 7 0 0 0 1 2 3 0 1 2 3 0 1 2 3
> 7 0 EF 0 1 2 3 0 1 2 3 0 1 2 3
> 7 0 1D1 0 1 2 3 0 1 2 3 0 1 2 3
> 7 0 2B0 0 1 2 3 0 1 2 3 0 1 2 3
> 7 0 38D 0 1 2 3 0 1 2 3 0 1 2 3
> 
> Soft telecine pattern in DVD2AVI is 0123 or 2301 where:
> 
> 0 -> BFF (bottom field first)
> 1 -> BFF + RFF (bff + repeat first field)
> 2 -> TFF (top field first)
> 3 -> TFF + RFF (tff + repeat first field)
> 
> As for hard-telecined tests I used Avisynth + Decomb with this script:
> 
> Loadplugin("D:\kvcd\progs\dvd2avi\MPEG2Dec3.dll") 		
> Loadplugin("D:\kvcd\progs\dvd2avi\Decomb.dll")
> 
> function FOrder(clip c) {
> fo= GetParity(c)? 1:0
> return fo
> }
> 
> #mpeg2source("D:\kvcd\samples\ntsc\d2v\telecine1.d2v",idct=2,cpu=0)
> #mpeg2source("D:\kvcd\samples\ntsc\d2v\telecine2.d2v",idct=2,cpu=0)
> #mpeg2source("D:\kvcd\samples\ntsc\d2v\telecine1_old.d2v",idct=2,cpu=0)
> mpeg2source("D:\kvcd\samples\ntsc\d2v\telecine2_old.d2v",idct=2,cpu=0)
> 
> Telecide(order=FOrder(),guide=1,show=true)
> 
> Whenever Decomb found a pattern (not flag based) it showed an in-pattern 
> message.
> It only happened with the original streams, never with the mencoded ones.
> 
> An even stranger thing, as seen in the example above, is that a BFF stream 
> becomes a TFF stream after the encoding when using softpulldown. That's 
> why it looks interlaced all the time instead of the "3 progressive, 2 
> interlaced" pattern.
> 
> But then I tried a script just containing:
> 
> SeparateFields()
> trim(1,0)
> Weave()
> 
> This cuts the first field from the first frame. The output looked 
> completely progressive, no trace of a telecined pattern.
> 
> 
> Conclusion: the only thing softpulldown does is cutting the first field of 
> the first frame and then all looks interlaced and field order gets 
> reversed. And the telecine pattern is completely gone, if it wasn't for 
> that first field cutting it would be completely progressive. And that's 
> not what's expected.

Sounds like you didn't use it right. Did you get skipped frame
messages while encoding? Are you using an old version of
mplayer/mencoder (i.e. not latest cvs) with -vc ffmpeg12 rather than
-vc mpeg12?

Rich




More information about the MPlayer-users mailing list