This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

vhs-bordercontrol, telecide() and (ml)degrain in vapoursynth
#3
Quote: a) functionality of avs' bordercontrol filter in vapoursynth? ... or a way to get same or simillar functionality?
I assume you are talking about http://avisynth.nl/index.php/BorderControl.
Hybrid comes with no plugin/filter/script for this, and I don't know of any.
I have never user Avisynths BorderControl. EdgeFixer (which is in Hybrid) sound similar to it.
Quote: is there any wrapper for vapour to load avs plugins?
You can load 64bit Avisynth filters in Vapoursynth.
see: http://www.vapoursynth.com/doc/functions...inavs.html

Quote: i'm using it to cover headswitching noise on the bottom of vhs caps.
EdgeFixer might help otherwise, crop and letterbox.

Quote:didn't find a way to do simple pal phase shift in hybrid with vapour, dunno why would tivtc think that should be 20fps output, or better to ask why can't one turn off decimation?
TIVTC with default setitngs is for inverse telecine.
If you just want field matching, use TFM or VFM on their own.

Quote:c) i like the results of didee's mldegrain, but it should be applied after telecide, instead of using qtgmc first....this content needs no constant deinterlacing
(i'm using term "telecide" for anything doing decombing of film content)
Not following you naming schema. Usually to clean up combing artifacts one would use for example vinverse, vinverse2, qtgmc (inputype >0) , santiag.
MLDegrain is available in Hybrid.

Quote: here's the clip that destroys MDegrain2i2 (just blurs scene change across 4-5 frames):
MDegrain2i2 is not available in Hybrid. MDegrain2i2 should be used on interlaced content, so I don't really see the connection.

Quote: here's clip that breaks old telecide in old avs (telecide(post=false)) when mantegna's hand moves in conjucton with just half of subtitles remaining in that frame
Okay, to deal with this and similar stuff post-processing is meant to be used,...

Quote:but that in itself is not a big issue, one can just remove post=false for telecide to deint. that frame....in its old, crude ways of deinterlacing....
(yes, the subs are interlaced, i don't care, yes, the remainder of first clip (ie whole movie) has pal phase shifts happening elsewhere)

Quote: the original thread on doom9 that hosted mldegrain doesn't have it any more, could we enclose the original version here?
like I wrote, Hybrid already has a MLDegrain (not MDegrain2i2) port, but at this point I'm not sure what you are actually looking for,..
You could even write a Vapoursynth port of MDegrain2i2,...
from that I see can be easily be ported to Vapoursynth.
function MDegrain2i2 (clip source, int "overlap", int "dct")
{

  overlap = default (overlap, 0) # overlap value (0 to 4 for blksize=8)
  dct = default (dct, 0) # use dct=1 for clip with light flicker
  fields = source.SeparateFields () # separate by fields
  super = fields.MSuper ()
  backward_vec2 = super.MAnalyse (isb = true, delta = 2, overlap=overlap, dct=dct)
  forward_vec2 = super.MAnalyse (isb = false, delta = 2, overlap=overlap, dct=dct)
  backward_vec4 = super.MAnalyse (isb = true, delta = 4, overlap=overlap, dct=dct)
  forward_vec4 = super.MAnalyse (isb = false, delta = 4, overlap=overlap, dct=dct)
  erg = fields.MDegrain2 (super, backward_vec2, forward_vec2, backward_vec4, forward_vec4, thSAD=400)
  erg = erg.Weave()
  return (erg)
}
(quick glance) Isn't that basically applying MLDegrain on the fields of the source ? (which can be done in Hybrid for example by setting interlaced output and telling Hybrid to apply progressive filters on the separated fields,....)
untested:
import vapoursynth as vs
from vapoursynth import core

# overlap value (0 to 4 for blksize=8)
# use dct=1 for clip with light flicker
def MDegrain2i2(source: vs.VideoNode, overlap: int=0, dct: int=0, tff=True):
  fields = core.std.SeparateFields(clip)
  superF = fileds.mv.Super()
  backward_vec2 = superF.mv.MAnalyse (isb = True, delta = 2, overlap=overlap, dct=dct)
  forward_vec2 = superF.mv.MAnalyse (isb = false, delta = 2, overlap=overlap, dct=dct)
  backward_vec4 = superF.mv.MAnalyse (isb = true, delta = 4, overlap=overlap, dct=dct)
  forward_vec4 = superF.mv.MAnalyse (isb = false, delta = 4, overlap=overlap, dct=dct)
  erg = fields.mv.Degrain2(clip=superF, backward_vec2, forward_vec2, backward_vec4, forward_vec4, thSAD=400)
  erg = erg.std.Weave(tff=tff)
  return erg
requires mvtools.



Cu Selur
------
offline 02.-07. July, https://www.rockharz-festival.com/ Big Grin
Reply


Messages In This Thread
RE: vhs-bordercontrol, telecide() and (ml)degrain in vapoursynth - by Selur - 18.05.2024, 06:34

Forum Jump:


Users browsing this thread: 2 Guest(s)