1. I have been trying my hardest to get AVIsynth to work. I have tried different scripts from people and there is always an error. I deleted things and still NOTHING. I would like to know HOW to install things from scratch. WHERE exactly do I put the plug-ins, and any links that you guys can find to any proper files or proper packages. Thanks guy.
2. http://avisynth.nl/index.php/QTGMC#Requirements
See "Download" column. Start with the core plugins (and also their requirements like vc++ packages as listed on their respective links). On the top right you also have dl link to latest QTGMC v3.358s. Put the .avsi and .dll files in your AviSynth plugin folder. What AviSynth version are you using? 32 bit or 64 bit? AviSynth+?

After you've checked all that try to run a simple QTGMC(). If it doesn't run use Avisynth Info Tool to further investigate (post its complete log here). Post any error message completely, don't say "there was an error".
3. Originally Posted by sneaker
After you've checked all that try to run a simple QTGMC(). If it doesn't run use Avisynth Info Tool to further investigate (post its complete log here). Post any error message completely, don't say "there was an error".
Good advice, but before trying a difficult filter like QTGMC, I think I'd first run a simple script to make sure AviSynth was installed correctly.

Create a text file called Version.txt. Rename it as an AVS, as Version.avs.

Inside have a single line:

Version()

Open the Version.avs in Virtual Dub. If it works you'll see a little rectangle with the AviSynth version you installed. If it doesn't work reply here with the complete error message. Then before going on to getting QTGMC to work I think I'd next try to open a video without any filtering at all. If that doesn't work, reply here with the complete script and the error message VDub gives you.
4. The current version of staxrip 2.0.0.0 has QTGMC as a built in option. It's easy to get it up and running instead of fiddling around.
5. Originally Posted by blud7
The current version of staxrip 2.0.0.0 has QTGMC as a built in option. It's easy to get it up and running instead of fiddling around.
I will check that out too, thank you...

Quick question......
Is there anything in the CORE plug-ins of AVIsynth that will allow me to erase blemishes such as those white horizontal lines called comets or dropouts? Or is that in the QTGMC. That is the main reason I want this so I don't have to break it down frame by frame and go into photoshop.
6. Originally Posted by DiggyDre
Is there anything in the CORE plug-ins of AVIsynth that will allow me to erase blemishes such as those white horizontal lines called comets or dropouts?
No. And QTGMC wasn't designed for that, either. Weren't you given better filters for that in your other thread?
7. Originally Posted by manono
Originally Posted by DiggyDre
Is there anything in the CORE plug-ins of AVIsynth that will allow me to erase blemishes such as those white horizontal lines called comets or dropouts?
No. And QTGMC wasn't designed for that, either. Weren't you given better filters for that in your other thread?
I was told to try the median filter which didnt do anything. Someone also recommended RemoveDirt in AVIsynth
8. Originally Posted by DiggyDre
I was told to try the median filter which didnt do anything.
What exactly did you do? The median filter for AviSynth works pretty well when used properly. You need three or five caps and the comets must appear in different locations in each cap. If they always appear at the same location it won't work.

http://avisynth.nl/index.php/Median
9. Originally Posted by manono
Originally Posted by sneaker
After you've checked all that try to run a simple QTGMC(). If it doesn't run use Avisynth Info Tool to further investigate (post its complete log here). Post any error message completely, don't say "there was an error".
Good advice, but before trying a difficult filter like QTGMC, I think I'd first run a simple script to make sure AviSynth was installed correctly.

Create a text file called Version.txt. Rename it as an AVS, as Version.avs.

Inside have a single line:

Version()

Open the Version.avs in Virtual Dub. If it works you'll see a little rectangle with the AviSynth version you installed. If it doesn't work reply here with the complete error message. Then before going on to getting QTGMC to work I think I'd next try to open a video without any filtering at all. If that doesn't work, reply here with the complete script and the error message VDub gives you.

Okay, I am finally sitting down and trying to get through this....

[Attachment 48150 - Click to enlarge]
10. You got AviSynth installed correctly, so, congrats. It's the + version so someone else will have to take it from here as I've never used it and have no idea what additional problems it might present for using QTGMC, if any. If I were you, I might take blud7's suggestion of installing StaxRip and using the QTGMC in it.
11. I opened StaxRip and I am curious to know, is there a way to install any other AVI synth plugins in it? I really want to try RemoveDirtMC since people are saying it can help remove comets.
12. That image indicates you have 32 bit AviSynth+ and 32 bit VirtualDub installed. QTGMC works with 32 bit AviSynth if you install all the correct 32 bit third party dlls.

As i understand it, Staxrip is only available in 64 bit versions now. So that would require 64 bit AviSynth and third party dlls.

13. [Attachment 48158 - Click to enlarge]

I went back to the regular instead of the plus. Now I am starting to follow along with the guide on the AVIsynth site.
14. Well.... I think I have things going okay so far. Would anyone be able to tell me any code or how to set something up for removing comets?
15. Code:
import("X:\path\to\RemoveDirtMC.avs") # set path to wherever the AVS script is on your computer

WhateverSource("filename.ext") # use an appropriate source filter for your input file, AviSource(), LWlibavVideoSource(), ffVideoSource(), etc.
RemoveDirtMC(30) # higher values remove more "dirt".  Too high removes details.
16. I get a error saying There is no function named "RemoveDirtMC"
17. Is this the version you're using? https://pastebin.com/PgkQc9X4

That one creates RemoveDirtMC_SE() which is different. The one I have is:

