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

Reply
 
Thread Tools Search this Thread Display Modes
Old 2nd May 2020, 23:57   #41  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Ikea Chair
Posts: 2,293
Quote:
Originally Posted by pinterf View Post
In what aspect is VS syntax more elegant aside from using [] for arrays?
Pascal order (name: type) is obviously always the most elegant!
Myrsloik is offline   Reply With Quote
Old 3rd May 2020, 01:51   #42  |  Link
MeteorRain
結城有紀
 
Join Date: Dec 2003
Location: NJ; OR; Shanghai
Posts: 890
Quote:
Originally Posted by pinterf View Post
In what aspect is VS syntax more elegant aside from using [] for arrays?
IMHO anything that is easier to read, to parse, to extend, is more elegant. If this is done in a more dynamic / higher level language I would simply use a hash map, or a JSON string because it's more readable, have standard library to parse, and can easily be extended should there be extra information adding to the content.

Now this is an ancient C/C++ project, so I don't want to add too many 3rd party things and too many modern things to it. That's why I didn't propose JSON (adding a JSON library to the dependencies). One (and probably the only one) that is both familiar to plugin authors and more readable, would be VS syntax. Again, I'm brainstorming various ways of doing things. One simple way would be what I said, use non-conflicting annotation to indicate arrays. Ugly, not nice, but is a workaround to support a little more thing. The other simple way would be switching to a more elegant syntax and completely solve this problem.

AVS was an ancient project, and lots of things were done in the way that would have been done differently if today's technologies and concepts are provided. But at the end of the day, it's still your discretion whether to move on from an old decision to a modern-er thing.
__________________
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   Reply With Quote
Old 4th May 2020, 05:17   #43  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,164
Quote:
Originally Posted by real.finder View Post
I just note that Asd did backport SmoothUV and DeDot and DeCross from VS, cool
edit: and MatchHistogram, MSharpen

more about Asd https://forum.doom9.org/showthread.p...19#post1871719 and https://forum.doom9.org/showpost.php...postcount=4668
Quote:
Originally Posted by tormento View Post
To whom redact AviSynth+ Wiki: what about starting to divide plugins into AVS supported interface versions?

It could be easier for programmers to start a revision of the missing plugins.
ok, so I will mention what not has HBD yet

1st is plugins that has VS ports with HBD:-
1 - EEDI3
2 - Dither_resize16/fmtconv
3 - SangNom2/SangNomMod
4 - TTempSmooth
5 - EEDI2
6 - TCanny (there are TCannymod by chikuzen but I think with no HBD)
7 - Yadifmod (there are Yadifmod2 by chikuzen with not completed HBD)
8 - DeblockPP7
9 - median
10 - tbilateral
11 - tedgemask
12 - MSmooth
13 - ASharp
14 - degrainmedian
15 - TDeint

plugins that has VS ports but no HBD:-
1 - scxvid (there are no x64 in avs yet)
2 - hqdn3d (there are avs port but with 16bit hack)
3 - ssiq (there are no x64 in avs yet)
__________________
See My Avisynth Stuff

Last edited by real.finder; 4th May 2020 at 08:03.
real.finder is offline   Reply With Quote
Old 4th May 2020, 07:57   #44  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,853
Quote:
Originally Posted by Myrsloik View Post
Pascal order (name: type) is obviously always the most elegant!
I'm working with Delphi at my proper office work, sometimes I'm mixing up the C the variable-type order (not to mention the assignment ':=' vs. '=' and the comparison operators as well )
pinterf is offline   Reply With Quote
Old 5th May 2020, 22:26   #45  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,164
Quote:
Originally Posted by real.finder View Post
ok, so I will mention what not has HBD yet

1st is plugins that has VS ports with HBD:-
1 - EEDI3
2 - Dither_resize16/fmtconv
3 - SangNom2/SangNomMod
4 - TTempSmooth
5 - EEDI2
6 - TCanny (there are TCannymod by chikuzen but I think with no HBD)
7 - Yadifmod (there are Yadifmod2 by chikuzen with not completed HBD)
8 - DeblockPP7
9 - median
10 - tbilateral
11 - tedgemask
12 - MSmooth
13 - ASharp
14 - degrainmedian
15 - TDeint

plugins that has VS ports but no HBD:-
1 - scxvid (there are no x64 in avs yet)
2 - hqdn3d (there are avs port but with 16bit hack)
3 - ssiq (there are no x64 in avs yet)
and there are some filters seems has no VS ports

1 - VariableBlur (it was planed by tp7)
2 - frfun7 (useful for Dot Crawl Removal, used in DDComb)
3 - GradFun2db (maybe it can be replaced with f3kdb?)
4 - LGhost
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 6th May 2020, 10:37   #46  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Providence, RI
Posts: 2,538
I tried to port frfun7 and found it was closed source
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 6th May 2020, 11:28   #47  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,164
Quote:
Originally Posted by feisty2 View Post
I tried to port frfun7 and found it was closed source
did you tried ask Prunedtree in IRC for the source code?
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 6th May 2020, 17:02   #48  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,192
Quote:
Originally Posted by real.finder View Post
did you tried ask Prunedtree in IRC for the source code?
I emailed pruned sometime ago and asked him if he would release the source code but no reply.

First time I contacted him was thru IRC then email, that is how FRFun7 (2013) came about.
Reel.Deel is offline   Reply With Quote
Old 6th May 2020, 17:45   #49  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,164
Quote:
Originally Posted by Reel.Deel View Post
I emailed pruned sometime ago and asked him if he would release the source code but no reply.

