Log in

View Full Version : Finally got YADIF to work, YAAAAAAAAAAAY


Katie Boundary
31st July 2016, 21:02
The trick, apparently, is to use Load_STDcall_Plugin rather than Loadcplugin. I hope that this is fixed in future versions.

StainlessS
2nd August 2016, 23:08
I dont use either but maybe try YadiffMod. (So far as I know, nobody uses Yadiff, any more)

FranceBB
2nd August 2016, 23:24
Yep. As Stainless, I don't actually use it and I definitely prefer QTGMC over it.
Give it a shot and you'll be positively surprised ;)

raffriff42
3rd August 2016, 00:07
It has been mentioned before that Yadif works better with Load_Stdcall_plugin
http://forum.doom9.org/showthread.php?p=1671269#post1671269

And searching this forum for Load_Stdcall_plugin, it seems to be used with Yadif and nothing else (recently)
http://forum.doom9.org/search.php?searchid=7660726

But LoadCPlugin should work just as well:
http://avisynth.org.ru/yadif/yadif.html
Must be loaded with Load_Stdcall_plugin("yadif.dll") or LoadCplugin("yadif.dll") (not LoadPlugin !).

Load_Stdcall_Plugin is merely an alias, or alternate name, for LoadCPlugin, and vice-versa. There is no functional difference.http://avisynth2.cvs.sourceforge.net/viewvc/avisynth2/avisynth/src/core/avisynth_c.cpp?view=markup#l847
extern const AVSFunction CPlugin_filters[] = {
{"LoadCPlugin", "s", load_c_plugin },
{"Load_Stdcall_Plugin", "s", load_c_plugin },
{ 0 }
};

Both Load calls, in a quick test, seem to work fine for me.

Groucho2004
3rd August 2016, 00:21
The trick, apparently, is to use Load_STDcall_Plugin rather than Loadcplugin. I hope that this is fixed in future versions.
Do you by any chance have a copy of "avisynth_c.dll" loitering around in your auto-load directory or elsewhere?

raffriff42
3rd August 2016, 04:46
@Groucho2004, [EDIT purely from morbid curiosity,] what was "avisynth_c.dll" and why did it make LoadCPlugin "disappear" ?http://avisynth.nl/index.php/Changelist_25
Changes in 2.5.6
Added Load_Stdcall_Plugin(), alias for LoadCPlugin() (won't disappear when avisynth_c.dll is loaded).

Groucho2004
3rd August 2016, 07:59
@Groucho2004, [EDIT purely from morbid curiosity,] what was "avisynth_c.dll" and why did it make LoadCPlugin "disappear" ?
avisynth_c.dll is a plugin that was used to load old C 2.0 plugins. It hijacks (overrides) the functionality of the internal "LoadCPLugin()". Therefore, if that DLL is present in the auto-load directory, loading C 2.5 plugins with "LoadCPLugin()" will fail.

StainlessS
3rd August 2016, 08:37
As Grouchy said.

Raff, might find this of interest:- http://forum.doom9.org/showthread.php?p=1641534#post1641534

manolito
3rd August 2016, 12:00
Do you by any chance have a copy of "avisynth_c.dll" loitering around in your auto-load directory or elsewhere?

I do have "avisynth_c.dll" in my Windows\System32 folder, and I have no problems loading Yadif with "LoadCPlugin()".


Cheers
manolito

Groucho2004
3rd August 2016, 12:39
Do you by any chance have a copy of "avisynth_c.dll" loitering around in your auto-load directory or elsewhere?
I do have "avisynth_c.dll" in my Windows\System32 folder, and I have no problems loading Yadif with "LoadCPlugin()".
Forget the "elsewhere".
The only way it will interfere with Avisynth's internal function is if it's loaded via "LoadPlugin()", either implicitly or explicitly.
The avisynth_c.dll in your system32 directory is just decoration. ;)

Katie Boundary
4th August 2016, 01:18
Do you by any chance have a copy of "avisynth_c.dll" loitering around in your auto-load directory or elsewhere?

Yes. Should I delete it?

Groucho2004
4th August 2016, 01:49
Yes. Should I delete it?
If you delete it, ibob won't work. You should however move avisynth_c.dll out of the auto-load directory and load it explicitly before ibob.dll (or any other 2.0 C filter that requires it):
LoadPlugin("<path with c2.0 plugs>\AviSynth_C.dll")
LoadCPlugin("<path with c2.0 plugs>\ibob.dll")

Katie Boundary
5th August 2016, 15:57
If you delete it, ibob won't work. You should however move avisynth_c.dll out of the auto-load directory and load it explicitly before ibob.dll (or any other 2.0 C filter that requires it):
LoadPlugin("<path with c2.0 plugs>\AviSynth_C.dll")
LoadCPlugin("<path with c2.0 plugs>\ibob.dll")

Tried it, it worked. Yadif now works with loadcplugin. Thanks!

(note: the standard bob filter is still going to be my go-to filter for Gargoyles due to how the title card at the end of the opening credits f*cks with Yadif's attempts at being a "smart" filter... but at least my dlls are in the right places)

wonkey_monkey
5th August 2016, 21:14
(note: the standard bob filter is still going to be my go-to filter for Gargoyles due to how the title card at the end of the opening credits

You do know you don't have to pick one or the other, right? You can apply bob to the credits and yadif to everything else.

And did you try altering the parameters of yadif?

colours
6th August 2016, 01:29
Could you maybe contain your blogging to a single thread? (http://forum.doom9.org/showthread.php?t=173434) Also, the actual solution is, don't use C plugins!!!111!!11!!!!

ibob is bad. yadif is also bad. yadifmod/yadifmod2 with nnedi3 is less bad and still blazing fast on SD content. Use that.