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 > VapourSynth

Reply
 
Thread Tools Search this Thread Display Modes
Old 15th January 2016, 11:59   #1821  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by an3k View Post
Is it normal that there is no auto completion for the core functions? Eg. for core.[TAB][TAB] or core.std.[TAB][TAB]

First I thought something is broken but print(core.get_plugins()) (and a manual formatting afterwards) showed me all available plugins, their names and functions and a simple tryout of core.lsmas.LibavSMASHSource() showed that it is actually available and working.

I know it's Python but to be honest I'm not using VapourSynth to learn Python but as an replacement for AviSynth on Linux. The documentation definitely needs to be improved, eg. remove the Python reference and instead add a short howto of how users can find out how to load a given plugin as well as a list of basic functions like set_output()
Currently most of the doc (even the one of each plugin) is written for Windows which is kind of useless because AviSynth is still much better and since VS is running inside of Python there shouldn't be a difference between VS on Windows and VS on Linux beside path formatting.

I'm sorry for sounding ungrateful. I'm definitely not. I'm just a bit tired to trying things out when there could be a doc giving you hints so you know where to look (again, Python reference is not a hint). I actually made a build script that installs all dependencies (apt-get), grabs the latest sources for yasm, libenca, ffmpeg, x264, L-SMASH, etc. and builds these into your home directory so that you have a kind-of-portable user-installation of VapourSynth. It already builds without errors and VS is working but it's in preAlpha stage thus I haven't released it yet but definitely will.
What's windows specific in the docs? Apart from maybe one or two example paths which linux users easily should identify as such.

If you have no intention of learning any Python at all you're going to have a horrible day. That's the way it is.

And WHY would I ever remove the parts of the docs that are useful for people who know Python? That makes absolutely no sense.

Hint:
core.list_functions() for formatted string output
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 15th January 2016, 12:36   #1822  |  Link
an3k
Registered User
 
an3k's Avatar
 
Join Date: Oct 2006
Location: Omicron Persei 8
Posts: 180
Quote:
Originally Posted by Myrsloik View Post
What's windows specific in the docs? Apart from maybe one or two example paths which linux users easily should identify as such.

If you have no intention of learning any Python at all you're going to have a horrible day. That's the way it is.

And WHY would I ever remove the parts of the docs that are useful for people who know Python? That makes absolutely no sense.

Hint:
core.list_functions() for formatted string output
Nobody would have to learn Python if the documentation would be written for the users point of view. Just as an example: http://www.vapoursynth.com/doc/functions/crop.html says that eg. std.CropRel(clip,0,0,132,132) will work. It doesn't. You know how to call CropRel corrently because you wrote VS but beginners (= those who need a documentation and for whose the documentation was written) don't and wonder what's going on. I know that core (or c or whatever the user chooses) has to specified before and depending on what is specified the std.CropRel() path is different but just use some defaults, eg. core, clip, etc. because it doesn't matter at all if you use core, C0R3, c or whatever to specify vs.get_core().
That way users can copy&paste from the documentation and learn what's the difference between eg. core.std.CropRel() and core.lsmas.LSMASHVideoSource()

People who know Python do need the Python reference? Nevermind. Remove it from the Documentation not from the website or put it into the "Advanced Users" section. It just discourages new users to get into VapourSynth like "Why do I need all of this, I just want to do simple cropping and deinterlacing." Python reference for advanced users is fine.

EDIT: I'm sorry, I mixed two links. Instead of Python Reference I meant the Python Tutorial. "If you don’t know the basics of Python, you may want to check out the tutorial." - If a new user don't know Python he definitely does NOT want to read the whole 16 chapters of Python documentation or digg through it, especially NOT after just getting VapourSynth installed. A better approach would be to post an example script that creates a eg. 10 second video with the text "Yeah, VapourSynth is alive and kickin'" or something you prefer but also cheers the users victory of being done. And with comments in the script the user will learn what to use, etc.

As I said: you wrote the documentation from your point of view but since you know Python very well and also how VS works it's 100% clear to you what each bit of the doc means. From the users point of view it's just confusing.


