View Full Version : IVTC does not remove all combed frames
Cary Knoop
25th April 2019, 06:33
What's the best strategy to fix a video that has bad edits?
After an IVTC (using VFM mode=5) not all combed frames are removed.
Applying a QTGMC afterward with InputType=1 destroys fine detail.
Sharc
25th April 2019, 08:21
for removing residual combing append
vinverse()
after IVTC
ChaosKing
25th April 2019, 08:53
Vinverse looks often ugly.
This worked very good for me.
def conditionalDeint(n, f, orig, deint):
if f.props._Combed:
return deint#.sub.Subtitle("DEINT", margins=[20,20,70,20])
else:
return orig
clip = clip.vivtc.VFM(0, mode=3, cthresh=8, blockx=32, blocky=32)
clip = clip.vivtc.VDecimate()
#deint = core.tdm.TDeintMod(clip, order=1, edeint=core.nnedi3.nnedi3(clip, field=1))
#deint = core.tdm.TDeintMod(clip, order=1, edeint=core.eedi3.eedi3(clip, 1))
deint = haf.QTGMC(clip, Preset='very slow', TR2=1, TFF=True, SourceMatch=3 ).std.SelectEvery( cycle=2, offsets=0)
combProps = core.tdm.IsCombed(clip, metric=1, cthresh=5, blockx=32, blocky=32, mi=90)
clip = core.std.FrameEval(clip, functools.partial(conditionalDeint, orig=clip, deint=deint), combProps)
VS docs have also an example http://www.vapoursynth.com/doc/plugins/vivtc.html
Cary Knoop
25th April 2019, 17:06
Changing the IsCombed() cthresh to 12 fixed the quality problem for me:
def IVTC(c):
bit8 = core.fmtc.bitdepth(c, bits=8)
def conditionalDeint(n, f, orig, deint):
if f.props._Combed:
return deint
else:
return orig
c = core.vivtc.VFM(clip=bit8, order=1, mode=0, cthresh=9, blockx=32, blocky=32, clip2=c)
c = core.vivtc.VDecimate(c)
deint = hnw.QTGMC(c, Preset='very slow', TR2=1, TFF=True, SourceMatch=3 ).std.SelectEvery( cycle=2, offsets=0)
combProps = core.tdm.IsCombed(c, metric=1, cthresh=12, blockx=32, blocky=32, mi=90)
c= core.std.FrameEval(c, functools.partial(conditionalDeint, orig=c, deint=deint), combProps)
return c
Thanks!
kolak
29th April 2019, 19:08
Your ctresh is still quite high, which means it still can skip combed frames.
Cary Knoop
28th May 2019, 19:53
Your ctresh is still quite high, which means it still can skip combed frames.
Yes, but in my case, this worked perfectly!
edcrfv94
29th May 2019, 13:53
1:Use tivtc tfm and tdecimate with ovr file output 24p part.(vivtc do not support tfm ovr file)
*You may need VFRHelper.
2:Try ivtc_txt60mc ref frame 0-4 to replace tfm can not match Frames.
3:If tivtc ovr and ivtc_txt60mc still not work try QTGMC bob to 60p.
Final: 24p + 30p + 60p VFR output with time code.
~ VEGETA ~
1st July 2019, 15:36
I still have blended frames even after using this script.
A small sample is here (45 seconds): https://mega.nz/#!WZR33IbD!yNX2SifTVemnLgZr8CCU9JEkKQPsItc_4vcFHgd5LXo
I hope we can solve it.
I tried srestore in avs (not latest edition since it gives that avsplusversion error) but no use.
real.finder
13th August 2019, 04:48
I still have blended frames even after using this script.
A small sample is here (45 seconds): https://mega.nz/#!WZR33IbD!yNX2SifTVemnLgZr8CCU9JEkKQPsItc_4vcFHgd5LXo
I hope we can solve it.
I tried srestore in avs (not latest edition since it gives that avsplusversion error) but no use.
combed =/= blended, the thread don't talk about this kind of problem you have so indeed the script will make it worst, anyway the old code I have here (https://forum.doom9.org/showthread.php?p=1750019#post1750019)
LWLibavVideoSource("D:\1_split.m2ts")
sanimebob()
srestore(omode=4, cache=10).srestore(frate=23.976)
Trim(199, 242)
seems do it http://www.solidfiles.com/v/7p7wAqDvKqqag
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.