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 11th April 2016, 04:16   #2041  |  Link
Elegant
Registered User
 
Join Date: Jul 2014
Posts: 55
Quote:
Originally Posted by LigH View Post
Does anyone provide binaries of plugins ported by VFR-maniac, but only linked as source repos on the plugins list (FFT3DFilter, ReduceFlicker, TNLMeans without OpenCL)?
I've been searching for this as well; it shouldn't be that bad to do it by hand though.
Elegant is offline   Reply With Quote
Old 11th April 2016, 23:14   #2042  |  Link
l33tmeatwad
Registered User
 
l33tmeatwad's Avatar
 
Join Date: Jun 2007
Posts: 415
Quote:
Originally Posted by LigH View Post
Does anyone provide binaries of plugins ported by VFR-maniac, but only linked as source repos on the plugins list (FFT3DFilter, ReduceFlicker, TNLMeans without OpenCL)?
Ask and ye shall receive:
FFT3DFilter
ReduceFlicker
TNLMeans

I only tested the x64 versions of each...
l33tmeatwad is offline   Reply With Quote
Old 11th April 2016, 23:23   #2043  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,867
A bunch of to you...
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 12th April 2016, 17:48   #2044  |  Link
littlepox
Registered User
 
Join Date: Nov 2012
Posts: 218
There is a bug in using Expr:

import vapoursynth as vs
import sys


core = vs.get_core()

core.max_cache_size=1000

a = "anysource.mkv"
src8 = core.lsmas.LWLibavSource(a,threads=1)

res = core.std.Expr(src8, ["128 x - 1 < 128 128 ?",""])
res.set_output()


the vapoursynth.dll shall crash.
However, once can just avoid it by using "x - 128 -1 > 128 128 ?"

Waiting for replies, thanks.
littlepox is offline   Reply With Quote
Old 12th April 2016, 19:48   #2045  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
Quote:
Originally Posted by littlepox View Post
There is a bug in using Expr:

import vapoursynth as vs
import sys


core = vs.get_core()

core.max_cache_size=1000

a = "anysource.mkv"
src8 = core.lsmas.LWLibavSource(a,threads=1)

res = core.std.Expr(src8, ["128 x - 1 < 128 128 ?",""])
res.set_output()


the vapoursynth.dll shall crash.
However, once can just avoid it by using "x - 128 -1 > 128 128 ?"

Waiting for replies, thanks.
Fixed now. It affects expressions that use the ternary operator, where its first operand is an expression that begins with a constant.
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 13th April 2016, 04:15   #2046  |  Link
littlepox
Registered User
 
Join Date: Nov 2012
Posts: 218
Quote:
Originally Posted by jackoneill View Post
Fixed now. It affects expressions that use the ternary operator, where its first operand is an expression that begins with a constant.
Thanks dude. So efficient.
littlepox is offline   Reply With Quote
Old 16th April 2016, 07:29   #2047  |  Link
BakaProxy
Registered User
 
Join Date: Jan 2015
Posts: 47
Just a thought I had recently but is it actually possible to use vpy within c++ without having to call python scripts snd whatnot. I'm talking about calling vpy functions and plugins from within the cpp project.

For example I have a cpp project that generates an image and I want to resize that image without fully making my own resize function, could I then call vpy's internal resize function to do the work or even call the nnedi3 plugin?

Last edited by BakaProxy; 16th April 2016 at 07:33.
BakaProxy is offline   Reply With Quote
Old 16th April 2016, 09:02   #2048  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
see
https://github.com/dubhater/vapoursy...141e8f874a1f87
feisty2 is offline   Reply With Quote
Old 16th April 2016, 09:05   #2049  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
Quote:
Originally Posted by BakaProxy View Post
Just a thought I had recently but is it actually possible to use vpy within c++ without having to call python scripts snd whatnot. I'm talking about calling vpy functions and plugins from within the cpp project.

For example I have a cpp project that generates an image and I want to resize that image without fully making my own resize function, could I then call vpy's internal resize function to do the work or even call the nnedi3 plugin?
Yes, it's possible. You can build a filter graph in C/C++. Here is an example that happens to invoke the internal resizer: https://github.com/vapoursynth/vapou...svapour.c#L504 . For your particular case, you'll also need to implement a VapourSynth source filter in your application.

If it's only the internal resizer you want, you should use zimg directly. It has C and C++ APIs.
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 18th April 2016, 18:16   #2050  |  Link
sofakng
Registered User
 
Join Date: May 2007
Posts: 54
Has anybody been able to cross-compile VapourSynth using Linux?

