VideoHelp Forum
+ Reply to Thread
Results 1 to 27 of 27
Thread
  1. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    In the intro of this video I'm working on the text has dot crawl. I want to remove it from the frames which has text, not the whole thing. How can I accomplish this? I figure its something quite simple.
    Quote Quote  
  2. Originally Posted by Fraugster View Post
    In the intro of this video I'm working on the text has dot crawl. I want to remove it from the frames which has text, not the whole thing. How can I accomplish this? I figure its something quite simple.
    You can do it with trims:

    A=Trim(0,1000.(Filter here)
    B=Trim(1001,0)
    A+B


    You can do it using ReplaceFramesSimple (part of RemapFrames):

    A=Last.(Your filter here)
    ReplaceFramesSimple(Last,A,Mappings="[0 1000]")
    Quote Quote  
  3. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    Originally Posted by manono View Post
    Originally Posted by Fraugster View Post
    In the intro of this video I'm working on the text has dot crawl. I want to remove it from the frames which has text, not the whole thing. How can I accomplish this? I figure its something quite simple.
    You can do it with trims:

    A=Trim(0,1000.(Filter here)
    B=Trim(1001,0)
    A+B


    You can do it using ReplaceFramesSimple (part of RemapFrames):

    A=Last.(Your filter here)
    ReplaceFramesSimple(Last,A,Mappings="[0 1000]")
    If I have two filters for the clip how would that be structured?
    What I'm looking to apply to that portion is:
    Code:
    tcomb(mode=2)
    Bitfrost(interlaced=true)
    Quote Quote  
  4. Code:
    A=Trim(0,1000.tcomb(mode=2).Bitfrost(interlaced=true)
    B=Trim(1001,0)
    A+B
    Quote Quote  
  5. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    Awesome! Thanks folks, always appreciate your help.
    Quote Quote  
  6. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    Originally Posted by jagabo View Post
    Code:
    A=Trim(0,1000.tcomb(mode=2).Bitfrost(interlaced=true)
    B=Trim(1001,0)
    A+B
    tried this and i got a script error on column 19 saying it needed a , or )
    Quote Quote  
  7. My fault and I apologize. I left out a parenthesis after the first Trim statement. Try this:

    A=Trim(0,1000).tcomb(mode=2).Bitfrost(interlaced=true)
    B=Trim(1001,0)
    A+B
    Quote Quote  
  8. Oops, I missed it too.
    Quote Quote  
  9. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    Y'all are fine lol no harm done works fine now. Would it be too much to ask for some help with FineDehalo as well? abcxyz doesnt do too well with this source because it affects text and makes it kind of washed out. Im not sure if FineDehalo will do that. Says that theres no fuction named "expand"
    Quote Quote  
  10. Maybe you have an old version of FineDehalo? The version I have uses mt_expand(), not expand(). expand() is part of the original masktools. mt_expand is included in masktools2.

    If you want specific help you should upload a sample of your source.
    Quote Quote  
  11. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    Originally Posted by jagabo View Post
    Maybe you have an old version of FineDehalo? The version I have uses mt_expand(), not expand(). expand() is part of the original masktools. mt_expand is included in masktools2.

    If you want specific help you should upload a sample of your source.
    I just gotta get FineDehalo working. One of the last things this source needs to be cleaned up on. I looked at my files and FineDehalo isnt the issue. Looks to be Dehalo_Alpha. The line it points to in the error message goes to this in the FineDehalo.avsi
    Code:
    dehaloed = DeHalo_alpha (rx=rx, ry=ry, darkstr=darkstr, brightstr=brightstr)
    Edit: I found the mt version of DeHalo alpha. Now Im getting a "no function named "mt_expand_multi""
    Quote Quote  
  12. It's hard to find mt_expand_multi.avsi. Here's the version I have:

    Code:
    # This program is free software. It comes without any warranty, to
    # the extent permitted by applicable law. You can redistribute it
    # and/or modify it under the terms of the Do What The **** You Want
    # To Public License, Version 2, as published by Sam Hocevar. See
    # http://sam.zoy.org/wtfpl/COPYING for more details.
    
    #=============================================================================
    #	mt_expand_multi
    #	mt_inpand_multi
    #
    #	Calls mt_expand or mt_inpand multiple times in order to grow or shrink
    #	the mask from the desired width and height.
    #
    #	Parameters:
    #	- sw   : Growing/shrinking shape width. 0 is allowed. Default: 1
    #	- sh   : Growing/shrinking shape height. 0 is allowed. Default: 1
    #	- mode : "rectangle" (default), "ellipse" or "losange". Replaces the
    #		mt_xxpand mode. Ellipses are actually combinations of
    #		rectangles and losanges and look more like octogons.
    #		Losanges are truncated (not scaled) when sw and sh are not
    #		equal.
    #	Other parameters are the same as mt_xxpand.
    #=============================================================================
    
    Function mt_expand_multi (clip src, int "thY", int "thC", string "mode",
    \	int "offx", int "offy", int "w", int "h", int "y", int "u", int "v",
    \	string "chroma", int "sw", int "sh")
    {
    	sw   = Default (sw, 1)
    	sh   = Default (sh, 1)
    	mode = Default (mode, "rectangle")
    
    	mode_m =
    \	  (sw > 0 && sh > 0) ? (
    \		  (mode == "losange" || (mode == "ellipse" && (sw % 3) != 1))
    \		? "both" : "square"
    \	                       )
    \	: (sw > 0          ) ? "horizontal"
    \	: (          sh > 0) ? "vertical"
    \	:                      ""
    
    	(mode_m != "") ? src.mt_expand (
    \		thY=thY, thC=thC, mode=mode_m,
    \		offx=offx, offy=offy, w=w, h=h, y=y, u=u, v=v, chroma=chroma
    \	).mt_expand_multi (
    \		thY=thY, thC=thC, mode=mode,
    \		offx=offx, offy=offy, w=w, h=h, y=y, u=u, v=v, chroma=chroma,
    \		sw=sw-1, sh=sh-1
    \	) : src
    }
    
    Function mt_inpand_multi (clip src, int "thY", int "thC", string "mode",
    \	int "offx", int "offy", int "w", int "h", int "y", int "u", int "v",
    \	string "chroma", int "sw", int "sh")
    {
    	sw   = Default (sw, 1)
    	sh   = Default (sh, 1)
    	mode = Default (mode, "rectangle")
    
    	mode_m =
    \	  (sw > 0 && sh > 0) ? (
    \		  (mode == "losange" || (mode == "ellipse" && (sw % 3) != 1))
    \		? "both" : "square"
    \	                       )
    \	: (sw > 0          ) ? "horizontal"
    \	: (          sh > 0) ? "vertical"
    \	:                      ""
    
    	(mode_m != "") ? src.mt_inpand (
    \		thY=thY, thC=thC, mode=mode_m,
    \		offx=offx, offy=offy, w=w, h=h, y=y, u=u, v=v, chroma=chroma
    \	).mt_inpand_multi (
    \		thY=thY, thC=thC, mode=mode,
    \		offx=offx, offy=offy, w=w, h=h, y=y, u=u, v=v, chroma=chroma,
    \		sw=sw-1, sh=sh-1
    \	) : src
    }
    Quote Quote  
  13. Ah, it's included with the dither package as mt_xxpand_multi.avsi.

    http://avisynth.nl/index.php/Dither_tools
    Quote Quote  
  14. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    Originally Posted by jagabo View Post
    Ah, it's included with the dither package as mt_xxpand_multi.avsi.

    http://avisynth.nl/index.php/Dither_tools
    thank you tons I really appreciate this. Its working!
    Quote Quote  
  15. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    I'm having no luck with FineDehalo, I think I'm doing something wrong. Here's my sample: Sample.demuxed.m2v

    Here's my script:
    Code:
    #Deinterlacing:
    QTGMC(Preset="Slow")
    Overlay(last, Loop(2,0,0).ColorYUV(gain_y=-220, cont_u=-220, cont_v=-220), mode="subtract").ColorYUV(gain_y=40, cont_u=40, cont_v=40)
    srestore(23.976)
    
    #Crop & Resize:
    Crop(12, 4, -12, -4)
    LanczosResize(640, 480)
    
    #Text Dot Line Removal
    A=Trim(0,59)
    B=Trim(60,149).tcomb(mode=2).Bifrost(interlaced=true)
    C=Trim(150,0)
    A+B+C
    
    #Dehaloing
    FineDehalo(rx=2.0, ry=2.0, thmi=60, thma=175, thlimi=50, thlima=100, darkstr=1.0, brightstr=1.0, showmask=0, contra=0.0, excl=true)
    Take a look at frame 750. The girl on the right has horrible haloing on her shoulder. Nothing I'm doing is helping remove that and maintain the text from being degraded.
    Quote Quote  
  16. Originally Posted by Fraugster View Post
    #Deinterlacing:
    QTGMC(Preset="Slow")
    Overlay(last, Loop(2,0,0).ColorYUV(gain_y=-220, cont_u=-220, cont_v=-220), mode="subtract").ColorYUV(gain_y=40, cont_u=40, cont_v=40)
    srestore(23.976)

    #Crop & Resize:
    Crop(12, 4, -12, -4)
    LanczosResize(640, 480)

    #Text Dot Line Removal
    A=Trim(0,59)
    B=Trim(60,149).tcomb(mode=2).Bifrost(interlaced=true)
    C=Trim(150,0)
    A+B+C

    #Dehaloing
    FineDehalo(rx=2.0, ry=2.0, thmi=60, thma=175, thlimi=50, thlima=100, darkstr=1.0, brightstr=1.0, showmask=0, contra=0.0, excl=true)
    Why Interlaced=True when you made it progressive with QTGMC? I'm not saying that fixing that will solve your dehalo problem, but only that the video is no longer interlaced.
    Quote Quote  
  17. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    Originally Posted by manono View Post
    Originally Posted by Fraugster View Post
    #Deinterlacing:
    QTGMC(Preset="Slow")
    Overlay(last, Loop(2,0,0).ColorYUV(gain_y=-220, cont_u=-220, cont_v=-220), mode="subtract").ColorYUV(gain_y=40, cont_u=40, cont_v=40)
    srestore(23.976)

    #Crop & Resize:
    Crop(12, 4, -12, -4)
    LanczosResize(640, 480)

    #Text Dot Line Removal
    A=Trim(0,59)
    B=Trim(60,149).tcomb(mode=2).Bifrost(interlaced=true)
    C=Trim(150,0)
    A+B+C

    #Dehaloing
    FineDehalo(rx=2.0, ry=2.0, thmi=60, thma=175, thlimi=50, thlima=100, darkstr=1.0, brightstr=1.0, showmask=0, contra=0.0, excl=true)
    Why Interlaced=True when you made it progressive with QTGMC? I'm not saying that fixing that will solve your dehalo problem, but only that the video is no longer interlaced.
    ooooh shit maybe. its doing something but not a lot. it is a very minimal change on default settings. ill give it a try
    Quote Quote  
  18. Looking at other frames, I think you need to increase rx and ry. If you use dehalo_alpha(rx=2.5, ry=3.0) pretty much all the halos are gone (there's still a tiny bit on the curve of her shoulder). Even at those values FineDehalo leaves more of a halo around the shoulder. I suspect the mask it uses to protect other parts of the image is causing more of the halo to bleed through there. You may just have to compromise.
    Quote Quote  
  19. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    Originally Posted by jagabo View Post
    Looking at other frames, I think you need to increase rx and ry. If you use dehalo_alpha(rx=2.5, ry=3.0) pretty much all the halos are gone (there's still a tiny bit on the curve of her shoulder). Even at those values FineDehalo leaves more of a halo around the shoulder. I suspect the mask it uses to protect other parts of the image is causing more of the halo to bleed through there. You may just have to compromise.
    Compromise is okay long as I've tried as best as I can. I'll give it a shot. Everything else default?
    Quote Quote  
  20. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    Hey all. Is there a way I can loop FreezeFrame to do this:

    ABC -> CCC

    Otherwise I have to type in every 3 frames by hand and I really don't wanna do that. I tried this:

    Code:
    A=Trim(0,1298)
    B=Trim(1299,1316).Loop(2,0,0).FreezeFrame(1, 2, 3)
    C=Trim(1317, 0)
    A+B+C
    But that didn't work obviously.
    Quote Quote  
  21. For every group of three frames you want to replace the first two with a copy of the third? SelectEvery(3,2,2,2).
    Quote Quote  
  22. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    Originally Posted by jagabo View Post
    For every group of three frames you want to replace the first two with a copy of the third? SelectEvery(3,2,2,2).
    Absolutely perfect thank you so much!
    Quote Quote  
  23. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    How do I do that, but this time with every 4 frames. The 4th being copied over the other frames. I tried this to no avail:

    Code:
    A=Trim(0,1318)
    B=Trim(1318,1321).SelectEvery(4,3,3,3).FreezeFrame(1, 3, 4)
    C=Trim(1322, 0)
    A+B+C
    Quote Quote  
  24. Code:
    A=Trim(0,1318)
    B=Trim(1318,1321).SelectEvery(4,3,3,3,3)
    C=Trim(1322, 0)
    A+B+C
    Quote Quote  
  25. Member
    Join Date
    Aug 2019
    Location
    Michigan
    Search PM
    Originally Posted by jagabo View Post
    Code:
    A=Trim(0,1318)
    B=Trim(1318,1321).SelectEvery(4,3,3,3,3)
    C=Trim(1322, 0)
    A+B+C
    Thanks! What does the added 3 mean? Why do all the spots have to be 3? Sorry for my lack of terminology I'm learning.
    Quote Quote  
  26. In every cycle of 4 frames replace the first with the fourth, the second with the fourth, the third with the fourth, and the fourth with the fourth. Counting begins with zero so the three mentioned is frame number four in the cycle.

    The first number gives the cycle and the numbers mentioned after that tell you which frames in that cycle to use. Cycle of four, four threes. In the earlier example there was a cycle of three and three numbers mentioned after that.

    It's thoroughly explained in the SelectEvery page. If you don't understand an AviSynth filter, all the built-in ones have their own pages. Third party ones might have a page or perhaps a reference to the discussion about it at Doom9.
    Quote Quote  
  27. I suggest you just read the docs for SelectEvery().
    http://avisynth.nl/index.php/Select
    Quote Quote  



Similar Threads

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