VideoHelp Forum




+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 34
  1. Hi... How are you?

    I am trying a new Deinterlace QTGMC String, but I can't squeeze more details... What can I change for more details?

    I have this question because I tried MSU Deinterlacer and there are more details, but QTGMC is better

    My avisynth string is this:

    QTGMC(Preset="Placebo", TR0=2, TR1=2, TR2=2, Rep0=7, Rep1=7, Rep2=7, DCT=10, SourceMatch=3, Lossless=1, MatchPreset="Placebo", MatchPreset2="Placebo", MatchEnhance=1.0, MatchTR2=2, EZKeepGrain=1.0, Sharpness=0.0, Sbb=3, ThSCD1=250, ThSCD2=95, NoiseProcess=0, SMode=3, SLMode=0, Subpel=4, PelSearch=5, Overlap=8, EdiMode="NNEDI3CL", Ediqual=2, ChromaMotion=True, TrueMotion=true, Precise=True, ediThreads=16)

    What can I change?
    Quote Quote  
  2. TR2 smooths a lot, thus reducing details ; if your source does not need that smoothing use TR2=0
    Quote Quote  
  3. Yes, I used TR2=0 and now the result is very detailed. Thank you
    Quote Quote  
  4. Do you have some other tips for me for enhance my string?
    Quote Quote  
  5. Member
    Join Date
    Nov 2006
    Location
    United States
    Search Comp PM
    I've been meaning to ask this as well but salvo00786 beat me to the punch.

    Can anyone please tell me if my script below is what I should use if I don't want any extra processing done besides deinterlacing? I'd like my NLE/third-party plugins to do all de-noising, stabilizing, and sharpening. Should I add TR2=0 to the script?

    QTGMC(preset="very slow", Noiseprocess=0, NoiseRestore=0, GrainRestore=0, Sharpness=0, StabilizeNoise=false)
    Quote Quote  
  6. Originally Posted by clashradio View Post
    I've been meaning to ask this as well but salvo00786 beat me to the punch.

    Can anyone please tell me if my script below is what I should use if I don't want any extra processing done besides deinterlacing? I'd like my NLE/third-party plugins to do all de-noising, stabilizing, and sharpening. Should I add TR2=0 to the script?

    QTGMC(preset="very slow", Noiseprocess=0, NoiseRestore=0, GrainRestore=0, Sharpness=0, StabilizeNoise=false)

    If you have Noiseprocess=0, You can delete Noiserestore=0 and Grainrestore=0 and StabilizeNoise=false, because, Noiseprocess=0 exclude all these. If you want your file very similar to the original like "lossless" you have to add Sourcematch=3 and Lossless=1 or 2 (2 for less artifacts), because without these, QTGMC inject and reconstruct new fields in the exported file
    Last edited by salvo00786; 29th Mar 2025 at 06:03.
    Quote Quote  
  7. A few thoughts about this.

    mvtools doc: https://htmlpreview.github.io/?https://github.com/pinterf/mvtools/blob/mvtools-pfmod/D.../mvtools2.html
    QTGMC doc: http://avisynth.nl/index.php/QTGMC + doc inside the script itself

    Additional parameters, that could provide a minimal improvement.
    NNeurons=4 (read QTGMC doc)
    Search=7 (read mvtools doc)
    pelsearch=7 (read mvtools doc)
    SearchParam=7 (read mvtools doc)

    MatchEnhance=1, but Sharpness=0.0, SMode=3, SLMode=0 seems a strange combination to me. (wanting to enhance and not to enhance at the same time)
    Use the MatchEnhance setting to exaggerate additional detail found by modes 2 & 3. This gives a sharpening / detail enhancing effect and works well at sensible levels - but it's a slight cheat that should be used with care as it can easily enhance noise. Since source-match is sensitive to source noise you may want to set TR2 to 2 or 3 and/or use some noise processing (see below).

    Also, DCT=10 seems wrong to me.
    Last I read the mvtools doc, I wouldn't expect DCT=10 to be such a good value.
    => Why did you choose this?



    Cu Selur
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  8. Originally Posted by Selur View Post
    A few thoughts about this.

    mvtools doc: https://htmlpreview.github.io/?https://github.com/pinterf/mvtools/blob/mvtools-pfmod/D.../mvtools2.html
    QTGMC doc: http://avisynth.nl/index.php/QTGMC + doc inside the script itself

    Additional parameters, that could provide a minimal improvement.
    NNeurons=4 (read QTGMC doc)
    Search=7 (read mvtools doc)
    pelsearch=7 (read mvtools doc)
    (read mvtools doc)

    MatchEnhance=1, but Sharpness=0.0, SMode=3, SLMode=0 seems a strange combination to me. (wanting to enhance and not to enhance at the same time)
    Use the MatchEnhance setting to exaggerate additional detail found by modes 2 & 3. This gives a sharpening / detail enhancing effect and works well at sensible levels - but it's a slight cheat that should be used with care as it can easily enhance noise. Since source-match is sensitive to source noise you may want to set TR2 to 2 or 3 and/or use some noise processing (see below).

    Also, DCT=10 seems wrong to me.
    Last I read the mvtools doc, I wouldn't expect DCT=10 to be such a good value.
    => Why did you choose this?



    Cu Selur
    Thank for you reply. I don't want to noise process, because I want to use Topaz Nyx3 after qtgmc, for this reason I prefer to not touch the noise. What value you think is good for dct (from what i read probably 5, right)? What other suggestions do you have for me? Also, if I want to use other values other than Sharpness=0.00, i have to change Smode, because with smode=3, I can't use other sharpness values...


    Probably my error was that SMODE=3 doesn't exist, because I have seen that Smode maximum value is 2, is this correct?


    Another question, I have seen that Search=7 is pure Vertical exhaustive search, Search=6 is pure Horizontal exhaustive search and Search=5 is Uneven Multi Hexagon (UMH) search... For this reason, probably the best is Search=5 because is for Horizontal and Vertical?

    Also I have seen that instead of only nnedi3cl, I can use EEDI3CL+NNEDI3CL. Is this better?
    Last edited by salvo00786; 29th Mar 2025 at 07:09.
    Quote Quote  
  9. Personally, I would stick with DCT=0 unless a source which needs DCT.
    Yes, at least with the normal QTGMC Avisynth version, there is no smode=3. (see documentation)
    Search=5 is more robust.
    Horizontal Exhaustive (6): Searches only in the horizontal direction, which might be beneficial for motion that is predominantly left-right (e.g., scrolling text).
    Vertical Exhaustive (7): Searches only in the vertical direction, which is useful for scenes where motion is mostly up-down (e.g., camera tilts).
    => depending on the source, 6 and 7 might provide better results.

    Also I have seen that instead of only nnedi3cl, I can use EEDI3CL+NNEDI3CL. Is this better?
    Quality wise using the gpu based versions can potentially be worse than the pure software version.
    Whether it's faster or not depends on your setup and source.
    => to be more sure to get the best result, you would use software only.

    What other suggestions do you have for me
    Also try a simple
    Code:
    QTGMC(Preset="Fast")
    and compare speed and qualitywise to your outputs and decide whether Placebo is worth it.
    Personally, I use Placebo for maybe 1 in 10k problematic files.
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  10. If I want to use QTGMC(Preset="Fast"), I have to go with Matchpreset and MatchPreset2, right?
    Quote Quote  
  11. Just use QTGMC(Preset="Fast"), no other stuff.
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  12. I have seen that if i want to use eedi3cl+nnedi3cl, I have to use qtgmc+ that without edithreads is very slow...
    If I use qtgmc classic with edithreads, I have seen that eedi3+nnedi3 is a little faster than qtgmc+ but slow

    I have found a good speed with classic qtgmc with eedi3+nnedi3cl, what do you think about this combination?
    Quote Quote  
  13. Use it, if it works for you.
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  14. My question is, why if EEDI3CL+NNEDI3CL are for GPU, the process is so slow?

    EEDI3CL+NNEDI3CL, without edithreads, with QTGMC+=2fps
    EEDI3+NNEDI3, with edithreads, with QTGMC=12fps
    EEDI3+NNEDI3CL, with edithreads, with QTGMC=25fps
    Quote Quote  
  15. in general:
    • Running something on a gpu accelerated filter requires loading and uploading the content between system and gpu memory, which is slow and requires cpu power. If the speedup of running something on the gpu isn't more than the overhead of loading and offloading, then gpu filtering is slower. For complex scripts, the part that can be accelerated through gpu filters, is low, so it can easily happen, that especially for low resolutions running stuff without the gpu is faster.
    • Depending on the number of threads used, the cache size, the available system and video memory size running something on the gpu might slow things down.
    • Depending on your virus scanner, gpu driver settings, etc., running stuff on the gpu and the on- and offloading can be slowed own additionally.
    • If you have a strongly multithreaded script, you often require more memory and time for synchronization, so independent of whether a gpu filter is used or not, things might get slower or faster depending on the thread count. Sometimes 2 threads is ideal, sometimes 64 (or any other number).

    For example on my system, for SD content using dfttest can be faster than using (cuda based) dfttest2, but for HD and higher resolutions usually dfttest2 is faster.

    => if you want to know exactly why QTGMC on your setup is faster, you would have to write code to benchmark tons of stuff and do tons of tests.

    Cu Selur
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  16. Member
    Join Date
    Nov 2006
    Location
    United States
    Search Comp PM
    Originally Posted by salvo00786 View Post

    If you have Noiseprocess=0, You can delete Noiserestore=0 and Grainrestore=0 and StabilizeNoise=false, because, Noiseprocess=0 exclude all these. If you want your file very similar to the original like "lossless" you have to add Sourcematch=3 and Lossless=1 or 2 (2 for less artifacts), because without these, QTGMC inject and reconstruct new fields in the exported file
    Thanks salvo00786. Do you recommend any particular order of these filters?

    QTGMC(preset="slower", Noiseprocess=0, Sharpness=0, Sourcematch=3, Lossless=2)
    Quote Quote  
  17. I don't know if the order is important, but you can see my string for order in any case.
    Quote Quote  
  18. Originally Posted by Selur View Post
    in general:
    • Running something on a gpu accelerated filter requires loading and uploading the content between system and gpu memory, which is slow and requires cpu power. If the speedup of running something on the gpu isn't more than the overhead of loading and offloading, then gpu filtering is slower. For complex scripts, the part that can be accelerated through gpu filters, is low, so it can easily happen, that especially for low resolutions running stuff without the gpu is faster.
    • Depending on the number of threads used, the cache size, the available system and video memory size running something on the gpu might slow things down.
    • Depending on your virus scanner, gpu driver settings, etc., running stuff on the gpu and the on- and offloading can be slowed own additionally.
    • If you have a strongly multithreaded script, you often require more memory and time for synchronization, so independent of whether a gpu filter is used or not, things might get slower or faster depending on the thread count. Sometimes 2 threads is ideal, sometimes 64 (or any other number).

    For example on my system, for SD content using dfttest can be faster than using (cuda based) dfttest2, but for HD and higher resolutions usually dfttest2 is faster.

    => if you want to know exactly why QTGMC on your setup is faster, you would have to write code to benchmark tons of stuff and do tons of tests.

    Cu Selur
    Yes Selur this is true, but if this was the case, why eedi3+nnedi3 totally on cpu are slower (12fps) than eedi3+nnedi3cl that is a mix of cpu and GPU (25fps)?
    Quote Quote  
  19. I think that there is something in my script that isn't correct:

    LoadPlugin("A:\PORTABLE\StaxRip\Apps\Plugins\AVS\EEDI3CL\EEDI3CL.dll")
    LoadPlugin("A:\PORTABLE\StaxRip\Apps\Plugins\AVS\v sTCanny\vsTCanny.dll")
    Import("A:\PORTABLE\StaxRip\Apps\Plugins\AVS\QTGMC \QTGMC+.avsi")
    Import("A:\PORTABLE\StaxRip\Apps\Plugins\AVS\SMDeg rain\SMDegrain.avsi")
    QTGMCp(Preset="Placebo", TR0=2, TR1=2, TR2=0, Rep0=7, Rep1=7, Rep2=7, DCT=5, SourceMatch=3, Lossless=2, MatchPreset="Placebo", MatchPreset2="Placebo", MatchEnhance=1.0, MatchTR2=2, EZKeepGrain=1.0, Sharpness=0.2, Sbb=3, ThSCD1=250, ThSCD2=95, NoiseProcess=0, SMode=2, SLMode=4, Subpel=4, Search=5, PelSearch=7, SearchParam=7, Overlap=8, EdiMode="EEDI3CL+NNEDI3CL", ChromaMotion=True, TrueMotion=true, Precise=True, NNeurons=4)

    If I change Placebo to Draft, the speed doesn't change and this is very strange.
    Quote Quote  
  20. If I change Placebo to Draft, the speed doesn't change and this is very strange.
    Not at all. If you look at what the presets do, you can see that you basically are overwriting most of the effects of the presets.
    Even QTGMC+ does list what the presets do:
    https://github.com/Dogway/Avisynth-Scripts/blob/c6a837107afbf2aeffecea182d021862e9c2fc...C%2B.avsi#L234
    => read the documentation and the comments in the script
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  21. Ok, I have found the problem... If I use Sourcematch=3 the speed drops radically from 30fps to 2 fps. In normal Qtgmc Sourcematch, is not so slow. What do you think about this?

    do you prefer Lossless=1 or Lossless=2?
    Last edited by salvo00786; 29th Mar 2025 at 19:11.
    Quote Quote  
  22. If you want max details, you should not complain about speed. ¯\_(ツ)_/¯
    I prefer using Lossless=0 with the content I filter, and only try other values if I run into problems.
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  23. Originally Posted by salvo00786 View Post
    do you prefer Lossless=1 or Lossless=2?
    Lossless=1 keeps the original field intact. Useful maybe for archiving or when you intend to re-interlace.
    For deinterlacing it is usually suboptimal with respect to minimizing flicker and residual line twitter.
    QTGMC has about 100 parameters. Happy tweaking to find the "best" for a particular scene or scenario or personal preference ..... and be surprised to find it sub-par for the next use case.
    Quote Quote  
  24. Originally Posted by Selur View Post
    If you want max details, you should not complain about speed. ¯\_(ツ)_/¯
    I prefer using Lossless=0 with the content I filter, and only try other values if I run into problems.

    Yes but like I told you with SourceMatch 3 in normal QTGMC with a Mix of cpu and gpu I have 25fps

    in Qtgmc+ with edimax all gpu, I have 2fps... I tried a mix of CPU and GPU like normal QTGMC and I obtained 0.50fps. This isn't a normal behavior
    Quote Quote  
  25. Originally Posted by Sharc View Post
    Originally Posted by salvo00786 View Post
    do you prefer Lossless=1 or Lossless=2?
    Lossless=1 keeps the original field intact. Useful maybe for archiving or when you intend to re-interlace.
    For deinterlacing it is usually suboptimal with respect to minimizing flicker and residual line twitter.
    QTGMC has about 100 parameters. Happy tweaking to find the "best" for a particular scene or scenario or personal preference ..... and be surprised to find it sub-par for the next use case.
    All my deinterlaced files go to denoise with Nyx or to upscale. I don't know if for Nyx is better a Lossless=1 file or a Lossless=2 file
    Quote Quote  
  26. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    Originally Posted by salvo00786 View Post
    All my deinterlaced files go to denoise with Nyx or to upscale. I don't know if for Nyx is better a Lossless=1 file or a Lossless=2 file
    As Sharc said, the lossless options in QTGMC aims to keep the original fields, and are then producing less overall quality.

    It is used just when you deinterlace-process-discharge.the.additional.frames-interlace.back
    Quote Quote  
  27. Member
    Join Date
    Nov 2006
    Location
    United States
    Search Comp PM
    I'm a little confused on rather to use "slow" or "fast? I've reading some contrary info at digitalFAQ.

    cbehr91 says "Slower", which is major overkill most of the time. Your video will look overly smooth and plastic-y. Try fast/faster in conjunction with tweaking SourceMatch and Lossless".
    Quote Quote  
  28. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    Originally Posted by clashradio View Post
    I'm a little confused on rather to use "slow" or "fast?
    In general "slow" provides better results, in particular for the part of the image with high motion. QTGMC has many parameters, so you really should try them with your own material.

    Here an example, just the first I have, maybe not particularly significant using
    Code:
    QTGMC(preset="fast")
    versus
    Code:
    QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, tr1=2, tr2=0, NoiseTR=2, sharpness=0.1)
    comparison with slider: https://slow.pics/s/8Rj7fhn6

    Click image for larger version

