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. |
25th May 2020, 14:07 | #222 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
Did you know?
New Format function in 3.6 http://avisynth.nl/index.php/Interna...ring_functions and scroll down a bit |
25th May 2020, 14:25 | #223 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
Did you know (#2)?
New "SetMaxCPU" function in 3.6 http://avisynth.nl/index.php/Interna...Global_Options |
25th May 2020, 14:46 | #224 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
Did you know (#3)?
Escaped string literals (from Nekopanda's fork) http://avisynth.nl/index.php/The_ful...ammar#Literals |
25th May 2020, 15:53 | #225 | Link | |
Registered User
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
|
Quote:
It does work on my Win7 computer with a CORE i5, but on my old XP machine (no SSE2) I get an access violation. Anyways, it does not make much of a difference. The vast majority of my plugins are CPP 2.5 plugins, and I do want to keep using them. The StaxRip version I use interfaces with AviSynth through the VFW interface, and this seems to cause my issues with AVS+ 3.6. Other host applications for AviSynth (like AVStoDVD) do not have these problems with LAV Filters not being released from memory, it is only StaxRip. And after more tests I found out that a lot of the CPP 2.5 plugins trigger this issue. So some of the changes between AVS+ 3.5.1 and 3.6 must have broken the VFW interface with the effect that old 2.5 plugins no longer work correctly. Now you might want to get rid of the VFW interface altogether in the near future, or you might want to drop support for 2.5 plugins, I don't know. Since I am unwilling to give up my StaxRip version or replace my 2.5 plugins with newer 2.6 versions, I only can decide to stick with AVS+ 3.5.1. All the new features are nothing I am interested in, so I do not miss out on anything. Cheers manolito |
|
25th May 2020, 16:08 | #227 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
Quote:
This masktools project consists of two parts, the other - non DLL part - was not flagged with this XP special option. Test 2: (ThreadSafeInit- flag set to all modules) https://drive.google.com/open?id=12d...qZhI3CquBDXKGD |
|
25th May 2020, 17:22 | #228 | Link | |
Registered User
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
|
Alright, the new test build now runs on my XP machine without any problems...
For the VfW interface I had not even thougt about VDub, thanks for mentioning it. And yes, I can easily reproduce the issue under VDub. I use an older version by FCCHandler with integrated MPEG2 support (VDub2 does nothing for me), but this should not make a difference. This is the source script: Quote:
The FineSharp script relies on MT_MaskTools-26 and RemoveGrain and Repair. All of them are CPP 2.5 plugins. If you comment out the FineSharp call in the above script and open it with VDub, everything works fine. But if you activate FineSharp, things change. Opening the script just once is no problem, but if you reopen the script you will see that the previous LAV Filter instances stay in memory. Reopen the script a couple of times, and you will see your taskbar populated with many LAV instances (if you have enabled the tray icons in the LAV settings). So I believe that it really is the VfW interface which is broken in AVS+ 3.6. Are we getting somewhere? |
|
25th May 2020, 18:12 | #229 | Link |
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,308
|
I assume SetMaxCPU will have effect on this kind of code:
Code:
SSE2_Enable=((env->GetCPUFlags()&CPUF_SSE2)!=0); AVX_Enable=((env->GetCPUFlags()&CPUF_AVX)!=0); AVX2_Enable=((env->GetCPUFlags()&CPUF_AVX2)!=0); Interesting for debuging. BTW, there is still no possibility to know the prefecth value used in the script within the Create function or the constructor ?
__________________
My github. |
25th May 2020, 18:19 | #230 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
Quote:
|
|
26th May 2020, 11:58 | #231 | Link |
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,308
|
For my needs... Not...
It's like... wanting to change the tires of a car while driving... I need the information when i create the threapools Code:
if (!poolInterface->CreatePool(prefetch)) env->ThrowError("...") Then i create for one (or more) pool the number of threads (in each pool) in the constructor (with each step a check to be sure everything went fine), and in the GetFrame the creation part is allready done, everything is ready to use, and used. Anyway, it's not critical, as the parameter can be set.
__________________
My github. Last edited by jpsdr; 26th May 2020 at 12:10. |
26th May 2020, 14:02 | #232 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
the output of GeneralConvolution seems different from AviSynth 2.6, is it bug?
using ConvertTorgb32 GeneralConvolution(Matrix="-1 2 -1 2 0 2 -1 2 -1")
__________________
See My Avisynth Stuff |
26th May 2020, 14:13 | #233 | Link | |
Registered User
Join Date: Jul 2003
Location: India
Posts: 890
|
Quote:
Now it appears MakeWritable may be the way to go. Also it appears NewVideoFrame(vi) will break. Do I need to alter all my avisynth+ plugins with this new environment? True when using IscriptEnvironment2 we were warned that it may change. But for keeping thread safety getting buffers from avisynth became possible and convenient. I request to please advise me on these aspects. |
|
26th May 2020, 14:31 | #234 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
|
hi vcmohan
since you about update your plugins, can you make your plugins look for libfftw3f-3.dll first, then fftw3.dll like https://github.com/pinterf/fft3dfilt...ilter.cpp#L711 ?
__________________
See My Avisynth Stuff |
26th May 2020, 19:56 | #235 | Link | |
Broadcast Encoder
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,883
|
Quote:
By the way, I connected my GitHub account and selected the project on my computer and when I have time I'll take a look at it and I'll try to make a /Zc:threadSafeInit debug x86 build to see whether it works or not, however I'm not really familiar with CMake... Image If you or someone else has time to make a /Zc:threadSafeInit x86 debug test build in the meantime, I'll test it. |
|
26th May 2020, 20:42 | #236 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
Quote:
/Zc:threadSafeInit- Sorry, I had zero time, need a few days even for this simple task. |
|
27th May 2020, 16:05 | #238 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
Dear volunteers, please test this version with as much CPP-2.5 plugins as you can (including those which were crashing with 3.6)
Avisynth+ 3.6.1-20200527 test Files only, *XP-compatible version, 32 bit version runs on SSE *cannot guarantee until you are reporting that is really works. Features: a bit (much) more friendly to Avisynth 2.5 style plugins - AvisynthPluginInit2 passes a separate ScriptEnvironment for CPP2.5 plugins, so Avisynth+ can catch their AddFunction and Invoke methods - since Avs2.5-ness is registered during plugin loading and AddFunction, calling such plugins from Avisynth+ core can happen in a compatible way without memory leaks. This results in stopping memory leak (on e.g. "last" clip would not freed up on destroying ScriptEnvironment) resulted in increasing memory consumption when doing consecutive script reloads in VirtualDub or probably in other editors. Last edited by pinterf; 27th May 2020 at 16:58. |
27th May 2020, 16:24 | #239 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,309
|
Quote:
As for MakeWritable, I don't know why it was on the blacklist. You can use NewVideoFrame in the future, it will take a long time until plugins are starting to use frame properties and the rules and conventions are defined and handled properly. All we have now that you can define, read and write frame properties. You can tell on creating a new empty frame which previous frame you want to be the parent of the frame properties. MakeWritable will do this copy instead of you automatically. This was my transition in mvtools to apply proper passing of those theoretical frame properties: https://github.com/pinterf/mvtools/c...0a3bfbb318a8f8 You can see there different techniques: - no source given at all (mask), - using NewVideoFrameP passing the source of fp immediately - using NewVideoFrame, then set fp's later by copyFrameProps. Plus it is done adaptively, only when filter detects a V8 interface. |
|
27th May 2020, 16:53 | #240 | Link | |
Registered User
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
|
Quote:
So can you or someone else please upload the file somewhere else? Thanks manolito |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|