-
Notifications
You must be signed in to change notification settings - Fork 20
videofilt_migratingfromfiltersdk
VirtualDub Plugin SDK 1.2
Migrating existing filter source from the old Filter SDK
If you have filters compiled against the old Filter SDK, you need to make a couple of changes to projects to get them to compile with this SDK.
Note: The old headers in the filter SDK are still correct for the API versions they represent, so you don't have to migrate your old filters — you should only consider doing so if there is functionality in this SDK that you wish to take advantage of.
The new header that you want to include is <vd2/plugin/vdvideofilt.h>;
put the base include directory in your C++ preprocessor include path.
However, this header changes the names of many symbols compared to the
old Filter SDK headers, so you likely won't be able to use it directly.
Your best bet for compatibility is to use the migration headers in
include/vd2/OldFilterSDK. Add this directory to your include path as
well, and chances are your filter will compile. This provides a set of
headers which are similar to the layout of the old headers but redirect
to symbols defined in the new vdvideofilt.h header. There are a few
cases that can still break, most notably calling image processing
routines in VBitmap and forward-declaring types.
If you need full backwards compatibility, the old Filter SDK headers
have been provided in the extras/FilterSDK folder. It's recommended
that you migrate to the newer headers when convenient to gain access to
newer API features.
Before porting your filter to x64, you should port to the new headers first. The old headers contain some declarations which are not correct when compiling for 64-bit and will cause fatal errors in your video filter.
Copyright (C) 2007-2012 Avery Lee.
Setting up your development environment
Conventions
Plugin initialization
Dynamic loading
Reference counting
Using CPU extensions
Introduction
What's new
Breaking changes
Gotchas
Deprecated features
Migrating from the old Filter SDK
Programming model
Handling bitmaps
Creating a video filter
Setting filter parameters
Processing video frames
Managing filter data
Creating time-varying filters
Handling aspect ratio
Prefetching multiple source frames
Handling multiple sources
Making a filter configurable
Scripting support
CPU dependent optimization
VDXA index omitted
Getting started
Writing the module entry point
Creating a video filter
Adding configurability
Adding script support
Introduction
What's new
Autodetect
Direct mode
Video frames vs. samples
Video decodint model
Video decoder