VideoHelp Forum
+ Reply to Thread
Results 1 to 8 of 8
Thread
  1. Hi.

    I've been looking for a way to remove combing in a interlaced source that has been converted to progressive and scaled. I would like to know if would it be possible by any way to decomb interlaced artifacts in this example attached.

    I tried to do it using Topaz AI and tried some scripts I found for AVIsynth, but no success.

    Lot of thanks in advance.
    Image Attached Files
    Quote Quote  
  2. The best thing to do would be to edit the original interlaced video correctly if you still have access to it.
    Quote Quote  
  3. Yes, but I don't have access to the original video. If so, I would not have to deal with this
    Quote Quote  
  4. The type of resizing used in that video loses too much of the interlacing information to get anything close to a proper deinterlacing. You can reduce most of the wavy artifacts but at the cost of losing a lot of sharpness in non-moving areas.

    Code:
    LWLibavVideoSource("vid.mov") 
    Spline36Resize(1920,96)
    QTGMC()
    nnedi3_rpow2(16, cshift="SPline36Resize", fwidth=1920, fheight=1080)
    I don't really think this is an improvement. Maybe one can work out a way to use a motion mask to process only the moving areas and keeping details in the still areas.
    Image Attached Files
    Last edited by jagabo; 20th Jun 2024 at 11:51.
    Quote Quote  
  5. Argh,.. height 96, that is hard, not many details left with that.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  6. Originally Posted by jagabo View Post
    The type of resizing used in that video loses too much of the interlacing information to get anything close to a proper deinterlacing. You can reduce most of the wavy artifacts but at the cost of losing a lot of sharpness in non-moving areas.

    Code:
    LWLibavVideoSource("vid.mov") 
    Spline36Resize(1920,96)
    QTGMC()
    nnedi3_rpow2(16, cshift="SPline36Resize", fwidth=1920, fheight=1080)
    I don't really think this is an improvement. Maybe one can work out a way to use a motion mask to process only the moving areas and keeping details in the still areas.

    Thanks!!

    Even it's blurry, for some clips with movement is better than interlaced. I think that I can use a mix between the interlaced for still shots and the script you posted for the movement.

    Lots of thanks for your help!!!
    Quote Quote  
  7. Here my attempt, it's only partially fixed, but still has way more details:

    Code:
    BicubicResize(480,272)
    c1= selectevery(2,0).FrameRateConverter(preset="normal", blendratio=70)
    c2= selectevery(2,1).FrameRateConverter(preset="normal", blendratio=70)
    merge (trim(c1,1,0), c2, 0.5)
    
    mt=false  tr=2  blksize=8 overlap=4 thSAD=400  thSAD2=300  search=4  dct=0  limit=10
    addborders(8,8,8,8)
    sc_full = MSuper(hpad=0,vpad=0, mt=mt)
    sc_ds  =  BicubicResize (width/2,height/2).MSuper(hpad=0,vpad=0, mt=mt)
    mv_ds  =  sc_ds.MAnalyse (multi=true, delta=tr, blksize=blksize, overlap=overlap, search=search, dct=dct, mt=mt)
    mv_dsr =  sc_ds.MRecalculate (mv_ds, tr=tr, blksize=blksize/2, overlap=blksize/4, thSAD=150, dct=dct, mt=mt)
    mv     =  mv_dsr.MScaleVect(2)
    MDegrainN (sc_full, mv, tr, thSAD=thSAD, thSAD2=thSAD2, limit=limit, mt=mt)
    crop(8,8,-8,-8)
    #return last
    
    pf=AWarpSharpDering(debug=0, diffthresh=150, lumathresh=70)
    em = pf.mt_edge (mode="prewitt", thY1=25, thY2=30, chroma="-128") .mt_inflate.mt_inflate .converttoY .fastblur(2)
    #return em
    
    Overlay(last, pf, mask=em)
    Image Attached Files
    Quote Quote  
  8. Originally Posted by buzz1891 View Post
    Here my attempt, it's only partially fixed, but still has way more details:

    Code:
    BicubicResize(480,272)
    c1= selectevery(2,0).FrameRateConverter(preset="normal", blendratio=70)
    c2= selectevery(2,1).FrameRateConverter(preset="normal", blendratio=70)
    merge (trim(c1,1,0), c2, 0.5)
    
    mt=false  tr=2  blksize=8 overlap=4 thSAD=400  thSAD2=300  search=4  dct=0  limit=10
    addborders(8,8,8,8)
    sc_full = MSuper(hpad=0,vpad=0, mt=mt)
    sc_ds  =  BicubicResize (width/2,height/2).MSuper(hpad=0,vpad=0, mt=mt)
    mv_ds  =  sc_ds.MAnalyse (multi=true, delta=tr, blksize=blksize, overlap=overlap, search=search, dct=dct, mt=mt)
    mv_dsr =  sc_ds.MRecalculate (mv_ds, tr=tr, blksize=blksize/2, overlap=blksize/4, thSAD=150, dct=dct, mt=mt)
    mv     =  mv_dsr.MScaleVect(2)
    MDegrainN (sc_full, mv, tr, thSAD=thSAD, thSAD2=thSAD2, limit=limit, mt=mt)
    crop(8,8,-8,-8)
    #return last
    
    pf=AWarpSharpDering(debug=0, diffthresh=150, lumathresh=70)
    em = pf.mt_edge (mode="prewitt", thY1=25, thY2=30, chroma="-128") .mt_inflate.mt_inflate .converttoY .fastblur(2)
    #return em
    
    Overlay(last, pf, mask=em)
    Thanks!!!

    This script produces a more detailed output!!
    Quote Quote  



Similar Threads

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