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. |
4th July 2016, 14:41 | #1941 | Link | |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
Quote:
Edit: removing nnedi3 from the auto-load folder also fixes the problem reported in post #1930. Last edited by Reel.Deel; 4th July 2016 at 14:49. |
|
4th July 2016, 16:18 | #1942 | Link | |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Quote:
__________________
Groucho's Avisynth Stuff |
|
4th July 2016, 18:03 | #1945 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,783
|
One may even think of a debug build using Windows Debug Messages readable with DebugView or DebugView++.
|
4th July 2016, 18:21 | #1947 | Link | |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Quote:
It should be simple to add this to the SEH code in Avisynth.
__________________
Groucho's Avisynth Stuff |
|
4th July 2016, 18:32 | #1948 | Link |
AVS+ Dev
Join Date: Aug 2013
Posts: 359
|
qyot, Reel, you two are kings! I checked the sources of nnedi3 after Reel found it was a possible cause, and realized what the problem is. The merge commit that qyot bisected reinforced my analysis. In short, nnedi3 needs to be recompiled at a minimum, and better, a small fix be made to it to avoid the problem in the future. EDIT: A proper fix needs to come from Avs+. See later posts.
Here is what happened: 1) In commit 2ee19354 of classic Avs (JEEB's repo), GetVarDef() was added to the IScriptEnv interface, and this was merged to Avs+ in the commit found by qyot. 2) The addition of GetVarDef is in general OK, because it maintains ABI for IScriptEnv, and while it breaks ABI for IScriptEnv2 (because it is a derived interface), it was merged anyway because IScriptEnv2 is not (yet) supposed to be used by external plugins. There is a big fat warning block above the interface definition that warns plugin developers, that the interface is not stable and should only be used for testing. 3) Now comes the fun part. nnedi3 ignored this warning, and in its newest version is relying on the unstable interface, which just got changed, and hence the plugin got broken. 4) War, famine, and epidemics, not to mention the wasted hours for the community in debugging this. Warnings are there for a reason. Once that warning gets remove, only then can you rely publicly on the interface. This also explains why I couldn't reproduce this: I have an older version of nnedi3 that does not use IScriptEnv2. It seems nnedi3 is using the unstable API to register its MT mode. The proper way to implement this functionality is instead of using IScriptEnv2, respond to the CACHE_GET_MTMODE query in the plugin's SetCacheHints() with the proper constant. Here is an example of doing it right. This is future proof and is compatible with both classic Avs and Avs+. EDIT: Ah darn, this functionality got disabled in Avs+ to fix related problems. So a "proper fix" is not that easy. See comment below. A real fix in Avs+ is not trivial, but a new build will still be issued later tonight to at least fix the HBD resizers and XP compatibility.
__________________
AviSynth+ Last edited by ultim; 4th July 2016 at 19:43. Reason: Edit: |
4th July 2016, 18:34 | #1949 | Link | |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Quote:
__________________
Groucho's Avisynth Stuff |
|
4th July 2016, 18:49 | #1951 | Link | |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
Quote:
It was asked about not too long ago: http://forum.doom9.org/showthread.ph...75#post1768175 See this also: http://forum.doom9.org/showthread.ph...38#post1768838 |
|
4th July 2016, 19:08 | #1952 | Link | |
AVS+ Dev
Join Date: Aug 2013
Posts: 359
|
Quote:
I see how this leaves plugins like nnedi3 in a crossfire... I'll try to come up with something for this problem.
__________________
AviSynth+ |
|
4th July 2016, 19:12 | #1953 | Link | |
AVS+ Dev
Join Date: Aug 2013
Posts: 359
|
Quote:
Basically what I need is a proper fix for #37 so that I can re-enable CACHE_GET_MTMODE.
__________________
AviSynth+ |
|
4th July 2016, 19:16 | #1954 | Link | |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
Quote:
|
|
4th July 2016, 19:36 | #1955 | Link |
Registered User
Join Date: Jan 2002
Posts: 332
|
Hi,
I'm a simple user ( not a dev ) and I update to r2003 and it crashed for me with 32bit version, AvsPmod doesn't open for example. After research it comes with rawsource26.dll ( https://github.com/chikuzen/RawSource_2.6x/releases ). Remove this from plugins, it works again ? No problem with 64bit version. Is this a problem with rawsource26 or avisynth+ ? |
4th July 2016, 19:39 | #1956 | Link | |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,666
|
Quote:
|
|
4th July 2016, 19:45 | #1959 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,420
|
It wasn't nnedi3 that caused it for me, I have an older version of it and hadn't updated. It was a mismatch between the plugins built with an early 16-bit test build from pinterf's branch, and the core of r2003/r2005, since I was using Windows' directory-first dll override tactic to make ffmpeg see the new build instead of the one in system32. Once I put the new plugins in the autoload directory, the problem went away.
So something changed in the plugins too. Probably DirectShowSource, since Reel.Deel mentioned that earlier. And this wouldn't be the first time *VarDef has caused an issue. I couldn't figure out how to integrate it into avsplus properly back during RC1 when it was first brought into 2.6, so it may be piggybacking on that too. |
4th July 2016, 19:56 | #1960 | Link | |
Registered User
Join Date: Oct 2010
Location: Sampa
Posts: 9
|
Quote:
The r2003 64bit, don't have the same problem. |
|
|
|