[MPlayer-users] new version of detc filter! (inverse telecine)

D Richard Felker III dalias at aerifal.cx
Sat Mar 8 03:51:06 CET 2003

In the next couple days I'll be committing a greatly improved version
of the de-telecine (detc) filter. Some of the big advantages of the
new design include:

1. Much better handling of irregular telecine patterns. The old code
   tried to find a telecine frame and then stick to a fixed pattern of
   2 telecine/3 progressive as long as possible. Thus, it absolutely
   choked on weird telecine patterns, where video was spliced after
   telecine was applied -- or even worse, where frames were dropped or
   duplicated post-telecine to adjust the speed. The new code is much
   more adaptive, constantly trying to catch and resync to telecine
   frames and only using the 2/3 pattern when there's too little
   motion to identify which frames are the bad ones.

2. Nonreliance on absolute thresholds. The old code had a lot of hard
   coded threshold numbers used to detect whether a frame is
   interlaced/telecine, and while these numbers worked fairly well for
   my test material (SE Lain), they might not have worked well at all
   for other stuff, especially live realworld footage. The new code
   only uses a few threshold parameters for special situations, and
   those can probably eventually be removed.

3. Better metrics for determining presence of interlacing. The old
   ones could severely underestimate interlacing in areas with
   significant horizontal noise.

Overall, this code seems to be working much better on my test
material (still SE Lain). At this point I'm mostly happy with it, but
I'm still planning to work on a 2pass version soon, based on the new
algorithms. The benefits of 2pass telecine removal will include
avoiding false positives by examining future material (prevents
excessive frame dropping), realtime telecine removal in mplayer for
use with DVDs and SVCDs (so you don't have to reencode first), and
resilience to mencoder's bad behavior (nonsense frame skipping and
duplication that makes detecting telecine harder).

I'll post again in a few days once I put some finishing touches on the
code and commit it. After that, I'd appreciate it if some users with
telecined files/discs could test and see if it's fully working! Also
I'd appreciate some before-and-after testing to make sure there are no
cases where the old (current) version works better than the new code
I'm about to commit!


More information about the MPlayer-users mailing list