Log in

View Full Version : FFDShow & AviSynth


EpheMeroN
19th July 2006, 03:51
I just installed FFDShow with the AviSynth plugin so I could use it's deblocking on an old DivX3 source.

Here's my simple script:
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\ffavisynth.dll")

DirectShowSource("C:\Documents and Settings\xxxxxxx\Desktop\xxxxx.avi")

ffdshow("default")

And here's the error VDub is reporting:
http://img291.imageshack.us/img291/6158/untitledsq5.jpg

unskinnyboy
19th July 2006, 04:14
Try

LoadCPlugin("C:\Program Files\AviSynth 2.5\plugins\ffavisynth.dll")
....

foxyshadis
19th July 2006, 10:41
a. you have to use LoadCPlugin.
b. a lot of versions of ffavisynth.dll just won't load at all (or even crash the autoloader), including vm9's latest builds, some kind of compiler weirdness. vm9 thinks it's all about the vc8 redist fies but he's full of it; here's one that does work (http://foxyshadis.slightlydark.com/random/ffavisynth.zip), just compiled in VC8. Do make sure you have the runtime libs installed.

pandy
20th July 2006, 08:45
for sure (in my system of coz) work build from May 22 2006 (gcc 4.0.3 , sse , sse2 , x86 , ansi).
Loading by LoadCPlugin()

EpheMeroN
20th July 2006, 09:01
Using LoadCPlugin worked like a charm.

I've never even heard of LoadCPlugin before. Why is this used for ffdshow support? What else is used via LoadCPlugin?

unskinnyboy
20th July 2006, 12:44
Because ffavisynth is written in C programming language. Filters written in C must be loaded using LoadCPlugin() or Load_Stdcall_Plugin(). There are a lot of other filters too which have to be loaded via LoadCPlugin(). GenMotion, DeSpot, SmartDecimate, IBob etc comes to mind.

foxyshadis
20th July 2006, 13:37
ffavisynth is entirely C++, and it used to the normal C++ api. The binding was changed to C because C++ avisynth bindings can only be compiled by microsoft compilers, whereas using the C api any compiler can be used. Most plugins that use it actually are written in pure C though.

Wilbert
20th July 2006, 14:10
Only old versions of DeSpot.

Btw, what's binding?

dimzon
20th July 2006, 15:07
Btw, what's binding?
For current context: http://en.wikipedia.org/wiki/Language_binding

unskinnyboy
20th July 2006, 15:46
ffavisynth is entirely C++, and it used to the normal C++ api. The binding was changed to C because C++ avisynth bindings can only be compiled by microsoft compilers, whereas using the C api any compiler can be used. Most plugins that use it actually are written in pure C though.
Oh, OK. So it is only the binding part. I went ahead and assumed it to be in C like the usual C plugins :o. Thanks for the info.