dubhater / vapoursynth-mvtools

Motion compensation and stuff
181 stars 27 forks source link

Interpolated frames go wild with chroma=False #37

Closed ghost closed 5 years ago

ghost commented 5 years ago

According to MVTool's documentation, it is possible to use chroma=False in the Super phase for frame interpolation. Below is the example from the webpage itself:

To double fps with MFlowFps for fastest (almost) real-time playing:

AVISource("c:\test.avi") # or MPEG2Source, DirectShowSource, some previous filter, etc
# assume progressive PAL 25 fps or NTSC Film 23.976 source
super = MSuper(pel=1,hpad=0,vpad=0,chroma=false)
backward_vec = MAnalyse(super, blksize=32, isb = true, chroma=false, searchparam=1,search=0)
forward_vec = MAnalyse(super, blksize=32, isb = false, chroma=false, searchparam=1,search=0)
MFlowFps(super, backward_vec, forward_vec, num=2*FramerateNumerator(last), \
   den=FramerateDenominator(last), mask=0)

I will show the results when a user puts chroma=False in MSuper or mv.Super


Example: Pinterf's MVTools 2.7.40

VirtualDub64_SB3qbiPKcM

source = FFmpegSource2("C:\Users\Paul\Desktop\vs\hob.mp4", atrack=-1)

s = MSuper(source, hpad=16, vpad=16, rfilter=4, pel=1, chroma=False)
bv = MAnalyse(s, isb=True, blksize=16, chroma=False, lsad=2400, pnew=128, pglobal=256)
fv = MAnalyse(s, blksize=16, chroma=False, lsad=2400, pnew=128, pglobal=256)
MBlockFPS(source, s, bv, fv, num=60, den=1, mode=0)

Example: vapoursynth-mvtools v21

VirtualDub64_rmjXNWcT33

import vapoursynth as vs
core = vs.core

source = core.ffms2.Source(r'C:\Users\Paul\Desktop\vs\hob.mp4')

s = core.mv.Super(source, hpad=16, vpad=16, rfilter=4, pel=1, chroma=False)
bv = core.mv.Analyse(s, isb=True, blksize=16, chroma=False, lsad=2400, pnew=128, pglobal=256)
fv = core.mv.Analyse(s, blksize=16, chroma=False, lsad=2400, pnew=128, pglobal=256)
c = core.mv.BlockFPS(source, s, bv, fv, num=60, den=1, mode=0)

c.set_output()

Notes:

dubhater commented 5 years ago

Then that documentation must be wrong.

ghost commented 5 years ago

Interesting. I'll fold this issue since I thought this was a bug like the last one.

dubhater commented 5 years ago

It may be a bug that we both inherited from the old MVTools. You should ask pinterf too.