[vlc-devel] Deinterlacer documentation

Juha Jeronen juha.jeronen at jyu.fi
Sun Apr 3 16:12:20 CEST 2011

Hi all,

This is still some time into the future, but after I'm done with the
IVTC patch and the big refactor to the deinterlacer, I'm planning to
write some documentation for the module.

Developer documentation is needed to keep the deinterlacer
non-intimidating for new developers. In this part, the structure of the
(upcoming) refactored module will be described, and practical hints
given as to how to add a new deinterlacing mode (which files to look at,
what the flags in filter_sys_t mean and how to add new ones if needed,
etc.). How to handle the different chroma formats will be explained
briefly. There will be a text file (probably called HACKING) in the
(upcoming) deinterlacer directory when I'm done with this.

The second thing is, the user documentation for a general semi-technical
audience needs to be updated after Phosphor and IVTC. The wiki page
http://wiki.videolan.org/Deinterlacing is a good starting point.

Here's why I'm posting this - is there anything specific any of you
would like to see explained in the user documentation for the deinterlacer?

Myself, I'm thinking of the following changes or additions:

1) Framerate doubling needs a short general explanation, maybe one or
two sentences. It is not self-evident to the uninitiated that these
algorithms preserve the perceived spatial resolution (while running),
because the actual spatial resolution is not preserved. The framerate
doublers in VLC could be listed here: Bob, Linear, Yadif2x and Phosphor.

2) An explanation of true interlaced vs. telecined is needed, pointing
out the main differences: temporal behaviour of the fields (linearly
advancing in time vs. advancing in steps, with 3 or 2 consecutive fields
from the same moment; the 3 making telecine different from PsF), and
that telecine is a lossless technique for converting 24fps film material
into 60i, used in NTSC countries. Maybe also that there is hard and soft
telecine. And that some material, mainly anime, is authored directly in
telecined form, and a progressive master copy might not exist at all.
And that for best deinterlacing results, true interlaced vs. telecined
should be handled differently. In any case, this should be kept short.

3) The explanation of X is mostly good, but edge-oriented interpolation
could be mentioned.

4) Yadif needs a better explanation - what does the algorithm do, on a
general level? I'll try, but I'm not sure if I can help with this.

5) IVTC needs to be documented. I think it's sufficient to say that this
filter attempts to remove telecine, mention that the main use case is
NTSC anime, and "for further information" point to the explanation of

6) Phosphor needs to be documented. I'm thinking of saying that it's a
simple, framerate-doubling CRT TV simulator mainly intended for
telecined input, and that it has some advanced options in All settings >
Video > Filters > Deinterlace.

7) Recommendations should be revised after Phosphor and IVTC. Whether to
choose Bob, Linear or Phosphor is mainly a matter of taste. For
telecined input, IVTC is clearly The Right Thing.

8) Practical considerations to help users choose based on the kind of
video they have. E.g.:
8a) NTSC anime is almost always telecined, so for that IVTC is recommended.
8b) Videos from handheld camcorders are often interlaced, so Linear is
8c) Other practical examples to put here?


More information about the vlc-devel mailing list