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. |
|
![]() |
#1 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,503
|
Vapoursynth
Website:
http://www.vapoursynth.com/ VapourSynth ChangeLog Documentation List of all known plugins and scripts VapourSynth Editor
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet Last edited by Myrsloik; 23rd August 2016 at 17:02. Reason: New version |
![]() |
![]() |
![]() |
#4 | Link |
Novice x264 User
Join Date: Dec 2006
Location: California
Posts: 169
|
That's further than what I got. I can't even get past the first line (says specified module no found)
![]()
__________________
"I'll take a potato chip... and eat it!" |
![]() |
![]() |
![]() |
#5 | Link |
Registered User
Join Date: Jan 2010
Posts: 270
|
Awesome project. Finally, something that can completely replace avisynth one day.
I played around with it and wrote a simple (buggy, ugly etc.) wrapper to provide more avisynth-like syntax (chaining support, positional arguments, case insensitivity): http://privatepaste.com/0b53562cdb While it definitely shouldn't be used for anything real in its current state, I hope it shows that vapoursynth could benefit from better API. Thoughts: 1. list_functions() should return a string and not output it to stdout by itself. IMHO, this is just wrong (see _rebuild_functions_cache function). 2. There should be a list_functions() analog, that would return the same data in dictionary/list/whatever form. I'm pretty sure you have one internally. Possible use case: editors, wrappers. 3. Chaining support, or you can call it 'fluent interface'. Just because it makes things so much easier. 4. Positional argument. I'm not sure why you like it verbose while most programming languages use this kind of args without any problems. Some don't even support named arguments. 5. Case-insensitivity should be added. Or at least lowercase bindings for all functions. Good editor could help, sure, but right now it takes me ages to type FFVideoSource correctly. 6. Some list_functions() analog for core functions. Because your (cython?) objects don't support __dict__, inspect.getargspec and other reflection methods. This can be solved with good documentation too. ![]() I'm not very good with python and I'm pretty sure that some of these questions can be solved by a simple correct wrapper without your help. Having all this in core API would be nice though. Also, optional parameters don't seem to work right now. And CropAbs accepts negative width/height but then outputs garbage. IMHO it should behave like avisynth's crop function. Last edited by TurboPascal7; 9th September 2012 at 07:39. |
![]() |
![]() |
![]() |
#6 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,503
|
Quote:
2. will probably happen some day 3. suggest a way to implement it that's not completely unpythonian and I'll consider it 4. some day 5. I will not add case insensitive stuff to a case sensitive language. Maybe some day I'll make lowercase versions acceptable too. 6. It's already included in list_functions(), why do you need one more? I think I've fixed the crop argument checks. Can you give an example of the optional arguments maybe not working?
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
![]() |
![]() |
![]() |
#7 | Link | |
Registered User
Join Date: Jan 2010
Posts: 270
|
Quote:
Code:
Traceback (most recent call last): File "D:/test.py", line 21, in <module> source = w.std.CropAbs(clip=source, x=16, y=16) File "vapoursynth.pyx", line 434, in vapoursynth.Function.__call__ (cython\vapoursynth.c:7371) vapoursynth.Error: 'CropAbs: argument width is required' Code:
source = w.std.CropAbs(clip=source, x=16, y=16, width=-16, height=-16) I don't really need another list_functions() method. I do want to know Core class constructor parameters, VideoNode.output() method parameters (wanted to test callback, added in r4) etc. Without documentation and any public API I don't see any ways to do it since reflection doesn't work well with cython. I'm asking for this too early, I guess. |
|
![]() |
![]() |
![]() |
#8 | Link | |||
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,503
|
Quote:
Quote:
Quote:
Not much of interest, really. Flatten is whether or not single return value functions get the returned dict flattened to a single value automatically. addcache controls automatic cache insertion. Output declaration: def output(self, object fileobj not None, bint y4m = False, int lookahead = 10, object progress_update = None): Where lookahead is the number of frame requests it has going at once to keep throughput up and progress_update is a functions that could looks like this: def print_frame(n, total): print('Frame: %d/%d' % (n, total))
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|||
![]() |
![]() |
![]() |
#10 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,503
|
To crush all who stand against me! *muahaha*
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
![]() |
![]() |
![]() |
#11 | Link |
Registered User
Join Date: Nov 2011
Location: spain
Posts: 45
|
hi, i can't make CPU Usage = 99% when i use one filter
the CPU Usage is 25% all the time, but when i use the filter x4, the CPU Usage become 99% but in avisynth MT the CPU Usage is 99% all the time what is the problem ?? (or is it a problem ??) |
![]() |
![]() |
![]() |
#12 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,503
|
Quote:
Newly written and ported filters for the vs api can if done correctly handle multiple frames at once. See the included Lut/Lut2 function.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
![]() |
![]() |
![]() |
#13 | Link | |
Registered User
Join Date: Nov 2011
Location: spain
Posts: 45
|
Quote:
|
|
![]() |
![]() |
![]() |
#14 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,503
|
Not without porting filters, no. I'm not going to make another avisynth-mt mess. I intend to win people over in the end by being faster and more stable for most users.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
![]() |
![]() |
![]() |
#15 | Link | |
Registered User
Join Date: Nov 2011
Location: spain
Posts: 45
|
Quote:
i have a problem with ColorMatrix: ![]() every filter above work very well, except ColorMatrix is it not supported yet? |
|
![]() |
![]() |
![]() |
#16 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,503
|
I released R5. Changes in the first post. If this one turns out well I'll start experimenting with other platforms.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
![]() |
![]() |
![]() |
#17 | Link |
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
It's not supported yet. Vapoursynth doesn't have equivalents for all of the internal Avisynth functions yet, so filters like ColorMatrix that invoke internal Avisynth filters will break if the invoked function doesn't exist in Vapoursynth.
|
![]() |
![]() |
![]() |
#18 | Link | |
Leader of Dual-Duality
Join Date: Aug 2010
Location: America
Posts: 134
|
Quote:
__________________
I'm Mr.Fixit and I feel good, fixin all the sources in the neighborhood My New filter is in the works, and will be out soon |
|
![]() |
![]() |
![]() |
#19 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,503
|
Yes, I added it as an experiment and it's off by default. It may disappear again if I don't like it.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
![]() |
![]() |
![]() |
#20 | Link |
Oz of the zOo
Join Date: May 2005
Posts: 208
|
this is great, let it be :-)
also, is there a way yet to create arbitrary clips like in avisynth's ScriptClip? The only way I see now is to loop through all frames and then core.std.splice individual frames after some processing which seems to defy the idea of lazy calculation in a ScriptClip. Last edited by wOxxOm; 9th September 2012 at 21:35. |
![]() |
![]() |
![]() |
Tags |
speed, vaporware, vapoursynth |
Thread Tools | Search this Thread |
Display Modes | |
|
|