Smart Deinterlacer Filter

The Smart Deinterlacer Filter is an external filter for use with Avery Lee's excellent video tool VirtualDub. The filter will automatically load at startup of VirtualDub and be available in the filters list presented by the Filters/Add function.

Users are encouraged to study the VirtualDub help files to become familiar with this excellent video tool, and to understand how it interacts with the smart deinterlace filter. For those desiring a quick start, detailed instructions for using the filter with VirtualDub are available.

This filter provides a smart, motion-based deinterlacing capability. In static picture areas, interlacing artifacts do not appear, so data from both fields is used to provide full detail. In moving areas, deinterlacing is performed.

Smart Deinterlacer version 2.8 beta 1 [Source code]

This beta adds DCDi-like edge-directed interpolation. It can significantly reduce stairstepping ("jaggies") in deinterlaced picture areas.

Smart Deinterlacer version 2.7 beta 2 [Source code]

This beta version adds optional cubic interpolation for recreating lines in moving areas.

Version 2.6 has the following changes:

Version 2.5 allowed both Advanced Processing and Motion Processing to be applied, if desired.

Version 2.4 repacked the dialog box to fit in 640x480 pixels.

Version 2.3 generalized the Advanced Processing settings to handle more capture card variants and massively revises and expands the help text regarding Advanced Processing. Two bugs were also fixed: 1) If Advanced Processing was selected while field-only differencing was selected, the filter crashed. 2) The special processing required for the first frame in Advanced Processing mode failed after a rewind. Thanks to Simon Walters for motivating this release.

Version 2.2 added a frame-only differencing mode and an option to select between luminance comparisons or color-channel comparisons. Please see the help file contained in the zip file for full details.

Version 2.1 improved the field-only differencing mode, and changed to using a gray background for the show-motion-areas-only mode.

Version 2.0 added a field-only differencing mode, useful for certain kinds of clips, and motion map denoising, which allows much smaller thresholds to be used without causing video noise artifacting. Please see the help file for more details.

Version 1.8 added additional options for PAL deinterlacing and fixed a problem with the help file path. Thanks to Arthur Hoornweg for pointing out the need for these new PAL options and for providing a test clip.

Version 1.7 brought a new method of comparing pixels to determine if motion has occurred. Previously, the luma difference was calculated. Now each color component is compared as described above. This has several advantages. Two different colors can have the same luminance, and that would have caused an incorrect motion decision with the previous algorithm. Also, the weighting of the luminance equation is really not good, because although (say) blue contributes little to the luminance, humans can make very fine color discriminations in the blue region.

A wonderful side effect of this new method of determining motion is that the scene detection code is no longer required. The new algorithm performs so well on all my test files (scene changes between fields of a frame, 3:2 pulldown, cartoon pulldown, etc.) that the scene detection code could be thrown out.

Thanks to Jim Casaburi for suggesting color-channel comparison.

This release also added an advanced processing mode to deal with certain malformed PAL sequences, and a help capability.

Gunnar Thalin deserves credit for making clear the importance of intra-frame (field-only) comparisons, and for providing "torture clips". The field-only differencing algorithm was his invention.

[up to home page]