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 Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 25th June 2019, 09:28   #41  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Moved to git, real release:
AvsInPaint v1.1 (20190624)
https://github.com/pinterf/AvsInpaint/releases

Code:
- Fix crash in AVSInpaint-2008.02.23, when using mode "Deblend" or "Both"
  (double frame release, revealed when using Avisynth+)
- Add version resource
- Visual Studio 2019 solution
- Moved to Avisynth C 2.5 interface
- x64 version
- (no new colorspaces)
pinterf is offline   Reply With Quote
Old 25th June 2019, 14:36   #42  |  Link
VoodooFX
Banana User
 
VoodooFX's Avatar
 
Join Date: Sep 2008
Posts: 985
I updated wiki of http://avisynth.nl/index.php/InpaintFunc with newer versions of InpaintFunc and requirements.
VoodooFX is offline   Reply With Quote
Old 26th June 2019, 23:53   #43  |  Link
fAy01
Registered User
 
Join Date: Jun 2010
Posts: 91
Quote:
Originally Posted by pinterf View Post
Moved to git, real release:
AvsInPaint v1.1 (20190624)
https://github.com/pinterf/AvsInpaint/releases

Code:
- Fix crash in AVSInpaint-2008.02.23, when using mode "Deblend" or "Both"
  (double frame release, revealed when using Avisynth+)
- Add version resource
- Visual Studio 2019 solution
- Moved to Avisynth C 2.5 interface
- x64 version
- (no new colorspaces)
https://github.com/pinterf/AvsInpain...146603d3b66fc7
Is 2.5 a typo?
fAy01 is offline   Reply With Quote
Old 27th June 2019, 00:35   #44  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by fAy01 View Post
Is 2.5 a typo?
No, C 2.5 interface is the latest. You may be thinking of the C++ interface.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 27th June 2019, 00:40   #45  |  Link
fAy01
Registered User
 
Join Date: Jun 2010
Posts: 91
Quote:
Originally Posted by Groucho2004 View Post
No, C 2.5 interface is the latest. You may be thinking of the C++ interface.
I see. Thanks for clarifying.
fAy01 is offline   Reply With Quote
Old 27th June 2019, 07:42   #46  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,823
I probably should have checked before assuming, but I didn't test the new AVSInPaint build with Avisynth 2.6. It may be an XP-only issue, however it's working with Avisynth+, but not Avisynth 2.6. It applies to version 1.1 Beta and version 1.1.
I can't imagine why I wouldn't have checked the beta version with Avisynth 2.6, but obviously I didn't as it prevents Avisynth 2.6 from loading.

I didn't have VS 2019 installed, but installing it didn't change anything. Rebooting didn't help. Unless it's more than an XP problem, I can probably load the appropriate dll as required (the old version for Avisynth 2.6 and the new version for Avisynth+).

I have the following script in the Avisynth 2.6 auto-loading folder, and the result is below. I've also tried LoadCPlugin and LoadPlugin.

Anyone else tested with Avisynh 2.6?

AVSInpaint = "C:\Program Files\AviSynth\C Plugins\AvsInPaint.dll"
exist(AVSInpaint) ? Load_Stdcall_Plugin(AVSInpaint) : nop()



Edit: For anyone else who may need it, I'm currently making AVSInPaint work for the installed Avisynth 2.6 and MeGUI's Avisynth+ by adding the following avsi script to the installed Avisynth/plugins folder. No need to manually load ImageSeq.dll for Avisynth+ either. Edit the file paths and dll names to suite.

Code:
IsAvisynthPlus = (FindStr(LCase(VersionString), "avisynth+") > 0)

ImageSeq = "C:\Program Files\MeGUI\tools\avs\plugins\ImageSeq.dll"
IsAvisynthPlus && exist(ImageSeq) ? LoadPlugin(ImageSeq) : nop()

AVSInPaintNew = "C:\Program Files\AviSynth\C Plugins\AVSInPaint 1.1.dll"
IsAvisynthPlus && exist(AVSInPaintNew) ? LoadCPlugin(AVSInPaintNew) : nop()

AVSInPaintOld = "C:\Program Files\AviSynth\C Plugins\AVSInPaint 2008-02-23.dll"
!IsAvisynthPlus && exist(AVSInPaintOld) ? Load_Stdcall_Plugin(AVSInPaintOld) : nop()

