KernelDeint Filter for Avisynth

This filter deinterlaces using a kernel approach. It gives greatly improved vertical resolution compared to simple field discarding or simple interpolation in moving areas.

The filter accepts RGB, YUY2, or YV12 input.

Following is my original filter. You might prefer to use LeakKernelDeint (see below).

Version 1.4.1 [Source code]

Version 1.4.1 fixes a bug in the sharp kernel coefficients.

Version 1.4.0 fixes a bug in the sharp=true mode that caused it to oversharpen. It also changes the kernel to a one-way kernel that uses only the previous field (but the two-way mode can still be optionally enabled). The one-way kernel is crisper, faster, and makes less blending, especially for anime.

Version 1.3.3 completes the clipping fix, which was broken for YV12.

Version 1.3.2 fixes clipping problems, which could leave faint combing artifacts in some cases.

Version 1.3.1 adds motion analysis, such that the deinterlacing can be applied only to moving areas of the picture. A map option is available to vizualize the moving areas and allow tweaking of the motion threshold. The default for the sharp option is changed to false.

Version 1.2.0 adds the abitilty to select between two kernels: 1) a kernel that performs no sharpening, and 2) a kernel that performs some sharpening and also provides slightly improved vertical resolution. This version also obeys progressive/interlaced hints from Telecide(), making it usable as a post-processor. A debug option was also added to output information to the DebugView utility.

Kurt B. Prünner has created an evolved version of KernelDeint() called LeakKernelDeint(). It is low-level optimized and provides some useful new functionality. His is the preferred version to use. My original version is retained here for academic and historic purposes. Following is Kurt's distribution, which includes source code.

Leak KernelDeint Version 1.5.4

[up to home page]