VideoHelp Forum
+ Reply to Thread
Page 1 of 4
1 2 3 ... LastLast
Results 1 to 30 of 113
Thread
  1. I'm not sure how to go about this but I asked here before about how to remove comets for this video. None of the solutions got rid of the comets. Normally on the small round type of comets I can use RemoveSpots() after QTGMC and it will remove them then I weave to get an interlaced picture again. However that has almost no effect on the line comets in my video. The only way I can remove all the comets is if I do 12 passes of RemoveSpots() before QTGMC but that loses a lot of picture quality.

    I've also got a lower quality video that I'm trying to remove comets on. It's only a few secs long so you can see the interlacing issues clearly. It's an uncompressed AVI. The only thing I've done to it is use CPU=6 from MPEG2Source.
    Last edited by VideoFanatic; 3rd Oct 2013 at 21:10.
    Quote Quote  
  2. This removed 90 percent of them:

    Code:
    Separatefields()
    RemoveSpotsMC()
    Weave()
    Quote Quote  
  3. This removed almost all traces of them:

    Code:
    function RemoveDust(clip input, int _mode)
    {
        repmode = 16
        clensed = Clense(input)
        rep=Repair(clensed, input, mode=repmode)
        return RemoveGrain(rep, mode=_mode)
    }
    
    SeparateFields()
    RemoveDust(3)
    # optional: Sharpen(0.5, 0)
    Weave()
    Quote Quote  
  4. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    The documentation for dll's associated with RemoveDirt (removegrain.dll, clense.dll, etc.) is really sketchy. I've picked up piecemeal settings from Doom9 going back several years, but it's rather incomplete. If anyone runs across something that's, well, a little more complete than a cryptic sentence, pass it along. I see clense used frequently, but no explanation whatsoever. Seems like a handy plugin.
    Last edited by sanlyn; 21st Mar 2014 at 10:07.
    Quote Quote  
  5. Originally Posted by sanlyn View Post
    I see clense used frequently, but no explanation whatsoever.
    You can just look at what it returns. It appears to blend fields with adjacent fields. Not just a simple blend like Weave(Merge(field1,field2), Merge(field2,field3)), there appears to be some other processing going on. Maybe something like WarpSharp.
    Quote Quote  
  6. OK I did some tests:

    Video 1 with McTemporalDenoise + QTGMC + RemoveSpots + AddgrainC + Vinverse
    Video 2 as 1 but with Cleanse script you posted + no RemoveSpots or AddgrainC
    Video 3 as 2 but also includes 12 passes of RemoveSpots before McTemporalDenoise

    The Twelve passes of RemoveSpots video looks better than the video with Cleanse however it encodes slowly due to 12 passes of RemoveSpots - is there no way to use 1 pass and tell it to increase the strength?

    The Cleanse video seems to have interlacing artifacts and it's destroyed the ring ropes. Have I used your script correctly?

    The video with Twelve RemoveSpots() passes looks fine and similar to Video 1. However I've noticed on other videos it destroys fine detail such as a man wearing checkoured pants - the checkered pattern was destroyed.

    I'm think I tried RemoveSpotsMC() before but it wouldn't work in Multi Threaded. I'll try it again. Could you please give me the installation files for that extension as I couldn't get it working with the files I downloaded off a webpage.

    Video 1 Script

    Code:
    setmtmode(5,9)
    Mpeg2Source("E:\2 = New\Black Comets (Raw Oct 17 1994).d2v", CPU=6)
    setmtmode(2)
    
    McTemporalDenoise(settings="medium", interlaced=true) 
    
    AssumeTFF()
    QTGMC(preset="Super Fast") 
    Vinverse() RemoveSpots() AddGrainC(var=1.0,uvar=1.0)
    SeparateFields() SelectEvery(4,0,3) Weave()
    
    Tweak(Bright=-25, Sat=1.0, Cont=1.05, Hue=10, Coring=False) 
    ConvertToRGB32(interlaced=true) RGBAdjust(1.0,1.0,1.05) converttoyv12(interlaced=true)
    
    Crop(6,0,-12,-24)
    AddBorders(8,12,10,12, $000000)
    Video 2 Script

    As 1 but with cleanse script (that you posted) above McTemporalDenoise and without the red text

    Video 3 Script

    As 1 but with 12 passes of RemoveSpots() like this below McTemporalDenoise:
    RemoveSpots() RemoveSpots() RemoveSpots() RemoveSpots() RemoveSpots() RemoveSpots() RemoveSpots() RemoveSpots() RemoveSpots() RemoveSpots() RemoveSpots() RemoveSpots()
    Quote Quote  
  7. Try this script i think you will like it:

    function RemoveDust(clip input, int _mode)
    {
    repmode = 16
    clensed = Clense(input)
    rep=Repair(clensed, input, mode=repmode)
    return RemoveGrain(rep, mode=_mode)
    }

    MPEG2Source("D:\Black Comets.d2v", cpu=0)
    RemoveDust(last, 3)

    note: use separatefields+weave if interlaced, should be better
    original topic:
    https://forum.videohelp.com/threads/323988-Looking-for-a-filter-to-mask-out-white-specs...ighlight=white
    Last edited by themaster1; 10th Aug 2013 at 11:21.
    *** DIGITIZING VHS / ANALOG VIDEOS SINCE 2001**** GEAR: JVC HR-S7700MS, TOSHIBA V733EF AND MORE
    Quote Quote  
  8. Yes, RemoveDust(3) mistook some of the thin ropes as comets.
    Quote Quote  
  9. This was the original RemoveDust script Jagabo suggested along with the rest of my script:

    Code:
    setmtmode(5,9)
    Mpeg2Source("E:\2 = New\Black Comets (Raw Oct 17 1994).d2v", CPU=6)
    setmtmode(2)
    
    function RemoveDust(clip input, int _mode)
    {
        repmode = 16
        clensed = Clense(input)
        rep=Repair(clensed, input, mode=repmode)
        return RemoveGrain(rep, mode=_mode)
    }
    
    SeparateFields()
    RemoveDust(last, 3)
    Weave()
    
    McTemporalDenoise(settings="medium", interlaced=true) 
    
    AssumeTFF()
    QTGMC(preset="Super Fast") 
    Vinverse() 
    SeparateFields() SelectEvery(4,0,3) Weave()
    
    Tweak(Bright=-25, Sat=1.0, Cont=1.05, Hue=10, Coring=False) 
    
    ConvertToRGB32(interlaced=true) RGBAdjust(1.0,1.0,1.05) converttoyv12(interlaced=true)
    
    Crop(6,0,-12,-24)
    AddBorders(8,12,10,12, $000000)
    So themaster1, I just added the red text. Was that correct? Also you said to use separatefields+weave but the old script already used that in the video I posted. It looks just as bad as before with lots of damage to the ropes. Is there no way to avoid doing major damage to the ropes?

    Jagabo is it normal for the script to cause interlacing artifacts to appear?Would you mind uploading the RemoveSpotsMC extensions files you have so I can test RemoveSpotsMC?
    Quote Quote  
  10. This is what I have for RemoveSpotsMC:

    Code:
    function RemoveSpotsMC(clip,int limit, bool "_grey")
    {
      _grey=default(_grey, false)
      limit = default(limit,6)
      i=MSuper(clip,pel=2)
      bvec = MAnalyse(i,isb=false, blksize=8, delta=1, truemotion=true)
      fvec = MAnalyse(i,isb=true, blksize=8, delta=1, truemotion=true)
      backw = MFlow(clip,i,bvec)
      forw  = MFlow(clip,i,fvec)
      clp=interleave(backw,clip,forw)
      clp=clp.RemoveSpots()
      clp=clp.SelectEvery(3,1)
      return clp
    }
    Quote Quote  
  11. Originally Posted by jagabo View Post
    This removed 90 percent of them:

    Code:
    Separatefields()
    RemoveSpotsMC()
    Weave()
    I don't know what I did wrong but it didn't seem to remove any comets. I don't have any RemoveSpotsMC files in the extensions folder. Here's my script:

    Code:
    setmtmode(5,9)
    Mpeg2Source("E:\2 = New\Black Comets (Raw Oct 17 1994).d2v", CPU=6)
    setmtmode(2)
    
    Separatefields()
    
    function RemoveSpotsMC(clip,int limit, bool "_grey")
    {
      _grey=default(_grey, false)
      limit = default(limit,6)
      i=MSuper(clip,pel=2)
      bvec = MAnalyse(i,isb=false, blksize=8, delta=1, truemotion=true)
      fvec = MAnalyse(i,isb=true, blksize=8, delta=1, truemotion=true)
      backw = MFlow(clip,i,bvec)
      forw  = MFlow(clip,i,fvec)
      clp=interleave(backw,clip,forw)
      clp=clp.RemoveSpots()
      clp=clp.SelectEvery(3,1)
      return clp
    }
    
    Weave()
    
    McTemporalDenoise(settings="medium", interlaced=true) 
    
    AssumeTFF()
    QTGMC(preset="Super Fast") 
    Vinverse() 
    SeparateFields() SelectEvery(4,0,3) Weave()
    
    Tweak(Bright=-25, Sat=1.0, Cont=1.05, Hue=10, Coring=False) # Tweak(Bright=0, Sat=1.0, Cont=1.0, Hue=0, Coring=False)
    
    ConvertToRGB32(interlaced=true) RGBAdjust(1.0,1.0,1.05) converttoyv12(interlaced=true)
    
    Crop(6,0,-12,-24)
    AddBorders(8,12,10,12, $000000)
    If I try to instead just say RemoveSpotsMC() in the above script and have the script in an avsi file in the extnensions folder then the script won't load in VirtualDub. Is says script error: Invalid argument to function avs file in line 7.
    Last edited by VideoFanatic; 10th Aug 2013 at 12:59.
    Quote Quote  
  12. Does anyone have any knowledge of making extensions as I'd like to hire someone to build a comet removal extension that works as intended without losing too much detail?
    Quote Quote  
  13. Originally Posted by VideoFanatic View Post
    I don't know what I did wrong but it (RemoveSpotsMC) didn't seem to remove any comets.
    Of course it didn't -- you never called it. "function RemoveSpotsMC(...){...}" defines the function, it doesn't call it. What you want is something like:

    Code:
    setmtmode(5,9)
    
    function RemoveSpotsMC(clip,int limit, bool "_grey")
    {
      _grey=default(_grey, false)
      limit = default(limit,6)
      i=MSuper(clip,pel=2)
      bvec = MAnalyse(i,isb=false, blksize=8, delta=1, truemotion=true)
      fvec = MAnalyse(i,isb=true, blksize=8, delta=1, truemotion=true)
      backw = MFlow(clip,i,bvec)
      forw  = MFlow(clip,i,fvec)
      clp=interleave(backw,clip,forw)
      clp=clp.RemoveSpots()
      clp=clp.SelectEvery(3,1)
      return clp
    }
    
    
    
    Mpeg2Source("E:\2 = New\Black Comets (Raw Oct 17 1994).d2v", CPU=6)
    setmtmode(2)
    
    Separatefields()
    RemoveSpotsMC()
    Weave()
    
    McTemporalDenoise(settings="medium", interlaced=true) 
    
    AssumeTFF()
    QTGMC(preset="Super Fast") 
    Vinverse() 
    SeparateFields() SelectEvery(4,0,3) Weave()
    
    Tweak(Bright=-25, Sat=1.0, Cont=1.05, Hue=10, Coring=False) # Tweak(Bright=0, Sat=1.0, Cont=1.0, Hue=0, Coring=False)
    
    ConvertToRGB32(interlaced=true) RGBAdjust(1.0,1.0,1.05) converttoyv12(interlaced=true)
    
    Crop(6,0,-12,-24)
    AddBorders(8,12,10,12, $000000)
    Last edited by jagabo; 10th Aug 2013 at 17:45.
    Quote Quote  
  14. By the way, the RemoveDust() function I posted isn't mine. It's from a post I saw around here some time ago. It's a slight modification of RemoveDust() from the RemoveGrain package. You should look at modifying the call to RemoveGrain() to see if you can find a compromise that removes the comets without removing the thin ropes.
    Quote Quote  
  15. I tried that script you posted and it says invalid arguments to function RemoveSpotsMC (the RemoveSpotsMC() line). Just wondering as well, is it not possible to put the function in an avsi file then in my script I only need the RemoveSpotsMC() line to call it?
    Quote Quote  
  16. script error: invalid arguments for RemoveSpotsMc, any idea why it return this message ?
    Last edited by themaster1; 11th Aug 2013 at 07:32.
    *** DIGITIZING VHS / ANALOG VIDEOS SINCE 2001**** GEAR: JVC HR-S7700MS, TOSHIBA V733EF AND MORE
    Quote Quote  
  17. Originally Posted by VideoFanatic View Post
    I tried that script you posted and it says invalid arguments to function RemoveSpotsMC (the RemoveSpotsMC() line).
    You probably need a different version of one of the underlying filters. It's a PITA sorting these things out in AviSynth.

    Originally Posted by VideoFanatic View Post
    Just wondering as well, is it not possible to put the function in an avsi file then in my script I only need the RemoveSpotsMC() line to call it?
    Of course you can put it in an AVSI file. Just like any other function.
    Quote Quote  
  18. Would you mind uploading the RemoveSpotsMC dependants you have please that way I know I have the correct ones?
    Quote Quote  
  19. Originally Posted by VideoFanatic View Post
    Would you mind uploading the RemoveSpotsMC dependants you have please that way I know I have the correct ones?
    Here's the version of mvtools2 that I have. Don't blame me if it screws up your other filters that use mvtools. Save the version you currently have in case you need to revert to it.
    Image Attached Files
    Last edited by jagabo; 11th Aug 2013 at 08:17.
    Quote Quote  
  20. MVTools v2.5.11.3 is dated 19th September 2011. I can't see the date you mentioned on that site. I did a search on Google but I can't find that version you mentioned. Could you please upload it for me?
    Quote Quote  
  21. Something went wrong with the upload in my previous message. Fixed it.
    Quote Quote  
  22. OK I tried the version you uploaded and it's still not working! Are there any other extensions that RemoveSpotsMC uses that you could upload for me to try please? I'll make sure I keep my existing extensions in a separate folder in case I need to restore them.
    Quote Quote  
  23. Did you notice that RemoveSpotsMC() uses RemoveSpots()? So you have to import RemoveSpots() too.

    Or try specifying the video and the grey option:

    RemoveSpotsMC(last, 0)
    Quote Quote  
  24. That works. Unfortunately the video fails to encode in Simple x264 Launcher and HcEncoder yet it works in VirutalDub. In the other programs it doesn't give any clues in the error message to what's causing the problem. Any suggestions on how to get it working?
    Quote Quote  
  25. If you load your script into VirtualDub and scrub around a lot I bet you'll have a problem too. Try using SetMtMode(5) or 4. Yes, it will be slower. But not slower than not being able to encode at all.
    Quote Quote  
  26. Previously I was doing this:

    setmtmode(5,9)
    Mpeg2Source("E:\2 = New\Black Comets (Raw Oct 17 1994).d2v", CPU=6)
    setmtmode(2)

    I kept the bottom line. For the top line I tried all of the following:
    setmtmode(5,0) or setmtmode(5)
    setmtmode(4,0) or setmtmode(4)

    Still no luck. I even tried it without multhreaded and it still won't work! It only encodes in VirtualDub and I can load the video in AvsPmod but encodings in HcEncoder and Simple x264 Launcher don't work.

    Thanks for your help with this though. At least now I know I've done everything I can to remove comets but it's just not possible to do so in the way I want.
    Last edited by VideoFanatic; 11th Aug 2013 at 10:43.
    Quote Quote  
  27. You need to change the second SetMtMode, not the first. Also try changing the number of threads. Sometimes that will work.
    Quote Quote  
  28. Yes but if it doesn't work in non-multithreaded (without both setmtmode lines) then why would it work in multi-threaded?
    Quote Quote  
  29. Originally Posted by VideoFanatic View Post
    It only encodes in VirtualDub and I can load the video in AvsPmod but encodings in HcEncoder and Simple x264 Launcher don't work.
    Then use VDub to make a lossless AVI and use that for your final encode. It may be faster doing it that way, too, as you'll be running the slow script only once.
    Quote Quote  



Similar Threads

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