Log in

View Full Version : Vapoursynth


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

Myrsloik
16th January 2015, 00:30
I made a typo when I changed the installer so it skipped some files. Fixed installer here (https://www.dropbox.com/s/2wc2w8891p17qre/vapoursynth-r26-rc1.exe?dl=1).

buchanan
16th January 2015, 00:36
Thank you !

Myrsloik
21st January 2015, 22:02
Here's R26 RC3 (https://www.dropbox.com/s/tzexvry78vw34nm/vapoursynth-r26-rc3.exe?dl=1). It has several fixes in avisource to make it less crashy and more likely to work or return an error message.

Myrsloik
27th January 2015, 01:04
R26 RC4 (https://www.dropbox.com/s/zl11h8kadtwlc0a/vapoursynth-r26-RC4.exe?dl=1)

Finally finished all my own testing and fixed some more reported issues. Will be released if no serious regressions are found in 48h.

Myrsloik
28th January 2015, 00:23
R26 is released (https://github.com/vapoursynth/vapoursynth/releases/tag/R26). Download it from the usual place. Blog post with minor points here (http://www.vapoursynth.com/2015/01/r26-speed/).

Speed comparisons between R25 and R26 are also very welcome... and a good marketing tool for me in my quest to make Avisynth irrelevant.

smok3
28th January 2015, 00:28
Myrsloik: I will try to run it on wheezy (with python 3.4 compiled/installed into /opt/something), any pointers to correct install procedure?

Myrsloik
28th January 2015, 00:32
Myrsloik: I will try to run it on wheezy (with python 3.4 compiled/installed into /opt/something), any pointers to correct install procedure?

I even have documentation (http://www.vapoursynth.com/doc/installation.html#linux-and-os-x-installation-instructions)!

smok3
28th January 2015, 00:34
I even have documentation (http://www.vapoursynth.com/doc/installation.html#linux-and-os-x-installation-instructions)!

:) I read that allready.

edit:
a. Cant see any bootstrap.py, so those instructions are probably for something else?
b. the usual autogen, ./configure --disable-osd, make, ends with:

/usr/bin/ld: /usr/local/lib/libswscale.a(swscale.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libswscale.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [libvapoursynth.la] Error 1

YamashitaRen
29th January 2015, 02:54
That's quite clear, you have to recompile ffmpeg with -fPIC iirc.
Are you using the Debian avconv ?
On Jessie armhf, with Marillat ffmpeg, I have not this error...

@Myrsloik
Are you interested in a simple QTGMC comparison on arm ?
It might be a good reason for me to encode interlaced content :p

Myrsloik
29th January 2015, 02:58
@Myrsloik
Are you interested in a simple QTGMC comparison on arm ?
It might be a good reason for me to encode interlaced content :p
The speed increase is windows only so that's not necessary. But I am curious about how slow it will run on arm...

zerowalker
29th January 2015, 09:46
Fast question, does things like SMDegrain work? (know MVTools isn't fully supported etc).

And what can be expected in performance gain if/when it's supported (without any hacks of course) compared to Avisynth.

jackoneill
29th January 2015, 12:50
Fast question, does things like SMDegrain work? (know MVTools isn't fully supported etc).

And what can be expected in performance gain if/when it's supported (without any hacks of course) compared to Avisynth.

Not fully supported? What do you mean?

There are some speed comparisons here (http://forum.doom9.org/showthread.php?p=1694674#post1694674) and in a few subsequent posts.

YamashitaRen
29th January 2015, 20:23
The speed increase is windows only so that's not necessary. But I am curious about how slow it will run on arm...

Unfortunately I just discovered that scenechange needs SSE2 so your curiosity will not be satisfied today...

edit : And if I apparently found how to build scenechange without SSE2, I have now discovered that QTGMC relies even more on fmtconv than what I expected...
So no benchs for the time being ~~

zerowalker
2nd February 2015, 19:00
Not fully supported? What do you mean?

There are some speed comparisons here (http://forum.doom9.org/showthread.php?p=1694674#post1694674) and in a few subsequent posts.

Yeah it's slower, isn't that cause it's a port and not "native" or something?

Are_
2nd February 2015, 19:35
Slower? It is faster than vanilla (don't know about the rest). Keep scrolling down to see the other tests. And you didn't respond about what features it is lacking.

Also, it is a port and native.

zerowalker
2nd February 2015, 19:41
As far as i see it's sometimes faster and other times slower?

No one said anything that features was lacking, but i assumed that cause i am pretty sured it was (or is), that's why i said "fully support" before:)

Nice that it's native, i thought it was like a bad hacking implementation to get it working (and that's after i read about it -_-).

Are_
2nd February 2015, 19:48
I feel really lazy about login into windows to redo these tests, but I'm almost sure right now it is always faster than avisynth flavors.

Also it supports multithreading, in avisynth you are limited to one thread, and don't make laugh mentioning avisynth_mt, that is almost as funny as 64bit avisynth.

zerowalker
2nd February 2015, 21:44
Are_ by no means am i telling you to.

Wait, you sure?
When i am using SMDegrain (which should use MVTools?) it uses much more than 25% (quad core) even though i don't use any MT thing.
Perhaps i am missing something, it could be using other stuff as well.

Don't worry i am not a fan of MT hacks, it's too risky to be used for the things i do (i need to be sure the file it intact and correct).

Myrsloik
2nd February 2015, 22:05
As far as i see it's sometimes faster and other times slower?

No one said anything that features was lacking, but i assumed that cause i am pretty sured it was (or is), that's why i said "fully support" before:)

Nice that it's native, i thought it was like a bad hacking implementation to get it working (and that's after i read about it -_-).

Note that all pre R26 benchmarks are obsolete now as well. Especially on windows. A new set of comparisons is definitely needed.

zerowalker
2nd February 2015, 22:41
Ah, has things improved or is it both ways?

jackoneill
2nd February 2015, 22:47
Are_ by no means am i telling you to.

Wait, you sure?
When i am using SMDegrain (which should use MVTools?) it uses much more than 25% (quad core) even though i don't use any MT thing.
Perhaps i am missing something, it could be using other stuff as well.

Don't worry i am not a fan of MT hacks, it's too risky to be used for the things i do (i need to be sure the file it intact and correct).

If it's Firesledge's version, that has some internal multithreading. You can tell by the version number (it's 2.6.x.x) or by the presence of the "lsb_out" parameter in Degrain. The original MVTools, with no internal multithreading, only goes up to version 2.5.11.3 and has no "lsb_out" parameter.

zerowalker
2nd February 2015, 22:57
Pretty sure it's that version, not the 2.5 version.
May be wrong, but as it's not single threaded that's must be it.

zerowalker
4th February 2015, 06:36
Okay trying to get things going on Vapoursynth, was able to replicate the "Degrain" test from MVTools and indeed Vapoursynth was better (though it was single threaded on Avisynth, compared to the script i normally use).

The script i use is.

fft3dgpu(sigma=1.3, plane=3)
smdegrain(tr=2,lsb=true,thsad=500,lsb_out=true,search=3)
Dither_convey_yuv4xxp16_on_yvxx()

I don't find anything about fft3dgpu except that it seems to be the limit, which makes me conclude it hasn't been ported?
And also how is 16bit, think i read that 16bit output isn't supported or something like that, perhaps confusing it with something else.

(Does it exist anything like avspmod for Vapoursynth, that has Auto completion and stuff, found VapourSynth Editor. Also read that Avspmod had some temp support but can't really get it to work).

Kupildivan
13th February 2015, 07:47
Is there any really working plugin which allows to import 16-bit PNG sequence?

When I'm trying to use ImageMagick writer/reader it says:

Script evaluation failed:
Python exception: Read: Failed to read image properties: vspipe.exe: RegistryKeyLookupFailed `CoderModulesPath' @ error/mode.c/GetMagickModulePath/662
Traceback (most recent call last):
File "vapoursynth.pyx", line 1488, in vapoursynth.vpy_evaluateScript (src\cython\vapoursynth.c:25136)
File "G:\Sintel\VS48.vpy", line 9, in <module>
v = core.imwri.Read(r'G:\Sintel\00002564.png',24000,1001)
File "vapoursynth.pyx", line 1387, in vapoursynth.Function.__call__ (src\cython\vapoursynth.c:23631)
vapoursynth.Error: Read: Failed to read image properties: vspipe.exe: RegistryKeyLookupFailed `CoderModulesPath' @ error/mole.c/GetMagickModulePath/662

Also VS doesn't want to import with vsimagereader-0.2.1:

"No frame returned at the end of processing by Read"

and vspipe crushes.
Tried both 32 and 64 versions of both plugins and nothing.

Myrsloik
13th February 2015, 12:51
Is this really with imwri test6?

Kupildivan
13th February 2015, 15:34
Thanks for help! I had imwri test4, but with test6 now it's ok.

RTW47
17th February 2015, 17:50
1. was expecting to receive error then concatenating two or more different fps clips. I'm right that vs will take fps value from the first clip and then automatically apply AssumeFPS/(speed adjustment) on the rest of the segments? If so, there should be no difference between adding AssumeFPS manually and letting vs do this internally?
2. noticed also there is an optional parameter for vapoursynth resizers,- yuvrange, but not mentioned in the documentation for some reason(s)

Myrsloik
17th February 2015, 18:06
1. was expecting to receive error then concatenating two or more different fps clips. I'm right that vs will take fps value from the first clip and then automatically apply AssumeFPS/(speed adjustment) on the rest of the segments? If so, there should be no difference between adding AssumeFPS manually and letting vs do this internally?
2. noticed also there is an optional parameter for vapoursynth resizers,- yuvrange, but not mentioned in the documentation for some reason(s)

1. The check has now been fixed in both splice and interleave
2. It's because swscale rarely cares about it.

I plan to rip out swscale and use zimg instead in the next release if I have enough time to work on it.

lo1t3yu
19th February 2015, 16:11
Hello. How use qtgmc in vapoursynth for doubled frame rate deinterlacing?

MonoS
19th February 2015, 17:40
Hello. How use qtgmc in vapoursynth for doubled frame rate deinterlacing?

In the same way you used it in avs, be sure to have all the necessary plugins :D

Kupildivan
20th February 2015, 19:18
Are they have to be the ported ones? Or native avisynth plugins will work too?

Are_
20th February 2015, 19:28
Vapoursynth's QTGMC works with vapoursynth filters only, except for the denoising. It uses avisynth's fft3dGPU and FFT3DFilter if they are selected, else it uses native dfttest.

MonoS
20th February 2015, 20:15
As Are_ said all plugin are native, for avoiding to use avs plugin remember to set denoising to at least Slow or set manually the denoiser to dfttest [also you can use 16bit precision if you want :D]

lo1t3yu
20th February 2015, 22:25
In the same way you used it in avs, be sure to have all the necessary plugins :D
It's clear, but interestingly how ffms2 decoding interlaced sources now. Is correctly (for smoothed 2x fps with phases saving)? I don't know about 2.20, may be interlaced sources now is fully supported... Else have need to use directshowsource2 that impossible in vapoursynth.
Thanks to all vapoursynth's (and plugins) devs for the crossplatform and modern frameserver!

MonoS
21st February 2015, 16:44
It's clear, but interestingly how ffms2 decoding interlaced sources now. Is correctly (for smoothed 2x fps with phases saving)? I don't know about 2.20, may be interlaced sources now is fully supported... Else have need to use directshowsource2 that impossible in vapoursynth.
Thanks to all vapoursynth's (and plugins) devs for the crossplatform and modern frameserver!

Have you tried with lsmash??

YamashitaRen
21st February 2015, 16:45
Have you tried with lsmash??
I confirm that lsmash works fine. ffms2 with "threads=1" should works too.
https://github.com/vapoursynth/vapoursynth/issues/139

lo1t3yu
23rd February 2015, 15:27
Have you tried with lsmash??
No, i will try later.
ffms2 works even without param 'threads=1'.
Also, vs works and all needed plugins loaded.
libaddgrain.so libdeblock.so libffms2.so libgenericfilters.so libmvtools.so libscenechange.so libtemporalsoften2.so libyadifmod.so
libdctfilter.so libeedi2.so libfmtconv.so liblsmash.so libnnedi3.so libtdeintmod.so libtemporalsoften.so
import vapoursynth as vs
import havsfunc as haf
core = vs.get_core()
v = core.ffms2.Source(source='2_1080i.mkv', fpsnum=25, fpsden=1)
v = haf.QTGMC(v, Preset='Slow', TFF=True)
v = core.fmtc.resample(v, w=1280, h=720, kernel="spline64")
v.set_output()
vspipe --y4m script.vpy - | x264 - --demuxer y4m --crf 20 --profile high --level 4.1 --preset slow --output encode.mkv
Script don't show errors, but x264 breaks:
x264 [error]: could not open input file `-'
Streaming into pipe also don't works.
If script runned without qtgmc then x264 encodes stream.
import vapoursynth as vs
import havsfunc as haf
core = vs.get_core()
v = core.ffms2.Source(source='2_1080i.mkv', fpsnum=25, fpsden=1)
v = core.nnedi3.nnedi3(v, field=3)
v = core.fmtc.resample(v, w=1280, h=720, kernel="spline64")
v.set_output()
vspipe --y4m script.vpy - | x264 - --demuxer y4m --crf 20 --profile high --level 4.1 --preset slow --output encode.mkv
It works.
x264 compiled with options: --enable-static, --enable-shared

jackoneill
23rd February 2015, 15:45
vspipe should output some error message, but if you don't see one, run this instead, to make sure x264's output isn't overwriting it:

vspipe script.py /dev/null --progress

lo1t3yu
23rd February 2015, 16:00
vspipe should output some error message, but if you don't see one, run this instead, to make sure x264's output isn't overwriting it:

vspipe script.py /dev/null --progress

This breaks segfault.

Are_
23rd February 2015, 16:20
Maybe are you using an outdated version of some filter? This does not crash for me.

lo1t3yu
23rd February 2015, 16:43
Maybe are you using an outdated version of some filter? This does not crash for me.
All libs have been compiled from sources (from here or git). May be required libs were missed? What plugins and which versions are you using?

jackoneill
23rd February 2015, 16:59
A missing plugin would result in a different error message (usually).

Did you compile GenericFilters from here? https://github.com/chikuzen/GenericFilters
The original author disappeared and left behind a number of bugs which have been fixed here: https://github.com/myrsloik/GenericFilters.

lo1t3yu
23rd February 2015, 19:18
A missing plugin would result in a different error message (usually).

Did you compile GenericFilters from here? https://github.com/chikuzen/GenericFilters
The original author disappeared and left behind a number of bugs which have been fixed here: https://github.com/myrsloik/GenericFilters.
Thanks! Myrsloik's version of GenericFilters works fine.

lo1t3yu
27th February 2015, 09:16
Will VS be supporting audio proccessing? (it's may be helpful for ts hdtv videos with errors).

MonoS
27th February 2015, 11:08
Will VS be supporting audio proccessing? (it's may be helpful for ts hdtv videos with errors).

Jackoneill alredy wrote something http://forum.doom9.org/showthread.php?t=171555

mawen1250
2nd March 2015, 16:20
I encountered a problem with plugin loading on my friend's computer.

Windows7 SP1 64bit
Python 3.4.3 32bit&64bit
VapourSynth R26 32bit&64bit

With print(core.list_functions()) in Python command line(both 32bit and 64bit were tested), only the core functions were displayed. None of the plugins in VapousSynth\coreXX\plugins and VapousSynth\pluginsXX were auto loaded.
Trying loading those plugins manually, it didn't work either. Running the script with vsedit64 or vspipe64, it always returns the error 'Failed to load XXX.dll'.
I've confirmed that all the required MSVC runtime dlls were installed.

The error message is something like this one:
http://i683.photobucket.com/albums/vv197/mawen1250/QQ20150302231015_zpszgijldfd.jpg

kolak
3rd March 2015, 21:07
I have the same issue.
Myrsloik is aware.

I see that we use same/latest Python- can this be the reason?

RTW47
3rd March 2015, 23:50
updated Python 3.4.1 > 3.4.2 > 3.4.3, but don;t seem to have any problems with it (so far);

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import vapoursynth as vs
>>> c=vs.get_core()
>>> c.std.LoadPlugin(path=r'F:\L-SMASH-Works_r728-g34b1526\VapourSynth\x64\vslsmashsource.dll')
>>> c.lsmas.list_functions()
'LWLibavSource(source:data; stream_index:int:opt; cache:int:opt; threads:int:opt; seek_mode:int:opt; seek_threshold:int:opt; variab
le:int:opt; format:data:opt; dr:int:opt; repeat:int:opt; dominance:int:opt)\nLibavSMASHSource(source:data; track:int:opt; threads:i
nt:opt; seek_mode:int:opt; seek_threshold:int:opt; variable:int:opt; format:data:opt; dr:int:opt)\n'
>>>

Myrsloik
6th March 2015, 08:50
I encountered a problem with plugin loading on my friend's computer.

Windows7 SP1 64bit
Python 3.4.3 32bit&64bit
VapourSynth R26 32bit&64bit

With print(core.list_functions()) in Python command line(both 32bit and 64bit were tested), only the core functions were displayed. None of the plugins in VapousSynth\coreXX\plugins and VapousSynth\pluginsXX were auto loaded.
Trying loading those plugins manually, it didn't work either. Running the script with vsedit64 or vspipe64, it always returns the error 'Failed to load XXX.dll'.
I've confirmed that all the required MSVC runtime dlls were installed.

...

I'll try to make the error message when loading plugins more informative. Unfortunately the windows api will never reveal to you the name of a missing file (if any).

Pat357
7th March 2015, 14:52
I'll try to make the error message when loading plugins more informative. Unfortunately the windows api will never reveal to you the name of a missing file (if any).

For Avisynth an excellent tool for this purpose (and a lot more) was created by Groucho2004 : it's called AVS Infotool (see http://forum.doom9.org/showthread.php?t=170647 )

The "plugin" function from this tool shows all the auto-loaded plugins with their dependencies : see images.

Maybe something similar can be created for VS ?
You could also use "Dependency Walker" to check the dependences from this .DLL plugin.