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 7th May 2015, 17:34   #61  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by stax76 View Post
I did test r1576 and also Win10 natively (without vmware), problem persist.
I already asked you over at Don's forum - What client programs do you feed the script to? I don't think MPC-BE is a good choice for testing.
If the script works with VDub64, x264_64, AVSMeter64, I'd say your problem is not the plugin.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 7th May 2015, 22:00   #62  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,667
Quote:
Originally Posted by Groucho2004 View Post
If the script works with VDub64, x264_64, AVSMeter64, I'd say your problem is not the plugin.
+ 1 Post of the day.
videoh is offline   Reply With Quote
Old 8th May 2015, 08:23   #63  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Just because a bug does not surface doesn't mean that the bug does not exist, the only thing that it sure at this point is that the bug exists, it can be in the avs plugin, it can be in the avs core, it can be in the client interop layer, it can be even in the CLR. I tested 15 plugins and only nnedi3, DGMPGDec and DGDecNV have a problem, chances are good we will find it, wherever it is.

Last edited by stax76; 8th May 2015 at 08:43.
stax76 is offline   Reply With Quote
Old 8th May 2015, 09:34   #64  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by stax76 View Post
Just because a bug does not surface doesn't mean that the bug does not exist
I can't quite imagine how the bug you reported (crash) can be concealed by other programs.

Quote:
Originally Posted by stax76 View Post
DGMPGDec
When you search the forum, you'll find that there are all sorts of problems with the 64 Bit version of DGDecode.dll, missing IDCT modes, "green" frames, ...
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 8th May 2015, 10:10   #65  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
When MediaInfo was new it wasn't working with any .NET application, I don't know what it was, it could be a bad pointer pointing into managed space I believe.
stax76 is offline   Reply With Quote
Old 8th May 2015, 11:04   #66  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,667
The 64-bit version of DGMPGDec's DGDecode is not made by Graft and is known to be buggy, as Groucho2004 pointed out. There are no known issues with 64-bit DGDecNV, so please demonstrate one if you can. Graft is always keen to fix issues in his code.

None of Graft's tools contain any "pointers pointing into managed space".

Last edited by videoh; 8th May 2015 at 11:16.
videoh is offline   Reply With Quote
Old 8th May 2015, 11:19   #67  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
Quote:
Originally Posted by Groucho2004 View Post
If the script works with VDub64, x264_64, AVSMeter64, I'd say your problem is not the plugin.
I personnaly would said "It may not be the pluggin, or don't focus only on pluggin".

Quote:
Originally Posted by stax76 View Post
Just because a bug does not surface doesn't mean that the bug does not exist.
I also agree.

The fact also that's it's not crashing with opt=1 means that it's crashing only when using the ASM part code, meaning that something broke the register presevation rules.
If it was a bug in the ASM like a loop going too far or something like that, issue would have poped up earlier and on any system (i think).
This is why within a week or two, i'll take a long time to properly check that the ASM code is not breaking the x64 register preservation rules, according the standard fastcall_ calling procedures. I'll also check code itself, but this is the only thing i think for now.

stax76
You've asked benchmarks :
Code:
[General info]
Log file created with:   AVSMeter 2.0.1 (x64)
Avisynth version:        AviSynth+ 0.1 (r1576, x64) (2.6.0.5)
Avisynth DLL location:   C:\Windows\System32\AviSynth.dll


[Clip info]
Number of frames:                 4077
Length (hh:mm:ss.ms):     00:02:50.045
Frame width:                       960
Frame height:                      720
Framerate:                      23.976 (24000/1001)
Colorspace:                       YV12
Audio channels:                    n/a
Audio bits/sample:                 n/a
Audio sample rate:                 n/a
Audio samples:                     n/a


[Runtime info]
Frames processed:               4077 (0 - 4076)
FPS (min | max | average):      17.08 | 99.95 | 55.80
Memory usage (phys | virt):     93 | 91 MB
Thread count:                   37
CPU usage (average):            38%
Time (elapsed):                 00:01:13.060


[Script]
SetMemoryMax(64)
AVISource("Ken - 101.avi",False,"YV12").SetPlanarLegacyAlignment(True)
nnedi3_rpow2(rfactor=2,cshift="Spline36Resize",fwidth=960,fheight=720,nsize=0,nns=3,qual=2)
Code:
[General info]
Log file created with:   AVSMeter 2.0.1 (x64)
Avisynth version:        AviSynth+ 0.1 (r1576, x64) (2.6.0.5)
Avisynth DLL location:   C:\Windows\System32\AviSynth.dll


[Clip info]
Number of frames:                 4077
Length (hh:mm:ss.ms):     00:02:50.045
Frame width:                       960
Frame height:                      720
Framerate:                      23.976 (24000/1001)
Colorspace:                       YV12
Audio channels:                    n/a
Audio bits/sample:                 n/a
Audio sample rate:                 n/a
Audio samples:                     n/a


