VideoHelp Forum
+ Reply to Thread
Results 1 to 13 of 13
Thread
  1. All this samples are captured from a Digital TV receiver, S-Video output is connected to my ADVC-100 and the capture is done by IEEE-1394 interface with Virtualdub.
    Back in the day I use different techniques to de-interlace DV source, this samples are kind of unique to me, some samples are progressive, others telecined and some are a mix of progressive and interlaced.

    All this samples are RAW files cut with Virtualdub.

    Sample 1

    As you can see, all the frame is progressive but the moving character in the scene. How to best de-interlace this without messing up all the rest?

    Sample 2

    Same issue, different footage.

    Sample 3

    This is a mix of progressive and interlaced, the guy face is progressive all the rest is not.(?)

    Sample 4

    Telecine?

    Sample 5

    https://mega.nz/#!a0ZGRLaL!brwdhJhdhELiPo209uWB12iVvugw_KcV51jyBrb0No0


    https://mega.nz/#!20xjSSbb!DJJkaKSxujyQDIx5T6JtJmvcLPDCsnKFjg_LRewTVcs


    https://mega.nz/#!K8ZWxSha!Ay8sEe8JHEAgHX5-BWp1lbz5Tml1VS-spoz987UL3Os

    This samples are progressive, it was captured like this, no de-interlace was made, nothing.
    How is this possible?
    It doesn't looks like a standard telecine to me, how to best convert this 29.970 fps back to 24 fps?

    Thank you!
    Quote Quote  
  2. Sample1. It IVTC's normally.

    TFM().TDecimate(Mode=1)


    How to best de-interlace this without messing up all the rest?
    Nothing gets 'messed up'.

    Sample2.
    Same issue, different footage.
    Same answer, except I raised the cthresh a little bit so frames wouldn't be deinterlaced unnecessarily:

    TFM(CThresh=10).TDecimate()

    Sample3.
    This is a mix of progressive and interlaced, the guy face is progressive all the rest is not.(?)
    No, the whole thing is interlaced. It was shot on video. It has to be deinterlaced, single or double-rate, using a deinterlacer of your choosing. QTGMC will do the best job.
    Last edited by manono; 11th May 2018 at 14:28.
    Quote Quote  
  3. Originally Posted by manono View Post
    Sample1. It IVTC's normally.

    TFM().TDecimate(Mode=1)
    I've tried this before, the problem I see with it is that it generates a granulation noise around Bob's eyes, the other dude mouth, belly and shorts for example (frame 178 and 179).

    Originally Posted by manono View Post
    Same answer, except I raised the cthresh a little bit so frames wouldn't be deinterlaced unnecessarily:
    TFM(CThresh=10).TDecimate()
    This looks perfect!
    Thank you.

    Around the frame 38, there is a chroma subsampling issue around the pink cup, right side, I would add the following:
    Code:
    # Fix DV chroma subsampling
    ReInterpolate411()
    
    # IVTC
    TFM(CThresh=10).TDecimate()
    
    # Noise reduction
    Temporalsoften(3,5,5,mode=2,scenechange=10)
    ConvertToYV12()
    Convolution3d("moviehq") 
    FluxSmoothST(7,7)
    I still did not came up with a better solution for sample 3, in my old backup I've found this script:
    Code:
    # DV
    ReInterpolate411()
    
    # De-interlace
    LeakKernelBob(order=0,threshold=4,sharp=true,twoway=true,map=false,linked=false,forceCPU=2)
    Undot()
    SelectEven()
    
    # De-noise
    Temporalsoften(4,8,8,mode=2,scenechange=10)
    
    ConvertToYV12()
    Convolution3d("moviehq") 
    FluxSmoothST(10,15)
    It kind of works but still, some residual persists, too jaggy. If you look at frame 335 the numbers on the bus are noisy, lowering the threshold it get better but it looks similar to "TomsMoComp".
    Quote Quote  
  4. QTGMC saving the day, I forgot that one.
    But the chroma part of the frame drifts, sample 3, frames 663~666.

    Code:
    # DV
    ReInterpolate411()
    
    # De-interlace
    ConvertToYV12()
    AssumeBFF()
    QTGMC()
    
    # De-noise
    Temporalsoften(4,8,8,mode=2,scenechange=10)
    Convolution3d("moviehq") 
    FluxSmoothST(10,15)
    Look the chroma drift at the woman face.
    Quote Quote  
  5. Originally Posted by amaipaipai View Post
    I've tried this before, the problem I see with it is that it generates a granulation noise around Bob's eyes, the other dude mouth, belly and shorts for example (frame 178 and 179).
    I don't know what that means. Sorry.
    QTGMC saving the day, I forgot that one.
    But the chroma part of the frame drifts, sample 3, frames 663~666.
    Yes, you're right. Every other field has it in the source, but it's most noticeable, perhaps, when that lady walks by the camera behind the guy being interviewed.

    So, it's nothing to do with the filters used. One remedy is to cut the framerate in half by removing those fields with the problem:

    QTGMC().SelectEven()

    Another solution is to fix it in the fields with the problem, before bobbing:

    SeparateFields()
    Evn=SelectEven
    A=Last
    B=A.Greyscale()
    Overlay(B,A,X=5,Y=0,Mode="Chroma")#moves chroma to the right 5 pixels
    Odd=SelectOdd
    Interleave(Evn,Odd)
    Weave()
    QTGMC()


    You can raise or lower that '5' to adjust the chroma shift, if you like.
    Quote Quote  
  6. Originally Posted by amaipaipai View Post
    Look the chroma drift at the woman face.
    First, your script has an error: ConvertToYV12() should be ConvertToYV12(interlaced=true). But in this case it doesn't matter. The chroma of the two fields was blended together before the video was encoded as DV. If you look at the fields (frames after QTGMC) before or after the one you posted you'll see the flesh tones of her face blended onto the blue of the bus. There's no fix for this.
    Quote Quote  
  7. Originally Posted by manono View Post
    Yes, you're right. Every other field has it in the source, but it's most noticeable, perhaps, when that lady walks by the camera behind the guy being interviewed.

    So, it's nothing to do with the filters used. One remedy is to cut the framerate in half by removing those fields with the problem:

    QTGMC().SelectEven()

    Another solution is to fix it in the fields with the problem, before bobbing:

    SeparateFields()
    Evn=SelectEven
    A=Last
    B=A.Greyscale()
    Overlay(B,A,X=5,Y=0,Mode="Chroma")#moves chroma to the right 5 pixels
    Odd=SelectOdd
    Interleave(Evn,Odd)
    Weave()
    QTGMC()


    You can raise or lower that '5' to adjust the chroma shift, if you like.
    Thank you.
    Using this fixes that woman chroma problem, but make the whole rest drift.

    Originally Posted by jagabo View Post
    First, your script has an error: ConvertToYV12() should be ConvertToYV12(interlaced=true). But in this case it doesn't matter. The chroma of the two fields was blended together before the video was encoded as DV. If you look at the fields (frames after QTGMC) before or after the one you posted you'll see the flesh tones of her face blended onto the blue of the bus. There's no fix for this.
    I don't know how to do Avisynth scripting, I'm still learning, my experience with Avisynth is pretty basic. Much of what I know came from Gordian Knot. Scripting was never my thing, I rather use interfaces, I'm to systematic, I like to see what I'm doing real-time, to be practical. But, better late than never.

    If you find more errors on my scripts, please advise.

    Do you have something for that progressive 29.970 fps samples?

    Thank you jagabo.
    Quote Quote  
  8. Sample4.
    Telecine?
    Yes, and it just needs a standard IVTC. Don't you know how to tell?

    TFM().TDecimate()
    Quote Quote  
  9. Originally Posted by amaipaipai View Post
    Thank you.
    Using this fixes that woman chroma problem, but make the whole rest drift.
    Then apply it for as much or as little as you like. Or just don't worry about a problem that happens only over a very few frames. Particularly if you haven't had much experience with AviSynth yet.
    Quote Quote  
  10. I only looked at sample 4 and 5 -- every 5th frame is a repeat. They just need TDecimate() to remove the duplicates. I'd probably also use vInverse to eliminate some residual comb like artifacts that come from encoding progressive video as interlaced.

    Code:
    AviSource(...)
    vInverse()
    TDecimate()
    Quote Quote  
  11. Originally Posted by jagabo View Post
    I only looked at sample 4 and 5 -- every 5th frame is a repeat.
    Two different samples, I think. The one labeled as Sample 4 in his first post, becomes sample-03.avi when downloaded. I was going by the labels in the post, you (apparently) by the AVI name. The Sample 4 (sample-03.avi) is obvious hard telecine. It's his fault for confusing things.
    Quote Quote  
  12. Thank you jagabo and manono!

    Sorry about the mess, I took 10 samples and organize it by title, not by file names.

    I only looked at sample 4 and 5 -- every 5th frame is a repeat. They just need TDecimate() to remove the duplicates. I'd probably also use vInverse to eliminate some residual comb like artifacts that come from encoding progressive video as interlaced.
    The sample of that old lady talking with pink background, I can't see a frame repeat on that one.
    Quote Quote  
  13. Originally Posted by amaipaipai View Post
    The sample of that old lady talking with pink background, I can't see a frame repeat on that one.
    I was going by filename. sample-05.avi and sample-05.avi. I only downloaded a few of the files (since manono already commented on them). I didn't download the "old lady" video.
    Quote Quote  



Similar Threads

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