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

Selur
5th April 2017, 18:43
using:
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="G:/Hybrid/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# Loading F:\TestClips&Co\Test-AC3-5.1.avi using LWLibavSource
clip = core.lsmas.LWLibavSource(source="F:/TESTCL~1/TEST-A~1.AVI", format="YUV420P8", cache=0)
# Loading F:\TestClips&Co\Subtitles\ass subtitle\test.ssa using SubText
clip = core.sub.TextFile(clip=clip, file="F:/TestClips&Co/Subtitles/ass subtitle/test.ssa")

clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16, matrix_s="470bg")
# Output
clip.set_output()
I get:
Error getting the frame number 0:
Resize error 3074: no path between colorspaces

I'm clearly missing something. I thought TextFile would return RGB24 and converting to YUV444P16 should work,..

Selur
5th April 2017, 18:51
Got it,... adding:
clip = core.resize.Point(clip, matrix_in_s="470bg")
before the TextFile call fixes the issue.

Myrsloik
5th April 2017, 18:56
using:
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="G:/Hybrid/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# Loading F:\TestClips&Co\Test-AC3-5.1.avi using LWLibavSource
clip = core.lsmas.LWLibavSource(source="F:/TESTCL~1/TEST-A~1.AVI", format="YUV420P8", cache=0)
# Loading F:\TestClips&Co\Subtitles\ass subtitle\test.ssa using SubText
clip = core.sub.TextFile(clip=clip, file="F:/TestClips&Co/Subtitles/ass subtitle/test.ssa")

clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16, matrix_s="470bg")
# Output
clip.set_output()
I get:


I'm clearly missing something. I thought TextFile would return RGB24 and converting to YUV444P16 should work,..

Can you post the FrameProps output from after LWLibavSource and TextFile?

Selur
5th April 2017, 19:11
Googling, I stumbled over:
IMPORTANT: When using VapourSynth-Viewer you will receive "Resize error 3074: no path between colorspaces" when a YUV video is imported that has an "Unknown" color matrix. Read the "Color Matrix" section for examples of how to manually set a color matrix for a video source.
source: http://www.l33tmeatwad.com/vapoursynth101/video-information

Can you post the FrameProps output from after LWLibavSource and TextFile?
adding 'clip = core.text.FrameProps(clip)' before or after always shows:
Frame properties:
_ChromaLocation: 0
_DurationDen: 25
_DurationNum: 1
_FieldBased: 0
_Matrix:2
_PicType: I
_Primaries: 2
_SARDen: 1
_SARNum: 1
_Transfer: 2

Myrsloik
5th April 2017, 19:14
Googling, I stumbled over:

source: http://www.l33tmeatwad.com/vapoursynth101/video-information


adding 'clip = core.text.FrameProps(clip)' before or after always shows:
Frame properties:
_ChromaLocation: 0
_DurationDen: 25
_DurationNum: 1
_FieldBased: 0
_Matrix:2
_PicType: I
_Primaries: 2
_SARDen: 1
_SARNum: 1
_Transfer: 2

Yes, Matrix:2=unknown. You need to use matrix_in_s as well (or skip matrix_s)

Selur
5th April 2017, 19:19
Matrix:2=unknown
That explains it.
-> Would be nice if the FrameProps filter could use normal strings instead of numbers to indicate the matrix.
Alternatively the documentation should include a mapping between the numbers and the matrices. ;)

Myrsloik
5th April 2017, 19:40
That explains it.
-> Would be nice if the FrameProps filter could use normal strings instead of numbers to indicate the matrix.
Alternatively the documentation should include a mapping between the numbers and the matrices. ;)

I'll probably add that in the next version. Not a bad idea for debugging

sneaker_ger
5th April 2017, 20:06
While we're at it: sub.TextFile() will display "MaskedMerge: Input frames mus have the same range" if supplied with a full range clip to blend. Can get a bit complicated with these error messages not showing the line number.

Selur
6th April 2017, 04:12
Thanks, wouldn't have guessed from the description. :)

stax76
15th April 2017, 15:03
Did anybody find a way to render srt subtitles?

