VideoHelp Forum
+ Reply to Thread
Results 1 to 26 of 26
Thread
  1. Hi my good friends, which filters I could use advanced to clean and improve the quality of this animated movie from the 80s is an official bluray remaster.

    I'd like to clean the image, stabilize it and improve the colors.

    here I have a script that looks good but not so good, it's not that advanced. If anyone can help me, I'll thank you a lot my friends.

    Code:
    LWLibavVideoSource("C:\Users\Carloncho\Downloads\The Transformers The Movie 1986 720p BluRay FLAC2.0 x264-DON\The Transformers The Movie 1986 720p BluRay FLAC2.0 x264-DON.mkv", format="YUV420P8")
    
    Tweak(hue=0.0, sat=1.0, bright=0, cont=1.0, coring=True, sse=False, startHue=0, endHue=360, maxSat=150, minSat=0, interp=16)
    ColorYUV(gain_y=0,gain_u=0, gain_v=0, off_y=0, off_u=0,off_v=0, cont_y=24, cont_u=107,cont_v=107,gamma_y=0, gamma_u=0, gamma_v=0, levels="", opt="", showyuv=false, analyze=false, autowhite=false, autogain=false)
    
    mfToon2(ssw=4, ssh=4,xstren=80,xthresh=80,cwarp=true,sharpen=true,strength=50,wdepth=16.0,wblur=1,wthresh=0.5,drange=64,dboost=1.0,dlimit=30,debug=false,doutput=true,dclip="rclip1",scolor=$FF00FF)
    FastLineDarkenMOD()
    
    GradFun3(thr=2.00, radius=12, mask=3, mode=6, smode=2, debug=0, lsb=false, lsb_in=false, staticnoise=false, y=3, u=3, v=3)
    
    original = last
    
    super = MSuper(pel=2, sharp=1)
    backward_vec2 = MAnalyse(super, isb = true, delta = 2, overlap=4)
    backward_vec1 = MAnalyse(super, isb = true, delta = 1, overlap=4)
    forward_vec1 = MAnalyse(super, isb = false, delta = 1, overlap=4)
    forward_vec2 = MAnalyse(super, isb = false, delta = 2, overlap=4)
    MDegrain2(super, backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400)
    strength = 2
    FFT3DFilter(bw=6, bh=6, ow=3, oh=3, plane=0, bt=1, sigma=strength)
    denoised=FFT3DFilter(bw=216, bh=216, ow=108, oh=108, plane=0, bt=1, sigma=strength/8, sigma2=strength/4, sigma3=strength/2, sigma4=strength)
    
    mt_lutxy (last, denoised, expr="x y < y 1 - x y > y 1 + y ? ?", y=3, u=3, v=3)
    
    super   = last.MSuper ()
    super_a = denoised.MSuper ()
    
    vf1 = super_a.MAnalyse (isb=false, delta=1, overlap=4, blksize=16)
    vb1 = super_a.MAnalyse (isb=true,  delta=1, overlap=4, blksize=16)
    
    cf1 = MCompensate (super, vf1, thSAD=200)
    cb1 = MCompensate (super, vb1, thSAD=200)
    Interleave (cf1, last, cb1)
    dfttest (sigma=1.0, tbsize=3, lsb=false,threads=16)
    SelectEvery (3, 1)
    GradFun3 (thr=0.25, lsb_in=false)
    
    lvl_overshoot = 3.5
    lvl_details   = 2
    
    o = last
    w = Width ()
    h = Height ()
    
    edges   = mt_edge (mode="prewitt", thY1=0, thY2=255)
    details = mt_edge (mode="min/max", thY1=0, thY2=255)
    
    mask_lines     = edges.mt_lut ("x 6 - 50 *")
    mask_lines     = mask_lines.mt_expand ().mt_expand ().mt_expand ().mt_expand ()
    mask_overshoot = edges.mt_lut ("x "+String(lvl_overshoot)+" - 2 ^ 40 *")
    mask_overshoot = mask_overshoot.mt_inpand ().RemoveGrain (12, -1)
    mask_overshoot = mt_logic (mask_overshoot, mask_lines, mode="max")
    mask_details   = details.mt_binarize (lvl_details)
    mask_details   = mask_details.RemoveGrain (21 ,-1).mt_expand ()
    mask_final     = mt_logic (mask_overshoot, mask_details, mode="min")
    mask_final     = mask_final.RemoveGrain (20, -1).RemoveGrain (20, -1)
    
    o
    BicubicResize (w/16 * 4, h/16 * 4, 1, 0).BicubicResize (w, h, 1, 0)
    GradFun3 (radius=4, thr=0.6, mask=0, mode=6)  # Huge blur
    mt_merge (last, o, mask_overshoot, luma=true) # W/o overshoot
    GradFun3 (thr=0.6, mask=0)                    # W/o banding
    mt_merge (last, o, mask_final, luma=true)     # Details protected
    
    Prefetch(16)

    What do you think, it's right, wrong, very wrong.
    Someone could please help me to improve the script in a more professional way so that I can use it in this movie and maybe as a reference in others.

    I don't know how to stabilize, if someone could please help me with the stabilization

    Here I share a small clip of the movie

    Transformers The movie 1986 [bluray]
    It is the remastered version for the 30th anniversary in 4:3

    https://mega.nz/#!BLol0byY!ilopZuxoylXIYVpz6g_eoXD7oKEC1CxqjCgm-goZ-Qc

    many thanks
    Quote Quote  
  2. Something like this?
    Image Attached Files
    Quote Quote  
  3. Try something a little more simple like this maybe?



    dehalo_alpha(rx=1.1, ry=1.1, darkstr=0, lowsens=0, highsens=50, ss=1.0)
    mctemporaldenoise(sigma=3, sharp=false, radius=1, ecrad=1)
    # Choose sigma of 1-3 for good clean and more preserved details/textures, choose 4-6 for a great clean, but some possible smoothed small details/textures.

    maa2(ss=3.30)
    smoothtweak(saturation=1.03, dither=-1, interp=0, limiter=true)
    mergechroma(awarpsharp2(depth=4))
    LimitedSharpenFaster(ss_x=1.0, ss_y=1.00, strength=2, overshoot=0, undershoot=0, soft=0, edgemode=0)


    Whatever Jagabo did for stabilization, I wish I knew. It was a well done job at keeping the screen from shaking. I would find out and add it to this. I honestly did not know how to do that and would love to learn as well.

    What did you use Jagabo?
    Last edited by killerteengohan; 20th Oct 2017 at 07:25.
    Quote Quote  
  4. Originally Posted by killerteengohan View Post
    stabilization... What did you use Jagabo?
    Stab() + Dup(). After uploading the video I also added Santiag() to antialias and sharpen lines a bit:

    Code:
    LWLibavVideoSource("transformers.mkv") 
    
    ColorYUV(cont_y=35, cont_u=20, cont_v=20)
    
    Stab(mirror=15)
    Crop(4,0,-6,-0)
    TemporalDegrain(SAD1=200, SAD2=150, Sigma=8)
    Santiag()
    Dup(threshold=3.0, blend=true, show=false)
    
    aWarpSharp(depth=5)
    Sharpen(0.2)
    
    #optional upscaling to 1080p
    #nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=1440, fheight=1080)
    #aWarpSharp(depth=5)
    #Sharpen(0.2)
    Last edited by jagabo; 25th Oct 2017 at 19:07.
    Quote Quote  
  5. Originally Posted by jagabo View Post
    Something like this?
    thanks so much for your help

    but i use avisynth+ is the same script ?
    Quote Quote  
  6. Originally Posted by killerteengohan View Post
    Try something a little more simple like this maybe?



    dehalo_alpha(rx=1.1, ry=1.1, darkstr=0, lowsens=0, highsens=50, ss=1.0)
    mctemporaldenoise(sigma=3, sharp=false, radius=1, ecrad=1)
    # Choose sigma of 1-3 for good clean and more preserved details/textures, choose 4-6 for a great clean, but some possible smoothed small details/textures.

    maa2(ss=3.30)
    smoothtweak(saturation=1.03, dither=-1, interp=0, limiter=true)
    mergechroma(awarpsharp2(depth=4))
    LimitedSharpenFaster(ss_x=1.0, ss_y=1.00, strength=2, overshoot=0, undershoot=0, soft=0, edgemode=0)


    Whatever Jagabo did for stabilization, I wish I knew. It was a well done job at keeping the screen from shaking. I would find out and add it to this. I honestly did not know how to do that and would love to learn as well.

    What did you use Jagabo?
    thanks is possible a script with avisynth+ please , thanks
    Quote Quote  
  7. Originally Posted by frank_zappa View Post
    Originally Posted by jagabo View Post
    Something like this?
    thanks so much for your help

    but i use avisynth+ is the same script ?
    If all the filters work in avisynth+. I've never used it, but I understand AviSynth filters are supposed to work with it.
    Quote Quote  
  8. Originally Posted by jagabo View Post
    Originally Posted by frank_zappa View Post
    Originally Posted by jagabo View Post
    Something like this?
    thanks so much for your help

    but i use avisynth+ is the same script ?
    If all the filters work in avisynth+. I've never used it, but I understand AviSynth filters are supposed to work with it.
    my friend this is the full script ? with stabilization

    what avisynth version you use

    you use windows x64 ?

    thanks so much
    Quote Quote  
  9. Originally Posted by frank_zappa View Post
    this is the full script ? with stabilization
    Yes. You might have to import filters though. For example:

    Code:
    import("C:\Program Files (x86)\AviSynth\plugins\TemporalDegrain.avs") 
    import("C:\Program Files (x86)\AviSynth\plugins\Santiag.avs")
    Originally Posted by frank_zappa View Post
    what avisynth version you use
    version 2.6, 32 bit.

    Originally Posted by frank_zappa View Post
    you use windows x64 ?
    Yes.
    Quote Quote  
  10. Originally Posted by jagabo View Post
    Originally Posted by frank_zappa View Post
    this is the full script ? with stabilization
    Yes. You might have to import filters though. For example:

    Code:
    import("C:\Program Files (x86)\AviSynth\plugins\TemporalDegrain.avs") 
    import("C:\Program Files (x86)\AviSynth\plugins\Santiag.avs")
    Originally Posted by frank_zappa View Post
    what avisynth version you use
    version 2.6, 32 bit.

    Originally Posted by frank_zappa View Post
    you use windows x64 ?
    Yes.
    just 1 question the " Dup(threshold=3.0, blend=true, show=false) "

    is important ? please tell me why , i cant use it in x64
    Quote Quote  
  11. Dup() replaces near duplicate frames with exact duplicates. In this context it removes some very small motions left after Stab().
    Quote Quote  
  12. Originally Posted by jagabo View Post
    Dup() replaces near duplicate frames with exact duplicates. In this context it removes some very small motions left after Stab().
    you have any alternative that works with avisynth x64 please

    http://avisynth.nl/index.php/External_filters#Duplicate_Frame_Detectors
    Quote Quote  
  13. Dupped() appears to be similar.
    Quote Quote  
  14. Originally Posted by jagabo View Post
    Dupped() appears to be similar.
    Thank you very much for your help friend, you are the best, it would be possible please help me with this last file please.

    I'm having a hard time with this anime.

    I will thank you infinitely


    https://mega.nz/#!VGYgyBDA!gS6xU7ybR7-qOyv33-eMaj88gTaFwr6yJfqBIL1HYh4
    Quote Quote  
  15. Stab() gets rid of most of the projector bounce. But the frames frequently rotate a bit after shot changes -- probably splices in the film. DepanStabilize can help with those but settings strong enough to deal with them cause problems elsewhere.
    Quote Quote  
  16. Originally Posted by jagabo View Post
    Stab() gets rid of most of the projector bounce. But the frames frequently rotate a bit after shot changes -- probably splices in the film. DepanStabilize can help with those but settings strong enough to deal with them cause problems elsewhere.
    sorry i dont understand , Could you please show me the script for this video.


    https://mega.nz/#!VGYgyBDA!gS6xU7ybR7-qOyv33-eMaj88gTaFwr6yJfqBIL1HYh4
    Quote Quote  
  17. I was just observing the projector bounce. That was the major problem I saw in that video. There are a fair amount of spots but the persist for more than one frame so it will be hard to remove them. Some light noise reduction and sharpening might be worth while.

    I noticed an error in my earlier use of Stab(mirror=1). It should have been Stab(mirror=15).
    Quote Quote  
  18. Originally Posted by jagabo View Post
    I was just observing the projector bounce. That was the major problem I saw in that video. There are a fair amount of spots but the persist for more than one frame so it will be hard to remove them. Some light noise reduction and sharpening might be worth while.

    I noticed an error in my earlier use of Stab(mirror=1). It should have been Stab(mirror=15).
    for you my friend what it the best denoiser

    TemporalDegrain()
    MCTemporalDenoise()
    FluxSmoothST()
    SMDegrain()
    MDegrain2()

    I run several tests and the truth is that the difference is minimal, or maybe I don't have the visual ability to determine which one better, could you please help me?

    In general terms which is better, for example for classic anime, blurays with a lot or little grain etc., based on your experience.

    thanks so much
    Quote Quote  
  19. Originally Posted by jagabo View Post
    I was just observing the projector bounce. That was the major problem I saw in that video. There are a fair amount of spots but the persist for more than one frame so it will be hard to remove them. Some light noise reduction and sharpening might be worth while.

    I noticed an error in my earlier use of Stab(mirror=1). It should have been Stab(mirror=15).

    any help with the last source my friend
    Quote Quote  
  20. I like TemporalDegrain() for this type of video because it doesn't remove small details like brush strokes.
    Quote Quote  
  21. Originally Posted by jagabo View Post
    I like TemporalDegrain() for this type of video because it doesn't remove small details like brush strokes.
    my friend please help me with this source

    https://mega.nz/#!VGYgyBDA!gS6xU7ybR7-qOyv33-eMaj88gTaFwr6yJfqBIL1HYh4
    Quote Quote  
  22. I already gave you specific advice for one clip and general advice for the second. You should be able to put two and two together.
    Quote Quote  
  23. Originally Posted by jagabo View Post
    I already gave you specific advice for one clip and general advice for the second. You should be able to put two and two together.
    I can't i dont have so much experience my friend, I'm not an expert, I'm a beginner in this, you can't imagine how much.

    could you help me please,
    Quote Quote  
  24. I just got a PM from Mr. Zappa, asking for my help. I don't understand why people send PMs to people for things they have already posted in the forum.

    As I told him in my response, I don't do any work with animation.
    Quote Quote  
  25. thanks is possible a script with avisynth+ please , thanks
    I also use Avisynth+ from recently and almost all my older scripts work in avisynth+, what more there is a replacement for most of the filters with 64x versions (more than there were a year ago) and there is rgtools which replaces older versions of removegrain and removedirt which seemed to cause a lot of problems with scripts depending of the version, QTGMC is still unstable
    Quote Quote  
  26. Originally Posted by johnmeyer View Post
    I just got a PM from Mr. Zappa, asking for my help. I don't understand why people send PMs to people for things they have already posted in the forum.

    As I told him in my response, I don't do any work with animation.

    but with your experience you could help, instead of refusing to try to help... you could at least try to help.

    with some method for movies maybe with that I can be guided etc. --- it's a bad practice for people to just answer and say NO to everything without even trying...

    Tell me, do you think what you're saying helps me in any way?

    is a forum your response can help not only for me but also for the thousands of people who read this forum. With some answer that may be able to guide us in some way instead of just reading I CAN' T AND DON' T CONTACT ME... it's ridiculous... anyway "THANK YOU FOR NOTHING".

    Think about it. Bye.
    Quote Quote  



Similar Threads

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