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

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 25th December 2017, 14:03   #3821  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by ajp_anton View Post
I didn't even know 32-bit applications could access the System32-folder on a 64-bit Windows. I thought Windows just silently mapped them to SysWOW64 instead.
Using the standard LoadLibrary() call or going through the VfW API, 32 bit programs will not be able to access System32 on a 64 bit OS. The OS redirection functionionality takes care of that.

AVSMeter (and AVSMeter64) with the "-avsinfo" switch would probably shed some light on THEAST's problem.
__________________
Groucho's Avisynth Stuff

Last edited by Groucho2004; 26th December 2017 at 11:42.
Groucho2004 is offline  
Old 26th December 2017, 19:06   #3822  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,746
Quote:
Originally Posted by THEAST View Post
If I move the 32-bit DLLs to System32...
Which file manager do you use to copy files into the system directories? I hope they are not 32-bit executables. They "lie" to you, as the previous users explained. Trying to enter System32 or SysWOW64, you will probably end in the same directory when you use a file manager as 32-bit executable. Only a 64-bit file manager will have access to these directories separately (if started "as Administrator").
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline  
Old 26th December 2017, 20:26   #3823  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
Quote:
Originally Posted by LigH View Post
Which file manager do you use to copy files into the system directories? I hope they are not 32-bit executables. They "lie" to you, as the previous users explained. Trying to enter System32 or SysWOW64, you will probably end in the same directory when you use a file manager as 32-bit executable. Only a 64-bit file manager will have access to these directories separately (if started "as Administrator").
yes, I see same problem when I enter by TeamViewer in my friend pc that use teracopy, remove the teracopy fix it, I was think it was teracopy bug or limit
__________________
See My Avisynth Stuff
real.finder is offline  
Old 27th December 2017, 11:05   #3824  |  Link
THEAST
Registered User
 
Join Date: Apr 2009
Posts: 76
Actually my initial observation was incorrect and it seems the problem is with the latest build of Avisynth+. My script is as follows:

Code:
LoadPlugin("*RELEVANT_PATH*\ffms2.dll")
FFVideoSource(*INPUT_FILE*, threads=1)
Spline36Resize(640,480)
QTGMC( Preset="Very Fast", InputType=2)
crop(4, 0, -4, 0)
Using build 2574, this script works fine with Avisynth x64, but with Avisynth x86, both VDub and AVSMeter x86 generate an illegal instruction error and MeGUI x86 crashes. If QTGMC is removed from the script, then all of them work.
Using build 2544, the script works with Avisynth x86 without any issues. I think there might be some incompatibility between the latest version of Avisynth+ in x86 mode and QTGMC (or of the filters it depends on).

The following is the output of AVSMeter x86 on my machine:
Code:
AVSMeter 2.7.0 (x86) - Copyright (c) 2012-2017, Groucho2004

VersionString:              AviSynth+ 0.1 (r2574, MT, i386)
VersionNumber:              2.60
File / Product version:     0.1.0.0 / 0.1.0.0
Interface Version:          6
Multi-threading support:    Yes
Avisynth.dll location:      C:\WINDOWS\SysWOW64\avisynth.dll
Avisynth.dll time stamp:    2017-12-19, 08:05:06 (UTC)
PluginDir2_5 (HKLM, x86):   C:\Program Files (x86)\AviSynth+\plugins
PluginDir+   (HKLM, x86):   C:\Program Files (x86)\AviSynth+\plugins+


[CPP 2.5 / 32 Bit Plugins]
C:\Program Files (x86)\AviSynth+\plugins\ChromaShift.dll  [2003-11-04]

[CPP 2.6 / 32 Bit Plugins]
C:\Program Files (x86)\AviSynth+\plugins+\ConvertStacked.dll  [2017-12-19]
C:\Program Files (x86)\AviSynth+\plugins+\DirectShowSource.dll  [2017-12-19]
C:\Program Files (x86)\AviSynth+\plugins+\ImageSeq.dll  [2017-12-19]
C:\Program Files (x86)\AviSynth+\plugins+\Shibatch.dll  [2017-12-19]
C:\Program Files (x86)\AviSynth+\plugins+\TimeStretch.dll  [2017-12-19]
C:\Program Files (x86)\AviSynth+\plugins+\VDubFilter.dll  [2017-12-19]
C:\Program Files (x86)\AviSynth+\plugins\aWarpSharp.dll  [2016-06-24]
C:\Program Files (x86)\AviSynth+\plugins\DePan.dll  [2.13.1.3]
C:\Program Files (x86)\AviSynth+\plugins\DePanEstimate.dll  [2.10.0.2]
C:\Program Files (x86)\AviSynth+\plugins\masktools2.dll  [2.2.10.0]
C:\Program Files (x86)\AviSynth+\plugins\mvtools2.dll  [2.7.24.0]
C:\Program Files (x86)\AviSynth+\plugins\nnedi3.dll  [0.9.4.48]
C:\Program Files (x86)\AviSynth+\plugins\RgTools.dll  [0.96.0.0]