Last edited by hello_hello; 27th June 2019 at 08:36.
hello_hello is offline   Reply With Quote
Old 27th June 2019, 07:46   #47  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by hello_hello View Post
I have the following script in the Avisynth 2.6 auto-loading folder. And the result is below. Anyone else tested with Avisynh 2.6?

AVSInpaint = "C:\Program Files\AviSynth\C Plugins\AvsInPaint.dll"
exist(AVSInpaint) ? Load_Stdcall_Plugin(AVSInpaint) : nop()

Why are you loading it as a 2.0 plugin? Did you miss that the C interface has been updated to 2.5? Change Load_Stdcall_Plugin() to LoadCPlugin() and it should work.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 27th June 2019, 08:19   #48  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,823
Quote:
Originally Posted by Groucho2004 View Post
Why are you loading it as a 2.0 plugin? Did you miss that the C interface has been updated to 2.5? Change Load_Stdcall_Plugin() to LoadCPlugin() and it should work.
Quote:
Originally Posted by hello_hello View Post
I've also tried LoadCPlugin and LoadPlugin.
I've even tried pleading, but still no go.
Load_Stdcall_Plugin() works with Avisynth+.
hello_hello is offline   Reply With Quote
Old 27th June 2019, 08:35   #49  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by hello_hello View Post
I've even tried pleading, but still no go.
Load_Stdcall_Plugin() works with Avisynth+.
Do you have avisynth_c.dll in your auto-load directory? If so, remove it. Also, use the Avisynth Info Tool to check your installation and post the log.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 27th June 2019, 09:24   #50  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,823
There's no avisynth_c.dll.

If by "post the log file" you mean use the "Save Info" button, this is everything when I use the script I posted earlier to try and auto-load the new AVSInPaint:

Quote:
Not An Avisynth 2 C Plugin: C:\Program Files\AviSynth\C Plugins\AVSInPaint 1.1.dll
(Audio Load Additional Plugins.avsi, line 23)
I'm still successfully loading Yadif.dll and ffavisynth.dll the same way. And of course the old AVSInPaint.

When I don't try to load it there's no errors except one. Edit: See the next post for the "full" log.

As a side note, when I prevent Avisynth 2.6 from trying to load the new AVSInPaint, this is the single error.

LoadPlugin: unable to load "C:\Program Files\AviSynth\plugins\VSFilter 3.1.0.801.dll", error=0x3e6

Any idea what error 0x3e6 means? I ask because it's an odd one. If I remember correctly, VSFilter will load when opening scripts with MPC-HC, but not MeGUI (even with Avisynth 2.6). If I remember correctly, I have to manually load an old version for MeGUI. It won't even manually load the new one from the plugins folder. It seems a bit odd and I've never discovered why, but it's been a while so I'd have to check all that.
I did remove VSFilter 3.1.0.801.dll from the plugins folder and ran Info Tool again, just in case it was causing oddness, but nothing changed, except then no there were no errors (unless I tried to load AVSInPaint).

Last edited by hello_hello; 27th June 2019 at 09:43.
hello_hello is offline   Reply With Quote
Old 27th June 2019, 09:42   #51  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,823
Here's the entire Info Tool log when I delete everything from the auto-loading plugins folder except for the script loading (mostly) C-Plugins, while preventing the script from loading the new AVSInPaint:

Quote:
[OS/Hardware info]
Operating system: Windows XP (x86) Service Pack 3.0 (Build 2600)

CPU: Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz / Conroe (Core 2 Duo)
MMX, SSE, SSE2, SSE3, SSSE3
2 physical cores / 2 logical cores


[Avisynth info]
VersionString: AviSynth 2.60, build:Mar 31 2015 [16:38:54]
VersionNumber: 2.60
File / Product version: 2.6.0.6 / 2.6.0.6
Interface Version: 6
Multi-threading support: No
Avisynth.dll location: C:\WINDOWS\system32\avisynth.dll
Avisynth.dll time stamp: 2015-03-31, 06:40:58 (UTC)
PluginDir2_5 (HKLM, x86): C:\Program Files\AviSynth\plugins


[Scripts (AVSI)]
C:\Program Files\AviSynth\plugins\Audio Load Additional Plugins.avsi [2019-06-27]
When it's loading the new AVSInPaint:

Quote:
Not An Avisynth 2 C Plugin: C:\Program Files\AviSynth\C Plugins\AVSInPaint 1.1.dll
(Audio Load Additional Plugins.avsi, line 23)
hello_hello is offline   Reply With Quote
Old 27th June 2019, 09:48   #52  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
I'm seeing the problem. I'll have to look into it.
(And I confused you, the old dll was a 2.5 C DLL as well, avsinfo is listing it as such)

