VideoHelp Forum
+ Reply to Thread
Results 1 to 10 of 10
Thread
  1. I noticed that on some places even if it works great for removing the drop outs https://forum.videohelp.com/threads/350646-RemoveDirtMC-error-cant-engage-it-at-all
    ( best that i have seen and tried with other scripts so far ) it leaves nasty artifacts i tried to deinterlace first and the nasty artifacts are gone but i deinterlaced ( i loose half the information so i don't want to do that

    is this script ok it seems ok but is it keeping the interlaced and the filter works ?

    AVISource("")
    AssumeTFF()
    SeparateFields()
    f1=SelectEven().Devcr(10)
    f2=SelectOdd().DeVCR(10)
    Interleave(f1,f2)
    Weave()

    or is there better solution to keep interlaced and use the devcr ?
    Quote Quote  
  2. Yes, that should be OK and the output will be interlaced (assuming the source is). In the case where DeVCR() doesn't do anything the output will be the same as the input.
    Quote Quote  
  3. Originally Posted by mammo1789 View Post
    i loose half the information so i don't want to do that

    ...
    or is there better solution to keep interlaced and use the devcr ?
    Why loos half of the information?

    deinterlace (fast yadif?) to 2*fps progressive, perform necessary processing, re-lace back

    SeparateFields().SelectEvery(4,0,3).Weave()
    Quote Quote  
  4. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    That commonly used de-interlace/re-interlace is often the only way to clean up many problems (I'd prefer QTGMC over yadif), or to repair some major faults. But note that the code discards 2 of every 4 fields.
    Last edited by sanlyn; 23rd Mar 2014 at 13:40.
    Quote Quote  
  5. Member 2Bdecided's Avatar
    Join Date
    Nov 2007
    Location
    United Kingdom
    Search Comp PM
    Originally Posted by sanlyn View Post
    But note that the code discards 2 of every 4 fields.
    Does it?
    Quote Quote  
  6. The code posted by the OP discards no fields. The frames are separated into sequential fields , top and bottom fields are split into two separate streams, the top/bottom streams are interleaved back into one stream, then woven back together into interlaced frames.

    The code posted by Pandy doesn't discard (overall) any fields either. It first doubles the frame rate with Yadif() (each field is converted to a frame), then the double frame rate frames are separated into fields, the interpolated fields are discarded, and the original fields are woven back into interlaced frames at the original frame rate.

    In theory Yadif(mode=1) (double frame rate) could be better at times (in this application) but I find it makes many mistakes so it may not work as well in this application. It's worth a try:

    Code:
    AVISource("")
    AssumeTFF()
    Yadif(mode=1, order=1) # double frame rate smart bob, TFF
    f1=SelectEven().Devcr(10)
    f2=SelectOdd().DeVCR(10)
    Interleave(f1,f2) # back to one stream, double frame rate
    SeparateFields().SelectEvery(4,0,3).Weave() # back to original frame rate and interlaced
    If you look at the way DeVCR() works it's hard to predict which will work better.
    Last edited by jagabo; 9th Nov 2012 at 07:44.
    Quote Quote  
  7. The biggest problem with this plugin is that it doesn't have interlaced "preset" so it screws the interlaced material. I tried this approach with the script posted and it is much better than before ( when not separating and weaving back ). Before there was on times some like small block of like different places like squares and rectangles probably like error from the filter. Now I noticed "morphing" artifacts especially when there are short jerky shaky movements on that places and it seems that filter losses there.
    It is however effective on those lines and lower numbers mean stronger filtering ( opposite of other filters ) and more artifacts along with it. I will try to do more passes with 30 instead of one pass with 10 ( i used as low as 1 stronger one and almost eliminate all the lines) to do the job.
    Quote Quote  
  8. Banned
    Join Date
    Oct 2004
    Location
    New York, US
    Search Comp PM
    jagabo, true what's being discarded by yadif or QTGMC is interpolated material -- so, in effect, nothing is "lost". I find I just have to be careful with those two plugins, as sometimes I eel something is amiss in the results -- even though I use it all the time. I get better results with some mild denoising or repair before the deinterlace routine, as interpolation sometimes carries some forms of artifacts/noise/whatever across multiple frames. Most of the time, QTGMC and yadif give me "better" results. Depending on the video's specific problems, you just have to be careful and fiddle a bit.
    Last edited by sanlyn; 23rd Mar 2014 at 13:40.
    Quote Quote  
  9. There is always good, old and fully predictable BOB()
    Quote Quote  
  10. I'm not sure Bob() will work well with DeVCR(). DeVCR() compares a line to the lines above and below to determine if that line is garbage or valid picture. With Bob() those lines will be partially the garbage, making detection more difficult.
    Quote Quote  



Similar Threads

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