[Scripts / AVSI]
C:\Program Files (x86)\AviSynth+\plugins+\colors_rgb.avsi  [2016-07-05]
C:\Program Files (x86)\AviSynth+\plugins\BlindDehalo3_MT2.avsi  [2006-03-22]
C:\Program Files (x86)\AviSynth+\plugins\EdgeCleaner.avsi  [2015-01-02]
C:\Program Files (x86)\AviSynth+\plugins\MtModes.avsi  [2017-12-24]
C:\Program Files (x86)\AviSynth+\plugins\QTGMC-3.357.avsi  [2017-04-02]
C:\Program Files (x86)\AviSynth+\plugins\SMDegrain_v3.1.2.93s.avsi  [2017-12-24]

[Uncategorized / Other]
C:\Program Files (x86)\AviSynth+\plugins+\colors_rgb.txt  [2016-07-05]
C:\Program Files (x86)\AviSynth+\plugins\chromashift.html  [2003-11-04]
C:\Program Files (x86)\AviSynth+\plugins\QTGMC-3.33.html  [2011-05-05]
Quote:
Originally Posted by LigH View Post
Which file manager do you use to copy files into the system directories? I hope they are not 32-bit executables. They "lie" to you, as the previous users explained. Trying to enter System32 or SysWOW64, you will probably end in the same directory when you use a file manager as 32-bit executable. Only a 64-bit file manager will have access to these directories separately (if started "as Administrator").
The standard windows explorer. I don't think it suffers from this issue.

Quote:
Originally Posted by real.finder View Post
yes, I see same problem when I enter by TeamViewer in my friend pc that use teracopy, remove the teracopy fix it, I was think it was teracopy bug or limit
That is a limitation/bug in Teracopy which has been confirmed and is on the roadmap to be possibly fixed in the next version:

Code:
http://bugs.codesector.com/view.php?id=63
P.S. I am using Windows 10 x64 and my processor is Intel i7-5820k.

Last edited by THEAST; 27th December 2017 at 11:12.
THEAST is offline  
Old 27th December 2017, 11:28   #3825  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,746
I wonder if one of your AviSynth import scripts might explicitly load plugins from a specific directory, so either 32-bit or 64-bit plugins. But that should be less probable if you used them from the URLs in the AviSynth Wiki page of QTGMC and its plugin packs, they should rely on plugins being auto-loaded or explicitly loaded in the calling script ...

Try to run both AVSMeter and AVSMeter64 with your script as parameter to "benchmark" it in 32-bit and 64-bit mode, that may produce more verbose error messages in case of a crash.

Furthermore ... MeGUI may use an own copy of AviSynth+ instead of the one installed in your system, depending on its configuration. MeGUI log files should reveal that.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline  
Old 27th December 2017, 11:33   #3826  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Considering the "illegal instruction" error and the fact that it works with r2544 it seems reasonable to assume that the Avisynth core is to blame. Let's see what pinterf has to say about it.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline  
Old 27th December 2017, 11:40   #3827  |  Link
THEAST
Registered User
 
Join Date: Apr 2009
Posts: 76
I updated all the DLLs from the Github links provided in QTGMC Wiki before updating to the new version; other than QTGMC and SMDegrain, the rest of the "avsi" files should not be loaded in my script.

With build Avisynth+ 2574 x86 and AVSMeter x86, I get the following output if QTGMC is included:

Code:
AVSMeter 2.7.0 (x86) - Copyright (c) 2012-2017, Groucho2004
AviSynth+ 0.1 (r2574, MT, i386) (0.1.0.0)

Exception 0xC000001D [STATUS_ILLEGAL_INSTRUCTION]
Module:   C:\WINDOWS\SysWOW64\avisynth.DLL
Address:  0x69F0F3A8
If QTGMC is removed, or the 64-bit version of Avisynth and AVSMeter is used, then the benchmark runs correctly.

To use build 2544, I just overwrote the build 2574 x86 DLLs in SysWOW64 with the ones from build 2544 and did not at all touch the x64 or the plugin DLLs; that seems to solve the issue.

P.S. If anyone has other Avisynth+ builds between 2544 and 2574, I can try finding the exact build that causes the problem.

Last edited by THEAST; 27th December 2017 at 11:43.
THEAST is offline  
Old 27th December 2017, 12:34   #3828  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
@THEAST: what processor type are you using?
pinterf is offline  
Old 27th December 2017, 12:54   #3829  |  Link
THEAST
Registered User
 
Join Date: Apr 2009
Posts: 76
Quote:
Originally Posted by pinterf View Post
@THEAST: what processor type are you using?
Intel i7-5820k.
THEAST is offline  
Old 27th December 2017, 15:02   #3830  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
I can see the crash. Cannot imagine what has happened. Debug build is not crashing. Nothing has been changed related to this report. I have avx2. Maybe VS updated itself.
pinterf is offline  
Old 27th December 2017, 16:04   #3831  |  Link
THEAST
Registered User
 