EDIT
Seems, my build has
_avisynth_c_plugin_init@4
while the old dll exports
avisynth_c_plugin_init@4

Last edited by pinterf; 27th June 2019 at 09:56.
pinterf is offline   Reply With Quote
Old 27th June 2019, 09:57   #53  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,823
Thanks pinterf!
hello_hello is offline   Reply With Quote
Old 27th June 2019, 10:56   #54  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Test build for avs 2.6, 32 bit-only, please try if it works and do further test with it.
https://drive.google.com/open?id=1PJ...fzuX984OJBDQ_M
pinterf is offline   Reply With Quote
Old 27th June 2019, 11:51   #55  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,823
Quote:
Originally Posted by pinterf View Post
Test build for avs 2.6, 32 bit-only, please try if it works and do further test with it.
https://drive.google.com/open?id=1PJ...fzuX984OJBDQ_M
If you mean the test build doesn't work with Avisynth+, then I can confirm that.

Avisynth 2.6.... I haven't run any full encodes, but it's working with my test script. The three InPaintFunc modes seem fine (no crashes or errors so far, anyway).

Cheers.

PS Tested on XP.

Last edited by hello_hello; 27th June 2019 at 11:59.
hello_hello is offline   Reply With Quote
Old 27th June 2019, 12:22   #56  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by hello_hello View Post
If you mean the test build doesn't work with Avisynth+, then I can confirm that.

Avisynth 2.6.... I haven't run any full encodes, but it's working with my test script. The three InPaintFunc modes seem fine (no crashes or errors so far, anyway).

Cheers.
Then we are halfways

What is searched for when establishing from a DLL if it is a C plugin?

AVS+ x64:
avisynth_c_plugin_init
_avisynth_c_plugin_init@4

AVS+ Win32
_avisynth_c_plugin_init@4
avisynth_c_plugin_init@4

AVS 2.6 Win32
avisynth_c_plugin_init@4
avisynth_c_plugin_init

So the winner is: avisynth_c_plugin_init@4 that works for both Avs+ and Avs 2.6

Since the old AvsInpaint.dll exports avisynth_c_plugin_init@4 there is no problem.

Now my question: how on Earth can I remove the underscore and keep the parameter length (@4) in a Visual Studio build?
pinterf is offline   Reply With Quote
Old 27th June 2019, 12:59   #57  |  Link
Gser
Registered User
 
Join Date: Apr 2008
Posts: 418
Quote:
Originally Posted by pinterf View Post
Moved to git, real release:
AvsInPaint v1.1 (20190624)
https://github.com/pinterf/AvsInpaint/releases

Code:
- Fix crash in AVSInpaint-2008.02.23, when using mode "Deblend" or "Both"
  (double frame release, revealed when using Avisynth+)
- Add version resource
- Visual Studio 2019 solution
- Moved to Avisynth C 2.5 interface
- x64 version
- (no new colorspaces)
Nice, now I can use rm_logo in x64 avisynth. Thanks!
Gser is offline   Reply With Quote
Old 27th June 2019, 13:58   #58  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,823
Quote:
Originally Posted by pinterf View Post
Now my question: how on Earth can I remove the underscore and keep the parameter length (@4) in a Visual Studio build?
I hope you're not asking me??
hello_hello is offline   Reply With Quote
Old 27th June 2019, 15:50   #59  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,419
Quote:
Originally Posted by pinterf View Post
Now my question: how on Earth can I remove the underscore and keep the parameter length (@4) in a Visual Studio build?
So it does appear that yes, there's name decoration issues with MSVC building C plugins. Fun.

https://social.msdn.microsoft.com/Fo...rum=vclanguage
qyot27 is offline   Reply With Quote
Old 27th June 2019, 16:02   #60  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by qyot27 View Post
So it does appear that yes, there's name decoration issues with MSVC building C plugins. Fun.

https://social.msdn.microsoft.com/Fo...rum=vclanguage
Yeah, fun, I found no method to make a working Visual Studio build for both Avisynth versions.
EDIT: perhaps with gcc. Or I make next Avs+ to search for a fully undecorated name when it checks for avisynth_c_plugin_init

Last edited by pinterf; 27th June 2019 at 16:08.
pinterf is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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 19:40.


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