Whatsoever, you feel affronted and very likely will me ignore completely from now on. That's funny because I just said that the documentation could be improved and AFAIK you are not a professional technical documentation writer!?!
an3k is offline   Reply With Quote
Old 15th January 2016, 14:27   #1823  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by an3k View Post
Nobody would have to learn Python if the documentation would be written for the users point of view. Just as an example: http://www.vapoursynth.com/doc/functions/crop.html says that eg. std.CropRel(clip,0,0,132,132) will work. It doesn't. You know how to call CropRel corrently because you wrote VS but beginners (= those who need a documentation and for whose the documentation was written) don't and wonder what's going on. I know that core (or c or whatever the user chooses) has to specified before and depending on what is specified the std.CropRel() path is different but just use some defaults, eg. core, clip, etc. because it doesn't matter at all if you use core, C0R3, c or whatever to specify vs.get_core().
That way users can copy&paste from the documentation and learn what's the difference between eg. core.std.CropRel() and core.lsmas.LSMASHVideoSource()

People who know Python do need the Python reference? Nevermind. Remove it from the Documentation not from the website or put it into the "Advanced Users" section. It just discourages new users to get into VapourSynth like "Why do I need all of this, I just want to do simple cropping and deinterlacing." Python reference for advanced users is fine.

EDIT: I'm sorry, I mixed two links. Instead of Python Reference I meant the Python Tutorial. "If you don’t know the basics of Python, you may want to check out the tutorial." - If a new user don't know Python he definitely does NOT want to read the whole 16 chapters of Python documentation or digg through it, especially NOT after just getting VapourSynth installed. A better approach would be to post an example script that creates a eg. 10 second video with the text "Yeah, VapourSynth is alive and kickin'" or something you prefer but also cheers the users victory of being done. And with comments in the script the user will learn what to use, etc.

As I said: you wrote the documentation from your point of view but since you know Python very well and also how VS works it's 100% clear to you what each bit of the doc means. From the users point of view it's just confusing.


Whatsoever, you feel affronted and very likely will me ignore completely from now on. That's funny because I just said that the documentation could be improved and AFAIK you are not a professional technical documentation writer!?!
I don't know Python very well. I just look up what I need in the python docs usually... For some reason they have a scary similarity to the VapourSynth doc structure... I wonder why.

And reading the python tutorial is of course optional too. I simply didn't see any reason to spend the time to recreate something that says almost the same things. Basic control flow you have to learn whether you want it or not. Normal Avisynth barely does it so yes, you need to know more to use VapourSynth.

No, I'm not a technical documentation writer. You can tell I'm not because the documentation doesn't start with 5 pages of legal disclaimers such as "don't lick the power cord while in use". Are you?
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 15th January 2016, 19:20   #1824  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,259
Quote:
I made a portable version of VapourSynth for those of you who hate installing things.
Tried it and failed,...


