VirtualDub external video filter SDK - v1.03

This SDK is designed to help you write a video filter, like VirtualDub's internal resize and invert filters, that can be dynamically loaded and run without requiring source code integration. This version of the filter SDK applies to VirtualDub 1.4. Some of the features described here may not be available in earlier versions of VirtualDub.

If you use this information to create a external video filter, I'd appreciate you keeping in touch with me at <uleea05@umail.ucsb.edu>, and making your filter open-source.  This allows me to test and debug your filter against future versions of VirtualDub, and contact you if there are any compatibility problems with your filter.


Compatibility note:

VirtualDub 1.2 has introduced some major changes into the filtering interface.  As a result, version 1.2 will refuse to load pre-V1.2 filters, and pre-V1.2 versions will refuse to load V1.2+ filters. Most filters will only require a recompile to work with V1.2.

How VirtualDub's filter system works
Limitations of VirtualDub external video filters

Tutorial 1: In-place transform filters

Tutorial, a.k.a. "Let's build a filter"

Implementing active preview in your filter
Sampling the source video
Retrieving processing state information
Using GDI in VirtualDub video filters
Manipulating data in VFBitmaps
New features in VirtualDub 1.4: Exception handling, CPU identification, and ESP modification

Algorithmic optimization tips
Low-level optimization tips

Other features not covered in the tutorial
Debugging video filters
Fallacies: Things you might do in a filter, but shouldn't
Integrating a filter into the VirtualDub source tree


VirtualDub external filter SDK 1.03©1999-2000 Avery Lee (uleea05@umail.ucsb.edu)