Name:	frame675_1.png
Views:	49
Size:	1.59 MB
ID:	86381

    Click image for larger version

Name:	frame675_2.png
Views:	48
Size:	3.10 MB
ID:	86382

    Originally Posted by clashradio View Post
    I've reading some contrary info at digitalFAQ.
    Have you ever seen any comparison there?

    Originally Posted by clashradio View Post
    cbehr91 says "Slower", which is major overkill most of the time. Your video will look overly smooth and plastic-y. Try fast/faster in conjunction with tweaking SourceMatch and Lossless".
    We all try to reduce the denoise/smoothing of QTGMC to minimum possible, to use better processing later. But is not easy.

    Once more, as Sharc already said, for optimal results experiment with your source and do not trust blind suggestions!
    Quote Quote  
  29. Originally Posted by lollo View Post
    Originally Posted by salvo00786 View Post
    All my deinterlaced files go to denoise with Nyx or to upscale. I don't know if for Nyx is better a Lossless=1 file or a Lossless=2 file
    As Sharc said, the lossless options in QTGMC aims to keep the original fields, and are then producing less overall quality.

    It is used just when you deinterlace-process-discharge.the.additional.frames-interlace.back
    Lollo, if I understood correctly, it's better to delete lossless for maximum quality? and for maximum details it's better to use lossless or not? and Sourcematch?
    Quote Quote  
  30. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    Originally Posted by salvo00786 View Post
    Lollo, if I understood correctly, it's better to delete lossless for maximum quality? and for maximum details it's better to use lossless or not? and Sourcematch?
    Yes. QTGMC goal is to deinterlace, and it performs better when it does not have to keep the orginal field.

    About maximum details the same applies; however, here you do not have to refer to the original field as comparison, but the rebuilt frames in their integrity. In other words, QTGMC builds 2 frames from the interlaced fields, so the only appropriate comparison is between deinterlaced frames obtained with different options. And there you can check what is more performing, also taking into account the quality of the moving objects/parts.
    In term of "details versus the original" the concept is the "smoothness" of the outcomes, and here master poisondeathray already addressed versus a parameter choice reducing this action to preserve more elements.

    Is not easy to give a general rule, the source really plays a role here. And QTGMC is a complex function!
    Quote Quote  



Similar Threads

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