LoadPlugin (Avisynth Compatibility)¶
Load an Avisynth 2.5 (32 bit only), 2.6 (32 and 64 bit) or Avisynth+ (32 and 64 bit) plugin. If successful, the loaded plugin’s functions will end up in the avs namespace. Note that in the case of Avisynth+ there’s no way to use the formats combined with alpha or higher bitdepth packed RGB. Coincidentally there are no plugins that use this in a meaningful way yet.
The compatibility module can work with a large number of Avisynth’s plugins. However, the wrapping is not complete, so the following things will cause problems:
The plugin tries to call env->invoke(). These calls are ignored when it is safe to do so, but otherwise they will most likely trigger a fatal error.
Plugins trying to read global variables. There are no global variables.
If there are function name collisions functions will have a number appended to them to make them distinct. For example if three functions are named func then they will be named func, func_2 and func_3. This means that Avisynth functions that have multiple overloads (rare) will give each overload a different name.
Note that if you are really insane you can load Avisynth’s VirtualDub plugin loader and use VirtualDub plugins as well.
Beware of Python’s escape character, this will fail:
LoadPlugin(path='c:/plugins/filter.dll') LoadPlugin(path=r'c:\plugins\filter.dll') LoadPlugin(path='c:\\plugins\\filter.dll')