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 21st October 2019, 08:17   #4901  |  Link
ryrynz
Registered User
 
ryrynz's Avatar
 
Join Date: Mar 2009
Posts: 3,214
I already had the minimum and additional 2019 runtimes installed (x86 and x64), did I really need this to install 2015-2019 Redistributable?
ryrynz is online now   Reply With Quote
Old 21st October 2019, 08:30   #4902  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 7,189
If your already had all required installed then probably not, Pinterf provides exe both with and without runtimes.
[you would likely have found out pretty quiickly whether you needed runtime updates or not].
__________________
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   Reply With Quote
Old 21st October 2019, 09:51   #4903  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,940
You may need one or another Visual C++ Runtime for one or another plugin, too ...
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 21st October 2019, 10:30   #4904  |  Link
Groucho2004
►◄
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Location: A wretched hive of scum and villainy
Posts: 4,457
Quote:
Originally Posted by StainlessS View Post
EDIT: Two problems revealed already for avs+ 3.4.0,
Problems apps,
Groucho2004 Universal Avisynth Installer, and
Shekh The Magnificent's VirtualDub2.
EDIT: Breaks Potplayer [Freezes],
script
Code:
Version
As I mentioned in the other two threads, install the non-GCC version.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 21st October 2019, 10:46   #4905  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,245
Quote:
Originally Posted by qyot27 View Post
https://github.com/AviSynth/AviSynthPlus/releases

AviSynth+ 3.4.0 has been released. I debated whether to post a new thread in order to make sure it was visible, but I figured that even if a dedicated release post gets made, it should also be posted here too.
What a day! An Avisynth version from the original master branch, great. I still hope I'm returing here soon, my schedule is too busy since August to allow doing free-time projects.
pinterf is offline   Reply With Quote
Old 21st October 2019, 10:50   #4906  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 7,189
So, is this now considered a continuation of the fabled and abandoned v3.0 Avisynth ?

EDIT: Avisynth v3.0 on Wiki:- http://avisynth.nl/index.php/AviSynth_v3
__________________
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; 21st October 2019 at 10:56.
StainlessS is offline   Reply With Quote
Old 21st October 2019, 11:04   #4907  |  Link
Groucho2004
►◄
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Location: A wretched hive of scum and villainy
Posts: 4,457
Sorry Stainless, I deleted my post to which you replied. Anyway, this seems to confirm that it is indeed basically pinterf's r2915:
Quote:
Originally Posted by qyot27 View Post
3.4 is pretty boring, all told. As the big changes from pull request #101 were already committed to MT several months ago, 3.4 basically catches up with pinterf's development branch (r2915 from late August) and has a small number of additional patches to smooth over the packaging process and officially roll over to the new versioning.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 21st October 2019, 11:05   #4908  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 1,286
Quote:
Originally Posted by StainlessS View Post
So, is this now considered a continuation of the fabled and abandoned v3.0 Avisynth ?

EDIT: Avisynth v3.0 on Wiki:- http://avisynth.nl/index.php/AviSynth_v3
I think it's not, avs 3.X is not avs+ 3.X

but anyway the goals of avs 3.X is similar to avs+
__________________
My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 21st October 2019, 11:17   #4909  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 7,189
It portrays itself like so :-




EDIT: This posted here:- https://forum.doom9.org/showthread.p...79#post1886179

Is still an issue in v3.4,
when Length=1, (for both BlankClips) it dont work, (ConditionalFilter fails)

Failing script

Code:
ROW      = True
LIMITLO  =  74.0     # >= is Target
LIMITHI  = 100.0     # <= is Target
INCOLOR  = $008080   # Set where in target range
OUTCOLOR = $FF8080   # Not in target range
SHOW     = false     # Return StackHorizontal, original as Y8, and mask.
###############
Colorbars.Trim(0,-100).convertToY8
MskByRowAveY(Row=ROW,LimitLo=LIMITLO,LimitHi=LIMITHI,InColor=INCOLOR,OutColor=OUTCOLOR,Show=SHOW)
Return Last

