VideoHelp Forum


Try DVD-Fab Video Downloader and rip Netflix video! Or Try DVD-Fab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Page 2 of 2
FirstFirst 1 2
Results 31 to 57 of 57
Thread
  1. Originally Posted by Smart Jason View Post
    Can you please explain me with a little bit more information ? So you mean I use that code line together with Manual IVTC or something like that?
    It might look a little clearer like this, even though jagabo's syntax does exactly the same thing.

    SomeVideoSource
    A = QTGMC(FPSDivisor=2)
    TFM(Clip2=A)

    If pp=5 or pp=6, instead of de-interlacing itself, TFM takes pixels from clip "A" to replace the pixels it detects as combed, so QTGMC is effectively de-interlacing. For PP=2, 3 or 4, when TFM detects combing, instead of just replacing the combed pixels from clip "A" it replaces the entire frame with the frame from clip "A".

    You can do this to see what's happening

    A = BlankClip(last, color=$FFFFFF).KillAudio.()
    TFM(Clip2=A)

    The clip "A" pixels are simply white, so you can see which parts of the frame are being de-interlaced when you use a de-interlaced clip for "A". It has nothing to do with field matching, just purely de-interlacing when there's combing detected. It'll look something like this.
    Image Attached Images  
    Last edited by hello_hello; 22nd Dec 2020 at 15:45.
    Quote Quote  
  2. Video Restorer lordsmurf's Avatar
    Join Date
    Jun 2003
    Location
    dFAQ.us/lordsmurf
    Search Comp PM
    Originally Posted by Smart Jason View Post
    Can i use QTGMC Preset slow?
    The slow/slower presets blur. Be aware of this. Sometimes you must have those slow settings, but there are trade-offs. This isn't like MPEG encoding, where more passes (slower encode) is better.
    Quote Quote  
  3. So finally I decided to check at least one rough time to see whether there is scene that should be run with pp=0 or manual IVTC and it works perfectly. Both of you really help me through. Hello_hello is right i have come across with another "problem" again. can you help me this Again but this time,its the jittery electrical lines.m2v Big thanks to you 2

    Originally Posted by hello_hello View Post
    If pp=5 or pp=6, instead of de-interlacing itself, TFM takes pixels from clip "A" to replace the pixels it detects as combed, so QTGMC is effectively de-interlacing. For PP=2, 3 or 4, when TFM detects combing, instead of just replacing the combed pixels from clip "A" it replaces the entire frame with the frame from clip "A".
    Wow it actually does looks great. Now i understand how to use it. But I am confused about something. I realized that I can't do a proper encoding without even a single look at the video and the code looks like this

    Code:
    LoadPlugin("C:\Users\GL62M 7RDX.000\Downloads\MeGUI-2828-32\tools\dgindex\DGDecode.dll")
    DGDecode_mpeg2source("F:\Turbo\PR_TURBO_S5D3\VIDEO_TS\PR_TURBO_S5D3_VTS_08_1.d2v", info=3)
    m1=TFM(pp=5).TDecimate()
    m2=TFM(pp=0).TDecimate()
    ship=QTGMC().srestore(23.976)
    TFM()
    TDecimate()
    ReplaceFramesSimple(last, m1, Mappings="[3023 3120]") 
    ReplaceFramesSimple(last, m2, Mappings="[1205 1302][1465 1563][5484 5641][10538 10573][10929 10959][11041 11116][11211 11240][11361 11416][11615 11655][11715 11758][12407 12467][12811 12879]") 
    ReplaceFramesSimple(last, ship, Mappings="[12115 12406][12468 12810][12932 13002][13043 13115][13292 13349][13438 13498][13591 13654][13712 13751]") 
    Deblock(quant=18, aOffset=0, bOffset=0)
    crop(8, 0, -6, 0)
    dfttest(sigma=12, tbsize=3)
    LSFMod(Strength=60)
    LanczosResize(640,480) 
    op=crop(2, 0, 0, 0).LanczosResize(640,480)
    c1=crop(0, 2, 0, 0).LanczosResize(640,480)
    ReplaceFramesSimple(last, op, Mappings="[2450 2468]") 
    ReplaceFramesSimple(last, c1, Mappings="[7060 7112]")
    As you can see, they use different types on various part of the video. You didnt talk about using FPSDivisor with pp=0 function. If i were to add that line, where is the best place to add?
    If i add at TFM() TDecimate(), the filter will detect the entire video except for ReplaceFramesSimple clips. So do I have to add at m1 m2 ship line too?

    like this

    Code:
    m1=TFM(clip2=QTGMC(FPSDivisor=2),pp=5).TDecimate()
    A = QTGMC(FPSDivisor=2)
    TFM(Clip2=A)
    TDecimate()
    ReplaceFramesSimple(last, m1, Mappings="[4531 4627]")
    Last edited by Smart Jason; 25th Dec 2020 at 13:58.
    Quote Quote  
  4. problem after problem. I dunno how to remove them.
    Image
    [Attachment 56455 - Click to enlarge]

    I tried using nnedi3(), Santiag() and DeHalo_alpha(rx=3.0, ry=3.0) but didnt fix the problem.
    hexagonal edges around the logo.demuxed.m2v

    Image
    [Attachment 56457 - Click to enlarge]
    Quote Quote  
  5. Originally Posted by Smart Jason View Post
    As you can see, they use different types on various part of the video. You didnt talk about using FPSDivisor with pp=0 function.

    TFM doesn't de-interlace when PP=0 or PP=1, so using Clip2 to specify a de-interlaced clip would have no effect.

    If i were to add that line, where is the best place to add?
    If i add at TFM() TDecimate(), the filter will detect the entire video except for ReplaceFramesSimple clips. So do I have to add at m1 m2 ship line too?

    Code:
    m1=TFM(clip2=QTGMC(FPSDivisor=2),pp=5).TDecimate()
    A = QTGMC(FPSDivisor=2)
    TFM(Clip2=A)
    TDecimate()
    ReplaceFramesSimple(last, m1, Mappings="[4531 4627]")
    I'm not certain where you want to apply it, but when I create multiple clips in a single script, I at least create a variable for the unfiltered source clip so I can always refer back to it, because I'm easily confused.
    If you're not sure when "last" is updated, you can assign your own variables throughout the script. I haven't used ReplaceFramesSimple, but to show you what I mean....
    This should be okay, assuming the script you posted is doing what you want it to do.

    Code:
    LoadPlugin("C:\Users\GL62M 7RDX.000\Downloads\MeGUI-2828-32\tools\dgindex\DGDecode.dll")
    DGDecode_mpeg2source("F:\Turbo\PR_TURBO_S5D3\VIDEO_TS\PR_TURBO_S5D3_VTS_08_1.d2v", info=3)
    Original = last
    m1=Original.TFM(pp=5).TDecimate()
    m2=Original.TFM(pp=0).TDecimate()
    ship=Original.QTGMC().srestore(23.976)
    
    # you can update variables if you want to, the same way "last" works
    # here updating Vid
    
    Vid = Original.TFM()
    Vid = Vid.TDecimate()
    Vid = ReplaceFramesSimple(Vid, m1, Mappings="[3023 3120]") 
    Vid = ReplaceFramesSimple(Vid, m2, Mappings="[1205 1302][1465 1563][5484 5641][10538 10573][10929 10959][11041 11116][11211 11240][11361 11416][11615 11655][11715 11758][12407 12467][12811 12879]") 
    RFramesVid = ReplaceFramesSimple(Vid, ship, Mappings="[12115 12406][12468 12810][12932 13002][13043 13115][13292 13349][13438 13498][13591 13654][13712 13751]")
    
    FilteredVid1=\
    RFramesVid\
    .Deblock(quant=18, aOffset=0, bOffset=0)\
    .crop(8, 0, -6, 0)
    
    # let the "last" variable update the filters for a bit
    
    FilteredVid1
    dfttest(sigma=12, tbsize=3)
    LSFMod(Strength=60)
    LanczosResize(640,480)
    
    FilteredVid2 = last
    
    # Add QTGMC and TFM and assign it to a variable
    # I haven't use the TQClip variable in this example script
    # as I don't know where you're wanting to apply it
    # Move the QTGMC/TIVCT lines below to earlier in the script if need be
    
    DeintClip = Original.QTGMC(FPSDivisor=2)
    TQClip = Original.TFM(Clip2=DeintClip).TDecimate()
    
    op=crop(2, 0, 0, 0).LanczosResize(640,480) # applied to last (same as FilteredVid2)
    c1=crop(0, 2, 0, 0).LanczosResize(640,480) # applied to last (same as FilteredVid2)
    
    RFramesAGain = ReplaceFramesSimple(FilteredVid2, op, Mappings="[2450 2468]") 
    RFramesAGain = ReplaceFramesSimple(RFramesAGain, c1, Mappings="[7060 7112]")
    
    # and because you've created variables for different points in the script
    # it's easy to check the output at different stages using return
    
    # uncomment and comment out the lines below to choose the output
    
    return Original  # returns the original clip
    # return ship  # returns the "ship" clip
    # return RFramesVid  returns the clip before resizing/filtering
    # return RFramesAGain  # returns the final output
    I'll try to check out your new sample later today. I'm out of time at the moment.
    Last edited by hello_hello; 29th Dec 2020 at 23:18.
    Quote Quote  
  6. "hexagonal edges" Those are dot crawl artifacts. There are several dot crawl removers for AviSynth.
    Quote Quote  
  7. Originally Posted by hello_hello View Post

    I'll try to check out your new sample later today. I'm out of time at the moment.
    Sure take your time, its ok.

    "hexagonal edges" Those are dot crawl artifacts. There are several dot crawl removers for AviSynth.
    Can you suggest specific one for this type of video?

    Thanks both of you for everything and Happy New Year (Stay Safe)
    Quote Quote  
  8. Try CheckMate. For example, CheckMate(thr=10, max=20, tthr2=0). And try increasing tthr2 (10? 20? more?) -- but too high will cause ghosting.
    Quote Quote  
  9. Is it politically correct to run a dot crawl filter twice?
    Less sharp de-interlacing looks better to me.
    I pretty sure MAA is included in the AnimeIVTC script. Or try google for MAA2.

    CheckMate()
    TFM(pp=5)
    TDecimate()
    CheckMate()
    MAA()
    # I cropped and resized here out of habit
    CropResize(720,0, 6,0,-10,0, InDAR=15.0/11.0)
    LSFMod(strength=75)
    Image Attached Files
    Last edited by hello_hello; 31st Dec 2020 at 16:57.
    Quote Quote  
  10. Most of that "hexagonal edges" clip is 30p (even though it's encoded 30i). There are only a few frames at the fades at the start and end that are really 30i. If the rest of the video is like that, TDecimate() will make it jerky.
    Quote Quote  
  11. Originally Posted by Smart Jason View Post
    can you help me this Image
    [Attachment 56434 - Click to enlarge]
    Big thanks to you 2
    After running through the Checkmate and Maa, I encoded and found out this.

    Image
    [Attachment 56581 - Click to enlarge]


    this 1st pic is from encoded

    Image
    [Attachment 56582 - Click to enlarge]



    this 2nd one is from avspmod preview. I click save image as button from the preview.

    the edges look clean. Did encoding wear off the detail?
    Quote Quote  
  12. Originally Posted by Smart Jason View Post
    can you help me this Image
    [Attachment 56434 - Click to enlarge]
    Big thanks to you 2
    help post 33.

    After running through the Checkmate and Maa, I encoded and found out this.

    Image
    [Attachment 56581 - Click to enlarge]


    this 1st pic is from encoded

    Image
    [Attachment 56582 - Click to enlarge]



    this 2nd one is from avspmod preview. I click save image as button from the preview.

    the edges look clean. Did encoding wear off the detail?
    Quote Quote  
  13. It looks to me like you encoded interlaced. After deinterlacing or IVTC your video is progressive. So encode progressive.
    Quote Quote  
  14. Sry i accidentally created 2 posts.

    But I use that .avs file to encode, the above picture is how it looks in preview tab. I did run TFM() TDecimate() like Hello_hello say.
    Quote Quote  
  15. Set your encoder to encode progressive, not interlaced.
    Quote Quote  
  16. oh It said interlaced=0 in x265 encoder. but still get the same result
    Quote Quote  
  17. Nevermind. I found the problem. It was VLC snapshot error. When I take screenshot with MPC-HC and prt scr , it looks perfectly identical to avspmod preview. I wonder why vlc snapshot make it vertical edges around the character. It sucks tho.
    Quote Quote  
  18. Originally Posted by Smart Jason View Post
    I wonder why vlc snapshot make it vertical edges around the character.
    Do you have deinterlaced force on? Set it to Auto.

    Image
    [Attachment 56608 - Click to enlarge]
    Quote Quote  
  19. Originally Posted by jagabo View Post
    Most of that "hexagonal edges" clip is 30p (even though it's encoded 30i). There are only a few frames at the fades at the start and end that are really 30i. If the rest of the video is like that, TDecimate() will make it jerky.
    Yeah... the movement's so fast it's possibly not easy to see the difference, but I dropped the ball there.

    Are there many interlaced parts in that show? Is Smart Jason aware he should at least be using Hybrid=1 for TDecimate to make the interlaced sections smooth, if he can tolerate the frame blending? Other than that, there's the variable frame rate encoding can of worms waiting to be opened.

    hexagonal edges decimation-only for 23.976 fps
    CheckMate()
    TFM(pp=5)
    TDecimate()
    CheckMate()
    MAA()
    LSFMod(strength=75)

    hexagonal edges frame blended decimation for 23.976 fps
    CheckMate()
    TFM(pp=5)
    TDecimate(Hybrid=1)
    CheckMate()
    MAA()
    LSFMod(strength=75)

    hexagonal edges deinterlaced-only for 29.97 fps
    CheckMate()
    TFM(pp=5)
    CheckMate()
    MAA()
    LSFMod(strength=75)
    Quote Quote  
  20. How do I add some dissolve effect between the scene changes on the same Clip? I found that Dissolve script overlap 2 clip with fade in fade out effect but i wanna use on specific part of scene on the same clip.
    Quote Quote  
  21. Overlap the segments and use Dissolve().
    Quote Quote  
  22. Again how do I overlap the scene segment on the same clip while maintaining the length of the video?
    Quote Quote  
  23. To transition from one treatment to another over 30 frames starting at frame 100:

    Code:
    part1 = Trim(0, 129).FilterSequence() # frames 0 to 129
    part2 = Trim(100, 0).DifferentFilterSequence() # frames 100 to the end
    # note the two clips overlap from frames 100 to 129, 30 frames
    Dissolve(part1, part2, 30)
    Quote Quote  
  24. rainbow.demuxed.m2v How do i remove the rainbow color on the back?

    Again but this time,its the jittery electrical lines.m2v I cant remove the jittery electrical line
    Quote Quote  
  25. There are lots of de-rainbow filters

    http://avisynth.nl/index.php/Category:Rainbow_%26_Dot_Crawl_Removal

    But using them at strengths high enough to get rid of them damages much of the rest of the picture. You can try using an edge mask to limit the de-rainbowing to areas with a small grid pattern. Here I used mfRainbow() with a mask:

    Code:
    src = Mpeg2Source("rainbow.demuxed.d2v") 
    
    drb = mfRainbow(src, interlaced=true).TFM().TDecimate() 
    
    TFM(src)
    TDecimate()
    lmask = mt_edge(mode="0 -8 0   -8 32 -8   0 -8 0", thy1=5, thy2=5).mt_expand().mt_inpand().mt_inpand().Blur(1.0).GreyScale()
    
    Overlay(last, drb, mask=lmask)
    The electrical lines video was slowed after being telecined. Something like works pretty well for the center and right of the frame, not so well on the left:

    Code:
    Mpeg2Source("Again but this time,its the jittery electrical lines.d2v", CPU2="ooooxx", Info=3) 
    TFM() 
    TDecimate() 
    QTGMC(InputType=2)
    Quote Quote  
  26. Originally Posted by jagabo View Post
    There are lots of de-rainbow filters

    http://avisynth.nl/index.php/Category:Rainbow_%26_Dot_Crawl_Removal

    But using them at strengths high enough to get rid of them damages much of the rest of the picture. You can try using an edge mask to limit the de-rainbowing to areas with a small grid pattern. Here I used mfRainbow() with a mask:

    Code:
    src = Mpeg2Source("rainbow.demuxed.d2v") 
    
    drb = mfRainbow(src, interlaced=true).TFM().TDecimate() 
    
    TFM(src)
    TDecimate()
    lmask = mt_edge(mode="0 -8 0   -8 32 -8   0 -8 0", thy1=5, thy2=5).mt_expand().mt_inpand().mt_inpand().Blur(1.0).GreyScale()
    
    Overlay(last, drb, mask=lmask)
    sorry for a noob question but can I apply that code to the whole video? Does that code effect not only on the rainbow scene but also on the other scene(making them worse)? Or does it automatically detect the rainbow part if i run it through the video?
    Quote Quote  
  27. Ok nevermind about the post 56. Another problem pops up.
    Image
    [Attachment 56978 - Click to enlarge]


    I have already applied checkmate() and it doesnt change.
    Quote Quote  



Similar Threads