Selur
15th April 2017, 15:16
Last time I checked VSFilterMod works fine with srt subtitles (https://github.com/HomeOfVapourSynthEvolution/VSFilterMod).

stax76
17th April 2017, 12:27
Last time I checked VSFilterMod works fine with srt subtitles (https://github.com/HomeOfVapourSynthEvolution/VSFilterMod).

Great, I added support for it. Single dll supporting both avs and vs make it easier for me. Is there a x64 filter for sup/pgs for avs or vs?

sneaker_ger
17th April 2017, 12:32
VapourSynth comes with sub.ImageFile().
http://www.vapoursynth.com/doc/plugins/subtext.html

For AviSynth there is SupTitle() (https://forum.doom9.org/showthread.php?t=148167) but it is not developed anymore.
I wonder about vsfilter (or any of its forks). It supports PGS over DirectShow but I haven't seen it supporting loading such files using the AviSynth plugin.

Selur
17th April 2017, 13:03
I agree with sneaker, Subtext of Vapoursynth works fine.
SupTitle works fine here for Avisynth only downside is the dependency on .Net 4.

stax76
17th April 2017, 13:14
VapourSynth comes with sub.ImageFile().
http://www.vapoursynth.com/doc/plugins/subtext.html

Great, next staxrip test build support it.

With one sample I get a crash, another sample works fine.

Exception thrown at 0x00000000699C5708 (libsubtext.dll) in StaxRip.exe: 0xC0000005: Access violation writing location 0xFFFFFFFFFFFFFFFC. occurred

I tested staxrip, mpc-be and virtualdubmod, all three x64, all three crash.

MPC and VLC have no problem playing the mkv file rendering the subtitle.


import vapoursynth as vs
core = vs.get_core()
core.std.LoadPlugin(r"D:\Projekte\VS\VB\StaxRip\bin\Apps\Plugins\both\ffms2\ffms2.dll")
clip = core.ffms2.Source(r"D:\Video\Samples\MKV\PGS.mkv")
clip = core.sub.ImageFile(clip, file = r"D:\Video\Samples\MKV\PGS_temp\PGS.sup")
clip.set_output()


http://www.mediafire.com/file/q0i9hee44c1ds99/1080p__DTS-MA__PGS.mkv

http://www.mediafire.com/file/a91v28aqa2ugmoc/1080p__DTS-MA__PGS_ID3_English.sup

For AviSynth there is SupTitle() (https://forum.doom9.org/showthread.php?t=148167) but it is not developed anymore.
I wonder about vsfilter (or any of its forks). It supports PGS over DirectShow but I haven't seen it supporting loading such files using the AviSynth plugin.

I had tried to use it but something was wrong, I don't remember what it was.

Myrsloik
17th April 2017, 14:35
Try R38-test1 (https://dl.dropboxusercontent.com/u/73468194/VapourSynth-R38-test1.exe)
r38:
updated zimg
added new constants to clipinfo
fixed several subtext corruption and crash bugs (jackoneill)
added y410 output to avfs and vsvfw
added constants for 12 and 14 bit yuv formats
fixed a one pixel offset error only happening in vertical convolution with a 3 element vector
switched to vs2017 and clang in windows projects

stax76
17th April 2017, 14:54
works nicely :thanks:

l33tmeatwad
19th April 2017, 14:28
So I've been looking through old revisions to see exactly when VapourSynth and VapourSynth Editor stopped playing nice together on OSX and I was able to find the start of the problem. Current versions (VapourSynth r36 & r37) make the preview of VapourSynth editor show up in a shade of blue, however it appears that the first revision after r35, commit 296952b on Oct 21, 2016, makes the preview show up as a shade of yellow.

Selur
19th April 2017, 17:33
Is there an alternative to Interframe/SVP for Vapoursynth (like a SalFPS3 port or something similar) ?

Also stumbled over:
clip = core.std.AssumeFPS(clip, fpsnum=30000, fpsden=1001)
sup = core.mv.Super(clip, pel=2, hpad=0, vpad=0)
bvec = core.mv.Analyse(sup, blksize=16, isb=True, chroma=True, search=3, searchparam=1)
fvec = core.mv.Analyse(sup, blksize=16, isb=False, chroma=True, search=3, searchparam=1)
clip = core.mv.FlowFPS(clip, sup, bvec, fvec, num=60, den=1, mask=2)
#clip = core.mv.BlockFPS(clip, sup, bvec, fvec, num=60, den=1, mask=2)

Problem is I got a clip where there's a fence in the background and I get lots of ugly artifacts in it and I can't any of the algorithms to keep the fence intact. (script is meant for reencoding not live interpolation, so speed doesn't matter that much)

Cu Selur

Ps.: created a separate thread for this issue (https://forum.doom9.org/showthread.php?p=1804460)

Myrsloik
24th April 2017, 19:21
R38-test2 (https://dl.dropboxusercontent.com/u/73468194/VapourSynth-R38-test2.exe)

r38:
updated to zimg v2.5.1
increased the number of allowed constants in h and v convolution modes to 25
added new constants to clipinfo
fixed several subtext corruption and crash bugs (jackoneill)
added y410 output to avfs and vsvfw
added constants for 12 and 14 bit yuv formats
fixed a one pixel offset error only happening in vertical convolution with a 3 element vector
switched to vs2017 in windows projects

dipje
24th April 2017, 20:08
On the Davinci Resolve site there is a list of supported formats (https://documents.blackmagicdesign.com/DaVinciResolve/20160408-ebf601/DaVinci_Resolve_12.5_Supported_Codec_List.pdf).
I see AVI uncompress RGB 10bit in that list, both saving and reading (under Windows and Mac).

They don't list a FOURCC, but I'm guessing that must be r210? Is it reason enough to try to add RGB30 to the avfs and VfW interfaces in that packing? (*hopeful smile*).

I'm _not_ an active Davinci Resolve user, but the free version is a beast of a video editing and colorgrading application these days, and if it reads 10bit RGB through avfs that would open up the door to feed Vapoursynth scripts into Resolve with something more than 4:2:2 while still having something of deep colour.

I know AVFS supports RGB48 by packing it into b64a which works like butter in After Effects and I use very often, but Resolve doesn't list 16bit RGB in AVI anywhere (not a surprise).

And since your'e on the edge of a release anyway... (*hopeful smile again*)

Myrsloik
24th April 2017, 21:18
On the Davinci Resolve site there is a list of supported formats (https://documents.blackmagicdesign.com/DaVinciResolve/20160408-ebf601/DaVinci_Resolve_12.5_Supported_Codec_List.pdf).
I see AVI uncompress RGB 10bit in that list, both saving and reading (under Windows and Mac).

They don't list a FOURCC, but I'm guessing that must be r210? Is it reason enough to try to add RGB30 to the avfs and VfW interfaces in that packing? (*hopeful smile*).

I'm _not_ an active Davinci Resolve user, but the free version is a beast of a video editing and colorgrading application these days, and if it reads 10bit RGB through avfs that would open up the door to feed Vapoursynth scripts into Resolve with something more than 4:2:2 while still having something of deep colour.

I know AVFS supports RGB48 by packing it into b64a which works like butter in After Effects and I use very often, but Resolve doesn't list 16bit RGB in AVI anywhere (not a surprise).

And since your'e on the edge of a release anyway... (*hopeful smile again*)

I don't mind adding exotic formats as long as someone can verify that they work. Will you do the testing?

dipje
25th April 2017, 09:05
Of course, least i can do.

Vdfiltermod also supports r210 I guess? (Not sure ).
That way I can test if it works in one but not the other or something like that.

Myrsloik
25th April 2017, 11:10
Of course, least i can do.

Vdfiltermod also supports r210 I guess? (Not sure ).
That way I can test if it works in one but not the other or something like that.

R38-test3 (https://dl.dropboxusercontent.com/u/73468194/VapourSynth-R38-test3.exe)
Only change is untested r210 support. Vdub filtermod doesn't recognize it so go find something that can open it.

shekh
25th April 2017, 12:08
Maybe mount r210 as virtual avi, ffmpeg should open it.

dipje
25th April 2017, 13:27
Well, first test. Mounting a RGB30 Vapoursynth script with avfs actually creates an virtual .avi file now, and VDFilterMod opens it. Lists r210 as codec but also shows rgb48le as the pixel format so it seems to open it with the ffmpeg layer and seems to upscale it to 16bit directly... but it opens and looks ok (no channel shuffling or upside-down stuff or anything).

** Tested a bit more, vdfiltermod seems to indeed reject 'r210' when opening the .vpy directly (tries to find a VfW decoder for it apparently. So it doesn't have a VfW r210 decoder on board).
but mounting the .vpy as avi and opening that works fine but it switches to the ffmpeg input driver for the .avi (so no r210 in VfW, but there is a r210 decoder in ffmpeg as sehkh mentioned).

dipje
25th April 2017, 13:39
Ha! Working fine in Davinci Resolve 14 public beta. Scrubbing is actually quite fast and OK (with a simple lsmash read MTS file, fmtconv spline36 resample to 4:4:4, matrix convert YUV to RGB and change bitdepth / dither to 10bit). Just did a simple test-clip with 100 frames, but it opens fine straight away, place it on a timeline, render the timeline to dnxhd 444 10bit (as test) all works OK.

Joachim Buambeki
28th April 2017, 02:56
Ha! Working fine in Davinci Resolve 14 public beta.
Wait, what?

Does this mean there is an OFX plugin that enables users to run Vapoursynth filters inside Resolve?
If yes, where can I get it and how do I make it work?

I can do testing in Resolve Studio under OSX if someone can guide me through the initial setup.

dipje
28th April 2017, 09:41
No, it means you can frameserver the output of a RGB 10bit Vapoursynth script directly into Resolve.
If you actually want to work on it 'live' is another question, but quick grading and fixes and using Resolve's export module to save it into a format of your choosing is possible.

Jamaika
28th April 2017, 09:58
Short question: What colormatrix can be used in the R210 codec? Can I use HDR?
I once installed free the R210 Blackmagic codecs and I had the illusion that without the BlackMagic graphics card I can't support correct the codecs.

dipje
28th April 2017, 10:24
It's RGB.. the way I see it there is no 'colormatrix' then, that's only for YUV files. Maybe an RGB colorprofile / ICC-profile but that is something you should override in whatever application you use to read the file, I'm pretty sure AVI can't store ICC profiles for RGB data somewhere :).

Jamaika
28th April 2017, 11:27
It's RGB.. the way I see it there is no 'colormatrix' then, that's only for YUV files.
I don't believe it is RGB. Image with FFmpeg:

Video AVI RGB24:
http://i63.tinypic.com/24zhi87.png
Video AVI R210:
http://i63.tinypic.com/minbex.png

dipje
28th April 2017, 13:54
R210 is RGB 10bit. https://wiki.multimedia.cx/index.php/R210. 10 bits R, 10 bits G, 10 bits B, 2 bits padding.

There can still be a thing such as 'broadcast safe levels' and full range (like I said, RGB can have things as color profiles, but that has nothing to do with the codec, more with the what your program interprets the RGB values as), even in RGB. Doesn't change the fact that R210 is a RGB packing method.. that's the whole thing I asked.. 'Can you pack vs.RGB30 as R210 in the VfW interface'.

Anyway, I don't install any Blackmagic codecs anyway. Don't see why anyone would. Maybe you can configure the codec (or the encoder that created the clip) to use full range or not. In Davinci Resolve you can click the clip properties in your Media Bin to change the interpretation of the levels.

Jamaika
28th April 2017, 14:11
In Davinci Resolve you can click the clip properties in your Media Bin to change the interpretation of the levels.
Thanks for the answer. I can't change the interpretation of the levels in Sony Vegas 14 or VirtualDub. So theme about the R210 codec I throw in the trash. For me it is the sRGB is equal to only bt709.

Joachim Buambeki
28th April 2017, 23:22
No, it means you can frameserver the output of a RGB 10bit Vapoursynth script directly into Resolve.
If you actually want to work on it 'live' is another question, but quick grading and fixes and using Resolve's export module to save it into a format of your choosing is possible.
Ok, got it, thanks.
When you say 10bit, this means a ProRes444 file (which is 12bit) is piped in reduced quality into Resolve - is there a way to feed it to Resolve in a way no quality is lost (meaning in 16bit, 32bit or whatever Resolve internally uses)?

I asked for an OFX plugin a (short) while ago (https://forum.doom9.org/showthread.php?p=1652788&highlight=resolve#post1652788) but it seems Myrsloik missed my second post. I still believe such a plugin (if technically possible) that runs VS code would be great to lift VS more into the professional realm and I assume many professionals would be very happy to this in their toolkit. If communicated right, I am sure some of them will be willing to donate to make this happen.

TIA!

dipje
29th April 2017, 08:04
Replying in pm as I think we're moving away from vapoursynth stuff

Myrsloik
29th April 2017, 10:53
Ok, got it, thanks.
When you say 10bit, this means a ProRes444 file (which is 12bit) is piped in reduced quality into Resolve - is there a way to feed it to Resolve in a way no quality is lost (meaning in 16bit, 32bit or whatever Resolve internally uses)?

I asked for an OFX plugin a (short) while ago (https://forum.doom9.org/showthread.php?p=1652788&highlight=resolve#post1652788) but it seems Myrsloik missed my second post. I still believe such a plugin (if technically possible) that runs VS code would be great to lift VS more into the professional realm and I assume many professionals would be very happy to this in their toolkit. If communicated right, I am sure some of them will be willing to donate to make this happen.

TIA!

Sigh, enterprise apis... That mess looks like it'd take at least a month to understand. How you even imagine the integration to work well is also a mystery.

Selur
1st May 2017, 10:39
using portable R37 64bit with:
# Imports
import vapoursynth as vs
core = vs.get_core()
# Loading Plugins
core.std.LoadPlugin(path="G:/Hybrid/vsfilters/Support/fmtconv.dll")
core.std.LoadPlugin(path="G:/Hybrid/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# Loading F:\TestClips&Co\test.avi using LWLibavSource
clip = core.lsmas.LWLibavSource(source="F:/TESTCL~1/test.avi", format="YUV420P8", cache=0)
# making sure input color matrix is set as 470bg
clip = core.resize.Point(clip, matrix_in_s="470bg")
# making sure input color range is set to TV (16-235) scale.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
original = clip
# dualView True
# vsPreview True
# cropping the video to 600x312
clip = core.std.CropRel(clip=clip, left=40, right=0, top=40, bottom=0)
# cropping the video to 600x312
original = core.std.CropRel(clip=original, left=40, right=0, top=40, bottom=0)
# clip resizing to 960x500
#clip = core.fmtc.resample(clip=clip, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
# original resizing to 960x500
#original = core.fmtc.resample(clip=original, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
original = core.sub.Subtitle(clip=original, text="Original")
clip= core.sub.Subtitle(clip=clip, text="Filtered")
stacked = core.std.StackHorizontal([original,clip])
# Output
stacked.set_output()

and
VSPipe.exe --y4m h:\Temp\tempPreviewVapoursynthFile11_03_52_922.vpy - | g:\Hybrid\mplayer.exe -
vspipe crashes for me and I don't see why.

Removing:
# clip resizing to 960x500
clip = core.fmtc.resample(clip=clip, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
# original resizing to 960x500
original = core.fmtc.resample(clip=original, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
from the script and I get no crash.

=> Does anyone see what I do wrong? (using 'clip.set_output()' or 'original.set_output()' the script doesn't crash either)

Leaving out the cropping doesn't change anything, so this seems to be related to fmtc.

Using:
# clip resizing to 960x500
clip = core.resize.Spline16(clip, width=960, height=500)
# original resizing to 960x500
original = core.resize.Spline16(original, width=960, height=500)
instead of:
# clip resizing to 960x500
clip = core.fmtc.resample(clip=clip, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
# original resizing to 960x500
original = core.fmtc.resample(clip=original, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)

also fixes the problem.

=> seems like there is a problem with fmtc when used multiple times inside a script. (I'm using fmtconv r20 from https://github.com/EleonoreMizo/fmtconv/releases)

dipje
1st May 2017, 11:48
I use fmtc a lot of times in most scripts, no problem there :). Proves that no two scripts are ever the same :P

sneaker_ger
1st May 2017, 12:21
=> seems like there is a problem with fmtc when used multiple times inside a script.
How did you arrive at that conclusion?

Selur
1st May 2017, 12:27
When I use:
# clip resizing to 960x500
clip = core.fmtc.resample(clip=clip, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
# original resizing to 960x500
original = core.fmtc.resample(clip=original, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
stacked = core.std.StackHorizontal([original,clip])
# Output
stacked.set_output()
the problem occurs.
When I use:
# clip resizing to 960x500
clip = core.fmtc.resample(clip=clip, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
# original resizing to 960x500
original = core.fmtc.resample(clip=original, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
stacked = core.std.StackHorizontal([original,clip])
# Output
original.set_output()
or
# clip resizing to 960x500
clip = core.fmtc.resample(clip=clip, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
# original resizing to 960x500
original = core.fmtc.resample(clip=original, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
stacked = core.std.StackHorizontal([original,clip])
# Output
clip.set_output()
or just
stacked = core.std.StackHorizontal([original,clip])
the problem doesn't occur.

So it seemed to me that the problem only occurred when I used two fmtc calls, like I did with:
# clip resizing to 960x500
clip = core.fmtc.resample(clip=clip, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
# original resizing to 960x500
original = core.fmtc.resample(clip=original, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)


If you got another explanation for it please share. :)

Selur
1st May 2017, 14:21
Can someone aside from me reproduce the issue?
(just to be sure this isn't somehow related to my setup)
Minimal example would be:
clip = core.lsmas.LWLibavSource(source="F:/TESTCL~1/TEST-A~1.AVI", format="YUV420P8", cache=0) # source and source filter don't matter, tried different sources and source filters
original = clip # copying current clip state to original
clip = core.fmtc.resample(clip=clip, kernel="spline16", w=960, h=720, interlaced=False, interlacedd=False) # resizing clip
original = core.fmtc.resample(clip=original, kernel="spline16", w=960, h=720, interlaced=False, interlacedd=False) # resizing clip
stacked = core.std.StackHorizontal([original,clip]) # stacking
stacked.set_output() # return

Cu Selur

sneaker_ger
1st May 2017, 14:29
No crash here. (R37 x64 on Windows 7, i5-2500K, fmtconv r20)

sneaker_ger
1st May 2017, 14:42
I just got crashes immediately after upgrading to R38 test2. Then it worked after a few tries. :confused:

/edit:
Then crashes again. Kinda random. No idea what's going on. Just doing vspipe - script.vpy > NUL

Selur
1st May 2017, 15:00
Still using R37 so that isn't it. But since it works for you it might be something with my setup. (R37 64bit, on Win 10 pro, Ryzen 7 1800x, fmtconv r20)

Selur
1st May 2017, 15:51
What's the resolution of your avi file?
640x352 (this is one of my test samples which I have converted hundreds of times; https://drive.google.com/drive/folders/0B_WxUS1XGCPASUZibG5XZkRfeTg -> test.avi)

Does it still crash if you simply use core.std.BlankClip(width=1920, height=1080, format=vs.YUV420P8) as the source clip?
Yes
Does it still crash if you specify cpuopt=0 in both fmtc.resample()?
Yes

----
downloaded:
https://www.python.org/ftp/python/3.6.1/python-3.6.1-embed-amd64.zip
and
https://github.com/vapoursynth/vapoursynth/releases/download/R37/VapourSynth64-Portable-R37.7z
extracted both into one folder

called:
VSPipe.exe c:\Users\Selur\Desktop\Test.vpy - | ffplay.exe -
vspipe still crashing.

copied the files to my laptop, got the same crash. :( (Both run Win10 latest updates; laptop is an i7, main system is a Ryzen 7 1800x)

---
replacing:
original = core.fmtc.resample(clip=original, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
with
original = clip
and thus not using fmtc two files also 'fixes' the issue. :(
RAM usage of vspip is ~870MB upon the crash.

Cu Selur

Selur
1st May 2017, 16:06
Copied the whole thing into a Win 8.1 64bit VM and there the script worked as it should. No problem.
-> HolyWu what OS are you on? Could this be a problem thanks to Windows 10 Creators Update?

replacing:
clip = core.lsmas.LWLibavSource(source="F:/TESTCL~1/test.avi", format="YUV420P8", cache=0)

original = clip

clip = core.fmtc.resample(clip=clip, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
original = core.fmtc.resample(clip=original, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
with:
clip = core.lsmas.LWLibavSource(source="F:/TESTCL~1/test.avi", format="YUV420P8", cache=0)
original = core.lsmas.LWLibavSource(source="F:/TESTCL~1/test.avi", format="YUV420P8", cache=0)

clip = core.fmtc.resample(clip=clip, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
original = core.fmtc.resample(clip=original, kernel="spline16", w=960, h=500, interlaced=False, interlacedd=False)
doesn't help either,...

Selur
1st May 2017, 16:56
Since the core resizer only covers Bicubic/Point/Lanczos/Spline16/Spline36, but I sometimes like gauss more I normally stick with fmtconv. (I also like to have the option to use the other resizers offered by fmtconv.)
Strange thing that I get the crash each time (on both my i7 and my Ryzen system) and you only very seldom and random.

Selur
2nd May 2017, 16:36
Tested it. Still crashing here. :(

Selur
2nd May 2017, 17:13
Correction: New version does fix the crash for me too. :D
(somehow overlooked that Win10 asked whether the file should be overwritten and tested the old version again before. :))

Cu Selur