Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 27th January 2004, 00:44   #1  |  Link
DDogg
Retired, but still around
 
DDogg's Avatar
 
Join Date: Oct 2001
Location: Lone Star
Posts: 3,058
2.54 Jan 26 2004 error message re: avisynth_c.dll

The following appears whenever a script is run. After canceling the error, the script will run.

"The procedure entry point avs_new_video_frame_a could not be located in the dynamic link library avisynth_c.dll"
DDogg is offline   Reply With Quote
Old 27th January 2004, 12:57   #2  |  Link
albertgasset
Registered User
 
albertgasset's Avatar
 
Join Date: Jan 2003
Location: Barcelona
Posts: 68
Re: 2.54 Jan 26 2004 error message re: avisynth_c.dll

Quote:
Originally posted by DDogg
"The procedure entry point avs_new_video_frame_a could not be located in the dynamic link library avisynth_c.dll"
I get the same message. I have problems too to compile and use C plugins, error "Not an Avisynth C Plugin". I've found an error in "avisynth_c.h" line 18:
Code:
#define ACSC_USE_STDCALL 1

#ifndef ACSC_USE_STDCALL
Below in line 649 it uses "AVS_USE_STDCALL" to export "avisynth_c_plugin_init_s". With this fixed the function is exported in C plugins, otherwise no function is exported. I've tried to recompile avisynth_c.dll with this fixed but the errors remain. I keep trying to make the plugins work...

Edit: I'm using the last version of avisynth_c, 0.20.

Last edited by albertgasset; 27th January 2004 at 13:00.
albertgasset is offline   Reply With Quote
Old 27th January 2004, 17:48   #3  |  Link
sh0dan
Retired AviSynth Dev ;)
 
sh0dan's Avatar
 
Join Date: Nov 2001
Location: Dark Side of the Moon
Posts: 3,480
You probably have an old avisynth c plugin (not avisynth_c.dll, but something requiering it). Try cleaning it out and retry.
__________________
Regards, sh0dan // VoxPod
sh0dan is offline   Reply With Quote
Old 27th January 2004, 18:38   #4  |  Link
DDogg
Retired, but still around
 
DDogg's Avatar
 
Join Date: Oct 2001
Location: Lone Star
Posts: 3,058
Yup. It was CondTemporalMedian.dll that was in my plugin directory. Once removed, all is well.
DDogg is offline   Reply With Quote
Old 28th January 2004, 12:02   #5  |  Link
albertgasset
Registered User
 
albertgasset's Avatar
 
Join Date: Jan 2003
Location: Barcelona
Posts: 68
Thanks shOdan, it worked. The C plugins I compile work only if I explicity load avisynth_c.dll in the script (or if it is in the plugin directory), but thanks again. You're doing a great work in Avisynth.
albertgasset is offline   Reply With Quote
Old 28th January 2004, 12:11   #6  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,364
Quote:
The C plugins I compile work only if I explicity load avisynth_c.dll in the script (or if it is in the plugin directory), but thanks again.
You don't need that anymore. Just open them with LoadPlugin. That should work fine. If not, then there's something wrong.
Wilbert is offline   Reply With Quote
Old 28th January 2004, 15:59   #7  |  Link
albertgasset
Registered User
 
albertgasset's Avatar
 
Join Date: Jan 2003
Location: Barcelona
Posts: 68
Quote:
Originally posted by Wilbert
You don't need that anymore. Just open them with LoadPlugin. That should work fine. If not, then there's something wrong.
In Avisynth 2.5.3 it worked with LoadPlugin, but now in 2.5.4 I have to use LoadCPlugin after loading avisynth_c.dll compiled by myself. I've done some tests and I'm sure the problem is the "ACSC_USE_STDCALL" mistake I've mentioned above. This is a fragment of code in avisynth_c.cpp at line 558:

Code:
#ifndef AVSC_USE_STDCALL
    func = (AvisynthCPluginInitFunc)GetProcAddress(plugin, "avisynth_c_plugin_init");
#else // AVSC_USE_STDCALL
    func = (AvisynthCPluginInitFunc)GetProcAddress(plugin, "avisynth_c_plugin_init_s@4");
    if (!func)
      func = (AvisynthCPluginInitFunc)GetProcAddress(plugin, "avisynth_c_plugin_init_s");
#endif // AVSC_USE_STDCALL
Since "AVSC_USE_STDCALL" is not defined, it searches the entry "avisynth_c_plugin_init" in the plugin DLL, instead of "avisynth_c_plugin_init_s@4".
I've compiled avisynth_c.dll with this fixed and it works. I can't compile the whole Avisynth, but the error comes from the same place, so only changing the two ocurrences of "ACSC_USE_STDCALL" at the beginning of "avisynth_c.h" with "AVSC_USE_STDCALL" solves the problem.
albertgasset is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 04:35.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.