Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se

 

Go Back   Doom9's Forum > General > Newbies

Reply
 
Thread Tools Search this Thread Display Modes
Old 14th November 2025, 03:07   #1  |  Link
szwab
Registered User
 
Join Date: Aug 2025
Posts: 6
QTGMC shenanigans

Hey everyone,

I'm completely stumped by a persistent QTGMC error and I've exhausted every troubleshooting step I can think of. I'm hoping someone here might have an idea what's going on.

My goal is to deinterlace a 1080i TS file, do some filtering, and then use AutoOverlay to combine it with a filtered 720p MKV. The problem is that the script fails immediately with an "Invalid arguments to function 'QTGMC'" error.

The most confusing part is that a preview generated in Hybrid, using the exact same plugins and settings, works perfectly fine. The error only happens when I try to run the .avs script externally through my system-wide AviSynth+ installation (latest version) and VirtualDub2 (64-bit).

Here's everything I've tried so far:

- The error happens even with the simplest possible call. This line fails with the same error: `main = temp.QTGMC(Preset="Placebo")`
- I've confirmed I'm using a 64-bit host (VirtualDub2) with the 64-bit plugins from the Hybrid folder.
- I've installed the complete Visual C++ Redistributable Runtimes (All-in-One) and restarted.
- I tried forcing the input colorspace immediately after loading the source, using `ConvertToYV12(interlaced=true)`.
- I even replaced Hybrid's `QTGMC.avsi` with the latest official version from avisynth.nl.

Nothing has changed the result.

Here is the full script I'm trying to run. Any ideas would be greatly appreciated.

Code:
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\LoadDll.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\flash3kyuu_deband.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\aWarpSharpMT.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\VariableBlur.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\Deblock.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\DctFilter.dll")
LoadCPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\yadif.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\TDeint.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\FFT3DFilter.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\eedi3.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\EEDI2.dll")
LoadDLL("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\libfftw3f-3.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\D2VSource.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\TIVTC.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\dfttest.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\AddGrainC.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\nnedi3.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\neo-fft3d.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\mvtools2.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\masktools2.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\RgTools.dll")
LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64+\AvsFilterNet.dll")
LoadNetPlugin("C:\Program Files (x86)\AviSynth+\plugins64+\AutoOverlay_netautoload.dll")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\mtmodes.avsi")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\BalanceBorders.avsi")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\GrainFactory3mod.avsi")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\LSFmod.avsi")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\ExTools.avsi")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\Deblock_QED_MT2.avsi")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\SMDegrain.avsi")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
Import("C:\Program Files (x86)\AviSynth+\plugins64+\QTGMC.avsi")


1080i = LWLibavVideoSource("C:\Users\jopro\Downloads\bt projekte\vid_1029837442356038.ts")
720p = LWLibavVideoSource("C:\Users\jopro\Downloads\bt projekte\Spring.Subway.2002.720p.HDTV.x264-NGB.mkv")
mask = ImageSource("C:\Users\jopro\Downloads\bt projekte\ts_logo_mask.bmp")


#colorspace conv
temp = 1080i.ConvertToYV12(interlaced=true).Crop(0,2,0,0).AssumeTFF()

#1080i sauce
main = temp.QTGMC(Preset="Placebo", InputType=0, TR2=3, SourceMatch=3, Lossless=2, MatchPreset="Slower", MatchPreset2="Slower", EZKeepGrain=4.00, NoisePreset="Slower", ediThreads=2).SelectEven()

ref = main.QTGMC(preset="Very Slow", ediThreads=2, FPSDivisor=2, PrevGlobals="Replace")

filtered_1080i = main.TFM(mode=5,slow=2,clip2=ref)
  \ .BalanceBorders(4,4,4,4)
  \ .Deblock_QED(quant1=55,quant2=45,aOff1=5,bOff1=5,aOff2=5,bOff2=5,uv=1)
  \ .LSFmod()
  \ .Spline36Resize(1280,720)


