Selur's Little Message Board

Full Version: Bug hunt in FillDuplicateFrames MV mode
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
When using:
Code:
from FillDuplicateFrames import FillDuplicateFrames
fdf = FillDuplicateFrames(clip=clip, method="MV")
Whole script: https://pastebin.com/Kg67Tfuy
I get:
Code:
Explicitly instantiated a Cache. This is no longer possible and the original clip has been passed through instead.
This does only occur when using mvtools not with svp or rife, which is why I assumed, that this is caused by mvtools.
Bur, when I replace:
Code:
clip = beforeFillDuplicateFrames(clip)
# current meta; color space: YUV420P8, bit depth: 8, resolution: 640x352, fps: 50, color matrix: 470bg, yuv luminance scale: limited, scanorder: progressive, full height: true
from FillDuplicateFrames import FillDuplicateFrames
fdf = FillDuplicateFrames(clip=clip)
clip = fdf.out
with:
Code:
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=50, den=1, mask=2)
the problem does not occur.

So it does seem like it's not mvtools, but something else in FillDuplicateFrames.

=> Does anyone see what is causing the problem?

Cu Selur
Correction this is caused by mvtools!
I simplified the script to:
Code:
# Imports
import vapoursynth as vs
# getting Vapoursynth core
import sys
import os
core = vs.core
# Import scripts folder
scriptPath = 'F:/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))

# loading plugins
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/libmvtools.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll")

clip = core.lsmas.LWLibavSource(source="G:/TestClips&Co/files/test.avi", format="YUV420P8", stream_index=0, cache=0, prefer_hw=0)

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=50, den=1, mask=2)

# output
clip.set_output()
adn calling:
Code:
VSPipe.exe c:\Users\Selur\Desktop\FillDuplicateFrames_MV_Cache.vpy NUL -c y4m
gave me:
Code:
Warning: Explicitly instantiated a Cache. This is no longer possible and the original clip has been passed through instead.
Warning: Explicitly instantiated a Cache. This is no longer possible and the original clip has been passed through instead.
Warning: Explicitly instantiated a Cache. This is no longer possible and the original clip has been passed through instead.
Warning: Explicitly instantiated a Cache. This is no longer possible and the original clip has been passed through instead.
Output 857 frames in 0.44 seconds (1926.36 fps)
=> will report to dubhater

Cu Selur