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 27th April 2020, 08:30   #5541  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 1,736
Quote:
Originally Posted by real.finder View Post
I don't use an ARM PC but this is cool
Picture Apple is thinking about switching to ARM...
__________________
@turment on Telegram
tormento is offline  
Old 27th April 2020, 08:31   #5542  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 1,736
Quote:
Originally Posted by qyot27 View Post
Ask for a hand, get an ARM instead.
Cool.

Any benchmark for us? Let's say simple denoise script with x264.
__________________
@turment on Telegram
tormento is offline  
Old 27th April 2020, 11:49   #5543  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 890
Quote:
Originally Posted by tormento View Post
Understood. And why not the complete set of SSE, i.e. 4.2, but 4.1 only?
Since SIMD is probably a popular dev topic I suggest you to take a look at what each instruction set provides.

For example, usually integer operations are provided after floating points, so SSE=float and SSE2+=int, AVX=float and AVX2=int.

Then because SSE appeared in early days, more and more instructions are added because later they were found useful but not provided. For example SSSE3 added horizontal additions. SSE4.1 is pretty sweet, it added lots of useful tools like extending data width (8bit extending to 16bit, which are useful in high bit depth), min and max on unsigned data (clamping pixel channels), and floating point rounding (used in converting internal floating to integers). As you can see, lots of them are naturally used by lots of filters.

SSE4.2 however is irrelevant to computing. It has instructions for strings (such as comparing strings or get length of a string), and for CRCs. It's close to useless for filters.

That's why most of the filters will use up to SSE4.1. Some can limit their usage under SSE/SSE2 because some SSE4.1 operations can usually be done in SSE/SSE2 at relatively low cost. It's author's discretion to support which one.
__________________
Projects
x265 - Yuuki-Asuna-mod Download / GitHub
TS - ADTS AAC Splitter | LATM AAC Splitter | BS4K-ASS
Neo AviSynth+ filters - F3KDB | FFT3D | DFTTest | MiniDeen | Temporal Median
MeteorRain is offline  
Old 27th April 2020, 11:52   #5544  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 1,736
Quote:
Originally Posted by MeteorRain View Post
Since SIMD is probably a popular dev topic I suggest you to take a look at what each instruction set provides.
Very interesting explanation!

Thank you!!!
__________________
@turment on Telegram
tormento is offline  
Old 27th April 2020, 13:36   #5545  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 9,244
Quote:
Originally Posted by tormento View Post
Understood. And why not the complete set of SSE, i.e. 4.2, but 4.1 only?
Maybe there is not much use for it.
Quote:
SSE4.2
SSE4.2 added STTNI (String and Text New Instructions),[10] several new instructions that perform character searches and comparison on two operands of 16 bytes at a time. These were designed (among other things) to speed up the parsing of XML documents.[11] It also added a CRC32 instruction to compute cyclic redundancy checks as used in certain data transfer protocols. These instructions were first implemented in the Nehalem-based Intel Core i7 product line and complete the SSE4 instruction set. Support is indicated via the CPUID.01H:ECX.SSE42[Bit 20] flag.
https://en.wikipedia.org/wiki/SSE4#SSE4.2

EDIT: OOPS sorry, was looking at last post on previous page of thread, thought is was the last post in thread. [already answered by MeteorRain]
__________________
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 ???

Last edited by StainlessS; 27th April 2020 at 13:42.
StainlessS is offline  
Old 27th April 2020, 14:13   #5546  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 1,736
Quote:
Originally Posted by StainlessS View Post
OOPS sorry, was looking at last post on previous page of thread, thought is was the last post in thread. [already answered by MeteorRain]
Kindness is never enough. Thank you too!
__________________
@turment on Telegram

