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 3rd June 2017, 18:41   #3441  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,852
I'm on the XP problem, so far no success.
EDIT:
Arggh. It was a compiler setting problem: /Zc:threadSafeInit- was missing.

But now I see what happens.
During autoload, these DLLs called GetCPUFlags in their Init, after AddFunction and caused Avisynth+ to crash.

VerticalCleanerSSE2.dll
RepairSSE2.dll
RemoveGrainSSE2.dll
RemoveDirtSSE2.dll
SSE2Tools.dll


e.g. in old RemoveGrain source
Code:
extern "C" __declspec(dllexport) const char* __stdcall AvisynthPluginInit2(IScriptEnvironment* env)
{
#ifdef	MODIFYPLUGIN
	env->AddFunction("Repair", "cc[mode]i[modeU]i[modeV]i[planar]b", CreateRemoveGrain, 0);
	env->AddFunction("TemporalRepair", "cc[smooth]i[grey]b[planar]b", CreateTemporalRepair, 0);
#else // MODIFYPLUGIN
	env->AddFunction("RemoveGrain", "c[mode]i[modeU]i[modeV]i[planar]b", CreateRemoveGrain, 0);
	env->AddFunction("Clense", "c[grey]b[reduceflicker]b[planar]b[cache]i", CreateClense, 0);
	env->AddFunction("MCClense", "ccc[grey]b[planar]b", CreateMCClense, 0);
	env->AddFunction("BackwardClense", clenseargs, CreateBackwardClense, 0);
	env->AddFunction("ForwardClense", clenseargs, CreateForwardClense, 0);
#endif // MODIFYPLUGIN
	AVSenvironment = env;
	if( (CPUFLAGS & env->GetCPUFlags()) != CPUFLAGS ) 
#if	ISSE > 1
		env->ThrowError("RemoveGrain needs an SSE2 capable cpu!\n");
#else
		env->ThrowError("RemoveGrain needs an SSE capable cpu!\n");
#endif
#if	0
	debug_printf(LOGO);
#endif
	return "RemoveGrain: remove grain from film";
}
The GetCPUFlags gave access violation.

From the two debug lines in GetCPUFlags, only the first one was displayed, seems that calling CPUCheckForExtensions gave an instant crash.

In cpuid.cpp
Code:
static int CPUCheckForExtensions()
{
... 
}

int GetCPUFlags() {
  _RPT0(0, "GetCPUFlags() called\n");
  static int lCPUExtensionsAvailable = CPUCheckForExtensions();
  _RPT0(0, "GetCPUFlags() called 2\n");
  return lCPUExtensionsAvailable;
}
This static initialization fails under XP w/o the /Zc:threadSafeInit- flag.

Rebuild later, it's already dark here, and I have get home w/o police affairs (forgot to put front lamp on my bike)

Last edited by pinterf; 3rd June 2017 at 20:06.
pinterf is offline  
Old 3rd June 2017, 22:26   #3442  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,852
Thank you for your patience, here come the fixed binaries

Download Avisynth+ r2504-MT (broken XP support hotfix)

Last edited by pinterf; 3rd June 2017 at 22:37. Reason: typo
pinterf is offline  
Old 3rd June 2017, 22:34   #3443  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,054
Quote:
Originally Posted by pinterf View Post
Thank you for your patiance, here come the fixed binaries
Thank you, this seems to work fine now.
Groucho2004 is offline  
Old 3rd June 2017, 23:15   #3444  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,054
Quote:
Originally Posted by tuanden0 View Post
@Groucho2004:
Here is it I take it from test server of MeGUI
http://megui.tmebi.de/test/vsfilter.1.5.0.2827_x64.7z

If I use AVSmeter to write a log with avs+ 2502, the program said cannot load filter until I deleted all 32b and 64b filter folders?
Then, after deleted filter folder, i have a logs
According to your logs, there are no plugins in the listed auto-load directories which makes sense since you apparently deleted all auto-load directories. Judging by the auto-load entries in the registry it seems that you installed several Avisynth versions on top of each other without un-installing first.

You should clean this up and re-install:

- Delete "C:\Program Files (x86)\AviSynth+" and subdirs
- Delete these registry keys:
HKEY_CURRENT_USER\Software\Avisynth
HKEY_LOCAL_MACHINE\SOFTWARE\Avisynth
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Avisynth

