Antiflicker Filter for Virtual Dub - Version 2.0 [ Prepare phase ]

[Place this text file in the VirtualDub plugins directory]
© Alessandro Malanca - Jul / 2002

When video at one frame rate is projected and then recorded from the projection screen at a different frame rate, a temporal moire pattern, or flicker, is produced. This filter removes the flicker, thereby making this a viable process. For example, it becomes feasible to project 18 fps films and record them with a 25 fps PAL camcorder.

The filtering is realised using two different filters: DeflPrep e DeflProc.

The first filter DeflPrep is used to pr process the video and saves its work in a given file. The second DeflProc, opens the file prepared by DeflPrep and apply the corrections to the video.

Prepare Phase

Here is the step-by-step process :

  1. Start VirtualDub.
  2. Open the input video.
  3. Add the DeflPrep filter. Set interlacing if your source video is interlaced optionally set the "Save as..." file and save the filter with OK, OK.
  4. Now on the VirtualDub timeline, play the video through to completion using the >o button. The output pane will show the frame processing progression. Do not rewind or anything else yet! (You may NOT move around on the timeline in "Prepare video" mode. If you rewind, you have to play through again until completion.)
  5. select filter and delete DeflPrep.
  6. You can now add DeflProc filkter and go to processing phase.

Prepare Parameters

Interlaced source:

If the source video clip is interlaced, check this option to enable field-mode processing. It will be saved in the file, to be further used in the processing phase.

Save as... :

you can specify the path to the file used to store the original luminance values and some parameters.

Technical notes

The first phase of the filter simply save an indicator of the global luminance for each frame or field (for interlaced video). The second phase of the filter performs a moving average over the video and rescales the pixels in the frames to approach this average. It applies a temporal softening too.

Thanks to Me, Donald Graft and Niels Basjes for suggesting the creation of this filter, providing test files, and giving valuable feedback. The final temporal softening phase is adapted from code by Steven Don. Thanks to Jeff Gonion for valuable theoretical discussions on digital filtering.

Filters for VirtualDub :
Donald Graft, March 30, 2002
(C) Copyright 2000-2002, All Rights Reserved
This version has been reworked by :
Alessandro Malanca, June 19, 2002
(C) Copyright 2002-2004, All Rights Reserved