Last edited by tormento; 27th April 2020 at 14:23.
tormento is offline  
Old 27th April 2020, 14:23   #5547  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,899
Anyway, non SSE4.1 processors are so rare that months pass until someone report a bug on that (executing sse4.1 instruction instead of sse2), lately in VapourSynth Expr, but such bug existed in an old mvtools2 as well and probably once in Avisynth+)
pinterf is offline  
Old 27th April 2020, 18:17   #5548  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,218
Quote:
Originally Posted by pinterf View Post
@real.finder, what about a mode25 test instead? Check rgtools site. This took one week's time including my earlier attempts on it, I do hope there are no other unavoidable modes.
did some tests, mode 25 seems work ok in x64 and HBD

__________________
See My Avisynth Stuff
real.finder is offline  
Old 27th April 2020, 18:20   #5549  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,218
Quote:
Originally Posted by tormento View Post
Cool.

Any benchmark for us? Let's say simple denoise script with x264.
You will be lucky if you get 1 fps every 1 minute since it's arm and there are only c (no asm)
__________________
See My Avisynth Stuff
real.finder is offline  
Old 27th April 2020, 18:30   #5550  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,899
Quote:
Originally Posted by real.finder View Post
did some tests, mode 25 seems work ok in x64 and HBD

And behind the scenes mode 26-28 are ready from C up to avx2. I decided to do the Repair side as well because these things are ugly when done half finished.
pinterf is offline  
Old 27th April 2020, 18:34   #5551  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,218
Quote:
Originally Posted by pinterf View Post
And behind the scenes mode 26-28 are ready from C up to avx2. I decided to do the Repair side as well because these things are ugly when done half finished.
big thanks!

I think I will add SoftSharpen my edits/modeds scripts
__________________
See My Avisynth Stuff
real.finder is offline  
Old 27th April 2020, 22:11   #5552  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,899
And we have an RgTools of which version no longer starts with zero
pinterf is offline  
Old 27th April 2020, 23:34   #5553  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,218
Quote:
Originally Posted by pinterf View Post
And we have an RgTools of which version no longer starts with zero
what a happy day

and yes, as you said in github
Quote:
pinterf: I swear that by seeing the code mode 28 is different from mode 27 but I cannot find a clip where 27 and 28 gave different results
seems the output is same for quick test!

SoftSharpen now works! but no x64 since it use asharp but in any case I will did some edit for it (later!) to make it HBD ready
__________________
See My Avisynth Stuff

Last edited by real.finder; 28th April 2020 at 00:13.
real.finder is offline  
Old 28th April 2020, 17:24   #5554  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,899
And finally. 3.5.2. test builds, files only.
There are plugins and plugins64 folder inside, not plugins+ and plugins64+, sorry. But I think not much mixed environment (with avs 2.6) are left by now.

Those who cannot wait for the feature explanations please check readme_history.txt for changes.

But until I post about the new features use these builds as usual. If they fail in something test them with other scripts. Thank you.

This one with array support (preferred)
https://drive.google.com/open?id=1_4...lTIp3u5jFpAgRW

Without arrays
https://drive.google.com/open?id=1EY...uD--nSj12hILX4
pinterf is offline  
Old 28th April 2020, 18:09   #5555  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,054
Quote:
Originally Posted by pinterf View Post
And finally. 3.5.2. test builds, files only.
There are plugins and plugins64 folder inside, not plugins+ and plugins64+, sorry. But I think not much mixed environment (with avs 2.6) are left by now.

Those who cannot wait for the feature explanations please check readme_history.txt for changes.

But until I post about the new features use these builds as usual. If they fail in something test them with other scripts. Thank you.

This one with array support (preferred)
https://drive.google.com/open?id=1_4...lTIp3u5jFpAgRW

Without arrays
https://drive.google.com/open?id=1EY...uD--nSj12hILX4
I just looked at readme_history.txt - Crikey, you've been busy.

__________________
Groucho's Avisynth Stuff
Groucho2004 is offline  
Old 28th April 2020, 18:58   #5556  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 9,244
From Brief comparison with previous issue.

