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 Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 19th December 2016, 04:32   #1  |  Link
blaze077
Registered User
 
Join Date: Jan 2016
Posts: 79
New Avisynth+ Functions

Is there a page of some sort with the description of the new Avisynth+ functions?
For example with ConvertTo16Bit, I can conjecture what the function does but it has various parameters which I do not understand.

If there isn't a page, could someone explain the parameters of that specific function?

Thank you.
blaze077 is offline   Reply With Quote
Old 19th December 2016, 09:25   #2  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,264
Until I (or someone) have time for proper documentation:
http://forum.doom9.org/showthread.ph...14#post1783714
pinterf is offline   Reply With Quote
Old 19th December 2016, 14:44   #3  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,364
Made it sticky until there is proper documentation.
Wilbert is offline   Reply With Quote
Old 19th December 2016, 15:01   #4  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,655
The link above and a lot more information in on the wiki page: http://avisynth.nl/index.php/AviSynth%2B

Regarding proper documentation, I'm still working on it, but I've been swamped these past months.
Reel.Deel is offline   Reply With Quote
Old 19th December 2016, 17:32   #5  |  Link
TheFluff
Excessively jovial fellow
 
Join Date: Jun 2004
Location: rude
Posts: 1,100
Quote:
Originally Posted by Wilbert View Post
Made it sticky until there is proper documentation.
Speaking of stickies, how about you unstick the yv12 faq from 2002 and the denoiser speed test from 2003? I really don't feel like either is so helpful that it warrants a sticky thread (interest in comparing convolution3d vs pixiedust does not seem to be at an all time high, for example) and, uh, the yv12 faq link has been broken for many, many years now.

I mean it's kinda d9's gimmick that there's five sticky threads with information that has been outdated since before the pleistocene epoch at the top of every subforum but it's never too late to get with the times...

Last edited by TheFluff; 19th December 2016 at 17:42.
TheFluff is offline   Reply With Quote
Old 19th December 2016, 21:49   #6  |  Link
blaze077
Registered User
 
Join Date: Jan 2016
Posts: 79
Thank you, pinterf. That gave me some new information.

Quote:
Originally Posted by Reel.Deel View Post
The link above and a lot more information in on the wiki page: http://avisynth.nl/index.php/AviSynth%2B

Regarding proper documentation, I'm still working on it, but I've been swamped these past months.
I remember your post giving a short preview of your work on a new documentation a while back so was wondering when it would come out. So as long as it comes out, I'll be grateful.

Thank you.
blaze077 is offline   Reply With Quote
Old 20th December 2016, 01:01   #7  |  Link
Wilbert
Moderator
 
Join Date: Nov 2001
Location: Netherlands
Posts: 6,364
@TheFluff, you are right. I unstickied them. That was a long time ago 2002 and 2003. Thanks!
Wilbert is offline   Reply With Quote
Old 20th December 2016, 09:54   #8  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,264
Quote:
Originally Posted by blaze077 View Post
Thank you, pinterf. That gave me some new information.

I remember your post giving a short preview of your work on a new documentation a while back so was wondering when it would come out. So as long as it comes out, I'll be grateful.

Thank you.
My problem is that I always find new and interesting things to do. The modifications are really not that big from the user point of view, most internal filters work seamlessly when feeding with high bit depth clips. Where old packed RGB is used, you can have now planar RGB.
Now I really need to summarize the non-trivial modifications - new functions, maybe one or two new parameters - winter holiday is coming soon, uh-oh, poor me :-)
pinterf is offline   Reply With Quote
Old 23rd December 2016, 01:05   #9  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,655
Just a friendly reminder, there's the AviSynth+ documentation thread I started a while back. I do plan on posting more questions on that thread, there's a few things I would like to confirm (MT, GScript, and others).
Reel.Deel is offline   Reply With Quote
Old 1st March 2017, 19:13   #10  |  Link
mikeytown2
Resize Abuser
 
mikeytown2's Avatar
 