I'm trying to use MXE (M Cross Environment; mingw32-w64 toolchain builder) and it compiles mpv without any problems, but VapourSynth requires Python 3.4 and I'm stumped on how to properly compile the VapourSynth DLL...
sofakng is offline   Reply With Quote
Old 18th April 2016, 20:00   #2051  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
Quote:
Originally Posted by sofakng View Post
Has anybody been able to cross-compile VapourSynth using Linux?

I'm trying to use MXE (M Cross Environment; mingw32-w64 toolchain builder) and it compiles mpv without any problems, but VapourSynth requires Python 3.4 and I'm stumped on how to properly compile the VapourSynth DLL...
It has been done. There are some hoops to jump through.

Note that cross-compiling a 32 bit libvapoursynth produces a broken DLL. I didn't investigate, but I think it has to do with function decorations somehow.

You could try to cross-compile Python, but I found it easier to use the official win64 installer in Wine (even if it took a few hours to find the magic switch that made msiexec work).

So, assuming you will use the official Python installer, the configure command will look something like this:
Code:
./configure --host=x86_64-w64-mingw32 --disable-python-module --disable-plugins PYTHON3_CFLAGS='/path/to/Python3.h' PYTHON3_LIBS='-L/path/to/libpython3.dll -lpython3'
--disable-python-module because Python modules have to be compiled with the same compiler as libpython, so you'll have to use the Python module provided in the official VapourSynth installer.

--disable-plugins because I assume you won't need those.

PYTHON3_CFLAGS needs to be passed to please the configure script. Point it to the Python installation's "include" folder.

PYTHON3_LIBS is also needed to please the configure script. Point it to the Python installation's "DLLs" folder. Inside, you will need to rename Python3.dll to libpython3.dll because otherwise libtool refuses to acknowledge its existence. This means you'll also need to rename Python3.dll on the Windows machine where this thing will run.

Most unfortunately, you will receive a libvapoursynth-script-0.dll instead of vsscript.dll.

Don't use GCC 5.3.0 for this because its libstdc++ has a bug that makes wstring_convert unusable. This is a problem for VapourSynth. GCC 5.1.0 is okay.

If it's for mpv, I think you'll find it much easier to convince mpv's build system to use the vsscript.dll provided in the official VapourSynth installer, or the portable archive.
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 18th April 2016, 20:55   #2052  |  Link
sofakng
Registered User
 
Join Date: May 2007
Posts: 54
Thanks a lot for the help. I ended up using dlltool to generate the lib files (for vapoursynth.dll and vsscript.dll) and I was able to get mpv compiled with vapoursynth supported. I still need to try it on my actual win32 machine so who knows if it will work but at least it compiled
sofakng is offline   Reply With Quote
Old 19th April 2016, 02:22   #2053  |  Link
sofakng
Registered User
 
Join Date: May 2007
Posts: 54
Sorry, but one more question.

Is there an installer for the 64-bit version of VapourSynth? It looks like VapourSynth-R32.exe only installs the 32-bit version.
sofakng is offline   Reply With Quote
Old 29th April 2016, 07:11   #2054  |  Link
speedyrazor
Registered User
 
Join Date: Mar 2003
Posts: 194
Hi, I am getting "VSPipe.exe has stopped working" when trying to process Quicktime Prores 4444 files. Here is the script:

Code:
import vapoursynth as vs
core = vs.get_core(threads=4)
ret = core.lsmas.LibavSMASHSource(source=r"Prores_4444_HD_Test.mov")
ret = core.fmtc.resample (clip=ret, w=480, h=384, css="444", kernel="spline36")
ret = core.fmtc.matrix (clip=ret, mats="709", matd="601")
ret = core.fmtc.resample (clip=ret, css="420")
ret = core.fmtc.bitdepth (clip=ret, bits=10)
retFinal = ret
retFinal.set_output()
I am on the latest version of Vapoursynth (R32) and the latest version of LSMASHSource (r877). Here is the crash report:

Code:
Problem signature:
  Problem Event Name:	APPCRASH
  Application Name:	VSPipe.exe
  Application Version:	0.0.0.0
  Application Timestamp:	5707beaa
  Fault Module Name:	vslsmashsource.dll
  Fault Module Version:	0.0.0.0
  Fault Module Timestamp:	00000000
  Exception Code:	c0000005
  Exception Offset:	0000000000001c80
  OS Version:	6.2.9200.2.0.0.272.7
  Locale ID:	2057
  Additional Information 1:	a279
  Additional Information 2:	a279be6c627875dc7e1b7d38560dd807
  Additional Information 3:	750b
  Additional Information 4:	750b3a6db190a3b8cb8b4f7bce54513d
Am I doing something wrong, or is this a bug?

