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 December 2019, 16:25 | #3661 | Link |
Registered User
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
|
I wish Visual Studio project files were included in the source, so I can use 'Go to document' and 'Go to definition' in order to understand the code. Right now I'm looking at vsvfw.cpp and want to know which header declares IUnknown. Maybe I have to try creating a project file.
__________________
https://github.com/stax76/software-list https://www.youtube.com/@stax76/playlists |
27th December 2019, 16:33 | #3662 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Quote:
IUnknown is obviously from a system COM header.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
27th December 2019, 16:41 | #3663 | Link |
Registered User
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
|
Sorry, I overlooked it. I'm not very good in C++ right now, first C++ project after over ten years.
__________________
https://github.com/stax76/software-list https://www.youtube.com/@stax76/playlists Last edited by stax76; 27th December 2019 at 17:41. |
28th December 2019, 21:49 | #3664 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Audio support is almost done
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
28th December 2019, 22:10 | #3665 | Link | |
Registered User
Join Date: Feb 2018
Posts: 5
|
Quote:
|
|
29th December 2019, 10:57 | #3666 | Link |
Registered User
Join Date: Dec 2007
Location: Enschede, NL
Posts: 301
|
__________________
Roelofs Coaching |
29th December 2019, 13:53 | #3668 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Quote:
All existing audio sources suck so I'll probably have to improve FFMS2 first. Feel free to start implementing audio plugins using the doodle1 branch. The API is conceptually stable (but tweaks will definitely be made).
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
29th December 2019, 15:04 | #3670 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
What about you asking a complete question?
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
30th December 2019, 08:22 | #3672 | Link | ||
Registered User
Join Date: Sep 2018
Posts: 14
|
Quote:
Quote:
|
||
30th December 2019, 09:50 | #3673 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
There needs to be at least one decent source filter for audio or there won't be much to test really...
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
1st January 2020, 01:30 | #3674 | Link |
Cary Knoop
Join Date: Feb 2017
Location: Newark CA, USA
Posts: 397
|
I can't figure this out on Windows 10.
1. I installed Python using Anaconda (e:\anaconda3) 2. Installed Vapoursynth (all users) (e:\vapoursynth) python myscript.vpy works fine! Code:
import vapoursynth as vs from vapoursynth import core print(core.version()) clip = core.std.BlankClip(format=vs.RGB24, color=[0, 0, 0]) clip.set_output() vspipe --info myscript.vpy - Setting PythonPath in registry to "e:\anaconda3" gives: Failed to initialize VapourSynth environment Setting PythonPath to "" gives: Fatal Python error: initfsencoding: unable to load the file system codec ModuleNotFoundError: No module named 'encodings' Current thread 0x00008fdc (most recent call first): Registry entries: Code:
Key Name: HKEY_LOCAL_MACHINE\SOFTWARE\VapourSynth Class Name: <NO CLASS> Last Write Time: 12/31/2019 - 4:26 PM Value 0 Name: Version Type: REG_SZ Data: 48 Value 1 Name: Path Type: REG_SZ Data: e:\vapoursynth Value 2 Name: CorePlugins Type: REG_SZ Data: e:\vapoursynth\core\plugins Value 3 Name: Plugins Type: REG_SZ Data: e:\vapoursynth\plugins Value 4 Name: VapourSynthDLL Type: REG_SZ Data: e:\vapoursynth\core\vapoursynth.dll Value 5 Name: VSScriptDLL Type: REG_SZ Data: e:\vapoursynth\core\vsscript.dll Value 6 Name: VSPipeEXE Type: REG_SZ Data: e:\vapoursynth\core\vspipe.exe Value 7 Name: VSRepoPY Type: REG_SZ Data: e:\vapoursynth\vsrepo\vsrepo.py Value 8 Name: PythonPath Type: REG_SZ Data: e:\anaconda3 No change, same problem. Last edited by Cary Knoop; 1st January 2020 at 01:33. |
5th January 2020, 19:54 | #3675 | Link |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
I wrote some syntactic sugar stuff for the C++ API here: https://github.com/IFeelBloated/vapo...ster/sugar.hpp
C++2a support is required (I'm 100% sure C++17 aint cuttin' it), it compiles with "-std=c++2a" for GCC10 you can use Code:
auto MakePlane(auto Pointer, auto Width, auto Height, auto PaddingPolicy) I'll give you a concrete example, to write a 3x3 box blur, you would do the following: Code:
auto srcp = reinterpret_cast<const float *>(srcp8); auto dstp = reinterpret_cast<float *>(dstp8); auto padded_src = reinterpret_cast<float *>(malloc((width+2) * (height+2) * sizeof(float))); for (auto y : Range{ height }) std::memcpy(padded_src + (y+1) * (width+2) + 1, srcp + y * width, width * sizeof(float)); // lots of code here to deal with padding for "padded_src" auto gc_addr = padded_src; padded_src += (width + 2) + 1; for (auto y : Range{ height }) for (auto x : Range{ width }) { auto above = padded_src - (width + 2); auto below = padded_src + (width + 2); dstp[x] = (above[x-1] + above[x] + above[x+1] + padded_src[x-1] + padded_src[x] + padded_src[x+1] + below[x-1] + below[x] + below[x+1]) / 9; dstp += width; padded_src += width + 2; } free(gc_addr); Code:
auto srcp = MakePlane<const float>(srcp8, width, height, Repeat); auto dstp = MakePlane<float>(dstp8, width, height, Zero); for (auto y : Range{ height }) for (auto x : Range{ width }) dstp[y][x] = (srcp[y-1][x-1] + srcp[y-1][x] + srcp[y-1][x+1] + srcp[y][x-1] + srcp[y][x] + srcp[y][x+1] + srcp[y+1][x-1] + srcp[y+1][x] + srcp[y+1][x+1]) / 9; // possible out-of-bound access like "srcp[y-1][x-1]" is automatically handled here with the given padding policy, you got nothing to worry about Code:
Zero Repeat (or simply called "pad" on this forum) Reflect Code:
auto PaddingFunction = [](auto Canvas, auto Width, auto Height, auto y, auto x) { ... }; you are welcome to leave a comment if you have any suggestions or ideas to further improve this. Last edited by feisty2; 6th January 2020 at 11:45. |
5th January 2020, 20:05 | #3676 | Link |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
simple live demonstration: https://godbolt.org/z/MHebt8
|
8th January 2020, 18:50 | #3678 | Link |
Pig on the wing
Join Date: Mar 2002
Location: Finland
Posts: 5,718
|
Standard IVTC? VFM to match fields followed by VDecimate to drop the dupes.
__________________
And if the band you're in starts playing different tunes I'll see you on the dark side of the Moon... |
11th January 2020, 17:18 | #3679 | Link | |
Registered User
Join Date: Jan 2002
Location: -
Posts: 115
|
I'm getting this error when compiling Vapoursynth on Linux (Mint 19.3)
I installed cython through pip. "which cython" gives "/home/me/.local/bin/cython" Quote:
Last edited by PlazzTT; 11th January 2020 at 17:24. |
|
11th January 2020, 20:53 | #3680 | Link |
Registered User
Join Date: Jul 2019
Location: Russia
Posts: 87
|
By the way, to the page:
http://www.vapoursynth.com/doc/insta...-from-packages May be added that there is a ready-made solution for Debian: https://www.deb-multimedia.org/ And, apparently, remove the link to packages for Ubuntu. Last edited by Jukus; 11th January 2020 at 20:58. |
Tags |
speed, vaporware, vapoursynth |
Thread Tools | Search this Thread |
Display Modes | |
|
|