QTGMC with Repair

  • Hallo Community,

    ich habe zu "QTGMC with Repair" ein paar Fragen.

    Wie soll dieser Syntax bei interlancing geschrieben sein?

    Wie soll hier eine "Reparation" stattfinden?

    Was soll genau repariert werden?

    Anbei mein Syntax für mein deinterlancing.

    Ich weiß nicht, was ich bei "QTGMC2" schreiben soll.

    Soll dort etwa wieder das Gleiche stehen wie bei QTGMC1 ?

    clip = core.std.SetFieldBased(clip, 2) # 1=BFF, 2=TFF

    QTGMC1 = havsfunc.QTGMC(clip, TFF=True, Preset='Placebo', InputType=0, Lossless=1, SourceMatch=3, \

    Sharpness=0.1, FPSDivisor=1, TR2=1, TR1=2, TR0=2, Rep0=1, Rep1=0, Rep2=4, GrainRestore=0.0, \

    NoiseRestore=1.0, NoiseProcess=1, NoiseTR=0, EZKeepGrain=1.4, NNeurons=1, NNSize=2, ShutterBlur=0, \

    NoisePreset="slower", NoiseDeint="Generate", MatchPreset="placebo", MatchPreset2="placebo", Sbb=0, \

    ThSCD1=300, ThSCD2=110, DCT=5, StabilizeNoise="false", DenoiseMC=True, MatchEnhance=0.60, \

    EdiMode="NNEDI3", EdiQual=2)

    QTGMC2 = havsfunc.QTGMC(clip, TFF=True, Preset='Placebo', InputType=3)

    clip = core.rgvs.Repair(QTGMC1,QTGMC2, mode=1)

    Vielen Dank.


  • Repair ist eine Funktion die Gefiltert + Ungefiltert vergleicht und versucht "Artefakte" zu entfernen die beim Filtern auftreten können => das Bild wieder reparieren.

    Auf der Avisynth Wiki zu qtgmc heißt es: repair unwanted blur after temporal smooth

  • Hallo FatFaster,

    danke für die schnelle Antwort. Das hilft mir schon ein wenig weiter, aber habe somit weitere Fragen. Vielleicht kannst du oder die anderen mir hierbei helfen. Ist die Reparatur oder der Abgleich von "unwanted blur after temporal smooth" Effekten, nur beim Deinterlancing oder auch beim Interlancing möglich? Wie würde das Skript den dann aussehen und warum wird es dann nicht generell angewendet? Könnten man auch eine dritte und vierte Schleife für die Reparatur hinzufügen? Vorausgesetzt es wird wirklich dadurch noch etwas "verbessert"

    So würde ich mein Skript hierfür verfassen:

    clip = core.std.SetFieldBased(clip, 2) # 1=BFF, 2=TFF

    QTGMC1 = havsfunc.QTGMC(clip, TFF=True, Preset='Placebo', InputType=0, Lossless=1, SourceMatch=3, \

    Sharpness=0.1, FPSDivisor=1, TR2=1, TR1=2, TR0=2, Rep0=1, Rep1=0, Rep2=4, GrainRestore=0.0, \

    NoiseRestore=1.0, NoiseProcess=1, NoiseTR=0, EZKeepGrain=1.4, NNeurons=1, NNSize=2, ShutterBlur=0, \

    NoisePreset="slower", NoiseDeint="Generate", MatchPreset="placebo", MatchPreset2="placebo", Sbb=0, \

    ThSCD1=300, ThSCD2=110, DCT=5, StabilizeNoise="false", DenoiseMC=True, MatchEnhance=0.60, \

    EdiMode="NNEDI3", EdiQual=2)

    QTGMC2 = havsfunc.QTGMC(clip, TFF=True, Preset='Placebo', InputType=0, Lossless=1, SourceMatch=3, \

    Sharpness=0.1, FPSDivisor=1, TR2=1, TR1=2, TR0=2, Rep0=1, Rep1=0, Rep2=4, GrainRestore=0.0, \

    NoiseRestore=1.0, NoiseProcess=1, NoiseTR=0, EZKeepGrain=1.4, NNeurons=1, NNSize=2, ShutterBlur=0, \

    NoisePreset="slower", NoiseDeint="Generate", MatchPreset="placebo", MatchPreset2="placebo", Sbb=0, \

    ThSCD1=300, ThSCD2=110, DCT=5, StabilizeNoise="false", DenoiseMC=True, MatchEnhance=0.60, \

    EdiMode="NNEDI3", EdiQual=2)

    clip = core.rgvs.Repair(QTGMC1,QTGMC2, mode=1)

    Danke für die Hilfe.

  • Mir sagen die ganzen "modes" nichts bei Repair (also hab keinen Plan davon :D). Es ist sicherlich auch keine Wunderfunktion, die man einfach auf alles anwenden kann.

    Vergleich doch deine Resultate mal und schau ob es besser aussieht...

    Ich würde im englischen doom9 Forum nachfragen, da kann auch jemand wie pinterf qualifiziert antworten, da er u.a. die RgTools portiert hat,

  • Vielen Dank. Vielleicht werde ich dort einmal nachfragen. Beim Vergleichstest sehe ich keine oder nur kaum Änderungen. Schwer zu sagen, ob sich etwas verbessert hat.

  • Hier noch ein Satz vom orig Autor, evtl. hilft es beim Verstehen ;D

    https://forum.doom9.org/showthread.php?p=538340#post538340

    Quote

    The new plugin derived from the RemoveGrain source, currently called Repair, leads to a much more compression efficient way of cleaning: firstly I apply a very simple and very fast temporal clenser (essentially RemoveDirt without any artifact protection), then the Repair plugin compares the clensed with the original frames and instead of removing grain it removes the massive clenser artifacts (unfortunately it restores also medium and big temporal dirt). Finally RemoveGrain is applied to erase some left over.

    Qtgmc hat ja auch denoising eingebaut. Wahrscheinlich wird es eher dafür genutzt als für das eigentliche deinterlacing.

    EDIT: Ich empfehle die posts in dem Thread weiter zu lesen, da werden immer mal wieder Dinge zu repair und den modes erklärt.

    VapourSynth Paketmanager VSRepo + GUI

    Avisynth Paketmanager AVSRepo + GUI

    Edited once, last by FatFaster (April 1, 2022 at 9:57 AM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!