VideoHelp Forum




+ Reply to Thread
Results 1 to 16 of 16
  1. Member
    Join Date
    Nov 2013
    Location
    Western Australia
    Search Comp PM
    Hello all.

    So I'm looking to speed up my encodes by using a 64 bit de-grain plugin. I currently use SMDegrain but that (to my knowledge) is only available as a 32 bit version.

    I use it only for live action films and if possible I'm looking for something that doesn't have any side effects/artifacting.

    I've heard RemoveGrainHD has a 64 bit version but not sure how to use it as I am not an advanced user at all. If anyone has used this one before could you please share your thoughts and maybe an example script of how to use it?
    Last edited by WAusJackBauer; 2nd Aug 2021 at 01:54.
    Quote Quote  
  2. SMDegrain works with 64 bit AviSynth. There's also TemporalDegrain(), TemporalDegrain2, MCTemporalDenoise, hqdn3d, fft3dfilter, TNLMeans, KNLMeansCL, etc.

    http://avisynth.nl/index.php/External_filters#Denoisers

    There's no such thing as a noise reduction filter that doesn't have side effects/artifacting.
    Last edited by jagabo; 2nd Aug 2021 at 08:19.
    Quote Quote  
  3. Member
    Join Date
    Nov 2013
    Location
    Western Australia
    Search Comp PM
    Originally Posted by jagabo View Post
    SMDegrain works with 64 bit AviSynth. There's also TemporalDegrain(), TemporalDegrain2, MCTemporalDenoise, hqdn3d, fft3dfilter, TNLMeans, KNLMeansCL, etc.

    http://avisynth.nl/index.php/External_filters#Denoisers

    There's no such thing as a noise reduction filter that doesn't have side effects/artifacting.
    I couldn't find a 64 bit version of SMDegrain, do you have a link?

    What I meant by no side effects/artifacting is nothing very noticeable. For example I don't notice any side effects/artifacting from SMDegrain
    Last edited by WAusJackBauer; 3rd Aug 2021 at 00:41.
    Quote Quote  
  4. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Isn't SMDegrain just a script? A script is neither 32 or 64 bit, but works as-is in both environments
    as long as you have all the invoked functions in the correct bitness
    Quote Quote  
  5. Member
    Join Date
    Aug 2013
    Location
    Central Germany
    Search PM
    SMDegrain (AviSynth Wiki)

    real.finder's Avisynth Stuff (doom9 forum) incl. current SMDegrain and NotSMDegrain AVSI sources

    ...

    More important sites for AviSynth+ 64-bit plugins:

    AviSynth+ x64 plugins (AviSynth Wiki)

    Avisynth+ plugin modernization efforts (doom9 forum)
    Quote Quote  
  6. Don't expect massive speed improvements from SMDegrain unless you're running out of memory or are using some other slow filter that benefits from 64 bits. At the SMDegrain default settings with a 720x576 video and 12 threads (AviSource, SMDegrain, prefetch 12) I get about 110 fps with 32 bit AviSynth, 120 fps with 64 bit AviSynth.
    Quote Quote  
  7. Member
    Join Date
    Nov 2013
    Location
    Western Australia
    Search Comp PM
    My CPU usage with encodes that use SMDegrain are about 80% while encodes without it are 99%
    Last edited by WAusJackBauer; 5th Aug 2021 at 10:04.
    Quote Quote  
  8. Member
    Join Date
    Aug 2013
    Location
    Central Germany
    Search PM
    That means one piece in your encoding chain needs to wait for a previous one. No surprise if you have a complex filter which takes its time to calculate. Did you parallelize it at all?
    Quote Quote  
  9. Member
    Join Date
    Nov 2013
    Location
    Western Australia
    Search Comp PM
    Originally Posted by LigH.de View Post
    That means one piece in your encoding chain needs to wait for a previous one. No surprise if you have a complex filter which takes its time to calculate. Did you parallelize it at all?
    My encodes are very simple. I don't know what you mean by parallelize.

    Code:
    LWLibavVideoSource("D:\Creed 2\Creed II_F1_T2_Video - .mkv")
    SMDegrain(tr=3, thSAD=400, RefineMotion=True, contrasharp=True, interlaced=False, plane=4, prefilter=0, chroma=True, lsb=False, lsb_in=False, lsb_out=False, Show=False)
    Quote Quote  
  10. Use AviSynth+ and add prefetch(N) at the end of your script. Replace the N with the number of cores/threads your CPU supports. Sometimes more, sometimes less, depending on the script.
    Quote Quote  
  11. Member
    Join Date
    Aug 2013
    Location
    Central Germany
    Search PM
    Your encoder will most probably use all of your CPU cores in parallel. But if you don't care about running your AviSynth script with the filtering on several cores too (as jagabo explained), your encoder has to wait for the filtering in AviSynth being calculated on only one CPU core.
    Quote Quote  
  12. Member
    Join Date
    Nov 2013
    Location
    Western Australia
    Search Comp PM
    Originally Posted by jagabo View Post
    Use AviSynth+ and add prefetch(N) at the end of your script. Replace the N with the number of cores/threads your CPU supports. Sometimes more, sometimes less, depending on the script.
    I use AviSynth+ 64 bit but don't know what you mean by prefetch(N)

    Would you be able to give an example?
    Quote Quote  
  13. Member
    Join Date
    Aug 2013
    Location
    Central Germany
    Search PM
    Add it to your script as last line. So hard to understand?

    Example with N=4:
    Code:
    LWLibavVideoSource("D:\Creed 2\Creed II_F1_T2_Video - .mkv")
    SMDegrain(tr=3, thSAD=400, RefineMotion=True, contrasharp=True, interlaced=False, plane=4, prefilter=0, chroma=True, lsb=False, lsb_in=False, lsb_out=False, Show=False)
    Prefetch(4)
    Quote Quote  
  14. Member
    Join Date
    Nov 2013
    Location
    Western Australia
    Search Comp PM
    Originally Posted by LigH.de View Post
    Add it to your script as last line. So hard to understand?

    Example with N=4:
    Code:
    LWLibavVideoSource("D:\Creed 2\Creed II_F1_T2_Video - .mkv")
    SMDegrain(tr=3, thSAD=400, RefineMotion=True, contrasharp=True, interlaced=False, plane=4, prefilter=0, chroma=True, lsb=False, lsb_in=False, lsb_out=False, Show=False)
    Prefetch(4)
    Ok gotcha.

    My computer has 6 cores and 12 threads, so do I just write (6) or (6), (12)
    Quote Quote  
  15. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    It refers to the amount of threads you want it to use
    Quote Quote  
  16. Originally Posted by WAusJackBauer View Post
    My computer has 6 cores and 12 threads, so do I just write (6) or (6), (12)[/SIZE]
    It depends on the particular script and encoder. Try different values and see what gives you the fastest throughput (probably around 8 for a six core CPU with 12 threads and that script). Or less if you want to leave CPU for something else.
    Last edited by jagabo; 9th Aug 2021 at 07:38.
    Quote Quote  



Similar Threads

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