Function  MskByRowAveY(clip c, Bool "Row", Float "LimitLo", Float "LimitHi", Int "InColor", Int "OutColor", Bool "Show") {
#   Where AveLuma of pixel Row/Coloumn is between LimitLo<===>LimitHi, then set to Incolor, else OutColor. Colors Specified as YUV, where only Y8 returned.
    c                                           myName="MskByRowAveY: "
    Row=Default(Row,true)                       LimitLo=Default(LimitLo,  0.0)          LimitHi=Default(LimitHi,127.5)
    InColor =Default(InColor ,$000000)          OutColor=Default(OutColor,$FF8080)      Show=Default(Show,False)
    Assert(0.0 <= LimitLo <= LimitHi,myName+String(LimitLo,"0.0 <= LimitLo(%f)") + String(LimitHi,"  <= LimitHi(%f)"))
    Assert(LimitHi <= 255.0,myName+String(LimitHi,"LimitHi(%f) <= 255.0"))
    ConvertToY8.KillAudio                       O=Last
    (Row) ? SeparateRows(O.Height)  : SeparateColumns(O.Width)

    FAIL=false # toggle to fail

    len = (FAIL) ? 1 : Last.Framecount

    InC = Last.BlankClip(Length=Len,Color_YUV= InColor)    OutC= Last.BlankClip(Length=Len,Color_YUV=OutColor)
    Last.ConditionalFilter(InC,OutC,String(LimitLo,"(%f<=AverageLuma<=")+String(LimitHi,"%f)"))
    (Row) ? WeaveRows(O.Height) : WeaveColumns(O.width)
    Return (SHOW) ? StackHorizontal(O,Last) : Last
}
__________________
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; 21st October 2019 at 11:30.
StainlessS is offline   Reply With Quote
Old 21st October 2019, 13:37   #4910  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,245
Quote:
Originally Posted by StainlessS View Post

when Length=1, (for both BlankClips) it dont work, (ConditionalFilter fails)

Failing script

Code:
ROW      = True
LIMITLO  =  74.0     # >= is Target
LIMITHI  = 100.0     # <= is Target
INCOLOR  = $008080   # Set where in target range
OUTCOLOR = $FF8080   # Not in target range
SHOW     = false     # Return StackHorizontal, original as Y8, and mask.
###############
Colorbars.Trim(0,-100).convertToY8
MskByRowAveY(Row=ROW,LimitLo=LIMITLO,LimitHi=LIMITHI,InColor=INCOLOR,OutColor=OUTCOLOR,Show=SHOW)
Return Last

Function  MskByRowAveY(clip c, Bool "Row", Float "LimitLo", Float "LimitHi", Int "InColor", Int "OutColor", Bool "Show") {
#   Where AveLuma of pixel Row/Coloumn is between LimitLo<===>LimitHi, then set to Incolor, else OutColor. Colors Specified as YUV, where only Y8 returned.
    c                                           myName="MskByRowAveY: "
    Row=Default(Row,true)                       LimitLo=Default(LimitLo,  0.0)          LimitHi=Default(LimitHi,127.5)
    InColor =Default(InColor ,$000000)          OutColor=Default(OutColor,$FF8080)      Show=Default(Show,False)
    Assert(0.0 <= LimitLo <= LimitHi,myName+String(LimitLo,"0.0 <= LimitLo(%f)") + String(LimitHi,"  <= LimitHi(%f)"))
    Assert(LimitHi <= 255.0,myName+String(LimitHi,"LimitHi(%f) <= 255.0"))
    ConvertToY8.KillAudio                       O=Last
    (Row) ? SeparateRows(O.Height)  : SeparateColumns(O.Width)

    FAIL=false # toggle to fail

    len = (FAIL) ? 1 : Last.Framecount

    InC = Last.BlankClip(Length=Len,Color_YUV= InColor)    OutC= Last.BlankClip(Length=Len,Color_YUV=OutColor)
    Last.ConditionalFilter(InC,OutC,String(LimitLo,"(%f<=AverageLuma<=")+String(LimitHi,"%f)"))
    (Row) ? WeaveRows(O.Height) : WeaveColumns(O.width)
    Return (SHOW) ? StackHorizontal(O,Last) : Last
}
Output frame count of ConditionalFilter will be max(InC.FrameCount, OutC.FrameCount). When you set it to 1 (FAIL=true case), ConditionalFilter output will be a single frame result. Which is then fed into WeaveRows, which needs at least O.Height of clip length to work properly.
pinterf is offline   Reply With Quote
Old 21st October 2019, 17:14   #4911  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 7,189
Nice theory P

