I tried using fmtconv instead of BicubicResize for Bob(). Still crashes at the same place in the video. Strangely enough, fmtconv doesn't appear to be any slower than using BicubicResize. The crash occurs when the ram usage jumps from 1 gb to 1.5 gb in 2-3 secs in one particular spot in the video, then it crashes. I may have to upload the video itself help you solve the problem.
Here's the fmtconv method I tried.
Code:
def Bob(self, input, b, c, tff):
return self.core.std.Interleave([self.core.fmtc.bitdepth(self.core.fmtc.resample(self.core.std.SelectEvery(self.core.std.SeparateFields(input, tff), cycle=2, offsets=0), w=input.width, h=input.height,kernel='bicubic', a1=b, a2=c, sx=0, sy=0.25, sw=input.width, sh=input.height/2, fulls=0, fulld=0)bits=8,fulls=0,fulld=0),
self.core.fmtc.bitdepth(self.core.fmtc.resample(self.core.std.SelectEvery(self.core.std.SeparateFields(input, tff), cycle=2, offsets=1), w=input.width, h=input.height,kernel='bicubic', a1=b, a2=c, sx=0, sy=-0.25, sw=input.width, sh=input.height/2, fulls=0, fulld=0)bits=8,fulls=0,fulld=0)])
My script is.
Code:
import vapoursynth as vs
import sys
import havsfunc
core = vs.Core()
haf = havsfunc.HAvsFunc(core)
core.std.LoadPlugin(r'C:\Program Files\VapourSynth\filters\avisource.dll')
core.std.LoadPlugin(r'C:\Program Files\VapourSynth\fmtconv.dll')
core.std.LoadPlugin(r'C:\Program Files\VapourSynth\d2vsource_beta3_mingw.dll')
core.std.LoadPlugin(r'C:\Program Files\VapourSynth\nnedi3.dll')
core.std.LoadPlugin(r'C:\Program Files\VapourSynth\filters\eedi3.dll')
core.std.LoadPlugin(r'C:\Program Files\VapourSynth\filters\temporalsoften.dll')
core.avs.LoadPlugin('C:/Program Files/VapourSynth/avisynthfilters.dll')
core.avs.LoadPlugin(r'E:\QTGMC\AddGrainC.dll')
core.avs.LoadPlugin(r'E:\QTGMC\dfttest.dll')
core.avs.LoadPlugin(r'E:\QTGMC\EEDI2.dll')
core.avs.LoadPlugin(r'E:\QTGMC\FFT3DFilter.dll')
core.avs.LoadPlugin(r'E:\QTGMC\mvtools2.dll')
core.avs.LoadPlugin(r'E:\QTGMC\nnedi.dll')
core.avs.LoadPlugin(r'E:\QTGMC\nnedi2.dll')
core.avs.LoadPlugin(r'E:\QTGMC\RemoveGrainSSE2.dll')
core.avs.LoadPlugin(r'E:\QTGMC\RepairSSE2.dll')
core.avs.LoadPlugin(r'E:\QTGMC\TDeint.dll')
core.avs.LoadPlugin(r'E:\QTGMC\VerticalCleanerSSE2.dll')
core.avs.LoadPlugin(r'E:\QTGMC\mt_masktools-25.dll')
vid = core.avisource.AVISource(r'E:\test6.avi')
vid = haf.QTGMC(vid,Preset='Medium',SubPel=2, TFF=True)
last = vid