Last edited by Groucho2004; 3rd June 2017 at 23:30.
Groucho2004 is offline  
Old 4th June 2017, 03:43   #3445  |  Link
tuanden0
Registered User
 
Join Date: Oct 2016
Posts: 104
Quote:
Originally Posted by Groucho2004 View Post
You should clean this up and re-install:

- Delete "C:\Program Files (x86)\AviSynth+" and subdirs
- Delete these registry keys:
HKEY_CURRENT_USER\Software\Avisynth
HKEY_LOCAL_MACHINE\SOFTWARE\Avisynth
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Avisynth
How can I say "I love you" Groucho2004
tuanden0 is offline  
Old 5th June 2017, 11:35   #3446  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 1,899
@Pinterf : Are-you using VS2017 ? If i haven't try for now to update to VS2017, is that i don't know if XP is still supported. When your new version didn't work, i thought i was the case, i said to myself "No... He didn't forget the /Zc:threadSafeInit-, it's probably not so easy... ".
Another thing, i don't know if the it can be installed under a 32bits OS (bad surprise with last Intel Compiler which doesn't install under a 32bits OS... ).

Last edited by jpsdr; 5th June 2017 at 11:38.
jpsdr is offline  
Old 5th June 2017, 12:38   #3447  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 9,121
Jpsdr, see here:- https://www.visualstudio.com/en-us/p...mpatibility-vs

XP supported as target, but last VS to support compilation on XP was vs 2010.
(Not sure, I think XP tool set was not provided until quite recently on vs 2017, I guess that they
finally realized that not everyone was willing to drop support for some millions of the old OS users).
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???
StainlessS is offline  
Old 5th June 2017, 12:48   #3448  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,268
Quote:
Originally Posted by StainlessS View Post
Jpsdr, see here:- https://www.visualstudio.com/en-us/p...mpatibility-vs

XP supported as target, but last VS to support compilation on XP was vs 2010.
(Not sure, I think XP tool set was not provided until quite recently on vs 2017, I guess that they
finally realized that not everyone was willing to drop support for some millions of the old OS users).
IIRC, when installing VS2017, you can also install VS2015's compilers/toolsets, so it could be configured to use v140_xp. The difference would be that there's also a v141_xp now (specifically for VS2017, apparently) too.

But I installed it a couple months ago and don't remember too well.
qyot27 is offline  
Old 6th June 2017, 08:31   #3449  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,852
Quote:
Originally Posted by jpsdr View Post
@Pinterf : Are-you using VS2017 ? If i haven't try for now to update to VS2017, is that i don't know if XP is still supported. When your new version didn't work, i thought i was the case, i said to myself "No... He didn't forget the /Zc:threadSafeInit-, it's probably not so easy... ".
Another thing, i don't know if the it can be installed under a 32bits OS (bad surprise with last Intel Compiler which doesn't install under a 32bits OS... ).
I'm not using it for production releases yet. When I have edited the cmake list file for vs2017, the XP support switch was moved (and not copied) from the vs2015 section so vs2015 build missed that option.
pinterf is offline  
Old 7th June 2017, 21:21   #3450  |  Link
VS_Fan
Registered User
 
Join Date: Jan 2016
Posts: 98
Problem with CombinePlanes?

Code:
FFmpegSource2(source="MVI_2038.avi")

#ConvertToYV12()
c0 = last

Y8=ExtractY() 
U8=ExtractU()
V8=ExtractV()

Y8= <luma Separate filter(s)>
U8= <chroma Separate filter(s)>
V8= <chroma Separate filter(s)>

CombinePlanes(Y8, U8, V8, planes="YUV", sample_clip=c0) #, pixel_type="YUV420P8" #, source_planes="YYY")
This will work if I convert to YV12 (YUV420P8), but my source is YV16 (YUV422P8), and I would of course prefer to keep it that way.

Am I doing anything wrong?

This is the error message I get when trying it with YUV422 material:

"CombinePlanes: source and target plane dimensions are different"

