[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!
Rich
More information about the MPlayer-users
mailing list