Free 24p Pulldown Removal Workflow


Introduction

Canon has delivered a new series of consumer cameras which are capable of delivering 24p video as an alternative to the normal 60i. This is a wonderful innovation and the community has embraced it with open arms, only to find some limitations. Canon implements the 24p within the 60i stream, which means to actually work with the 24p footage, you must remove the 24p first. For additional information about that process, refer to this wikipedia entry on the subject. There are a number of comercial solutions to automatically removing the pulldown when you capture your video, Cineform being one, but these applications add additional expense to an already expensive camera. There are also a number of freeware solutions available. This article covers one freeware solution that utilizes VirtualDubMod, DGIndex and AVISynth. These applications, when strung together properly, can offer a great free pulldown workflow. The applications that I have written simply attempt to orchestrate these other freeware applications to best work for you. The great thing about these freeware applications is that that all support a scripting language, so you can customize the scripts to perform other video enhancing functions.

Supported Operating Systems


The software that I have specifically written is done using the .Net Framework version 2.0. As a result, the applications are only capable of running on Windows based operating systems with the framework installed. For the time being, I am a Windows only developer and do not have the resources available to attempt to make versions that work on Apple Macs or Linux based systems.

Required Software

As mentioned earlier, the core of this freeware workflow solution is based on AVISynth, DGIndex and VirtualDubMod. There are also a few other freeware tools that are required. This section will cover the installation of these tools. Following are the steps required to install and prepare your system for the 24p pulldown removal workflow. (Thanks to Eugenia's blog for helping to put together some good documentation on the required and recommended tools.)

  1. Create a new directory on your machine where these freeware applications can be installed. For example, create a new directory called C:\Tools. The name of the directory is not important, you can even choose to use an existing directory if you want. For the purposes of this article, we will refer to this root installation directory as C:\Tools.
  2. Create child directories under C:\Tools called "Working", "DGIndex", "VirtualDubMod".  Again, these directories are just recommendations. You can choose to create them elsewhere or change their names as you see fit.
  3. Download and install the XVid library. Once installed, you may remove the downloaded installation file.
  4. Download the DGIndex application. Unzip that downloaded .zip file, select all files and folders in it, and drag-n-drop them on C:\Tools\DGIndex\. From within that last folder, copy the file called “DGDecode.dll” and paste it on the C:\Program Files\AviSynth 2.5\plugins\ folder. You can delete that downloaded .zip file now.
  5. Download and install the VirtualDubMod application. Unzip that downloaded .zip file, select all files and folders in it, and drag-n-drop them on the C:\Tools\VirtualDubMod\ folder. You can delete that downloaded .zip file now.
  6. Download and unzip the TIVTC v1.02 plugin. Inside that zipped folder, you will find a file called TIVTC.dll. Drag-n-drop that .dll file on the C:\Program Files\AviSynth 2.5\plugins\ folder. You can delete that downloaded .zip file now. Note: If TIVTC 1.02 gives you problem later, you can definitely try version 1.01 instead.
  7. Download and unzip the MPASource plugin. Inside that zipped folder, you will find a file called mpasource.dll. Drag-n-drop that .dll file on the C:\Program Files\AviSynth 2.5\plugins\ folder. You can safely delete that downloaded .zip file now.
  8. (Optional, but recommended). Download the Lagarith lossless codec (it creates files that are ideal for video editing). Unzip that downloaded .zip file, and drag-n-drop on your desktop the two files that their names are starting with the word “lagarith” (these are: lagarith.inf and lagarith.dll). Right-click on the file that’s called either plainly “lagarith” or “lagarith.inf”. From that right-click menu select “Install”. After about 10-15 seconds, the Lagarith codec will be installed. Delete the two lagarith files from your Desktop and their downloaded .zip file. 

The next step is to download and install my application(s) for orchestrating these tools. With my tools, you have a choice of which application to run.

  1. Standalone Executable: Download the HV20Pulldown application (this is Steve’s handy application). This application requires the .NET Framework to be installed, which usually comes by default with recent Windows versions. Unzip that downloaded .zip file, select all files in it and drag-n-drop them on C:\Tools\Pulldown\. You can delete that downloaded .zip file now.
  2. Sony Vegas Timeline Script: Download the script .dll and copy it into your "C:\Program Files\Sony\Vegas 7.0\Script Menu\". You installation location of Vegas may differ based on version etc.

These two processes essentially perform the same tasks. The differences come in to where and how they run. Below is a brief description for each of these as well as a link to additional documentation.


Standalone Executable

Additional documentation can be found here.

The standalone executable is intended for users who wish to remove pulldown from one or more video files that they have already captured on disk. The application will allow you to specify the list of files as well as the preferred codec which will be used to encode the final output file. It is recommended to use an uncompressed codec to minimize data loss between renderings.


Sony Vegas Script:

Additional documentation can be found here.

The Sony Vegas script performs the same pulldown as the standalone application, but does so within the context of Sony Vegas. In addition, the script is capable of removing pulldown for just the portion of each video event on the timeline. This allows you to process just the trimmed portion of the clip, without processing the entire file. The script will process as many tracks as you have available in Vegas. The script will also automatically update the audio for each clip with the proper delay required by the pulldown processing.

All processed video events are left in their original state. During processing we add a new Take to the video event which refers to the processed AVI file. This allows you to continue working with either the native 24p or 60i video. This also allows you to add any effects, color correction, fades etc.