#720p source
OverlayEngine.
filtered_720p = 720p.ConvertToYV12()
  \ .InpaintDelogo(Loc="64,40,202,104", "C:\Users\jopro\Downloads\bt projekte\logo_mask.bmp", Automask=0, Mode="Both", Analyze=1, IntSpd=4, InterpM=-1, iTune=-5)
  \ .Deblock_QED(quant1=55,quant2=45,aOff1=5,bOff1=5,aOff2=5,bOff2=5,uv=1)
  \ .LSFmod()


#merge
engine = OverlayEngine(filtered_1080i, filtered_720p)
engine.OverlayRender(filtered_1080i, filtered_720p, preset="FullFrame", overlayMask=mask)

Prefetch(3)
return last
Again, thanks
szwab is offline   Reply With Quote
Old 14th November 2025, 03:51   #2  |  Link
Selur
.
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,853
You have you tried using the QTGMC script that comes with Hybrid?
__________________
Hybrid here in the forum, homepage, its own forum
Selur is offline   Reply With Quote
Old 14th November 2025, 04:16   #3  |  Link
szwab
Registered User
 
Join Date: Aug 2025
Posts: 6
Quote:
Originally Posted by Selur View Post
You have you tried using the QTGMC script that comes with Hybrid?
Yep. QTGMC inside of Hybrid works which makes this all the more puzzling. I generated the lines for both qtgmc and tfm in hybrid so the syntax should be right. I also tried calling the qtgmc plugin in the hybrid installation folder in the script in virtualdub with the same result.
szwab is offline   Reply With Quote
Old 16th November 2025, 07:09   #4  |  Link
Selur
.
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,853
Quote:
QTGMC inside of Hybrid works which makes this all the more puzzling
That indicates that the other QTGMC you used changed.
Since you didn't share what versions of QTGMC you are using, you might want to look at the script code yourself.
__________________
Hybrid here in the forum, homepage, its own forum
Selur is offline   Reply With Quote
Old 16th November 2025, 16:09   #5  |  Link
szwab
Registered User
 
Join Date: Aug 2025
Posts: 6
Quote:
Originally Posted by Selur View Post
That indicates that the other QTGMC you used changed.
Since you didn't share what versions of QTGMC you are using, you might want to look at the script code yourself.
My bad! I'm using v3.383s from avisynth.nl.

I don't think that the issue is that there have been any changes to QTGMC, because when I call QTGMC inside the Hybrid installation folder, I still get the same error.
szwab is offline   Reply With Quote
Old 16th November 2025, 16:31   #6  |  Link
Selur
.
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,853
Does it make a difference if you add "ClearAutoloadDirs()" at the start of your script?
__________________
Hybrid here in the forum, homepage, its own forum
Selur is offline   Reply With Quote
Old 16th November 2025, 21:42   #7  |  Link
szwab
Registered User
 
Join Date: Aug 2025
Posts: 6
Quote:
Originally Posted by Selur View Post
Does it make a difference if you add "ClearAutoloadDirs()" at the start of your script?
Unfortunately not except that I had to manually load LSmashSource and ImageSeq sources.
szwab is offline   Reply With Quote
Old 21st November 2025, 17:50   #8  |  Link
Selur
.
 
Selur's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 7,853
Still, to avoid collisions with automatically loaded dlls, I would recommend to keep 'ClearAutoloadDirs()'.

Also in your case:
Code:
ref = main.QTGMC(preset="Very Slow", ediThreads=2, FPSDivisor=2, PrevGlobals="Reuse")
would make sense.

But maybe first start with a simple script like:
Code:
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\LSMASHSource.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\nnedi3.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\mvtools2.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\masktools2.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\RgTools.dll")
Import("F:\Hybrid\64bit\Avisynth\avisynthPlugins\mtmodes.avsi")
Import("F:\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
Import("F:\Hybrid\64bit\Avisynth\avisynthPlugins\QTGMC.avsi")


LWLibavVideoSource("C:\Users\jopro\Downloads\bt projekte\vid_1029837442356038.ts")
AssumeBFF()
QTGMC(Preset="Fast", ediThreads=2)
PreFetch(3)
return last
If that works, extend it bit by bit, to see what's causing the issue.
It that already fails, post the complete error message.
__________________
Hybrid here in the forum, homepage, its own forum
Selur is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 03:40.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.