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. |
29th April 2020, 14:41 | #2 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,589
|
I was thinking about additional script extension exclusive for avs+ like .avsp (maybe it's not good since there are program named AVSP) or .pavs, and for autoload script .avsip or .avspi /.pavsi
both with unicode utf-8
__________________
See My Avisynth Stuff Last edited by real.finder; 29th April 2020 at 14:49. |
29th April 2020, 14:53 | #3 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,994
|
New version Avs+, gazilions of new functions, new Avs+ thread, A truly great day indeed.
May all your gods look with favour upon you
__________________
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 ??? |
29th April 2020, 18:27 | #4 | Link | |
Acid fr0g
Join Date: May 2002
Location: Italy
Posts: 2,732
|
Quote:
I have googled and there are no programs AFAIK that already use that.
__________________
@turment on Telegram |
|
29th April 2020, 18:56 | #5 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,445
|
I honestly don't see the point of Plus-specific extension(s). It would make sense if we were completely overhauling the AviSynth scripting language into a properly versioned one with in-script controls and a CLI interpreter for that sort of compatibility (think of the hashbang in Unix shell scripts), in the sense that the wholly-different language was Plus-specific and absolutely needed to be shielded from 2.6 and prior, but we aren't. UTF-8 is transparent to the host on everything that's not Windows, and even is transparent on Windows if you've actually set the system locale to UTF-8 (which is possible on Win10, it's just not the default like it is on nearly every other OS out there). Even 2.6 is fine with UTF-8 in that situation.
|
29th April 2020, 19:07 | #6 | Link | |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Quote:
Indeed.
__________________
Groucho's Avisynth Stuff |
|
29th April 2020, 21:13 | #7 | Link |
結城有紀
Join Date: Dec 2003
Location: Oregon
Posts: 895
|
I'd like to re-raise the problem -- array idea seems to be incompatible with previous versions.
__________________
My Projects x265 - Yuuki-Asuna-mod TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median |
29th April 2020, 22:51 | #8 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,589
|
the point is to make sure that non plus avs not load these scripts since they will be utf-8 and has another new things that unavailable in normal avs, so it should be more casual users and noobs friendly
__________________
See My Avisynth Stuff Last edited by real.finder; 29th April 2020 at 22:53. |
29th April 2020, 23:49 | #9 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,445
|
AviSynth 2.5, 2.6, any version of Plus, etc. honors the system locale. UTF-8 causes problems for AviSynth in one scenario, and only one scenario: the user has left Windows set at its regional default codepage (whether that's Windows-1252, -1251, -932, -936, -949, -950, etc.).
On Linux, macOS, and BSD, the system locale is UTF-8. AviSynth+ has no issues with it, without us having had to change any code at all to accommodate it. Text files created on these systems also usually default to UTF-8 without BOM anyway. On Windows 10, Microsoft finally allows users to set the system codepage (locale) to 65001, which is UTF-8. If you do this, none of the versions of AviSynth, classic or Plus, have issues with it. Notepad in Windows 10, regardless of the locale, was switched to defaulting to save in UTF-8 without BOM a while ago. Proving that this isn't something Plus-related, here's 2.6.1 running a UTF-8 encoded script with a UTF-8 filename, opening a video with FFMS2 with a UTF-8 filename (without passing any kind of special parameter to allow it), in a directory with a UTF-8 name: Last edited by qyot27; 29th April 2020 at 23:59. |
30th April 2020, 05:53 | #10 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,322
|
Quote:
I was looking for a way to keep existing 'type' and '+' format, but I could not find a convenient and compatible way to do that. At the moment "a" type in function signatures are for ".+" and requires [] syntax on the script side. Nor can it specifiy that you want a float-only array for example. On the bright side, new-style dedicated array parameters can appear anywhere in the list and can have names, can follow each other even with specifying zero elements in them. Another big difference that new-style script arrays can be of multiple levels, not only an 1-D array, like they are treated in parameter list (btw - you are dealing with dual AVS-VS interfaces, does VapourSynth allows multilevel array as function parameters?). They can be of 0 or 1 elements and they still preserve their type as array. There are more differences: unlike old arrays they are deep-copied and deep-deleted on deallocation (except on C interface which is treated specially) I think I have to look at that in internal "Invoke_" as well. In "Invoke_" the array-typed arguments are totally 'flattened' back before calling function-match checking (thus their arrayness is removed). This is a reason why array arguments cannot follow each other as an unnamed parameters. The array parameters (if they are of mixed type or zero sized) cannot be separated again any more. |
|
30th April 2020, 09:53 | #11 | Link |
結城有紀
Join Date: Dec 2003
Location: Oregon
Posts: 895
|
I believe you have to specify "type[]" as type in VS. So it's 1D array of specific type. -- hopefully my memory serves right.
The main problem is "a" type will cause the filter to not run on non-array avs -- even same avs version that compiles without array support. That's why I proposed a compatible way of annotating array. Again it's a premature idea, I haven't checked Invoke() and I'm not sure if it would work.
__________________
My Projects x265 - Yuuki-Asuna-mod TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median |
30th April 2020, 10:04 | #12 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,322
|
Quote:
The key is inside avisynth.cpp "Invoke_" . Look at it in 'neo' branch, this part has been changed a lot compared to 'master', though our problem this flattening-function matching part was not affected. |
|
30th April 2020, 16:52 | #14 | Link |
Registered User
Join Date: Oct 2018
Location: Germany
Posts: 1,040
|
Avisynth 3.52 x64 with arrays.
Access Violation Shader_x64.dll, no problems with the previous Avisynth version Code:
function SuperResXBR shader.avsi line 218 ExecuteShader(last, Input, Precision=3, Clip1Precision=PrecisionIn, OutputPrecision=PrecisionOut, PlanarOut=PlanarOut, Engines=Engines, Resource=true)
__________________
Live and let live |
30th April 2020, 16:58 | #15 | Link | |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Quote:
__________________
Groucho's Avisynth Stuff |
|
30th April 2020, 17:08 | #16 | Link |
Registered User
Join Date: Oct 2018
Location: Germany
Posts: 1,040
|
A normal script
Even with the version without arrays, it pops. Code:
SourceFile = ScriptDir() + "Your source" video=LWLibavVideoSource(SourceFile, cache=False) audio=LWLibavAudioSource(SourceFile, cache=False) audioDub(video, audio) #SelectEven() MCTemporalDenoise(settings="low", sigma=4, strength=150, tovershoot=1, GPU=true) prefetch(4) #Spline36Resize(1920, 1080) SuperResXBR(Passes=1, Soft=0.0, XbrSharp=1.0, fWidth=1920, fHeight=1080) UnsharpMask(strength=60, radius=3, threshold=8)
__________________
Live and let live |
30th April 2020, 17:10 | #17 | Link |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
OK, I can reproduce it.
__________________
Groucho's Avisynth Stuff |
30th April 2020, 17:12 | #18 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,322
|
AviSynthShader plugin is using the Avs+ specific IScriptEnvironment2.
e.g. b = static_cast<IScriptEnvironment2*>(env)->Allocate(floatBufferPitch, 32, AVS_POOLED_ALLOC); EDIT: changed link, master became finalized This plugin will work again if rebuilt with V8 headers and use env->Allocate (IScriptEnvironment instead of IScriptEnvironment2). https://github.com/AviSynth/AviSynthPlus/tree/master/ (Similarly to KNLMeansCL and chikuzen's plugins) EDIT: For more info, see 1st post Last edited by pinterf; 16th June 2020 at 08:35. Reason: final github link is master |
30th April 2020, 17:23 | #19 | Link | |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Quote:
__________________
Groucho's Avisynth Stuff |
|
30th April 2020, 17:58 | #20 | Link | |
Registered User
Join Date: Oct 2018
Location: Germany
Posts: 1,040
|
Quote:
I haven't compared the two in code and return values, but no chance to turn it in avisynth? I think that some plugin developers are no longer available (free, without money). EDIT: Just checked, the shader.dll is from mysteryx93 on github. It will probably still be reachable. Have already panicked, I used the SuperResXBR very often at the beginning (approx. 3xx, to many scripts on my hard drives)
__________________
Live and let live Last edited by gispos; 30th April 2020 at 18:26. |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|