VideoHelp Forum




+ Reply to Thread
Results 1 to 8 of 8
  1. Member
    Join Date
    Sep 2026
    Location
    Long Island, NY
    Search Comp PM
    I know I am opening up myself to potential abuse here (LOL!), but opinions, thoughts, suggestions from more experienced people is never a bad thing.

    I have just completed a lot of experimenting on the attached snippet. I have utilized:
    -- deflicker
    -- spot removal
    -- stabilization
    -- brightness and contrast
    -- (some) frame interpolation
    -- sharpening
    -- upscaling.

    I have not touched the audio yet (which is my area of expertise and I'm not worried about it).
    I also know I will have some individual frames to touch up manually that I didn't do for this example.
    But this is my starting point for the project.

    Thoughts welcomed!

    Thanks,
    Joe
    Image Attached Files
    Quote Quote  
  2. Did you do any grain reduction?

    I very much like how you sharpened it. Her blouse looks really good. The deflicker settings you used gave you a great result.

    As for those three huge blobs at frame 67, and the false echo you get from them two frames later, here's how I would handle that.

    I do all of my editing and rough grading in my NLE (Vegas) before I do any restoration. In Vegas, I have developed almost 100 scripts to help speed the editing. One of them gives me a one button push to replace a "bad" frame with an exact duplicate of the frame before it. Then, in my AVISynth script, I have a simple one-line detection which returns zero when it detects a duplicate. I then test for any value less than 0.1 (you generally should not test for 0.000) and insert an interpolated frame. So, I would have replaced the massive burn marks with a duplicate, and then had the script replace the duplicate with a motion estimated frame.
    Quote Quote  
  3. Member
    Join Date
    Sep 2026
    Location
    Long Island, NY
    Search Comp PM
    Thanks for the in depth response, John....

    I do something similar regarding those frames....much less sophisticated (and automated) than yours...I will basically go in to the damaged frame and physically cut and paste in the bad spots from the frame before or after. Much more time consuming, but it keeps the motion intact. I didn't do that yet for this experiment, as I was concerned more with software settings than manual work.

    I too use Vegas for the whole "frame replacement" part of the process. It was in Vegas that I applied the De Flicker plugin from Boris. It worked far better than any AviSynth experiments I tried.

    Still some minor tweaking to do. I'll keep you posted. Thank you again for taking the time to comment.

    Joe
    Quote Quote  
  4. Member The_Doman's Avatar
    Join Date
    Feb 2004
    Location
    Netherlands
    Search PM
    Very good this.
    I'm not into this kind of restoration, but it's amazing and impressive to see the final result.
    Quote Quote  
  5. Very nice restoration and details recovery. Well done.

    FWIW attached 2 screenshots (frame 67 and frame 391) of damaged frames of the unprocessed source which are fixed by motion interpolation.
    Frame 67 looks reasonable, whereas artifcats (left arm and left hand) are prominent in frame 391. Selecting a better RIFE model may have improved it (the model selection in RIFE is by trial and error).

    Script used for interpolation (originally proposed by jagabo as far as I remember), based on frame numbers to be replaced:
    Code:
    source
    ReplaceFramesRIFE(67,1,12)
    ReplaceFramesRIFE(391,1,24)
    stackhorizontal(source,last)
    
    #############################################
    # REPLACE FRAMES - MULTIPLE FRAMES IN A ROW #
    #############################################
    function ReplaceFramesRIFE(clip Source, int N, int X, int model)
    {
      # N is number of the 1st frame in Source that needs replacing. 
      # X is total number of frames to replace
      # e.g. ReplaceFramesRIFE(101, 5, 12) would replace 101,102,103,104,105 , by using 100 and 106 as reference points for interpolation using RIFE model 12
      # model is the RIFE model
      # requires YV12, YV16, or YV24 input, outputs same as input
      X=Default(X,1)
      model=Default(model,12)  
      Trim(Source, N-1, 1)+Trim(Source, N+X, 1)
      z_ConvertFormat(pixel_type="RGBPS", colorspace_op="709:709:709:l=>rgb:709:709:full")
      Rife(gpu_thread=1, model=model, factor_num=X+1, factor_den=1, sc=false) # model >10 needed for custom factor/rate
      z_ConvertFormat(pixel_type=Source.PixelType, colorspace_op="rgb:709:709:f=>709:709:709:limited") 
      
      AssumeFPS(Source.FrameRateNumerator, Source.FrameRateDenominator)
      Trim(1,X)
    Subtitle("INTERPOLATED",size=48) # optional label to verify replacement, for debugging
    
      Source.trim(0,N-1) ++ last ++ Source.trim(N+X,0)
    }
    Image Attached Thumbnails Click image for larger version

Name:	Eluthingol_interpolate000067.png
Views:	27
Size:	1.08 MB
ID:	93883  

    Click image for larger version

Name:	Eluthingol_interpolate000391.png
Views:	23
Size:	921.5 KB
ID:	93884  

    Quote Quote  
  6. Member
    Join Date
    Sep 2026
    Location
    Long Island, NY
    Search Comp PM
    Thanks for the input, Sharc...

    I still need to do some tweaking on the replacement frames, but I appreciate script!!

    Joe
    Quote Quote  
  7. Personally, I don't like what happend with the curtains and the texture of the closes of the guy, both seem like different materialy now.
    It seems like some transformer like Codeformer is only applied to portions of the clip.
    I also would use something like SpotLess or similar.

    Cu Selur
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  8. Member
    Join Date
    May 2005
    Location
    PAL User
    Search Comp PM
    That's excellent!

    As always though... "how'd you do it?".

    I see for the Deflicker you used Vegas and Boris. Fair enough. What about the others? Are we wasting our time trying to AVISynth this when it was achieved with something else?
    Quote Quote  



Similar Threads

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