Join Date: Apr 2005
Location: Seattle, WA
Posts: 623
Is there anything like ImageSequence in AviSynth+? ImageSource doesn't work. Creating a startrail timelapse and I run out of ram on the 32bit version of AviSynth. JPGs are 6000x4000

Quote:
#16 FPS.
ImageSource("DSC0%d.jpg", 3944,5353, 16)
# Cheap NR.
TemporalSoften(10, 5, 30, 50, 2)

# 16/9.
Crop(0, 626, 0, 0)

# 4 frame star trail.
clipB=DeleteFrame(last,last.FrameCount)
clipB=DuplicateFrame(clipB,0).Levels(0, 1, 255, 0, 220)
clipC=DeleteFrame(clipB,last.FrameCount)
clipC=DuplicateFrame(clipC,0).Levels(0, 1, 255, 0, 200)
clipD=DeleteFrame(clipC,last.FrameCount)
clipD=DuplicateFrame(clipD,0).Levels(0, 1, 255, 0, 180)
clipAB=overlay(last,clipB, mode="lighten")
clipCD=overlay(clipC, clipD, mode="lighten")
clipABCD=overlay(clipAB,clipCD, mode="lighten")
overlay(last,clipABCD, mode="lighten")

# Software zoom from lower left to center and target 5k youtube.
KenBurnsEffect(startZoomFactor=120, endZoomFactor=100, startAlign=9, endAlign=5, width=5120, height=2880, ResizeMethod="Spline36Resize")
mikeytown2 is offline   Reply With Quote
Old 1st March 2017, 19:34   #11  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by mikeytown2 View Post
Creating a startrail timelapse and I run out of ram on the 32bit version of AviSynth.
Have you tried the 64 bit version?
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 2nd March 2017, 06:51   #12  |  Link
mikeytown2
Resize Abuser
 
mikeytown2's Avatar
 
Join Date: Apr 2005
Location: Seattle, WA
Posts: 623
Quote:
Originally Posted by Groucho2004 View Post
Have you tried the 64 bit version?
I have, but I can't find a way to easily load an image sequence.
mikeytown2 is offline   Reply With Quote
Old 2nd March 2017, 09:42   #13  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
I must be missing something, let's try again:

Quote:
Originally Posted by mikeytown2 View Post
Is there anything like ImageSequence in AviSynth+?
Does ImageSequence not work with AVS+ (32 bit)?


Quote:
Originally Posted by mikeytown2 View Post
ImageSource doesn't work. Creating a startrail timelapse and I run out of ram on the 32bit version of AviSynth. JPGs are 6000x4000
Quote:
Originally Posted by mikeytown2 View Post
I have, but I can't find a way to easily load an image sequence.
The script you posted above uses ImageSource() so I guess you do have a way to load an image sequence. Your statements are confusing, could you elaborate?
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 3rd March 2017, 09:40   #14  |  Link
mikeytown2
Resize Abuser
 
mikeytown2's Avatar
 
Join Date: Apr 2005
Location: Seattle, WA
Posts: 623
Think the issue is I used AviSynth+ r2294 as it's the latest version with an installer. I think it was missing ImageSeq.dll from plugins64+ dir. Installing the stable AviSynth+ r1576 and it appears to be working now.
mikeytown2 is offline   Reply With Quote
Old 3rd March 2017, 12:53   #15  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,877
Hi MikeyTown2, dont think I've seen you for a while,
I updated your TWriteAVI some time ago, here:- http://forum.doom9.org/showthread.ph...ight=twriteavi

Copes now with audio.
__________________
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 6th March 2017, 06:19   #16  |  Link
mikeytown2
Resize Abuser
 
mikeytown2's Avatar
 
