VideoHelp Forum
+ Reply to Thread
Results 1 to 15 of 15
Thread
  1. Hi everyone,

    so I just tried using QTGMC in Avisynth+ with a DV-Codec avi, despite this .avi already being deinterlaced. I found the result to be quite good as QTGMC reduced the noise. Does anyone have experience with this? I always thought of QTGMC only being a tool to deinterlace an interlaced video and not a tool to decrease noise. Is there perpahps even a better way to denoise a DV-codec avi? Thanks!

    Bermuda1
    Quote Quote  
  2. QTGMC is often use to reduce noise in progressive video. Especially inter-line twitter from a prior bad deinterlace, oversharpening. Use InputType=(1,2,3), or bad scaling. It also has more traditional noise reduction features for removing grain. An example:
    Code:
    QTGMC(InputType=2, EZDenoise=1.0, DenoiseMC=true) # horizontal edge stabilization and grain reduction
    Or
    Code:
    QTGMC(InputType=2).TurnRight().QTGMC(InputType=2).TurnLeft() # horizontal edge stabilization and vertical edge stabilization
    Last edited by jagabo; 28th Sep 2024 at 17:00.
    Quote Quote  
  3. Originally Posted by jagabo View Post
    QTGMC is often use to reduce noise in progressive video. Especially inter-line twitter from a prior bad deinterlace, oversharpening. Use InputType=(1,2,3), or bad scaling. It also has more traditional noise reduction features for removing grain. An example:
    Code:
    QTGMC(InputType=2, EZDenoise=1.0, DenoiseMC=true) # horizontal edge stabilization and grain reduction
    Or
    Code:
    QTGMC(InputType=2).TurnRight().QTGMC(InputType=2).TurnLeft() # horizontal edge stabilization and vertical edge stabilization
    I am getting the following error in Avisynth+
    "libfftw3f-3.dll or fftw3.dll not found. Please put in PATH or use LoadDll() plugin"

    I dont see how that makes sense as both dlls are already in the SysWow64 folder and I even copied the libfftw3f-3.dll file into the system32 folder. I needed them for my QTGMC script.

    Before getting that error, I had to get the FFT3DFilter - which also worked fine.

    Any idea how to fix this issue? Thanks.
    Quote Quote  
  4. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    Apply the second option in the error message: "use LoadDll() plugin"
    Quote Quote  
  5. Originally Posted by lollo View Post
    Apply the second option in the error message: "use LoadDll() plugin"
    I tried it, not working, same error...

    Code:
    LoadPlugin("C:\Program Files (x86)\AviSynth+\plugins64+\LoadDll64.dll")
    LoadDLL("C:\Windows\SysWOW64\libfftw3f-3.dll")
    LoadDLL("C:\Windows\SysWOW64\fftw3.dll")
    SetFilterMTMode("QTGMC", 2)
    AviSource("1997_Weihnachten_Silvester_011.avi")
    AssumeTFF()
    QTGMC(preset="Slower", InputType=2, EZDenoise=1.0, DenoiseMC=true, EdiThreads=2)
    Crop(14,2,-28,-16)
    Prefetch(2)
    Screenshot of the files in Windows\SysWOW64 attached.
    Last edited by Bermuda1; 29th Sep 2024 at 05:40.
    Quote Quote  
  6. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    try to remove the needed DLLs in the Windows system directories, download them again, place them elsewhere and use loadDll()

    Example:

    Code:
    # plugins directory
    plugins_dir="C:\Users\giuse\Documents\VideoSoft\MPEG\AviSynth\extFilters\"
    
    	# FFT3DFilter
    loadPlugin(plugins_dir + "FFT3dFilter-v2.6\x86\fft3dfilter.dll")
    
    	# FFTW
    loadPlugin(plugins_dir + "LoadDll\LoadDll.dll")
    loadDll(plugins_dir + "fftw-3.3.5-dll32\libfftw3f-3.dll")
    Quote Quote  
  7. Member
    Join Date
    May 2005
    Location
    Australia-PAL Land
    Search Comp PM
    I even copied the libfftw3f-3.dll file into the system32 folder. I needed them for my QTGMC script.
    The ones that go into the system32 folder are different to those that go into the syswow64 folder.

    Upzip the attachment and put the files where the folders say to. I can vouch for the safety of the zip; Windows may block the download.

    In a nutshell, the 32bit versions are 2336KB and must be in the C:\Windows\SysWOW64 folder. The 64bit versions are 2708KB and must be in the C:\Windows\System32 folder ("must" unless you're using LoadDLL).
    Image Attached Files
    Quote Quote  
  8. @lollo @Alwyn
    Thanks to both of you. Works now. Will now run the scripts and give it a try.
    Quote Quote  
  9. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    Excellent! Both methods are ok. When you specify the load in the script you have immediate visibility of what is loaded in term of plugins and version, in case you need/want to change something, without searching/looking/editing in the folders. On the other hand, placing the plugins and the DLLs in the folders avoid you to repeat in each script the load command, but hiding somehow the operations. Both methods have pros and cons, choose whteber you prefere.
    Quote Quote  
  10. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    BTW, in term of "pure" denoise/degrain of progressive sources there are better options then QTGMC, which is excellent in fixing other issues as jagabo already explained.
    Quote Quote  
  11. Originally Posted by lollo View Post
    BTW, in term of "pure" denoise/degrain of progressive sources there are better options then QTGMC, which is excellent in fixing other issues as jagabo already explained.
    For example ?
    Quote Quote  
  12. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    TemporalDegrain
    TemporalDegrain2
    MDegrain
    MCTemporalDenoise
    SMDegrain
    KNLMeansCL
    NLMeans (spatial denoiser) + MDegrain (temporal denoiser), or in general any combination of prefiltering with a spatial denoiser and then a temporal denoiser (effectiveness strongly depends on the source)
    ...
    Quote Quote  
  13. Originally Posted by jagabo View Post
    QTGMC is often use to reduce noise in progressive video. Especially inter-line twitter from a prior bad deinterlace, oversharpening. Use InputType=(1,2,3), or bad scaling. It also has more traditional noise reduction features for removing grain. An example:
    Code:
    QTGMC(InputType=2, EZDenoise=1.0, DenoiseMC=true) # horizontal edge stabilization and grain reduction
    So I tried this. The noise reduction is really great, however, compared to InputType=0 (or just not changing anything), I see two difference which are not great: For one, I only get the original 25fps, which is OK, but 50pfs just looks better on modern TV, and secondly, albeit less noisy now, I start seeing interlacing again (see screenshot comparison attached - look at the glass on the bottom).
    Same result using InputType=1.
    Image Attached Thumbnails Click image for larger version

Name:	2024-09-29 11_07_17-Window.png
Views:	14
Size:	487.7 KB
ID:	82530  

    Click image for larger version

Name:	2024-09-29 11_07_41-Window2.png
Views:	16
Size:	472.9 KB
ID:	82531  

    Quote Quote  
  14. Those examples were simply meant as ways QTGMC can be used. Not specifically for your video. InputType 2 and 3 are for progressive frames, no deinterlacing is performed. Single rate deinterlacing is usually for progressive material that was encoded interlaced. If you use it on true interlaced video you lose half the motion smoothness. And yes, there are better filters for general noise reduction than QTGMC. Especially for heavy noise. I wouldn't use EZDenoise values much greater than 1.0 for most material -- you start getting ghosting and smearing artifacts during motion.
    Quote Quote  
  15. Ok, thanks, I will try around a little and use the recommendations by @lollo and see what best suits me
    Quote Quote  



Similar Threads

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