But, what about this one then [no SeparateRows]

Code:
FAIL = False  # Force Falure ?
C=0
For(i=0,255) {
    C2=BlankClip(Pixel_Type="Y8",Length=1,Color_YUV=(i*256+$80)*256+$80)
    C=(!c.IsClip) ? C2 : C ++ C2
}
C    # 256 frames, Y ascending

Len = (FAIL) ? 1 : FrameCount

K=Last.BlankClip(Length=Len,Pixel_Type="Y8",Color_YUV=$008080).Subtitle("[FAIL=" + String(FAIL) + "] Is NOT greater than 100.0",Align=5)
W=Last.BlankClip(Length=Len,Pixel_Type="Y8",Color_YUV=$FF8080).Subtitle("[FAIL=" + String(FAIL) + "] Is greater than 100.0",Align=5)

ConditionalFilter(W,K,"averageLuma >= 100.0 ",Show=true)
C=C.Scriptclip("""Subtitle(String(current_frame,"%.0f] Y=") + String(AverageLuma,"%.2f"))""")
StackHorizontal(C,Last)

#Trim(255,-1)    # Only show last frame where result should be WHITE.
I had posted this earlier in this thread [as EDIT] but forgot, here:- http://forum.doom9.org/showthread.ph...79#post1886179

EDIT: both W and K have to be single frame to fail, I cant re-check as I'm in middle of system restore from image.
EDIT: I would expect it to behave like the other runtime filters, it is commonplace to return a single frame in eg Scriptclip, makes no difference to length of outut
clip, which is guaranteed same as input.
__________________
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; 21st October 2019 at 18:54.
StainlessS is offline   Reply With Quote
Old 21st October 2019, 19:48   #4912  |  Link
markfilipak
Registered User
 
Join Date: Jul 2016
Location: Mansfield, Ohio (formerly San Jose, California)
Posts: 31
Quote:
Originally Posted by StainlessS View Post
markfilipak,
Avoid r1576, is from several years ago [4 or 5].
Get This one AviSynthPlus_3.4.0_20191020.exe from here:- https://github.com/AviSynth/AviSynthPlus/releases
Now I have the latest installed. Thanks for the link. And I found the example AVS scripts.

I have crawled through what documentation I could find. I apparently missed some [1].

I was hoping avisynth could serve video files, starting with something simple, like this:

return read('d:\path\movie.mkv')

I see how to create a blank clip or color bars, but I can't find anything like the above. A link to info would be fine of course.

Thanks.

[1]
I can't find a link between this:
http://avisynth.nl/index.php/Internal_functions
and this:
http://avisynth.nl/index.php/AviSynth_Syntax
so it appears I'm missing some crucial info.
markfilipak is offline   Reply With Quote
Old 21st October 2019, 19:55   #4913  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 3,975
Quote:
Originally Posted by markfilipak View Post
Now I have the latest installed. Thanks for the link. And I found the example AVS scripts.

I have crawled through what documentation I could find. I apparently missed some [1].

I was hoping avisynth could serve video files, starting with something simple, like this:

return read('d:\path\movie.mkv')

I see how to create a blank clip or color bars, but I can't find anything like the above. A link to info would be fine of course.

Thanks.

[1]
I can't find a link between this:
http://avisynth.nl/index.php/Internal_functions
and this:
http://avisynth.nl/index.php/AviSynth_Syntax
so it appears I'm missing some crucial info.


