[vlc-devel] IVTC progress: ported and working
juha.jeronen at jyu.fi
Thu Mar 31 05:51:13 CEST 2011
I ported my IVTC filter to the latest VLC source tree last night. It
still works ;)
I used the "patch #7" code as base. The functionality of the end result
is approximately what "patch 5/4" was, as I chose to leave out the last
two cadence detectors for now. This version comes with two: "vektor"
(hard field repeat based, inspired by TVTime/Xine) and "scores"
(interlace score ranking based, original). It automatically uses both as
appropriate. "vektor" is more reliable for difficult material (vertical
pans, slow zooms, very little motion), but "scores" locks on faster on
easy material (horizontal pans, a moderate amount of motion). This is as
expected, considering how they work...
I've also refactored away the worst insanities. Now it should be
slightly more apparent that yes, there is a design behind the filter :)
RenderIVTC() is now a top-level function, which just calls a bunch of
helpers to do the actual work. Most of the helpers have clearly defined
areas of responsibility (raw detection, different cadence detection
algorithms, soft telecine detection, frame reconstruction...).
I'll do some more polishing and then post the new version, probably tonight.
What is still insane is that a quick count gives the source length as
2600 lines (in 79-column format). And there's really no way to make it
much shorter. It's as long as the rest of the deinterlacer module. The
need for the big refactoring for this module went from sorely needed to
absolutely critical ;)
Well, at least I know what I'll be doing next once this patch is
More information about the vlc-devel