Code:
#REMOVE DIRT FUNCTION
#.................................................   ..................................................   ..................................................  .................
function RemoveDirt(clip input, int limit, bool "_grey")
{
_grey=default(_grey, false)
clensed=input.Clense(grey=_grey)#, cache=4)
alt=input.RemoveGrain(2)
return RestoreMotionBlocks(clensed,input,alternative=alt,   pthreshold=6,cthreshold=8, gmthreshold=40,dist=3,               dmode=2,debug=false,noise=limit,noisy=4, grey=_grey)

# Alternative settings
# return RestoreMotionBlocks(clensed,input,alternative=alt,   pthreshold=4,cthreshold=6,  gmthreshold=40,dist=1,dmode=2,debug=false,noise=li   mit,noisy=12,grey=_grey,show=true)
# return RestoreMotionBlocks(clensed,input,alternative=alt,   pthreshold=6,cthreshold=8, gmthreshold=40,dist=3,tolerance=  12,dmode=2,debug=false,noise=limit,noisy=12,grey=_  grey,show=false)
}

function RemoveDirtMC(clip clip,int limit, bool "_grey")
{
_grey=default(_grey, false)
limit = default(limit,6)
i=MSuper(clip,pel=2)
bvec = MAnalyse(i,isb=true, blksize=8, delta=1, truemotion=true)
fvec = MAnalyse(i,isb=false, blksize=8, delta=1, truemotion=true)
backw = MFlow(clip,i,bvec)
forw  = MFlow(clip,i,fvec)
clp=interleave(backw,clip,forw)
clp=clp.RemoveDirt(limit,_grey)
clp=clp.SelectEvery(3,1)
return clp
}

function RemoveSpots(clip clp, int "repmode", bool "_grey")
{
_grey     = Default(_grey, false)
repmode   = Default(repmode, 16)

clmode    = 17

clensed   = Clense(clp, grey=_grey)#, cache=4)
sbegin    = ForwardClense(clp, grey=_grey, cache=-1)
send      = BackwardClense(clp, grey=_grey, cache=-1)
alt       = Repair(SCSelect(clp, sbegin, send, clensed, debug=true), clp, mode=repmode, modeU = _grey ? -1 : repmode )
restore   = Repair(clensed, clp, mode=repmode, modeU = _grey ? -1 : repmode)
corrected = RestoreMotionBlocks(clensed, restore, neighbour=clp, alternative=alt, gmthreshold=70, dist=1, \
dmode=2, debug=false, noise=10, noisy=12, grey=_grey)

return corrected
}
18. If this is a VHS cap, it would be encoded as fields and you might have to do other things first

If it's progressive film content , you might want to IVTC first . Or if it's interlaced content you might apply to even/odd fields or bob deinterlace first before applying filter. But you almost never apply a dirt/dust removal filter while it's still in fields unless it has a specific interlaced mode
19. Originally Posted by jagabo
Is this the version you're using? https://pastebin.com/PgkQc9X4

That one creates RemoveDirtMC_SE() which is different. The one I have is:

Code:
#REMOVE DIRT FUNCTION
#.................................................   ..................................................   ..................................................  .................
function RemoveDirt(clip input, int limit, bool "_grey")
{
_grey=default(_grey, false)
clensed=input.Clense(grey=_grey)#, cache=4)
alt=input.RemoveGrain(2)
return RestoreMotionBlocks(clensed,input,alternative=alt,   pthreshold=6,cthreshold=8, gmthreshold=40,dist=3,               dmode=2,debug=false,noise=limit,noisy=4, grey=_grey)

# Alternative settings
# return RestoreMotionBlocks(clensed,input,alternative=alt,   pthreshold=4,cthreshold=6,  gmthreshold=40,dist=1,dmode=2,debug=false,noise=li   mit,noisy=12,grey=_grey,show=true)
# return RestoreMotionBlocks(clensed,input,alternative=alt,   pthreshold=6,cthreshold=8, gmthreshold=40,dist=3,tolerance=  12,dmode=2,debug=false,noise=limit,noisy=12,grey=_  grey,show=false)
}

function RemoveDirtMC(clip clip,int limit, bool "_grey")
{
_grey=default(_grey, false)
limit = default(limit,6)
i=MSuper(clip,pel=2)
bvec = MAnalyse(i,isb=true, blksize=8, delta=1, truemotion=true)
fvec = MAnalyse(i,isb=false, blksize=8, delta=1, truemotion=true)
backw = MFlow(clip,i,bvec)
forw  = MFlow(clip,i,fvec)
clp=interleave(backw,clip,forw)
clp=clp.RemoveDirt(limit,_grey)
clp=clp.SelectEvery(3,1)
return clp
}

function RemoveSpots(clip clp, int "repmode", bool "_grey")
{
_grey     = Default(_grey, false)
repmode   = Default(repmode, 16)

clmode    = 17

clensed   = Clense(clp, grey=_grey)#, cache=4)
sbegin    = ForwardClense(clp, grey=_grey, cache=-1)
send      = BackwardClense(clp, grey=_grey, cache=-1)
alt       = Repair(SCSelect(clp, sbegin, send, clensed, debug=true), clp, mode=repmode, modeU = _grey ? -1 : repmode )
restore   = Repair(clensed, clp, mode=repmode, modeU = _grey ? -1 : repmode)
corrected = RestoreMotionBlocks(clensed, restore, neighbour=clp, alternative=alt, gmthreshold=70, dist=1, \
dmode=2, debug=false, noise=10, noisy=12, grey=_grey)

return corrected
}
This code is actually going through with NO errors! What do I have to tweak in it to start trying to kill off the comets?
20. See post #15.
21. Originally Posted by jagabo
See post #15.

I get a error saying There is no function named "RemoveDirtMC"
22. Then what did you mean in post #19?
This code is actually going through with NO errors!
Did you import that AVS script into your script as I indicated in post #15?

Statistics