Join Date: Apr 2005
Location: Seattle, WA
Posts: 623
Hey StainlessS!
Yeah I've been lurking for the last couple of years. Thought I found an issue but looks like I got bit by a dev only bug. Awesome to hear that the plugin is still alive!
mikeytown2 is offline   Reply With Quote
Old 11th April 2017, 03:08   #17  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,373
Quote:
Originally Posted by blaze077 View Post
Is there a page of some sort with the description of the new Avisynth+ functions?
While waiting for one to appear, I have prepared a crude list by diffing the source code - AVS 2.60 vs. AVS+ r2455.
Function signatures copied from source verbatim. You can decipher most of them fairly easily:
'c'=clip; 's'=string; 'f'=float; 'i'=integer; 'b'=boolean;
'a'=(new type) array; '.'=any variable type accepted.
'*' means zero or more of the previous argument. '+' means one or more. I don't know what '#' means.
Words in [brackets] preceding a type char are argument names, implying the argument is optional.
EDIT rough group by category; add 'changed' list.
Code:
ADDED:

Array                           .#
Array                           .+
ArrayAdd                        .i*
ArrayDel                        .i
ArrayGet                        a.+
ArrayGet                        ai
ArrayGet                        as
ArrayIns                        .i
ArraySize                       a
IsArray                         .
// arrays disabled temporarily - see next post

AddAutoloadDir                  s[toFront]b
AutoloadPlugins                 
ClearAutoloadDirs               
Prefetch                        c[threads]i 
SetFilterMTMode                 si[force]b

FunctionExists                  s
InternalFunctionExists          s
replacestr                      sss
LogMsg                          si
SetLogParams                    [target]s[level]i

AddAlphaPlane                   c[mask].
CombinePlanes                   c[planes]s[source_planes]s[pixel_type]s[sample_clip]c
CombinePlanes                   cc[planes]s[source_planes]s[pixel_type]s[sample_clip]c
CombinePlanes                   ccc[planes]s[source_planes]s[pixel_type]s[sample_clip]c
CombinePlanes                   cccc[planes]s[source_planes]s[pixel_type]s[sample_clip]c
RemoveAlphaPlane                c

ColorSpaceNameToPixelType       s 
// eg, ColorSpaceNameToPixelType("YV12") = $a0000008

ConvertBits                     c[bits]i[truerange]b[dither]i[scale]f[dither_bits]i[fulls]b[fulld]b  
ConvertTo16bit                  c[bits]i[truerange]b[dither]i[scale]f[dither_bits]i[fulls]b[fulld]b
ConvertTo8bit                   c[bits]i[truerange]b[dither]i[scale]f[dither_bits]i[fulls]b[fulld]b
ConvertToFloat                  c[bits]i[truerange]b[dither]i[scale]f[dither_bits]i[fulls]b[fulld]b

ConvertToPlanarRGB              c[matrix]s[interlaced]b[ChromaInPlacement]s[chromaresample]s
ConvertToPlanarRGBA             c[matrix]s[interlaced]b[ChromaInPlacement]s[chromaresample]s
ConvertToRGB48                  c[matrix]s[interlaced]b[ChromaInPlacement]s[chromaresample]s
ConvertToRGB64                  c[matrix]s[interlaced]b[ChromaInPlacement]s[chromaresample]s
ConvertToY                      c[matrix]s

ConvertToYUV411                 c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s
ConvertToYUV420                 c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s[ChromaOutPlacement]s
ConvertToYUV422                 c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s
ConvertToYUV444                 c[interlaced]b[matrix]s[ChromaInPlacement]s[chromaresample]s

ConvertFromDoubleWidth          c[bits]i
ConvertFromStacked              c[bits]i
ConvertToDoubleWidth            c
ConvertToStacked                c 

ExtractA                        c
ExtractB                        c
ExtractG                        c
ExtractR                        c
ExtractU                        c
ExtractV                        c
ExtractY                        c
PlaneToY                        c[plane]s
ShowU                           c[pixel_type]s
ShowV                           c[pixel_type]s
ShowY                           c[pixel_type]s

ComponentSize                   c
NumComponents                   c
HasAlpha                        c
Is420                           c
Is422                           c
Is444                           c
IsPackedRGB                     c
IsPlanarRGB                     c
IsPlanarRGBA                    c
IsRGB48                         c
IsRGB64                         c
IsY                             c
IsY8                            c
IsYUVA                          c

