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. |
29th September 2015, 13:36 | #1741 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
I've now enabled the github wiki. Anyone with a github account can freely edit it. It's empty right now so suggest a good structure.
https://github.com/vapoursynth/vapoursynth/wiki
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
29th September 2015, 13:59 | #1742 | Link | |
Registered User
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
|
I suggests a Tools page like so:
Quote:
__________________
https://github.com/stax76/software-list https://www.youtube.com/@stax76/playlists |
|
29th September 2015, 16:53 | #1743 | Link | |
Registered User
Join Date: Oct 2010
Posts: 36
|
Quote:
The wiki still useful for user contributed items, such as example snippets. |
|
29th September 2015, 23:29 | #1744 | Link |
Angel of Night
Join Date: Nov 2004
Location: Tangled in the silks
Posts: 9,559
|
Myrsloik, would you consider extending clip.format with min and max (or minval/maxval)? 2**clip.format.bits_per_sample-1 works for integer formats, though ugly, but that should be 1.0 for floats. Making it generic would be even uglier, like:
maxval=2**clip.format.bits_per_sample-1 if clip.format.sampletype==vs.INTEGER else 1.0 |
29th September 2015, 23:35 | #1745 | Link |
Angel of Night
Join Date: Nov 2004
Location: Tangled in the silks
Posts: 9,559
|
I've made a new page for the community to list AviSynth equivalents to ease the transition to VS: https://github.com/vapoursynth/vapou...th-Equivalents
Hopefully this will keep others from banging their head as much as I did on the path to enlightenment. Also helps me, since I'm so forgetful. |
29th September 2015, 23:51 | #1746 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
I guess I could add a function for it but it's actually a bit more complicated. For floating point it also depends on the plane and format. I'll think about it a bit because it definitely could be useful to have in many scripts.
And when you write about function equivalents, don't always assume Lut is faster than expr. The jit compilation in r28 gives a huge speedup.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
30th September 2015, 00:00 | #1747 | Link | |
Angel of Night
Join Date: Nov 2004
Location: Tangled in the silks
Posts: 9,559
|
Quote:
|
|
2nd October 2015, 23:25 | #1749 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
Don't go there. Limited/full range is a frame property so that's per frame. There's a reason I didn't add a simple function. It's not simple at all. Ever.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
2nd October 2015, 23:27 | #1750 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
Behold R28 RC1. No more changes planned unless a serious bug is found. Most of the performance regression relative to R27 should be fixed.
All R28 changes: Code:
r28: the installer will now download and install the vs2013 and vs2015 runtimes if needed now uses python 3.5 fixed vdecimate parallel mode pow is now accepted in expr expressions expr now accepts up to 26 inputs (x-z, a-w) expr now has runtime code generation on x86 cpus using jitasm now normalizes the framerate returned from avisynth filters it is now a fatal error to set the videoinfo of a filter to a non-normalized framerate added a few more checks for proper api usage get_core() can now be used in callbacks and other external functions in python now returns an error message saying that windows needs to be updated in certain cases when plugin loading fails fixed loop filter (nodame) lut and lut2 can now output float as well now accepts scripts that start with a BOM as well fixed an image corruption bug with 9-16 bit input to rgvs when the c++ code is used fixed division by zero issues in muldivrational in vshelper.h blankclip can now create 0 (unknown/variable) fps clips added float support to planedifference and planeaverage added half support to addborders relevant compile time options are now in the version string
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
7th October 2015, 22:42 | #1751 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
Look at me! I'm multitasking! I can argue on the interweb and release stuff at once! R28 is ready. Prepare to have FATAL ERRORS IN YOUR NIGHTMARES!
The usual summary blog of interesting changes. Full changelog in the first post as usual.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
12th October 2015, 14:55 | #1754 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
That's very odd. All buffers should be aligned. I'll have to figure out why that happens.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
12th October 2015, 17:02 | #1756 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
Quote:
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
12th October 2015, 18:21 | #1757 | Link | |
Registered User
Join Date: Jan 2010
Posts: 270
|
Quote:
Code:
src = core.ffms2.Source(...) src = core.resize.Bicubic(src, format=vs.RGB24) planes_count = src.format.num_planes for x in range(10): frame = src.get_frame(x) image = cv2.merge([np.array(frame.get_read_array(i), copy=False) for i in reversed(range(planes_count))]) cv2.imshow("", image) # or something like cv2.imwrite("{0}.png".format(x), image) if you want it saved cv2.waitKey(0) |
|
12th October 2015, 22:36 | #1759 | Link | |
Registered User
Join Date: Oct 2010
Posts: 36
|
Quote:
Also if you then want to go about editing the images, you need to do: Code:
src = core.ffms2.Source(...) src = core.resize.Bicubic(src, format=vs.RGB24) planes_count = src.format.num_planes for x in range(10): frame = src.get_frame(x) image = cv2.merge([np.array(frame.copy().get_write_array(i), copy=False) for i in reversed(range(planes_count))]) cv2.imshow("", image) # or something like cv2.imwrite("{0}.png".format(x), image) if you want it saved cv2.waitKey(0) Last edited by splinter98; 12th October 2015 at 22:40. |
|
14th October 2015, 17:15 | #1760 | Link |
Registered User
Join Date: Aug 2011
Posts: 103
|
For GRAY and YUV mask (haven't tested RGB), with first_plane=True, std.MaskedMerge will unexpectedly change the color. Probably because it clamps the UV mask to limited range.
I found this issue when trying to use AssVapour since the clipa and clipb are very different under this case. |
Tags |
speed, vaporware, vapoursynth |
Thread Tools | Search this Thread |
Display Modes | |
|
|