VideoHelp Forum




+ Reply to Thread
Results 1 to 17 of 17
  1. Hi ****

    I need to deinterlace and double framerate from 50i source to 50P. Can decomb.dll plugin do it?
    Quote Quote  
  2. No, Avisynth's decomb filter is no Bob Deinterlacer. (aside from it's FieldDeinterlace filter it's not even a deinterlacer)
    Read the DecombReferenceManual that comes with the filter and while at it you might want to read the other DecombFAQ and the DecombTutorial.
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  3. Member DB83's Avatar
    Join Date
    Jul 2007
    Location
    United Kingdom
    Search Comp PM
    Originally Posted by Selur View Post
    .......
    Read the DecombReferenceManual that comes with the filter and while at it you might want to read the other DecombFAQ and the DecombTutorial.

    Funniest thing I've read in a reply to 'catman' in a long time
    Quote Quote  
  4. Try this TFM function:

    Code:
    # smart bob a video using TFM
    
    function TFMBob(clip v)
    {
        v.GetParity() ? Interleave(TFM(v, field=1), TFM(v, field=0)) : Interleave(TFM(v, field=0), TFM(v, field=1))
    }
    Quote Quote  
  5. Originally Posted by marcorocchini View Post
    I need to deinterlace and double framerate from 50i source to 50P.
    You mean to say 25i. If you bob 50i (and there's no such thing), you'll get 100p. There are plenty of bobbers, both good and bad, but Decomb isn't one of them. Is there any particular reason you insist on using Decomb?
    Quote Quote  
  6. Wild guess: iirc Handbrake calls their deinterlacer decomb and some folks think DGs decomb is related to it.
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  7. Originally Posted by manono View Post
    Originally Posted by marcorocchini View Post
    I need to deinterlace and double framerate from 50i source to 50P.
    You mean to say 25i. If you bob 50i (and there's no such thing), you'll get 100p. There are plenty of bobbers, both good and bad, but Decomb isn't one of them. Is there any particular reason you insist on using Decomb?
    I don't like the vernacular that has sprung up the past five years for describing interlaced video. However, the OP is only following the current, albeit crazy, convention of calling 25 fps interlaced (a.k.a., PAL) "50i". The same is true for 29.97 fps interlaced being referred to as 60i. I guess the idea is to have the number describe how many temporal events the video has per second with the "i" or "p" telling you whether the video is interlaced or progressive.
    Quote Quote  
  8. Whether i or p, the number (25, 50, 23.976, 29.97, 59.94. 60, whatever) refers to FPS. FPS means frames per second, not fields per second. When you use a bobber you double the framerate. You bob not from 50 to 50, but from 25 to 50, in this case.

    Does it really matter how the majority handle the issue? Don't you think that on a specialist video site we should be precise in the use of terms? Should it really be, "Yes, it's really 25fps interlaced but I understand if he wants to call it 50 fields per second"? Go ahead if you like. Me, I find it confusing and unintuitive. Until several years ago there was no issue. 25i wasn't called 50i. Now it often is.
    Quote Quote  
  9. Manono, I don't disagree with anything you say. I just didn't see the point in bringing it up in your response because it adds confusion to the answer, and it makes it sound like you don't think the OP knows what he's talking about. I dislike the 50i and 60i terminology just as much as you do, but neither you nor I can do one single thing to change its usage.

    I could write 100 pages listing all the phrases and uses of the language that bother and, sometimes, even disgust me.
    Last edited by johnmeyer; 25th Jun 2020 at 18:22.
    Quote Quote  
  10. Originally Posted by johnmeyer View Post
    ...because it adds confusion to the answer, and it makes it sound like you don't think the OP knows what he's talking about.
    He doesn't. He wants to double the framerate from 50 to 50. If Selur is correct, that cat person is doubly confused, mistaking the Handbrake Decomb with the earlier AviSynth IVTC also named Decomb. And that confusion (if correct) is exactly the kind of thing I'm talking about (or writing about). The name of an already established and respected AviSynth filter is expropriated by program developers that can't be bothered to use already established terms to better name their filter and describe what they want it to do. As a result, people aren't sure which is which and become confused.
    Last edited by manono; 26th Jun 2020 at 14:01.
    Quote Quote  
  11. Image
    [Attachment 53965 - Click to enlarge]


    25i yes, not 50i: sorry I'm a ***

    function TFMBob works (using TIVTC) but it' slow

    I cannot use yadif because strangely my NLE not in all situations interpret correctly the source (I don't know why).

    bob() is too low quality

    LeakKernelDeint "works" but quality semms it's not very good

    QTGMC works but seems too slow

    ...
    Quote Quote  
  12. function TFMBob works (using TIVTC) but it' slow
    *gig* misusing an ivtc filter for bobbing and expecting fast results,... you really should try to read up on what you are trying to do,...

    You are in luck there are tons of different deinterlacing filters available for Avisynth, a few are listed over at http://avisynth.nl/index.php/External_filters#Deinterlacing they all have their pro and contra points. Depending the source filter you use, the source filter might even offer to use a vpu based deinterlacing option.
    Read about them do some testing and decide which is best suited for you purposes.
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  13. I've tried variations of the TFMBob function after Katie offered her version of it in the DS9 upscale thread at doom9. She uses (in my opinion) rather odd settings for TFM, but I tried it anyway, as I can see the merit for hybrid video in some situations. Because it field matches, the film sections end up 60fps with repeated frames as though you've bobbed them, only without actually bobbing them, while the interlaced (video) sections are de-interlaced to 60fps.

    Does TFM actually "bob" though, or does it blend interlaced (video) fields together using various techniques? If so, you could probably get it to truly bob "video" sections by taking the de-interlaced frames from an external clip using the Clip2 argument and pp<5, while for "film" sections it'd just field match unless it detects combing.

    TDeint has a field matching mode, but that mode only outputs 30fps, so I can't imagine using it myself. For Hybrid content I'd generally prefer to do a variable frame rate encode anyway, but it's a pity there's not a filter with a 60fps mode that can field match film sections and bob de-interlace video sections.

    jagabo,
    would this be right for using QTGMC to bob de-interlace the video sections, or would you need to change SelectEven and SelectOdd according to parity? I can't quite get my head around it.

    Code:
    function TFMQBob(clip v)
    {
    DV = v.QTGMC()
    DV1 = DV.SelectEven()
    DV2 = DV.SelectOdd()
    
    GetParity(v) ? \
    Interleave(TFM(v, field=1, Clip2=DV1, PP=2), TFM(v, field=0, Clip2=DV2, PP=2)) : \
    Interleave(TFM(v, field=0, Clip2=DV1, PP=2), TFM(v, field=1, Clip2=DV2, PP=2))
    }
    Last edited by hello_hello; 26th Jun 2020 at 18:46.
    Quote Quote  
  14. Originally Posted by hello_hello View Post
    Does TFM actually "bob" though, or does it blend interlaced (video) fields together using various techniques?
    TFM is primarily a field matcher. It starts with one field then looks at the field(s) before and after and merges the the one that yields the least comb artifacts. Then its post processor examines the frame for comb artifacts. It if doesn't find any it simply passes the frame on. If it does find comb artifacts it runs a deinterlacer much like yadif. In parts of the frame where there are no comb artifacts it keeps both fields. In parts of the frame where there are artifacts it runs a fairly simple interpolation deinterlacer. Unless you provide a deinterlaced clip2 -- in which case it uses pixels from clip2.

    But you can control which field it starts with in the first step. So interleaving TFM(field=0) and TFM(field=1) is a real smart bob deinterlacer.

    Your TFMQBob script appears work properly for both TFF and BFF sources. But with true interlaced material you might as well just use QTGMC. I'm guessing the OP has a video that's a mix of progressive and interlaced sections.
    Quote Quote  
  15. Originally Posted by marcorocchini View Post
    QTGMC works but seems too slow
    I often bob using YadifMod. You'd use it like this:

    yadifmod(mode=1, edeint=nnedi3(field=-2))

    In addition to YadifMod, you also need Nnedi3 and some Microsoft Visual stuff which you probably already have. It's listed on the YadifMod page. You also have to make sure the field order is correct before bobbing. It's way faster than QTGMC and almost as good. I don't know if not being able to use Yadif also means you can't use YadifMod. Never know till you try.
    Quote Quote  
  16. I have try to use only NNEDI3

    Code:
    Import("v:\automazioneclip\avisynth\plugins\IResize.avsi")
    LoadPlugin("v:\automazioneclip\avisynth\plugins\LSMASHSource.dll")
    
    LoadCPlugin("V:\automazioneclip\AviSynth\plugins+\NNEDI3\nnedi3.dll")
    
    LWLibavVideoSource("V:\Sfilata2019\A\C0001.MXF").NNedi3(field=-2)
    
    AssumeFPS(50)
    Prefetch(8)
    output seems realtime and good but CPU usage is high and the fan of the pc is alwais to the max when the clip is recalled by NLE
    Quote Quote  
  17. No sorry, I'm wrong

    cat

    .

    Please consider this :

    function deinterlacciaEdoppiaFrameRate(clip c)
    Code:
    {
    LoadCPlugin("V:\automazioneclip\AviSynth\plugins+\yadifmod\yadifmod2.dll")
    LoadCPlugin("v:\automazioneclip\AviSynth\plugins+\NNEDI3\nnedi3.dll")
      yadifmod2(c,order=1,mode=1,edeint=nnedi3(c,field=-2))
    }
    Now I need to insert a line at the begenning that convertToYV16()

    and a line at the end so convertToYUY2()

    so the final output is YUY2. Is it lossless this operation? and how I have to modify the script to include this?
    Quote Quote  



Similar Threads

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