First time I contacted him was thru IRC then email, that is how FRFun7 (2013) came about.
maybe you are not a Developer so he didn't, since he previously was parole that the code should be cleaned and developed before publication (as tp7 said for Checkmate plugin)

anyway, there are always reverse engineering option
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 6th May 2020, 18:22   #50  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Providence, RI
Posts: 2,538
Quote:
Originally Posted by real.finder View Post

anyway, there are always reverse engineering option
dude, deciphering assembly is HARD
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 6th May 2020, 18:33   #51  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,164
Quote:
Originally Posted by feisty2 View Post
dude, deciphering assembly is HARD
how SEt, tp7 and jackoneill did it then?

anyway even if you got the source code I think it don't has C code just like most old plugins
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 6th May 2020, 18:40   #52  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Providence, RI
Posts: 2,538
deciphering a few clearly outlined functions written in assembly with possibly also comments is not the same as blind-deciphering an executable... especially if the binary has been heavily optimized or involves some weird shit like C++ name mangling
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated

Last edited by feisty2; 6th May 2020 at 18:43.
feisty2 is offline   Reply With Quote
Old 6th May 2020, 18:42   #53  |  Link
videoh
Useful n00b
 
Join Date: Jul 2014
Posts: 1,442
Instead of all that reversing nonsense, you have to re-implement the algorithms. What's the big deal?
videoh is offline   Reply With Quote
Old 6th May 2020, 21:12   #54  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Metropolitan City of Milan, Italy
Posts: 1,412
Quote:
Originally Posted by videoh View Post
Instead of all that reversing nonsense, you have to re-implement the algorithms.
Re-implementing the algorithm, makes sense.

Quote:
Originally Posted by real.finder View Post
there are always reverse engineering option
Out of pure curiosity, you meant using things like IDA Pro and start from there? I'm not an avs developer, but I can tell you that staring at several lines of disassembled code totally undocumented is way beyond my understanding. (And I believe it would be a pain in the b... for many experienced developers as well).

Quote:
Originally Posted by feisty2 View Post
dude, deciphering assembly is HARD
I'm always surprised by how people in the past used to rely on assembly for everything and were so good in it while I can't really wrap my mind around that as I generally lose track of the main picture after just a few lines (i.e I might understand what a single block of code is doing, but I fail to understand what the program as a whole is doing... )

(I still remember people of the David Brailsford era carrying mugs with "Real man code in Assembler" before retiring )

Last edited by FranceBB; 6th May 2020 at 21:19.
FranceBB is online now   Reply With Quote
Old 7th May 2020, 09:43   #55  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Providence, RI
Posts: 2,538
Quote:
Originally Posted by FranceBB View Post

"Real man code in Assembler"
(certain) engineers code in assembly, mathematicians code in lisp, scientists code in... who knows

anyways, it has nothing to do with "real man"
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 7th May 2020, 16:27   #56  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,164
Quote:
Originally Posted by FranceBB View Post
Out of pure curiosity, you meant using things like IDA Pro and start from there? I'm not an avs developer, but I can tell you that staring at several lines of disassembled code totally undocumented is way beyond my understanding. (And I believe it would be a pain in the b... for many experienced developers as well).
I am not a programmer, but I see tp7 said this back then in IRC (about sangnom2)

also it's what SEt did in awarpsharp2

anyway, tp7 got the source code of Checkmate from Prunedtree as I said, so I think any developer can do ask Prunedtree for the code like https://forum.doom9.org/showthread.p...60#post1792960 and https://forum.doom9.org/showthread.p...79#post1825279
__________________
See My Avisynth Stuff

Last edited by real.finder; 7th May 2020 at 16:30.
real.finder is offline   Reply With Quote
Old 7th May 2020, 16:58   #57  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,054
Quote:
Originally Posted by feisty2 View Post
(certain) engineers code in assembly, mathematicians code in lisp, scientists code in... who knows

anyways, it has nothing to do with "real man"
It used to be a joke a long time ago (or maybe still is?), particularly when C# was introduced (as far as I recall).

Real men code in C++
No, real men code in C
No, real men code in assembler
No, real men punch in hex code on numeric keyboards
etc...

By the way, this is a piece of art:

__________________
Groucho's Avisynth Stuff

Last edited by Groucho2004; 7th May 2020 at 17:08.
Groucho2004 is offline   Reply With Quote
Old 7th May 2020, 18:57   #58  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Metropolitan City of Milan, Italy
Posts: 1,412
Quote:
Originally Posted by Groucho2004 View Post
By the way, this is a piece of art
Uhhh! Hexadecimal with a 7 Segments display!
I studied those in my Digital Electronics class!
This is what I came up with to count in Hex (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) in a 7 Segments Display:






I studied a lot for that exam and I was sure I was going to kill it, but unfortunately things didn't go as planned I've got 23 out of 30
I was so upset that day...
(but I accepted the grade of course, I have never refused one, that's my "mantra" xD)
That was back when I was studying for my bachelor degree...
Will I ever get my master degree? Who knows...
FranceBB is online now   Reply With Quote
Old 7th May 2020, 19:02   #59  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,054
Quote:
Originally Posted by FranceBB View Post
Uhhh! Hexadecimal with a 7 Segments display!
I studied those in my Digital Electronics class!
Cool, a fellow electronics engineer. How old are you, if I may ask?
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 7th May 2020, 19:09   #60  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Providence, RI
Posts: 2,538
Quote:
Originally Posted by FranceBB View Post
Will I ever get my master degree? Who knows...
masters are mostly cash-cow programs, go for a PhD program instead if ur interested in grad schools
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Reply

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 12:32.


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