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. |
27th July 2014, 13:04 | #1301 | Link |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Thanks for the update.
However I noticed that with the new VSPIPE version querying the VapourSynth version doesn't work, which breaks the VapourSynth detection code in my GUI program: Code:
C:\Program Files (x86)\VapourSynth\core32>vspipe.exe -v No script file specified C:\Program Files (x86)\VapourSynth\core32>vspipe.exe -version No output file specified C:\Program Files (x86)\VapourSynth\core32>vspipe.exe --version No script file specified Code:
VapourSynth detection is running, please stand by... VSPIPE.EXE failed with code 0x00000001 -> disable Vapousynth support! VapourSynth thread finished. VapourSynth thread failed to detect installation! Also, maybe more a cosmetic problem, but anyway: Is it supposed to show those $s's there? Code:
VSPipe usage: $s [options] <script> <outfile> Examples: Show script info: $s --info script.vpy - BTW: Changing the CLI syntax in a non-backward-compatible way is generally bad for GUI front-end's, since we either need to support old and new variants (which is pain) or we support only a specific VapourSynth version (then user is doomed if program A wants VapourSynth r23 and program B wants VapourSynth r24).
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ Last edited by LoRd_MuldeR; 27th July 2014 at 13:18. |
27th July 2014, 14:15 | #1302 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
VapourSynth R24 test 3
Fixes the vspipe issues. Quote:
However having saner argument parsing is just too attractive to not do it and adding additional options would've been difficult without re-writing it all anyway. Now it follows standard command line conventions and makes more sense. The user base is also still small and fast enough to adapt to the changes. You're the only one making a GUI front end that I know of. Feel free to drop support for older versions of VS if it's too much work. I really try to make each release better than the last, or at least release a fix quickly if a major issue is found. Anyway, no more major vspipe changes. Now it's done.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
27th July 2014, 14:40 | #1303 | Link | |
Software Developer
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
|
Quote:
Code:
c:\Program Files (x86)\VapourSynth\core32>vspipe.exe --version VapourSynth Video Processing Library Copyright (c) 2012-2014 Fredrik Mellbin Core r24 API r3 From your lips to God's ears
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊ |
|
27th July 2014, 20:58 | #1304 | Link |
Registered User
Join Date: Jul 2011
Posts: 1,121
|
How is Vapoursynth looking?
It's been awhile since it came, so i wonder, is the improvements as expected and all that? I know it's still far from done, so not expecting it to be comparable, but i just mean in the sense that it's using a more modern approach and how that compares. |
28th July 2014, 00:34 | #1305 | Link |
Beyond Kawaii
Join Date: Feb 2008
Location: Russia
Posts: 724
|
VapourSynth is rather great. Especially compared to the current state of AviSynth. But it lacks some essential plugins. NNEDI3 is only supporting 8bit colordepth so far. No motion compensation. No DFTTest.
__________________
...desu! |
6th August 2014, 22:12 | #1307 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
I'm back AGAIN!
Here's R24 RC1 with a pile of important additional fixes. Test everything a bit so it doesn't crashe too often. I had to change a lot of python code to fix some of the bugs. All changes in R24 so far: Code:
r24: fixed reference leak in FrameEval more functions in the vsscript api now return success or failure improved handling of the vsfunc type in python, it should now have all the functionality originally intended removed r21 argument compatibility since all scripts should have been changed by now include file paths in the windows sdk have been changed to better match linux and osx the core will no longer be completely freed until all filter instances belonging to it have been released, this prevents crashes in some circumstances vsvfw now properly returns an error message when no output has been set instead of silently failing fixed a reference leak in vsscript vspipe has a new argument for passing on values to the script environment from the command line vspipe now has improved command line parsing and short forms, however old command lines will have to be modified to work re-added clip.output() fixed a filter error propagation issue mixed improvements to vivtc (nodame) fixed mac compilation of genericfilters added FreezeFrames, DuplicateFrames and DeleteFrames, they can all delete/duplicate/freeze multiple frames with one command (nodame) mixed documentation improvements (nodame) fixed tracking of memory usage that was broken in r22 (nodame) vivtc now uses framedifference internally and runs completely in parallel, also minor metric reporting fixes (nodame)
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
6th August 2014, 22:13 | #1308 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
About the same speed for single threaded. Good scaling with the number of cores on medium-complex scripts when multithreaded. Not much more to say about it.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
9th August 2014, 12:09 | #1310 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
It's chrome acting like shit antivirus software. Use IE or something else to download where you can ignore the warnings.
Installers are regularly blacklisted/blocked by incompetence.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
10th August 2014, 04:49 | #1311 | Link |
Registered User
Join Date: Nov 2013
Posts: 26
|
Can I maintain aspect ratio while resizing?
Code:
v = core.resize.Lanczos(clip=v, width=1920, height=new_height) Code:
new_height = original_height / original_width x 1920 Last edited by alexxdls; 10th August 2014 at 05:04. |
10th August 2014, 06:53 | #1312 | Link | |
unsigned int
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
|
Quote:
Code:
new_height = int(v.height / v.width * 1920 + 0.5)
__________________
Buy me a "coffee" and/or hire me to write code! |
|
10th August 2014, 10:20 | #1313 | Link |
Registered User
Join Date: Nov 2013
Posts: 26
|
Is it correct calculation (rounding to the neares even value)?
Code:
new_height = v.height / v.width * new_width - 0.5 new_height = lambda new_height : round( new_height / 2.) * 2 v = core.resize.Lanczos(clip=v, width=new_width , height=new_height) |
12th August 2014, 16:59 | #1314 | Link |
Registered User
Join Date: Nov 2013
Posts: 26
|
Code:
import vapoursynth as vs core = vs.get_core() import os core.std.LoadPlugin(path=r"d:\TOOLS\MyDCPConverter\Tools\imwri-64.dll") core.std.LoadPlugin(path=r"d:\TOOLS\MyDCPConverter\Tools\fmtconv.dll") ext = 'L.png' dir = r"F:\TEMP\TRAIN-DRAGON-2_TLR-G-3D_RU-XX_RU-00_51_2K_TCF_20140417_DWA_IOP-3D\REEL1/" srcs = [dir + src for src in os.listdir(dir) if src.endswith(ext)] vl1 = core.imwri.Read(srcs) vl1 = core.fmtc.matrix(vl1, mat="709", col_fam=vs.YUV, csp=vs.YUV444P16, bits=16, fulls=1, fulld=1) vl = vl1 dir = r"F:\TEMP\TRAIN-DRAGON-2_TLR-G-3D_RU-XX_RU-00_51_2K_TCF_20140417_DWA_IOP-3D\REEL2/" srcs = [dir + src for src in os.listdir(dir) if src.endswith(ext)] vl2 = core.imwri.Read(srcs) vl2 = core.fmtc.matrix(vl2, mat="709", col_fam=vs.YUV, csp=vs.YUV444P16, bits=16, fulls=1, fulld=1) vl = vl + vl2 vl = core.std.CropRel(vl, left=15, right=15, top=0, bottom=0) new_height = round(vl.height / vl.width * 1920 / 2) * 2 vl = core.resize.Lanczos(vl, width=1920, height=new_height) border_height = round((1080 - vl.height) / 2) vl = core.std.AddBorders(vl, top=border_height, bottom=border_height) ext = 'R.png' dir = r"F:\TEMP\TRAIN-DRAGON-2_TLR-G-3D_RU-XX_RU-00_51_2K_TCF_20140417_DWA_IOP-3D\REEL1/" srcs = [dir + src for src in os.listdir(dir) if src.endswith(ext)] vr1 = core.imwri.Read(srcs) vr1 = core.fmtc.matrix(vr1, mat="709", col_fam=vs.YUV, csp=vs.YUV444P16, bits=16, fulls=1, fulld=1) vr = vr1 dir = r"F:\TEMP\TRAIN-DRAGON-2_TLR-G-3D_RU-XX_RU-00_51_2K_TCF_20140417_DWA_IOP-3D\REEL2/" srcs = [dir + src for src in os.listdir(dir) if src.endswith(ext)] vr2 = core.imwri.Read(srcs) vr2 = core.fmtc.matrix(vr2, mat="709", col_fam=vs.YUV, csp=vs.YUV444P16, bits=16, fulls=1, fulld=1) vr = vr + vr2 vr = core.std.CropRel(vr, left=15, right=15, top=0, bottom=0) vr = core.resize.Lanczos(vr, width=1920, height=new_height) border_height = round((1080 - vr.height) / 2) vr = core.std.AddBorders(vr, top=border_height, bottom=border_height) v = core.std.StackHorizontal([vl,vr]) v = core.std.AssumeFPS(v, fpsnum=24) v = core.fmtc.resample(v, css="420") v = core.fmtc.bitdepth(v, bits=8, dmode=3) v.set_output() Code:
unable to destroy mutex: Resource device Code:
Script was successfully evaluated. Output video info: Frames: 72 | Time: 0:00:03.000 | Size: 3840x1080 | FPS: 24/1 = 24 | Format: YUV420P8 |
13th August 2014, 03:10 | #1316 | Link |
Registered User
Join Date: Nov 2013
Posts: 26
|
Replacing
Code:
v = core.std.StackHorizontal([vl,vr]) Code:
v = vl + vr Code:
v = core.std.StackHorizontal([vr,vr]) Code:
v = core.std.StackHorizontal([vl,vl]) Even the simplest script with one frame in vl and vr crushes the same way Code:
import vapoursynth as vs core = vs.get_core() import os core.std.LoadPlugin(path=r"d:\TOOLS\MyDCPConverter\Tools\imwri-64.dll") core.std.LoadPlugin(path=r"d:\TOOLS\MyDCPConverter\Tools\fmtconv.dll") vl = core.imwri.Read(r"F:\TEMP\TRAIN-DRAGON-2_TLR-G-3D_RU-XX_RU-00_51_2K_TCF_20140417_DWA_IOP-3D\REEL2\000034L.png") vr = core.imwri.Read(r"F:\TEMP\TRAIN-DRAGON-2_TLR-G-3D_RU-XX_RU-00_51_2K_TCF_20140417_DWA_IOP-3D\REEL2\000034R.png") v = core.std.StackHorizontal([vl,vr]) v.set_output() Code:
Script was successfully evaluated. Output video info: Frames: 1 | Time: 0:00:00.033 | Size: 4096x858 | FPS: 30/1 = 30 | Format: RGB48 Last edited by alexxdls; 13th August 2014 at 04:09. |
13th August 2014, 09:02 | #1317 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
I will take a look at it. I just happen to have plenty of other things as well to test. And a job. Posting in more threads about it won't make me happier or make me work faster.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
13th August 2014, 10:07 | #1318 | Link |
Registered User
Join Date: Mar 2011
Posts: 16
|
Build of vapoursynth.pyd fails here (on windows) due to failure of "cimport windows". I needed to create the following file named "windows.pxd" placed under Cython directory.
Code:
cdef extern from "windows.h" nogil: bint WriteFile(void *hFile, void *lpBuffer, int nNumberOfBytesToWrite, int *lpNumberOfBytesWritten, void *lpOverlapped) nogil |
13th August 2014, 10:09 | #1319 | 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 |
|
Tags |
speed, vaporware, vapoursynth |
|
|