[Runtime info]
Frames processed:               1903 (0 - 1902)
FPS (min | max | average):      15.32 | 36.55 | 26.79
Memory usage (phys | virt):     92 | 91 MB
Thread count:                   37
CPU usage (average):            74%
Time (elapsed):                 00:01:11.047


[Script]
SetMemoryMax(64)
AVISource("Ken - 101.avi",False,"YV12").SetPlanarLegacyAlignment(True)
nnedi3_rpow2(rfactor=2,cshift="Spline36Resize",fwidth=960,fheight=720,nsize=0,nns=3,qual=2,opt=1)
Input video is encoded with UT Video codec.
jpsdr is offline   Reply With Quote
Old 8th May 2015, 21:16   #68  |  Link
foxyshadis
Angel of Night
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Tangled in the silks
Posts: 9,559
Quote:
Originally Posted by stax76 View Post
Just because a bug does not surface doesn't mean that the bug does not exist, the only thing that it sure at this point is that the bug exists, it can be in the avs plugin, it can be in the avs core, it can be in the client interop layer, it can be even in the CLR. I tested 15 plugins and only nnedi3, DGMPGDec and DGDecNV have a problem, chances are good we will find it, wherever it is.
Can you capture a crash dump in WinDbg, or install VS on the VM to debug it realtime? That might help a lot more. Access Violation on its own doesn't really tell a lot.
foxyshadis is offline   Reply With Quote
Old 8th May 2015, 23:14   #69  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
I already migrated to Win10 and Visual Studio 2015 Community Edition RC, I can try things but would need some hints because my C++ knowledge is only very basic.
stax76 is offline   Reply With Quote
Old 9th May 2015, 08:17   #70  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
Quote:
Originally Posted by stax76 View Post
I use x64 exclusively everywhere so it's difficult for me to test. I would have to download and setup everything. Is there a big performance difference between c and asm path? QTGMC uses nnedi3 and still works.
The ASM is something like 10 times faster, if I remember correctly (with default parameters).

jpsdr: I noticed this while perusing your ASM: https://github.com/jpsdr/NNEDI3/blob..._x64.asm#L1414 I don't know if that function is even used when it crashes, since stax76 hasn't provided the parameters passed to nnedi3...
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 9th May 2015, 09:42   #71  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
Good !!! And I don't know if it's related or the cause (there a good chance), but it's clearly a miss from my part wich need to be corrected.
Even with stax76 parameters, i don't know if i can say if this function is called or not.
I'll try to make a new build as soon as i can.
jpsdr is offline   Reply With Quote
Old 9th May 2015, 10:52   #72  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
New buid avaible for test.
jpsdr is offline   Reply With Quote
Old 9th May 2015, 16:38   #73  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
It still crashes, I'm trying to build the solution now with VS 2015 RC, it says /ZI and /O2 are incompatible.
stax76 is offline   Reply With Quote
Old 9th May 2015, 16:51   #74  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by stax76 View Post
it says /ZI and /O2 are incompatible.
Optimizations have to be turned off for debug builds.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 9th May 2015, 16:58   #75  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Thanks, I turned off optimizations and replaced

this line:

#include "afxres.h"

with:

#include "WinResrc.h"
#define IDC_STATIC -1

I thought MFC is included with Community Edition?

The build succeeds now but why doesn't it output any DLLs?
stax76 is offline   Reply With Quote
Old 10th May 2015, 01:03   #76  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
It's always breaking as access violation in this line:

https://github.com/jpsdr/NNEDI3/blob...edi3.cpp#L1258

There is however something in my code because I just noticed it only happens in the preview dialog and it loads in the crop dialog fine, I didn't expect that. I don't remember I do threading or something special. At least we have some hints now.

edit:

crop dialog does not use any other filters than the source I was forgetting

Last edited by stax76; 10th May 2015 at 01:14.
stax76 is offline   Reply With Quote
Old 10th May 2015, 01:49   #77  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by stax76 View Post
It's always breaking as access violation in this line:

https://github.com/jpsdr/NNEDI3/blob...edi3.cpp#L1258

There is however something in my code because I just noticed it only happens in the preview dialog and it loads in the crop dialog fine, I didn't expect that. I don't remember I do threading or something special. At least we have some hints now.

edit:

crop dialog does not use any other filters than the source I was forgetting
Have you tried "threads=1" with nnedi?
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 10th May 2015, 01:57   #78  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Quote:
Originally Posted by Groucho2004 View Post
Have you tried "threads=1" with nnedi?
does not make a difference, it works fine with opt=1
stax76 is offline   Reply With Quote
Old 10th May 2015, 10:14   #79  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
Picture information is interesting. If registers value are correct, RAX & RCX at 0, crash is expected. But issue is that RAX shouldn't be at 0, it's the source pointer. As this crash occur during the y loop, is the crash occuring at the first occurence of the loop, or after several ?
jpsdr is offline   Reply With Quote
Old 10th May 2015, 10:32   #80  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,316
I think i found another miss from my part, i'll do another build ASAP (but stay with same version).
jpsdr 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 08:17.


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