Last edited by VS_Fan; 7th June 2017 at 21:24. Reason: include error message
VS_Fan is offline  
Old 7th June 2017, 23:58   #3451  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,375
Quote:
Originally Posted by VS_Fan View Post
"CombinePlanes: source and target plane dimensions are different"
I think I found it:
avs_core\filters\planeswap.cpp, Line 870
Code:
    int target_plane_width = vi_default.width >> vi_default.GetPlaneWidthSubsampling(current_target_plane);
    int target_plane_height = vi_default.height >> vi_default.GetPlaneWidthSubsampling(current_target_plane);
raffriff42 is offline  
Old 8th June 2017, 07:52   #3452  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,852
Quote:
Originally Posted by raffriff42 View Post
I think I found it:
avs_core\filters\planeswap.cpp, Line 870
Code:
    int target_plane_width = vi_default.width >> vi_default.GetPlaneWidthSubsampling(current_target_plane);
    int target_plane_height = vi_default.height >> vi_default.GetPlaneWidthSubsampling(current_target_plane);
Oops, thanks.
pinterf is offline  
Old 8th June 2017, 12:18   #3453  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,852
CombinePlanes fixed, thanks for the report.

Download Avisynth+ r2506

Code:
20170608 r2506
  - Fix CombinePlanes: feeding YV16 or YV411 target with Y8 sources
pinterf is offline  
Old 11th June 2017, 18:35   #3454  |  Link
edcrfv94
Registered User
 
Join Date: Apr 2015
Posts: 81
after r1858 update to r2506.
r2506 will not load libfftw3f-3.dll under plugins+/plugins64+, libfftw3f-3.dll must under System32/SysWOW64.
It is a bug?

Last edited by edcrfv94; 11th June 2017 at 19:11.
edcrfv94 is offline  
Old 11th June 2017, 19:26   #3455  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,054
Quote:
Originally Posted by edcrfv94 View Post
after r1858 update to r2506.
r2506 will not load libfftw3f-3.dll under plugins+/plugins64+, libfftw3f-3.dll must under System32/SysWOW64.
It is a bug?
No, it's a feature.

libfftw3f-3.dll is not a plugin, it's not supposed to be in the auto-load directory. It has to be either in the current directory, the same directory of the calling program or in a directory to which the "PATH" environment variable points. For simplicity, just put it in System32/SysWOW64.

Last edited by Groucho2004; 12th June 2017 at 11:46.
Groucho2004 is offline  
Old 20th June 2017, 23:24   #3456  |  Link
Sharc
Registered User
 
Join Date: May 2006
Posts: 3,820
For the same source, same script and same x264 encoder settings (1-pass crf) I am getting about 45% bigger file size (and more noise) for AVS+ (x86) compared to AVS 2.6.0. How is this possible?
Sharc is offline  
Old 20th June 2017, 23:27   #3457  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,570
High bitdepth/dithering?

Show sample, scripts, program versions and logs.
sneaker_ger is offline  
Old 21st June 2017, 01:19   #3458  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,190
I'm running FrameRateConverter with 1 thread
Code:
FrameRateConverter(60, output="auto")
Code:
FPS (min | max | average):      2.044 | 68778 | 12.90
Memory usage (phys | virt):     353 | 349 MiB
Thread count:                   21
CPU usage (average):            13%
and with 8 threads
Code:
FPS (min | max | average):      2.332 | 129914 | 31.80
Memory usage (phys | virt):     785 | 784 MiB
Thread count:                   29
CPU usage (average):            42%
What is causing such a bottleneck at 42% CPU usage?
MysteryX is offline  
Old 21st June 2017, 07:57   #3459  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,852
Quote:
Originally Posted by MysteryX View Post
What is causing such a bottleneck at 42% CPU usage?
Are you using 32 or 64 bit Avisynth? What is your SetMemoryMax?
Perhaps try SetLogParams("log.txt", LOG_DEBUG) and look at the output. Is there any serialized mt mode filter in between?
pinterf is offline  
Old 21st June 2017, 09:26   #3460  |  Link
Sharc
Registered User
 
Join Date: May 2006
Posts: 3,820
Quote:
Originally Posted by sneaker_ger View Post
High bitdepth/dithering?

Show sample, scripts, program versions and logs.
I think I found the culprit. I am using in my script
Code:
temporalsoften(4,4,8,10,mode=2)
It seems to have no effect with AVS+ r2506, while it works as expected in AVS260.
Sharc 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 08:36.


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