You need a source filter to load videos. Common ones are ffms2 and lsmash. They are separate .dll's which will autoload if placed into the plugins directory, or you can explicitly load them with LoadPlugin . Certain source filters have various pros/cons in different situations and for different types of video

FFVideoSource("d:\path\movie.mkv")

or

LWLibavVideoSource("d:\path\movie.mkv")


avisynth is a bit different in that there is an "implied last" , so you don't have to return an output node such as in vapoursynth, you can omit it entirely

If you omit it, it really means
return last

Last edited by poisondeathray; 21st October 2019 at 20:15.
poisondeathray is offline   Reply With Quote
Old 21st October 2019, 20:36   #4914  |  Link
markfilipak
Registered User
 
Join Date: Jul 2016
Location: Mansfield, Ohio (formerly San Jose, California)
Posts: 31
Quote:
Originally Posted by poisondeathray View Post
You need a source filter to load videos. Common ones are ffms2 and lsmash. They are separate .dll's ...
There are no DLLs there (https://github.com/FFMS/ffms2). A search for 'ffms2.dll' fails.
markfilipak is offline   Reply With Quote
Old 21st October 2019, 20:45   #4915  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 3,975
Quote:
Originally Posted by markfilipak View Post
There are no DLLs there (https://github.com/FFMS/ffms2). A search for 'ffms2.dll' fails.


For Github, usually there are compiled releases under "releases" (click on "releases") for all types of projects listed on Github

But for ffms2 , those are old . (You actually might want even older if you were dealing with MPEG2 / DVD, but I would avoid it completely and use MPEG2Source, hence the pros/cons warning earlier . There are many "gotchas" and quirks for various source filters)

You can find latest in the development threads . Go to the end of each and work your way backwards . You might want to download the old "official" ones , because they have the documentation. Some of the "new" releases are just the .dll's without source or documentation

https://forum.doom9.org/showthread.php?t=167435
https://forum.doom9.org/showthread.php?t=127037

It's not a great way of organizing things, it's just they way it is. Sometimes you have to search quite a bit for matching or proper .dlls for certain plugins. There is a project similar to vapoursynth repo called avsrepogui from CK too that might be helpful for some people
https://forum.doom9.org/showthread.php?t=176443
poisondeathray is offline   Reply With Quote
Old 21st October 2019, 20:53   #4916  |  Link
ChaosKing
Registered User
 
Join Date: Dec 2005
Location: Germany
Posts: 1,027
I would say this is currently the safest ffms2 dll with the latest codec support like av1 https://forum.doom9.org/showthread.p...90#post1886890

With safe I mean frame accurate. See table here https://forum.doom9.org/showthread.php?t=176231

Or you can lsmash via the avsrepogui tool :P
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth
VapourSynth Portable FATPACK || VapourSynth Database || https://github.com/avisynth-repository
ChaosKing is offline   Reply With Quote
Old 22nd October 2019, 00:17   #4917  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 1,820
Just so I've got this straight, pinterf forked the "official" Avisynth+ to update it, and now the "official" Avisynth+ has incorporated his work into itself?
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey is offline   Reply With Quote
Old 22nd October 2019, 00:24   #4918  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 7,189
Quote:
Originally Posted by wonkey_monkey View Post
Just so I've got this straight, pinterf forked the "official" Avisynth+ to update it, and now the "official" Avisynth+ has incorporated his work into itself?
Perhaps I'm old and tired, but I think that the chances of finding out what's actually going on are so absurdly remote that the only thing to do is to say, "Hang the sense of it," and keep yourself busy. I'd much rather be happy than right any day.

EDIT: And you can quote me on that [and I feel that somebody defo will].
__________________
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; 22nd October 2019 at 00:27.
StainlessS is offline   Reply With Quote
Old 22nd October 2019, 00:25   #4919  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 1,820
Quote:
Originally Posted by StainlessS View Post
I'd much rather be happy than right any day.
And are you?
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey is offline   Reply With Quote
Old 22nd October 2019, 00:33   #4920  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 7,189
Truth be told, I'm always right, I've never been happy, hang the sense of it, lets get pissed instead.
__________________
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   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 06:10.


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