Join Date: Apr 2009
Posts: 76
It is a bug in the compiler, then?
THEAST is offline  
Old 27th December 2017, 16:18   #3832  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Don't know if vmovntdqa reg,reg is valid or not but it seems to be not. The crash occurs in merge_avx2:

Code:
      00070	8d 40 20	 lea	 eax, DWORD PTR [eax+32]

      ; 70   :       __m256i src1  = _mm256_stream_load_si256(reinterpret_cast<__m256i*>(p1+x));

      00073	c5 fe 6f 40 e0	 vmovdqu ymm0, YMMWORD PTR [eax-32]
      00078	c4 e2 7d 2a c8	 vmovntdqa ymm1, ymm0            ****CRASH HERE! ILLEGAL INSTRUCTION VS15.5.1!!!****

      ; 71   :       __m256i src2  = _mm256_stream_load_si256(const_cast<__m256i*>(reinterpret_cast<const __m256i*>(p2+x)));
      0007d	c5 fe 6f 44 02 e0		 vmovdqu ymm0, YMMWORD PTR [edx+eax-32]
      00083	c4 e2 7d 2a c0	 vmovntdqa ymm0, ymm0
Will update to 15.5.2 and see what happens.

EDIT:
With VS 15.5.2 the code still fails. Replaced stream_load with normal load, it's O.K.

Last edited by pinterf; 27th December 2017 at 16:52.
pinterf is offline  
Old 27th December 2017, 17:52   #3833  |  Link
VS_Fan
Registered User
 
Join Date: Jan 2016
Posts: 98
The guy offering binaries for x265 at http://msystem.waw.pl/x265/ switched from VS 2017 to VS 2015.2 claiming the update 15.5 of VS 2017 is giving serious problems:
Quote:
From version 2.6+17 there are no VS 2017 builds – update 15.5 of VS 2017 is so wrong (and it is not possible to install VS 2017 15.4) that I switched to VS 2015.2
VS_Fan is offline  
Old 27th December 2017, 19:01   #3834  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,492
vmovntdqa reg,reg seems invalid. I think it should be vmovdqa. Then again I'm not sure what that second use, vmovntdqa ymm0, ymm0, is meant to achieve...
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey is offline  
Old 27th December 2017, 19:14   #3835  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Compiler bug. Second parameter is an aligned memory address (this instruction is a non-cache-polluting load)
pinterf is offline  
Old 27th December 2017, 21:34   #3836  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
New release.
Avisynth Plus r2580-MT

..and let's hope the best (compiler-quality-wise). I didn't have a machine with Visual Studio 2015 right now, I have just moved to a new computer (finally a one with AVX2 capable processor)

Edit: dates are 26th December inside. Today is 27th. Nevermind. I got one more day in holiday to finish reading Rama II

Code:
- (workaround): Merge: Visual Studio 2017 15.5.1/2 generated invalid AVX2 code (x86 crashed)
- Temporalsoften 10-14 bits: an SSE 4.1 instruction was used for SSE2-only CPU-s (Illegal Instruction on Athlon XP)

Last edited by pinterf; 27th December 2017 at 21:39. Reason: Date mismatch
pinterf is offline  
Old 28th December 2017, 05:16   #3837  |  Link
THEAST
Registered User
 
Join Date: Apr 2009
Posts: 76
@pinterf, thank you for the quick update despite the holidays. I can confirm that the new build works correctly on my environment both in x86 and x64 mode.

I performed a few speed tests using AVSMeter with both 6 and 12 threads (6-core Intel i7-5820k, Windows 10 x64). I can reliably get 10-12% FPS improvement on the same script (the main filter being QTGMC) when going from Avisynth+ x86 to x64. I also tested the ICC SSE4.2 and AVX2 versions of NNEDI and compared with the VS version; the ICC version is actually around 1% slower.

Happy holidays to everyone.
THEAST is offline  
Old 28th December 2017, 12:36   #3838  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by pinterf View Post
Edit: dates are 26th December inside. Today is 27th. Nevermind.
Code:
[Avisynth info]
VersionString:              AviSynth+ 0.1 (r2580, MT, i386)
VersionNumber:              2.60
File / Product version:     0.1.0.0 / 0.1.0.0
Interface Version:          6
Multi-threading support:    Yes
Avisynth.dll location:      D:\WINNT\system32\avisynth.dll
Avisynth.dll time stamp:    2017-12-27, 19:51:55 (UTC)
PluginDir2_5 (HKLM, x86):   E:\Apps\VideoTools\AVSPlugins\AutoLoad
PluginDir+   (HKLM, x86):   E:\Apps\VideoTools\AvisynthRepository\AVSPLUS_x86\plugins
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline  
Old 28th December 2017, 12:55   #3839  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Then in the readme of the files-only pack.
pinterf is offline  
Old 28th December 2017, 13:30   #3840  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by pinterf View Post
Then in the readme of the files-only pack.
I see, didn't look at the readme.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline  
Closed Thread

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 09:27.


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