AverageB                        c[offset]i
AverageG                        c[offset]i
AverageR                        c[offset]i
BitsPerComponent                c

BPlaneMax                       c[threshold]f[offset]i
GPlaneMax                       c[threshold]f[offset]i
RPlaneMax                       c[threshold]f[offset]i
BPlaneMedian                    c[offset]i
GPlaneMedian                    c[offset]i
RPlaneMedian                    c[offset]i
BPlaneMin                       c[threshold]f[offset]i
GPlaneMin                       c[threshold]f[offset]i
RPlaneMin                       c[threshold]f[offset]i
BPlaneMinMaxDifference          c[threshold]f[offset]i
GPlaneMinMaxDifference          c[threshold]f[offset]i
RPlaneMinMaxDifference          c[threshold]f[offset]i
BDifference                     cc
GDifference                     cc
RDifference                     cc
BDifferenceFromPrevious         c
GDifferenceFromPrevious         c
RDifferenceFromPrevious         c
BDifferenceToNext               c[offset]i
GDifferenceToNext               c[offset]i
RDifferenceToNext               c[offset]i

// new global options
OPT_Enable_Y3_10_10          // use Y3[10][10] instead of P210 (VfW)
OPT_Enable_Y3_10_16          // use Y3[10][16] instead of P216 (VfW)
OPT_Enable_b64a              // use b64a instead of BRA[64] (VfW)
OPT_Enable_PlanarToPackedRGB // convert Planar RGB to packed RGB (VfW)

REMOVED:

TCPServer
TCPSource
// replaced w/ TCPDeliver - see next post

CHANGED:

Load_Stdcall_Plugin             // multiple sources are allowed
LoadCPlugin                     // multiple sources are allowed

ConvertTo___                    // add new matrix="rec2020"

ColorBars                       // add [staticframes]b
ColorBarsHD                     // add [staticframes]b

Histogram                       // add [bits]i 

MaskHS                          // add [realcalc]b
Tweak                           // add [realcalc]b[dither_strength]f
// realcalc: "force no-lookup (pure float calculation pixel)"
// "dither_strength 1.0 = +/-0.5 on the 0.255 range, scaled for others"

Layer                           
// add support for RGB64
Overlay                         // add [use444]b
// if false, "use conversionless mode for filters that are ready to use it"
// "except: RGB must be converted to 444 for Luma and Chroma operation"

Info                            // add [font]s[size]f[text_color]i[halo_color]i
I chacked and their are no misteaks!

Last edited by raffriff42; 23rd April 2017 at 03:41.
raffriff42 is offline   Reply With Quote
Old 11th April 2017, 07:41   #18  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,264
Thanks, a few remarks, those script array related functions are disabled temporarily, because the array concept is incompatible with plugins using avs 2.5 interface.
TCPDeliver is updated by DJAtom: https://github.com/DJATOM/TCPDeliver/releases
pinterf is offline   Reply With Quote
Old 19th December 2019, 12:53   #19  |  Link
vcmohan
Registered User
 
Join Date: Jul 2003
Location: India
Posts: 890
It is good that the script is getting more capable with all these new additions. I have felt some problem a couple of times while coding plugins. These are:
1.The array has to be specified always at the beginning of the parameter string as array can have no name. Whether this can be changed.
2.two or more arrays of same data type can not be specified.

Whether this facility can be incorporated in avisynth+?
__________________
mohan
my plugins are now hosted here
vcmohan is offline   Reply With Quote
Old 19th December 2019, 14:22   #20  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,478
Quote:
Originally Posted by vcmohan View Post
2.two or more arrays of same data type can not be specified.
They can if a variable of another type appears between them. I did this on my ColourWarp plugin so you can specify non-clip-specific points first, then the clips, then the clip-specific points.

Quote:
Originally Posted by pinterf View Post
Thanks, a few remarks, those script array related functions are disabled temporarily, because the array concept is incompatible with plugins using avs 2.5 interface.
Wait, does that mean plugins which make use of arrays won't work on recent versions of AviSynth? What makes it incompatible?
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey 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 16:05.


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