Here's what I did:
  1. created a folder named Vapoursynth
  2. extracted vapoursynth64-portable-test into that folder (after downloading it from https://dl.dropboxusercontent.com/u/...rtable-test.7z)
  3. extracted python-3.5.1-embed-amd64 into that folder (after downloading it from https://www.python.org/ftp/python/3....mbed-amd64.zip)
  4. extracted the vslsmashsource.dll from L-SMASH-Works-r859-20160109-64bit into a subfolder of Vapoursynth\vapoursynth64\plugins named LSmashSource (after downloading L-SmASH-Works from https://www.dropbox.com/sh/3i81ttxf0...VhYLasmwa?dl=0)
  5. created a new Temp-folder and saved a test.vpy file in it:
    Code:
    import vapoursynth as vs
    core = vs.get_core()
    core.std.LoadPlugin(path=r'G:\Hybrid\VapourSynth\vapoursynth64\plugins\vslsmashsource.dll')
    clip = core.lsmas.LWLibavSource(source="F:\TestClips&Co\test.avi")
    clip.set_output()
    .
  6. opened a Windows command prompt and changed into the Vapoursynth folder.
  7. called the following call:
    Code:
    VSPipe.exe h:\Temp\test.vpy - --y4m | g:\Hybrid\x264.exe --demuxer y4m -o h:\Output\test.264 -
  8. and got this:
    Code:
    y4m [info]: 640x352p 0:0 @ 25/1 fps (cfr)
    No frame returned at the end of processing by LWLibavSourcex264 [
    info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
    x264 [info]: profile High, level 3.0
    right before I got a 'VSPipe.exe has stopped working'

I'm new to Vapoursynth, so did I miss something obvious?

Cu Selur

Ps.: I really like the idea of a portable Vapoursynth version for Windows.
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 15th January 2016, 20:53   #1825  |  Link
TheFluff
Excessively jovial fellow
 
Join Date: Jun 2004
Location: rude
Posts: 1,100
Quote:
Originally Posted by an3k View Post
words
While it is true that Vapoursynth could definitely use a better tutorial/more gentle introduction on how to do things, I don't think you should criticize the reference documentation for being reference documentation. It has its place.

That being said, if you don't have at least basic programming knowledge and/or are willing to learn, Vapoursynth is probably not for you. With Avisynth you can get away with not really being a coder, you can just copypaste a bunch of filter lines, but with VS you sorta need to write actual code. Or at least you should, because the possibility of doing that is kinda the raison d'etre of VS.

Last edited by TheFluff; 15th January 2016 at 21:11.
TheFluff is offline   Reply With Quote
Old 15th January 2016, 21:45   #1826  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by Selur View Post
Tried it and failed,...


Here's what I did:
...

I'm new to Vapoursynth, so did I miss something obvious?

Cu Selur

Ps.: I really like the idea of a portable Vapoursynth version for Windows.
I tried in a completely clean windows 10 x64 vm with all updates. And used the same links as you in order. It works.

The only thing I had to change was comment out the loadplugin line (since it's already autoloaded when placed in vapoursynth64\plugins) and to add an r to escape the source path which your script doesn't.

So I have no idea why it won't work for you. Try simplifying it, like encode a blankclip with instead of lsmash source. Or run "vspipe -v" which will fail if vapoursynth is completely broken. Maybe you can narrow it down a bit more.

Btw, OS?
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet

Last edited by Myrsloik; 15th January 2016 at 21:58. Reason: Seplling
Myrsloik is offline   Reply With Quote
Old 15th January 2016, 22:03   #1827  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,259
Quote:
Btw, OS?
Win 10 pro 64bit
Quote:
Or run "vspipe -v"
reports:
Code:
VapourSynth Video Processing Library
Copyright (c) 2012-2015 Fredrik Mellbin
Core R30
API R3.4
Options: -
Quote:
and to add an r to escape the source path which your script doesn't.
using:
Code:
import vapoursynth as vs
core = vs.get_core()
core.std.LoadPlugin(path=r'G:/Hybrid/VapourSynth/vapoursynth64/plugins/LSmashSource/vslsmashsource.dll')
clip = core.lsmas.LWLibavSource(source=r"F:/TestClips&Co/test.avi")
clip.set_output()
still crashes VSPipe.exe.

using:
Code:
import vapoursynth as vs
core = vs.get_core()
#core.std.LoadPlugin(path=r'G:/Hybrid/VapourSynth/vapoursynth64/plugins/LSmashSource/vslsmashsource.dll')
#clip = core.lsmas.LWLibavSource(source=r"F:/TestClips&Co/test.avi")
clip = core.std.BlankClip()
clip.set_output()
gives me:
Code:
import vapoursynth as vs
core = vs.get_core()
#core.std.LoadPlugin(path=r'G:/Hybrid/VapourSynth/vapoursynth64/plugins/LSmashSource/vslsmashsource.dll')
#clip = core.lsmas.LWLibavSource(source=r"F:/TestClips&Co/test.avi")
clip = core.std.BlankClip()
clip.set_output()
using:
Code:
import vapoursynth as vs
core = vs.get_core()
#core.std.LoadPlugin(path=r'G:/Hybrid/VapourSynth/vapoursynth64/plugins/LSmashSource/vslsmashsource.dll')
#clip = core.lsmas.LWLibavSource(source=r"F:/TestClips&Co/test.avi")
clip = core.std.BlankClip(format=vs.YUV420P8)
clip.set_output()
works,... (using YUV420P16 instead of YUV420P8 works too)

Not sure if it helps, but the test.avi I use can be downloaded through my GoogleDrive.

Cu Selur
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 15th January 2016, 22:25   #1828  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Actually it seems like LWLibavSource simply doesn't like your test.avi. It crashes here too and it's because it returns a null frame without setting an error. Definitely a bug in the plugin.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet

Last edited by Myrsloik; 15th January 2016 at 22:28.
Myrsloik is offline   Reply With Quote
Old 15th January 2016, 22:30   #1829  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,259
Okay, still it seems strange that VSPipe is crashing, so even if the plugin crashes, VSPipe should throw an error but not crash the way it does.
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 15th January 2016, 22:42   #1830  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by Selur View Post
Okay, still it seems strange that VSPipe is crashing, so even if the plugin crashes, VSPipe should throw an error but not crash the way it does.
It's actually a check in the core. I do this to catch naughty plugin writers. Turns out that people only report things when they crash and ignore huge warning output otherwise...
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 15th January 2016, 22:49   #1831  |  Link
Selur
Registered User
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,259
Okay, if that is how it's supposed to be.
btw. is http://www.vapoursynth.com/doc/pluginlist.html kept up-to-date or is there another resource to look for Vapoursynth plugins?
__________________
Hybrid here in the forum, homepage
Selur is offline   Reply With Quote
Old 15th January 2016, 22:51   #1832  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
Quote:
Originally Posted by Selur View Post
Okay, if that is how it's supposed to be.
btw. is http://www.vapoursynth.com/doc/pluginlist.html kept up-to-date or is there another resource to look for Vapoursynth plugins?
It's mostly up to date. There may be a few less common ones at https://github.com/HomeOfVapourSynthEvolution I forgot but that's it.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 16th January 2016, 22:28   #1833  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
Quote:
Originally Posted by an3k View Post
Is it normal that there is no auto completion for the core functions? Eg. for core.[TAB][TAB] or core.std.[TAB][TAB]
But there is. (I had no idea the Python interpreter has tab completion.)

vs.[tab][tab], core.[tab][tab], and core.std.[tab][tab] work here. core.[tab][tab] doesn't list the namespaces because they are looked up on demand, if I remember correctly. The functions are listed, though.
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 16th January 2016, 23:59   #1834  |  Link
Lynx_TWO
Registered User
 
Join Date: Aug 2005
Posts: 37
Quote:
Originally Posted by cretindesalpes View Post
Ringing appears with a just few taps with sinc, because this kernel has a slow decrease. So if you feel the need use it, you want it with many taps.
You are correct. The sinc function implemented in AviSynth 2.6(?) used 256 taps, however, for some reason you can only use a maximum of 128 taps in fmtconv (at least, using more gave me an error). The best re-size I have ever seen was sinc used with 1024 taps (it took a while to resize). As taps increase, you get closer and closer to a perfect resize, albeit at significant calculation cost, and the differences become less and less clear on an exponential scale. The movie industry has known this for a long time, hence the reason they prefer the sinc algorithm. I would love to have the ability to use sinc with 2048 or 4096 taps in fmtconv. I suspect the ringing would become a non-issue... Anyone willing to try it?
Lynx_TWO is offline   Reply With Quote
Old 17th January 2016, 03:29   #1835  |  Link
an3k
Registered User
 
an3k's Avatar
 
Join Date: Oct 2006
Location: Omicron Persei 8
Posts: 180
So I have this script:
Code:
import vapoursynth as vs
import havsfunc as havs
core = vs.get_core()

clip = core.lsmas.LWLibavSource("/var/tmp/S01E01_1.vob")
clip = havs.QTGMC(clip,Preset="Slow",FPSDivisor=2,Sharpness=1.2,SLMode=1,EZDenoise=2.5,NoisePreset="Slow",TFF=True)
# left, right, top, bottom
clip = core.std.CropRel(clip,4,4,4,2)
clip = core.resize.Lanczos(clip,960,720)

clip.set_output()
Command line is:
Code:
vspipe vs_qtgmc_1.78.vpy - | x264 --level 4.0 --crf 22 --deblock -3:-3 --keyint 240 --ref 4 --chroma-qp-offset -2 --vbv-bufsize 31250 \
--vbv-maxrate 25000 --me umh --sar 1:1 --fps 25 --input-res 960x720 --input-csp i420 -o /var/tmp/recoded.264 -
And I get this:


and this



With the very same script (but for AviSynth) on my ~8 year old Core2Quad Q9650 with 8 GB RAM on Windows 7 Professional 64-Bit I also get ~8 fps and 100% CPU usage. Where does this huge performance impact comes from?
Code:
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\mvtools2.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\mt_masktools-26.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\nnedi3.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\RemoveGrainSSE2.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\RepairSSE2.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\SSE2Tools.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\FFT3DFilter.dll")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\dfttest.dll")
Import("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\QTGMC-3.32.avsi")
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\dgindex\DGDecode.dll")
DGDecode_mpeg2source("C:\RIPS\Neon Genesis Evangelion\S01E01\S01E01.d2v", cpu=4, info=3)
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\avisynth_plugin\ColorMatrix.dll")
ColorMatrix(hints=true, threads=0)
QTGMC(Preset="Slow",FPSDivisor=2,Sharpness=1.2,SLMode=1,EZDenoise=2.5,NoisePreset="Slow")
crop(4, 4, -4, -2)
Lanczos4Resize(960,720)
ConvertToYV12()

Last edited by an3k; 17th January 2016 at 23:46. Reason: attachements not needed now
an3k is offline   Reply With Quote
Old 17th January 2016, 11:01   #1836  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Quote:
Originally Posted by Lynx_TWO View Post
You are correct. The sinc function implemented in AviSynth 2.6(?) used 256 taps, however, for some reason you can only use a maximum of 128 taps in fmtconv (at least, using more gave me an error). The best re-size I have ever seen was sinc used with 1024 taps (it took a while to resize). As taps increase, you get closer and closer to a perfect resize, albeit at significant calculation cost, and the differences become less and less clear on an exponential scale. The movie industry has known this for a long time, hence the reason they prefer the sinc algorithm. I would love to have the ability to use sinc with 2048 or 4096 taps in fmtconv. I suspect the ringing would become a non-issue... Anyone willing to try it?
ideal sinc (something like taps=infinite) is like, some "theoretically" perfect low pass filter...
there are other methods that have better "visual" quality than sinc
downscaling: bicubic (b=-1,c=0) or bicubic (-0.5,0.25)
upscaling: EEDI3, NNEDI3
feisty2 is offline   Reply With Quote
Old 17th January 2016, 11:19   #1837  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
Quote:
Originally Posted by an3k View Post
And I get this:


and this



With the very same script...
This is what I see. There are no images for me. The IMG tag may require static URLs to image files sometimes, depending on the forum software, often they don't support PHP locations with parameters as image URLs.

There are a few cooperative and simple image hosters out in the web, like imgur.com or frupic.frubar.net; may be recommendable instead of trying to embed attachments.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 17th January 2016, 12:52   #1838  |  Link
foxyshadis
ангел смерти
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Lost
Posts: 9,558
Quote:
Originally Posted by LigH View Post
This is what I see. There are no images for me. The IMG tag may require static URLs to image files sometimes, depending on the forum software, often they don't support PHP locations with parameters as image URLs.

There are a few cooperative and simple image hosters out in the web, like imgur.com or frupic.frubar.net; may be recommendable instead of trying to embed attachments.
They were attached but were deleted by another mod. I didn't see them so I dunno why.
foxyshadis is offline   Reply With Quote
Old 17th January 2016, 13:36   #1839  |  Link
Sangan
Registered User
 
Join Date: Dec 2014
Posts: 17
Quote:
Originally Posted by TheFluff View Post
While it is true that Vapoursynth could definitely use a better tutorial/more gentle introduction on how to do things, I don't think you should criticize the reference documentation for being reference documentation. It has its place.

That being said, if you don't have at least basic programming knowledge and/or are willing to learn, Vapoursynth is probably not for you. With Avisynth you can get away with not really being a coder, you can just copypaste a bunch of filter lines, but with VS you sorta need to write actual code. Or at least you should, because the possibility of doing that is kinda the raison d'etre of VS.
Well... I kind of support the gist of an3k's post there... It looks like a massive amount of learning Phyton if you havent done that before and arent really a coder, before you could start using VS. I would really like to use VS for encoding, because it runs native on a Mac, not like AviSynth using Wine on 32 bit. I just really lack a starting point. Most people wanting to use VS actually come from AS, so it might be a help for starting, if you perhaps could put a small section in, that kind of explains steps, like taking an AS section/loading the index of a file/applying one filter... and show the code, that would be the appropriate one in VS. People learn in different ways, but I think some kind of practical starting point would be nice.

Maybe some time
Sangan is offline   Reply With Quote
Old 17th January 2016, 13:46   #1840  |  Link
sneaker_ger
Registered User
 
Join Date: Dec 2002
Posts: 5,565
http://www.vapoursynth.com/doc/gettingstarted.html
?
sneaker_ger is offline   Reply With Quote
Reply

Tags
speed, vaporware, vapoursynth

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 15:52.


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