Code:
AviSynth+_3.5.2_(r3218,_neo,_i386)_MOD_ADD_Function_List.TXT

NOTE, We cannot tell if more than single modification or addition has been made, some may have been omitted.

######
AlignedSplice             "cci"

###### NEW
Array                     ".*"
ArrayGet                  "a.+"
ArraySize                 "a"

######
BlankClip                 "[]c*[length]i[width]i[height]i[pixel_type]s[fps]f[fps_denominator]i[audio_rate]i[channels]i[sample_type]s[color]i[color_yuv]i[clip]c[colors]a"

######
ConditionalFilter         "cccn[show]b[local]b"

######
ConditionalReader         "css[show]b[condvarsuffix]s[local]b"

######
ConditionalSelect         "cnc+[show]b[local]b"

###### NEW
DumpFilterGraph           "c[outfile]s[mode]i[nframes]i[repeat]b"

###### NEW
Format                    "s.+"

###### NEW
Func                      "n"

###### NEW
IsArray                   "."

###### NEW
IsFunction                "."

###### NEW
OnCPU                     "n"

######
Prefetch                  "c[threads]i[frames]i"

###### NEW
propClearAll              "c"
propDelete                "cs"
propGetAll                "c[offset]i"
propGetAny                "cs[index]i[offset]i"
propGetAsArray            "cs[offset]i"
propGetDataSize           "cs[index]i[offset]i"
propGetFloat              "cs[index]i[offset]i"
propGetInt                "cs[index]i[offset]i"
propGetKeyByIndex         "c[index]i[offset]i"
propGetString             "cs[index]i[offset]i"
propGetType               "cs[offset]i"
propNumElements           "cs[offset]i"
propNumKeys               "c[offset]i"
propSet                   "csa"
propSetArray              "csn"
propSetFloat              "csn[mode]i"
propSetInt                "csn[mode]i"
propSetString             "csn[mode]i"
propShow                  "c[size]i[showtype]b"

######
ScriptClip                "cn[show]b[after_frame]b[local]b"

######
SetFilterMTMode           "si[force]b"

###### NEW
SetCacheMode              "[mode]i"
SetDeviceOpt              "[opt]i[val]i"

###### NEW
SetGraphAnalysis          "b"

###### NEW
SetMaxCPU                 "s"

######
SetMemoryMax              "[]i[type]i[index]i"

###### NEW
TypeName                  "."

######
UnalignedSplice           "cci"

###### NEW
UseVar                    "cs+"

######
WriteFile                 "c[filename]sn+[append]b[flush]b[local]b"

######
WriteFileEnd              "c[filename]sn+[append]b[local]b"

######
WriteFileIf               "c[filename]sn+[append]b[flush]b[local]b"

######
WriteFileStart            "c[filename]sn+[append]b[local]b"
Top Notch P, thanks
__________________
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 ???

Last edited by StainlessS; 28th April 2020 at 19:03.
StainlessS is offline  
Old 28th April 2020, 19:08   #5557  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,899
propSets must be of different signatures.
Function with n-function parameter types are from Nekopanda's fork. And filter graph. And the mt fixes. Thanks for him.
pinterf is offline  
Old 28th April 2020, 19:19   #5558  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 1,736
Quote:
Originally Posted by Groucho2004 View Post
Crikey
I think it's 35 years I did not hear that word.

And it was from my 70 yo english teacher reading some XVIII century book.
__________________
@turment on Telegram
tormento is offline  
Old 28th April 2020, 19:22   #5559  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,899
If no instant fix is required then I will have time to explain the features, one per day . Unless you explain them to yourselves.
pinterf is offline  
Old 28th April 2020, 19:23   #5560  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 1,736
Quote:
Originally Posted by pinterf View Post
And finally. 3.5.2. test builds, files only.
Wow, what a work!

Can we use "old" plugins or they won't work as you told us?
__________________
@turment on Telegram
tormento 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 20:47.


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