VideoHelp Forum




+ Reply to Thread
Results 1 to 22 of 22
  1. Member
    Join Date
    Jul 2008
    Location
    United States
    Search Comp PM
    What are some good video processing scripts will work for color? I don't know how to upload a clip so I won't bother. I am looking for scripts. I did a Google search. I couldn't find that many. I have a script. The script worked a few times. All other times. I put fft3w.dll in my system32 folder and I get an error saying it's not a AviSynth plugin. I am not looking for any scripts that will give me a hassel. See below for my script.



    source=last
    denoised=FFT3DFilter(sigma=6,sigma2=6,sigma3=5,sig ma4=4,bt=5,bw=32,bh=32,ow=16,oh=16,plane=4)
    backward_vec2 = MVAnalyse(denoised,isb = true, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    backward_vec1 = MVAnalyse(denoised,isb = true, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    forward_vec1 = MVAnalyse(denoised,isb = false, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    forward_vec2 = MVAnalyse(denoised,isb = false, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    MVDegrain2(source,backward_vec1,forward_vec1,backw ard_vec2,forward_vec2,thSAD=400,idx=2)
    Quote Quote  
  2. Member Soopafresh's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    fft3w.dll goes into your c:\Windows\system32 folder and nowhere else. You don't load it in your Avisynth script, it automatically loads on it's own.


    FFT3DFilter.dll and MVtools.dll go in c:\program files\avisynth 2.5\plugins


    The script you posted is a powerful (and slow) noise and grain reduction script. It's really good.


    So depending on your source file, it would work like this

    avisource("Your_AVI_File.avi")
    Converttoyv12()

    source=last
    denoised=FFT3DFilter(sigma=6,sigma2=6,sigma3=5,sig ma4=4,bt=5,bw=32,bh=32,ow=16,oh=16,plane=4)
    backward_vec2 = MVAnalyse(denoised,isb = true, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    backward_vec1 = MVAnalyse(denoised,isb = true, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    forward_vec1 = MVAnalyse(denoised,isb = false, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    forward_vec2 = MVAnalyse(denoised,isb = false, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    MVDegrain2(source,backward_vec1,forward_vec1,backw ard_vec2,forward_vec2,thSAD=400,idx=2)



    If you want easy to use Avisynth scripts and functions, download AutoMKV and do your processing with it. I recommend testing out LimitedSharpen and SeeSaw
    Quote Quote  
  3. Member
    Join Date
    Jul 2008
    Location
    United States
    Search Comp PM
    Soopafresh,

    Do I load FFT3DFilter in my script? I rather write the scripts instead of using Auto. Also, could I load either LimitedSharpen, or SeaSaw in the script I gave? Would SeaSaw be better then LimitedSharpen? How do I write the lines for either one? What do I write in my script?










    Originally Posted by Soopafresh
    fft3w.dll goes into your c:\Windows\system32 folder and nowhere else. You don't load it in your Avisynth script, it automatically loads on it's own.


    FFT3DFilter.dll and MVtools.dll go in c:\program files\avisynth 2.5\plugins


    The script you posted is a powerful (and slow) noise and grain reduction script. It's really good.


    So depending on your source file, it would work like this

    avisource("Your_AVI_File.avi")
    Converttoyv12()

    source=last
    denoised=FFT3DFilter(sigma=6,sigma2=6,sigma3=5,sig ma4=4,bt=5,bw=32,bh=32,ow=16,oh=16,plane=4)
    backward_vec2 = MVAnalyse(denoised,isb = true, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    backward_vec1 = MVAnalyse(denoised,isb = true, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    forward_vec1 = MVAnalyse(denoised,isb = false, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    forward_vec2 = MVAnalyse(denoised,isb = false, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    MVDegrain2(source,backward_vec1,forward_vec1,backw ard_vec2,forward_vec2,thSAD=400,idx=2)



    If you want easy to use Avisynth scripts and functions, download AutoMKV and do your processing with it. I recommend testing out LimitedSharpen and SeeSaw
    Quote Quote  
  4. Member
    Join Date
    Jul 2008
    Location
    United States
    Search Comp PM
    This is the script I have. I get this error. The only thing I know how to do is upload attachments. I do not know how to take clips. I will upload an attachment of the error I get.



    LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mvtools.dll")
    LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\fftw3.dll")
    AVISource("H:\The Breakfast Club (1985)\video.avi")
    LanczosResize(640,352)
    source=last
    denoised=FFT3DFilter(sigma=6,sigma2=6,sigma3=5,sig ma4=4,bt=5,bw=32,bh=32,ow=16,oh=16,plane=4)
    backward_vec2 = MVAnalyse(denoised,isb = true, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    backward_vec1 = MVAnalyse(denoised,isb = true, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    forward_vec1 = MVAnalyse(denoised,isb = false, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    forward_vec2 = MVAnalyse(denoised,isb = false, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    MVDegrain2(source,backward_vec1,forward_vec1,backw ard_vec2,forward_vec2,thSAD=400,idx=2)

    Quote Quote  
  5. Member Soopafresh's Avatar
    Join Date
    Jan 2004
    Location
    United States
    Search Comp PM
    take fft3w.dll out of the plugins folder. Move it to c:\windows\system32

    You're getting the 2 files confused. FFT3dFilter.dll and fft3w.dll
    Quote Quote  
  6. Member AlanHK's Avatar
    Join Date
    Apr 2006
    Location
    Hong Kong
    Search Comp PM
    Originally Posted by rocky12
    LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\fftw3.dll")
    Delete that line and put FFTW3.DLL in some directory in your path, like system folder C:\WINNT\SYSTEM32.

    Otherwise: Get AvsP to play with Avisynth scripts and get instant feedback.

    Check out the Doom9 forum, that's where the Avisynth gods hang out.
    Quote Quote  
  7. Member
    Join Date
    Jul 2008
    Location
    United States
    Search Comp PM
    Originally Posted by Soopafresh
    take fft3w.dll out of the plugins folder. Move it to c:\windows\system32

    You're getting the 2 files confused. FFT3dFilter.dll and fft3w.dll

    I got it to load in. Now, in my previous post. I asked, could I use SeaSaw with my powerful script? If so, what lines do I add?
    Quote Quote  
  8. Member AlanHK's Avatar
    Join Date
    Apr 2006
    Location
    Hong Kong
    Search Comp PM
    Originally Posted by rocky12
    could I use SeaSaw with my powerful script? If so, what lines do I add?


    http://forum.doom9.org/showthread.php?t=104701

    http://avisynth.org/mediawiki/SeeSaw
    Quote Quote  
  9. Member
    Join Date
    Jul 2008
    Location
    United States
    Search Comp PM
    Originally Posted by AlanHK
    Originally Posted by rocky12
    could I use SeaSaw with my powerful script? If so, what lines do I add?


    http://forum.doom9.org/showthread.php?t=104701

    http://avisynth.org/mediawiki/SeeSaw


    I get a error using that SeeSaw line from Doom9. Here is a copy of my script. I am going to upload a screenshot of the error.





    LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mvtools.dll")
    LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\FFT3DFilter.dll")
    AVISource("H:\The Breakfast Club (1985)\video.avi")
    LanczosResize(640,352)
    Converttoyv12()
    SeeSaw(a,b, NRlimit=3, NRlimit2=4, Sstr=1.5, Slimit=5, Spower=5, Sdamplo=6, Szp=16)
    source=last
    denoised=FFT3DFilter(sigma=6,sigma2=6,sigma3=5,sig ma4=4,bt=5,bw=32,bh=32,ow=16,oh=16,plane=4)
    backward_vec2 = MVAnalyse(denoised,isb = true, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    backward_vec1 = MVAnalyse(denoised,isb = true, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    forward_vec1 = MVAnalyse(denoised,isb = false, delta = 1, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    forward_vec2 = MVAnalyse(denoised,isb = false, delta = 2, pel = 2, overlap=4, sharp=1, idx = 1,dct=1)
    MVDegrain2(source,backward_vec1,forward_vec1,backw ard_vec2,forward_vec2,thSAD=400,idx=2)

    Quote Quote  
  10. Member AlanHK's Avatar
    Join Date
    Apr 2006
    Location
    Hong Kong
    Search Comp PM
    You didn't define "a".

    See http://avisynth.org/mediawiki/SeeSaw
    Examples
    Quote Quote  
  11. Member
    Join Date
    Jul 2008
    Location
    United States
    Search Comp PM
    Originally Posted by AlanHK
    You didn't define "a".

    See http://avisynth.org/mediawiki/SeeSaw
    Examples

    I still do NOT understand. I am at Doom9 with this same problem. NO, I am not using Auto scripts, or even AutoGK. What does define a means? What does define b means? I don't understand. Doom9, said define a and b. I put video.avi in place of a and b. I don't know what "video" means. What am I suppose to put in? It's not understanding anything I put in.
    Quote Quote  
  12. Originally Posted by AlanHK
    You didn't define "a".
    Or "b".
    Originally Posted by rocky12
    It's not understanding anything I put in.
    More to the point, you're not understanding anything you put in. Rather than just trying to copy (badly) scripts you read about here and there, why not start with more simple scripts that you actually understand? Walk before you run. What's the point of trying to run mindnumbingly slow scripts on some downloaded AVI anyway?
    Quote Quote  
  13. Member
    Join Date
    Jul 2008
    Location
    United States
    Search Comp PM
    Originally Posted by manono
    Originally Posted by AlanHK
    You didn't define "a".
    Or "b".
    Originally Posted by rocky12
    It's not understanding anything I put in.
    More to the point, you're not understanding anything you put in. Rather than just trying to copy (badly) scripts you read about here and there, why not start with more simple scripts that you actually understand? Walk before you run. What's the point of trying to run mindnumbingly slow scripts on some downloaded AVI anyway?




    The script loads without SeeSaw. I don't see how do I get SeeSaw to load in my script. How do I define "a"? How do I define "b"? I don't see how. The script does run without SeeSaw.
    Quote Quote  
  14. One way to make it work is to just leave out the "a" and "b" (assuming you haven't left out any needed DLLs or functions, or messed up something else). That may not be the best way to go about it, though, since you want to use your denoising as part of SeeSaw, rather than independently of it.

    Did you read, study, and understand the scripts in the SeeSaw link AlanHK provided? No? I thought not. Instead you go around here and Doom9 trying to get someone to give you the answer without you having to learn and understand anything. Maybe Didée just did. He invented it. But, as he says, although the script may now open and work, there's no way to tell if that script is suited for the source material.
    Quote Quote  
  15. Member
    Join Date
    Jul 2008
    Location
    United States
    Search Comp PM
    Originally Posted by manono
    One way to make it work is to just leave out the "a" and "b" (assuming you haven't left out any needed DLLs or functions, or messed up something else). That may not be the best way to go about it, though, since you want to use your denoising as part of SeeSaw, rather than independently of it.

    Did you read, study, and understand the scripts in the SeeSaw link AlanHK provided? No? I thought not. Instead you go around here and Doom9 trying to get someone to give you the answer without you having to learn and understand anything. Maybe Didée just did. He invented it. But, as he says, although the script may now open and work, there's no way to tell if that script is suited for the source material.




    There is no function named "SeeSaw". Does that mean I need to import SeeSaw? I have found the .avs on AviSynth. I am not sure which to add and save to my plugins. I will post the whole thing below.





    # SeeSaw v0.3e (02 Jan 2006)
    #
    # (Full Name: "Denoiser-and-Sharpener-are-riding-the-SeeSaw" )
    #
    # This function provides a (simple) implementation of the "crystality sharpen" principle.
    # In conjunction with a user-specified denoised clip, the aim is to enhance
    # weak detail, hopefully without oversharpening or creating jaggies on strong
    # detail, and produce a result that is temporally stable without detail shimmering,
    # while keeping everything within reasonable bitrate requirements.
    # This is done by intermixing source, denoised source and a modified sharpening process,
    # in a seesaw-like manner.
    #
    # This version is considered alpha.
    #
    # Usage:
    #
    # a = TheNoisySource
    # b = a.YourPreferredDenoising()
    # SeeSaw( a, b, [parameters] )
    #
    # You're very much encouraged to feed your own custom denoised clip into SeeSaw.
    # If the "denoised" clip parameter is omitted, a simple "spatial pressdown" filter is used.
    #
    #
    # Fiddled together by Didée, for your pleasure.
    #


    # ======= Main function =======

    function SeeSaw( clip clp, clip "denoised",
    \ int "NRlimit",int "NRlimit2",
    \ float "Sstr", int "Slimit", float "Spower", float "SdampLo", float "SdampHi", float "Szp",
    \ float "bias", int "Smode", int "sootheT", int "sootheS", float "ssx", float "ssy")
    {
    ssx = default( ssx, 1.0 ) # supersampling factor x / SeeSaw doesn't require supersampling urgently.
    ssy = default( ssy, ssx ) # supersampling factor y / if at all, small values ~1.25 seem to be enough.
    NRlimit = default( NRlimit, 2 ) # absolute limit for pixel change by denoising
    NRlimit2 = default( NRlimit2, NRlimit+1) # limit for intermediate denoising
    Sstr = default( Sstr, 1.5 ) # Sharpening strength (don't touch this too much)
    Slimit = default( Slimit, NRlimit+2 ) # positive: absolute limit for pixel change by sharpening
    # negative: pixel's sharpening difference is reduced to diff=pow(diff,1/abs(limit))
    Spower = default( Spower, 4 ) # exponent for modified sharpener
    Szp = default( Szp, 16+2 ) # zero point - below: overdrive sharpening - above: reduced sharpening
    SdampLo = default( SdampLo, Spower+1 ) # reduces overdrive sharpening for very small changes
    SdampHi = default( SdampHi, 24 ) # further reduces sharpening for big sharpening changes. Try 15~30. "0" disables.
    bias = default( bias, 49 ) # bias towards detail ( >= 50 ) , or towards calm result ( < 50 )
    Smode = default( Smode, ssx<1.35 ? 11 : ssx<1.51 ? 20 : 19 )
    sootheT = default( sootheT, 49 ) # 0=minimum, 100=maximum soothing of sharpener's temporal instableness.
    # (-100 .. -1 : will chain 2 instances of temporal soothing.)
    sootheS = default( sootheS, 0 ) # 0=minimum, 100=maximum smoothing of sharpener's spatial effect.

    Szp = Szp / pow(Sstr, 1.0/4.0) / pow( (ssx+ssy)/2.0, 1.0/2.0 )
    SdampLo = SdampLo / pow(Sstr, 1.0/4.0) / pow( (ssx+ssy)/2.0, 1.0/2.0 )

    ox=clp.width
    oy=clp.height
    xss = m4(ox*ssx)
    yss = m4(oy*ssy)
    NRL = string( NRlimit )
    NRL2 = string( NRlimit2 )
    NRLL = string( int(round( NRlimit2 * 100.0/bias - 1.0 )) )
    SLIM = string( abs(Slimit) )
    BIAS1 = string( bias )
    BIAS2 = string( 100-bias )
    #ZRP = string( abs(Szp) )
    #PWR = string( abs(Spower) )
    #DMP = string( SdampLo )

    denoised = defined(denoised) ? denoised : mt_lutxy(clp,clp.removegrain(4,-1),"x "+NRL+" + y < x "+NRL+" + x "+NRL+" - y > x "+NRL+" - y ? ?",chroma="copy first")

    NRdiff = mt_makediff(clp,denoised,chroma="process")
    tame = mt_lutxy(clp,denoised,"x "+NRLL+" + y < x "+NRL2+" + x "+NRLL+" - y > x "+NRL2+" - x "+BIAS1+" * y "+BIAS2+" * + 100 / ? ?")
    head = tame.sharpen2(Sstr,Spower,Szp,SdampLo,SdampHi,4)
    # head = head.mt_merge(tame,tame.prewitt(multiplier=1.0).mt _expand().removegrain(20))

    (ssx==1.0 && ssy==1.0) ? repair(tame.sharpen2(Sstr,Spower,Szp,SdampLo,Sdamp Hi,Smode),head,1,-1,-1)
    \ : repair(tame.lanczosresize(xss,yss).sharpen2(Sstr,S power,Szp,SdampLo,SdampHi,Smode),head.bicubicresiz e(xss,yss,-.2,.6),1,-1,-1).lanczosresize(ox,oy)

    SootheSS(last,tame,sootheT,sootheS)
    sharpdiff= mt_makediff(tame,last)

    (NRlimit==0) ? clp : \
    mt_lutxy(clp,NRdiff, "y 128 "+NRL+" + > x "+NRL+" - y 128 "+NRL+" - < x "+NRL+" + x y 128 - - ? ?",chroma="process")

    Slimit>=0 ? mt_lutxy(last,sharpdiff,"y 128 "+SLIM+" + > x "+SLIM+" - y 128 "+SLIM+" - < x "+SLIM+" + x y 128 - - ? ?",chroma="copy first")
    \ : mt_lutxy(last,sharpdiff,"y 128 == x x y 128 - abs 1 "+SlIM+" / ^ y 128 - y 128 - abs / * - ?",chroma="copy first")

    return( last )
    }


    # ======= Modified sharpening function =======

    function sharpen2(clip clp, float strength, int power, float zp, float lodmp, float hidmp, int rgmode)
    {
    STR = string( strength )
    PWR = string( 1.0/float(power) )
    ZRP = string( ZP )
    DMP = string( lodmp )
    HDMP = (hidmp==0) ? "1" : "1 x y - abs "+string(hidmp)+" / 4 ^ +"

    mt_lutxy( clp, clp.RemoveGrain(rgmode,-1,-1), \
    "x y == x x x y - abs "+ZRP+" / "+PWR+" ^ "+ZRP+" * "+STR+" * x y - 2 ^ x y - 2 ^ "+DMP+" + / * x y - x y - abs / * "+HDMP+" / + ?",chroma="copy first")
    return( last )
    }


    # ======= Soothe() function to stabilze sharpening =======

    function SootheSS(clip sharp, clip orig, int "sootheT", int "sootheS")
    {
    sootheT = default(sootheT, 25 )
    sootheS = default(sootheS, 0 )
    sootheT = (sootheT > 100) ? 100 : (sootheT < -100) ? -100 : sootheT
    sootheS = (sootheS > 100) ? 100 : (sootheS < 0) ? 0 : sootheS
    ST = string( 100 - abs(sootheT))
    SSPT = string( 100 - abs(sootheS))

    mt_makediff(orig,sharp)

    (sootheS==0) ? last
    \ : mt_lutxy( last, last.removegrain(20,-1,-1),
    \ "x 128 - y 128 - * 0 < x 128 - 100 / "+SSPT+" * 128 + x 128 - abs y 128 - abs > x "+SSPT+" * y 100 "+SSPT+" - * + 100 / x ? ?", chroma="ignore")

    (sootheT==0) ? last
    \ : mt_lutxy( last, last.temporalsoften(1,255,0,32,2),
    \ "x 128 - y 128 - * 0 < x 128 - 100 / "+ST+" * 128 + x 128 - abs y 128 - abs > x "+ST+" * y 100 "+ST+" - * + 100 / x ? ?", chroma="ignore")

    (sootheT > -1) ? last
    \ : mt_lutxy( last, last.temporalsoften(1,255,0,32,2),
    \ "x 128 - y 128 - * 0 < x 128 - 100 / "+ST+" * 128 + x 128 - abs y 128 - abs > x "+ST+" * y 100 "+ST+" - * + 100 / x ? ?",chroma="ignore")

    mt_makediff(orig,last)
    # mergechroma(sharp) # not needed in SeeSaw
    return( last )
    }


    # ======= MOD4-and-atleast-16 helper function =======

    function m4(float x) {x<16?16:int(round(x/4.0)*4)}
    Quote Quote  
  16. Member AlanHK's Avatar
    Join Date
    Apr 2006
    Location
    Hong Kong
    Search Comp PM
    Originally Posted by rocky12
    There is no function named "SeeSaw". Does that mean I need to import SeeSaw? I have found the .avs on AviSynth. I am not sure which to add and save to my plugins.
    Simplest is to save the SeeSaw code in a file called "SeeSaw.avsi" in your Avisynth plugins directory. AVSI scripts are automatically loaded. You can just call "Seesaw()" in your AVS scripts.

    Originally Posted by rocky12
    Originally Posted by AlanHK
    You didn't define "a".
    See http://avisynth.org/mediawiki/SeeSaw
    Examples
    I still do NOT understand.
    Really, you should not be starting out with Avisynth and trying to use complex scripts.

    You MUST read up on the commands and syntax if you want to get anywhere.
    You can't just cut and paste slabs of code, you have to understand at least their inputs and outputs.

    New to AviSynth - start here

    If that doesn't mean anything to you, then give up now.

    That said, it isn't hard, especially if you have any background in coding. But it is not point-and-click. You have to read, understand and modify code.
    Quote Quote  
  17. Member Alex_ander's Avatar
    Join Date
    Oct 2006
    Location
    Russian Federation
    Search Comp PM
    The SeeSaw script also uses 2 external filters: RemoveGrain and MaskTools. If you don't load their dll's, some error messages will mention 'unknown functions' actually belonging to one of those filters. Using parameters a and b means you have 2 clips: original one and the one processed by a denoising filter already applied in your script (look at the example in the beginning of the script). So along with undefined parameters you are using wrong place in the script for putting the SeeSaw line. It should be after MVDegrain2 if you want to use its output as 'denoised' clip b. Then to define clip parameters in SeeSaw you could use already defined 'source' instead of 'a' (original clip) and 'last' (MVDegrain output) as 'b'.
    Those are just the actions (maybe not complete) to give it a chance for working. I'm not sure it is good for your video to use so complicated and slow-working things. It is usually a better idea to avoid unnecessary filtering.
    Quote Quote  
  18. Member
    Join Date
    Jul 2008
    Location
    United States
    Search Comp PM
    Is mt_makediff a file that I download?
    Quote Quote  
  19. Member AlanHK's Avatar
    Join Date
    Apr 2006
    Location
    Hong Kong
    Search Comp PM
    Originally Posted by rocky12
    Is mt_makediff a file that I download?
    http://www.google.com/search?&q=mt_makediff
    Quote Quote  
  20. Member
    Join Date
    Jul 2008
    Location
    United States
    Search Comp PM
    Originally Posted by AlanHK
    Originally Posted by rocky12
    Is mt_makediff a file that I download?
    http://www.google.com/search?&q=mt_makediff
    I did already do a Google search. I beat you to it without saying anything. I just didn't see where to download mt_makediff. I do see MaskTools. I already have that.


    One other thing. Please stop telling me to look at beginners.
    Quote Quote  
  21. Member AlanHK's Avatar
    Join Date
    Apr 2006
    Location
    Hong Kong
    Search Comp PM
    Originally Posted by rocky12
    Originally Posted by AlanHK
    Originally Posted by rocky12
    Is mt_makediff a file that I download?
    http://www.google.com/search?&q=mt_makediff
    I did already do a Google search. I beat you to it without saying anything. I just didn't see where to download mt_makediff. I do see MaskTools. I already have that.
    The answer is on the first page of results.
    It took me two minutes to find, but that you can't be bothered to look and expect everyone else to spoonfeed you is wearing thin.

    Originally Posted by rocky12
    One other thing. Please stop telling me to look at beginners.
    Yes, "beginners" pages are for people who want to learn. Obviously not suitable for you.
    Quote Quote  
  22. Member Alex_ander's Avatar
    Join Date
    Oct 2006
    Location
    Russian Federation
    Search Comp PM
    Originally Posted by rocky12
    Is mt_makediff a file that I download?
    It's a function SeeSaw uses from MaskTools2:
    http://avisynth.org/mediawiki/MaskTools2
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!