VideoHelp Forum
+ Reply to Thread
Results 1 to 16 of 16
Thread
  1. Hi videonerds

    I'm getting more and more frustrating...
    I try to get away of these videoglitches on still objects in the video when using QTGMC. (with SLOW default; looking at the down right at the letters)

    The jumping effect is more see when the "real" videoclip is changing the sequence.

    So this must be the devil....

    Playing with the ThSAD1 & ThSAD12 and ThSCD1 & ThSCD2 parameters helped a little bit, but increases ghosting effects.

    Also in general, after using QTGMC, the video is much more blurry, compairing the sharpness at the letters again.
    Much less readable.

    Hopefully someone can help me out.

    Thanks.
    Image Attached Files
    Quote Quote  
  2. Member Skiller's Avatar
    Join Date
    Oct 2013
    Location
    Germany
    Search PM
    The glitch on the stationary text appears whenever there is lot's of motion on the entire screen. I have seen this before plenty of times. By default, QTGMC has a quite sensitive scene change detection which triggers this (btw, nice old recording of that TV station).

    This means ThSCD1 and ThSCD2 are the first parameters to fiddle with. I never use the sensitive defaults. I found that ThSCD1=300, ThSCD2=110 work well for me most of the time.

    Some more parameters you can have a look at to help the issue are:

    • dct=5
    • Rep0=1
    (maybe, try)
    • Blocksize=8


    ThSAD1 and ThSAD2 should be increased only as a last resort.


    Edit: With that being said, whenever there is an actual proper scene change, this bobbing of the entire frame for the duration of two former fields is what QTGMC is supposed to do, and making it not do it is going to have ill-effects on the actual video.
    Last edited by Skiller; 27th May 2024 at 09:55.
    Quote Quote  
  3. Another approach is to mask out the part of the box area with a bwdif(field=2) or tdeint(mode=1, tryweave=true) , so the video is processed by QTGMC (whatever settings), but the problem text area will be weaved and sharp .
    Quote Quote  
  4. the flickering of the logo in the right corner should be fixed by using Lossless=2
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  5. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Code:
    ffms2("aerzte_original.avi")
    convertbits(16).converttoyuv444(matrix="Rec601")
    bwdif(2).qtgmc(preset="slower",noisepreset="slower",inputtype=1)
    Image Attached Files
    Quote Quote  
  6. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by Selur View Post
    the flickering of the logo in the right corner should be fixed by using Lossless=2
    It works, but not when the scene changes.
    Quote Quote  
  7. Try preset "Ultra Fast"
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  8. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Might as well stick to just bwdif
    Quote Quote  
  9. Originally Posted by diginoob View Post
    Also in general, after using QTGMC, the video is much more blurry, compairing the sharpness at the letters again.
    Much less readable.
    Sharpness with complex motion is a place for M_QTGMC* . Though some flickering at small letters still exist and present near scene change. Will try to play with thSCD1 param when I will have time.

    Here is example of M_QTGMC_medhigh() - performance is
    encoded 986 frames, 1.76 fps, 2930.02 kb/s
    with x264 at i5-9600K CPU. Also added _high example (of about 0.1 fps performance @i5-9600K CPU - datacenter renderfarm or XeonMAX with HBM RAM integrated recommended for better fps).

    "This means ThSCD1 and ThSCD2 are the first parameters to fiddle with."


    Yes - increasing ThSCD1 to 300 helps at least at some scene changes. But not with all present. Added also version with ThSCD1=300 (and a bit higer ThSAD2 to 250).
    Image Attached Files
    Last edited by DTL2023; 1st Jun 2024 at 02:26.
    Quote Quote  
  10. Mr. Computer Geek dannyboy48888's Avatar
    Join Date
    May 2007
    Location
    Texas, USA
    Search Comp PM
    LWLibavVideoSource("Z:\aerzte_original.avi")
    converttoyv12()
    interp = nnedi3(field=-2)
    tdeint(mode=1,slow=2, tryweave=false,denoise=true,edeint=interp)
    merge(selecteven,selectodd)

    or

    LWLibavVideoSource("Z:\aerzte_original.avi")
    converttoyv12()
    interp = nnedi3(field=-2)
    tdeint(mode=1,slow=2, tryweave=false,denoise=true,edeint=interp)
    blendbob()

    both give a softer picture but smooth motion at 25FPS. merge seems to be a bit smoother on the text side scrolling for me. if you want full 50FPS out then the QTGMC route definitely looks better.
    Image Attached Files
    if all else fails read the manual
    Quote Quote  
  11. Originally Posted by Selur View Post
    the flickering of the logo in the right corner should be fixed by using Lossless=2
    Yes - setting Lossless to 2 greatly fixes sharpness of small letters in that logo (close to simple weave). But also degrages other possible details and sharpness at other frame areas possible with QTGMC.

    I found setting SourceMatch=2 without Lossless as somehow more balancing between logo small letters details and other frame areas. Result in the attach. Also adding SourceMatch processing takes some more performance and result is about 0.4 fps at i5-9600K.

    Also I not see visible difference between MatchPreset slow and fast so select fast to save some time.

    Additional idea: It looks defaults of QTGMC (no MatchSource and no Lossless) are developed for 'restoration' and may significantly change the source. So it is applicable to not very good quality sources. And new additions of MatchSource and Lossless cause returning to input source quality so mostly applicable to very good quality sources. In this example if we treat logo with small text as good quality source we need to apply MatchSource and Lossless only to this area in best case.
    Image Attached Files
    Last edited by DTL2023; 2nd Jun 2024 at 02:43.
    Quote Quote  
  12. Use different processing for different areas via Overlay() and a mask.

    Code:
    ##########################################################################
    #
    #  Fill a rectangular box with a specified color.
    #
    ##########################################################################
    
    
    function BoxFill(clip v, int x, int y, int w, int h, int color)
    {
       BlankClip(v, color=color)
       Crop(0, 0, w, h)
       Overlay(v, last, x, y)
    }
    
    ##########################################################################
    
    
    LWLibavVideoSource("aerzte_original.avi, "format="rgb32") 
    ConvertToYV24()
    
    #deinterlace
    QTGMC(SourceMatch=2)
    
    # strong temporal filter only on the yellow countdown overlay
    bmask = BlankClip(last).BoxFill(628, 444, 88, 124, color_white).ColorYUV(cont_y=50).Blur(1.5).Blur(1.5).Blur(1.5)
    Overlay(last, SMDegrain(tr=3, thsad=1000, PreFilter=4), mask=bmask)
    
    prefetch(8)
    Image Attached Files
    Quote Quote  
  13. Yes - masking is best solution but for full-auto processing it is nice to have feature of auto-masking of static areas like logo. May be some plugins/scripts exist to combine 2 clips depending on motion ? It is possible to do via mvtools MMask() so maybe already implemented ? The QTGMC may exports MVs via globals so no additional slow MAnalyse is required.

    "# strong temporal filter only on the yellow countdown overlay
    Overlay(last, SMDegrain(tr=3, thsad=1000, PreFilter=4), mask=bmask)"

    MC SMDegrain for static low half of yellow logo is waste of resources and also dangerous for some false scenechange detection and stopping of processing of some frames so may give uneven temporal result (same as we curently get with QTGMC). It is more fast and safe to use non-MC temporal denoiser at this area like vsTTempSmooth or simple Average.
    Last edited by DTL2023; 2nd Jun 2024 at 02:52.
    Quote Quote  
  14. Member Skiller's Avatar
    Join Date
    Oct 2013
    Location
    Germany
    Search PM
    Originally Posted by rgr View Post
    Originally Posted by Selur View Post
    the flickering of the logo in the right corner should be fixed by using Lossless=2
    It works, but not when the scene changes.

    Like I said, this is unfortunately normal.

    Originally Posted by Skiller View Post
    whenever there is an actual proper scene change, this bobbing of the entire frame for the duration of two former fields is what QTGMC is supposed to do
    Quote Quote  
  15. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    So I would prefer bwdif+qtgmc with Inputtype=1
    Quote Quote  
  16. Originally Posted by poisondeathray View Post
    Another approach is to mask out the part of the box area with a bwdif(field=2) or tdeint(mode=1, tryweave=true) , so the video is processed by QTGMC (whatever settings), but the problem text area will be weaved and sharp .
    Originally Posted by rgr View Post
    So I would prefer bwdif+qtgmc with Inputtype=1
    +1 and here is a demo script which I have tested with OP's file

    Code:
    # set up the source
      LWLibavVideoSource("aerzte_original.avi")
      ConvertToYV12()
      PropDelete("_FieldBased") # force Avisynth field order
    
    # double rate mocomp deinterlacing with slightly raised weave thresh
      BWDIF(field=-2, thr=2)
    
    # qtgmc antialiasing (low strength)
      QTGMC(InputType=1, preset="slow", Sharpness=0.2).Prefetch(4)
    
    # qtgmc antialiasing (high strength)
    # QTGMC(InputType=2, preset="slow", Sharpness=0.5).Prefetch(4)
    Last edited by pneumatic; 11th Jun 2024 at 07:56.
    Quote Quote  



Similar Threads

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