Kind regards.
speedyrazor is offline   Reply With Quote
Old 29th April 2016, 13:55   #2055  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
I've downloaded a YUV444P10 sample and got an VS error telling YUV444P10 is not supported by VFW module, could it be supported? I get this error not only with StaxRip and VirtualDub but also with MPC-BE which I thought does not use VFW.

Sample is from here:

https://www.arri.com/camera/amira/le...ample_footage/

Code:
Count                     : 334
Count of stream of this kind: 1
Kind of stream            : Video
Kind of stream            : Video
Stream identifier         : 0
StreamOrder               : 0
ID                        : 1
ID                        : 1
Format                    : ProRes
Commercial name           : ProRes
Format version            : Version 1
Format profile            : 4444
Codec ID                  : ap4h
Codec ID/Url              : http://www.apple.com/quicktime/download/standalone.html
Codec                     : ap4h
Codec                     : ap4h
Codec/CC                  : ap4h
Duration                  : 10240
Duration                  : 10s 240ms
Duration                  : 10s 240ms
Duration                  : 10s 240ms
Duration                  : 00:00:10.240
Duration                  : 00:00:10:06
Duration                  : 00:00:10.240 (00:00:10:06)
Bit rate mode             : VBR
Bit rate mode             : Variable
Bit rate                  : 286246400
Bit rate                  : 286 Mbps
Width                     : 1920
Width                     : 1 920 pixels
Clean aperture width      : 1920
Clean aperture width      : 1 920 pixels
Height                    : 1080
Height                    : 1 080 pixels
Clean aperture height     : 1080
Clean aperture height     : 1 080 pixels
Pixel aspect ratio        : 1.000
Clean aperture pixel aspect ratio: 1.000
Display aspect ratio      : 1.778
Display aspect ratio      : 16:9
Clean aperture display aspect ratio: 1.778
Clean aperture display aspect ratio: 16:9
Rotation                  : 0.000
Frame rate mode           : CFR
Frame rate mode           : Constant
Frame rate                : 25.000
Frame rate                : 25.000 fps
Frame count               : 256
Chroma subsampling        : 4:4:4
Chroma subsampling        : 4:4:4
Scan type                 : Progressive
Scan type                 : Progressive
Bits/(Pixel*Frame)        : 5.522
Delay                     : 10280
Delay                     : 10s 280ms
Delay                     : 10s 280ms
Delay                     : 10s 280ms
Delay                     : 00:00:10.280
Delay_Settings            : DropFrame=No / 24HourMax=Yes / IsVisual=No
Delay_DropFrame           : No
Delay, origin             : Container
Delay, origin             : Container
Stream size               : 366395392
Stream size               : 349 MiB (97%)
Stream size               : 349 MiB
Stream size               : 349 MiB
Stream size               : 349 MiB
Stream size               : 349.4 MiB
Stream size               : 349 MiB (97%)
Proportion of this stream : 0.96949
Writing library           : Arnold & Richter Cine Technik
Writing library           : Arnold & Richter Cine Technik
Language                  : en
Language                  : English
Language                  : English
Language                  : en
Language                  : eng
Language                  : en
Encoded date              : UTC 2014-07-02 09:44:35
Tagged date               : UTC 2014-07-02 09:44:45
colour_description_present: Yes
Color primaries           : BT.709
Transfer characteristics  : BT.709
Matrix coefficients       : BT.709
colour_description_present_Original: Yes
matrix_coefficients_Original: RGB
stax76 is offline   Reply With Quote
Old 29th April 2016, 14:03   #2056  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,575
The problem is that there is no fourcc to represent it that I know of. The closest are ms p010 or whatever it was called and v210 which are both 10bit but subsampled. Find me a fourcc that's actually supported in applications and I'll consider adding it.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 29th April 2016, 14:17   #2057  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Who might help here, maybe the author of MediaInfo or VirtualDub?
stax76 is offline   Reply With Quote
Old 29th April 2016, 14:21   #2058  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
found something:

http://wiki.multimedia.cx/index.php?title=Apple_ProRes
stax76 is offline   Reply With Quote
Old 29th April 2016, 14:35   #2059  |  Link
Myrsloik
Professional Code Monkey
 
Myrsloik's Avatar
 
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,575
Quote:
Originally Posted by stax76 View Post
No, must be uncompressed formats obviously.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet
Myrsloik is offline   Reply With Quote
Old 29th April 2016, 15:05   #2060  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,414
YUV 444 10bit packed is known as "Y410", but it's not supported in ffmpeg as a pixel format .


https://msdn.microsoft.com/en-us/lib...px#_444formats
https://en.wikipedia.org/wiki/FFmpeg#Pixel_formats

It's also known as "v410" (analgous to "v210" for 10bit422) but 10bit444
https://www.mplayerhq.hu/DOCS/codecs-status.html
poisondeathray 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 10:24.


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