VideoHelp Forum
+ Reply to Thread
Results 1 to 13 of 13
Thread
  1. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    Hi all,

    With 3:2 pulldown, 4 frames ABCD are converted to 5 frames (10 fields) AA AB BC CC DD. To IVTC the resulting video, I should say: combine the two fields of the first frame to get the original frame 1, combine the second field of the second frame and the first field of the third frame to get the original frame 2, combine the two fields of the fourth frame to get the original frame 3, and combine the two fields of the fifth frame to get the original frame 4. This way, the original video should be restored perfectly, they should be 100% identical. But as I read everywhere, this is not the case apparently (I read that artifacts can occur when IVTC is applied). But why does this method not work?
    Quote Quote  
  2. Telecined video is often edited after being telecined. This can leave orphaned fields (a field where the complimentary field is no longer present).

    For example, in your example: AA AB BC CC DD the video could be cut between the BC and CC frames. The second part of the C frame is gone.

    Editing after telecine also means software may have to adapt to the changes in telecine pattern and may make mistakes. In fact, the simple fact that these issues exist means all the automatic IVTC algorithms are continuously looking for them. So even with perfect telecined videos they may occasionally make mistakes.

    Even worse, broadcasters will often reduce the running time of video by occasionally throwing out frames (to make room for more ads). Every time a frame is discarded there is a break in the telecine pattern.
    Quote Quote  
  3. Member AlanHK's Avatar
    Join Date
    Apr 2006
    Location
    Hong Kong
    Search Comp PM
    IVTC does work if the pulldown is perfectly applied: AA AB BC CC DD

    The artifacts arise when it isn't, when the sequence is scrambled, or other video is overlaid, if it's stretched or compressed, blended, etc, etc.

    Animation is notorious for weird framerates.

    That's why there are so many IVTC tools, Avisynth scripts, and so on.
    Quote Quote  
  4. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    Okay, thanks. But if I have a 23.976 video and apply 3:2 pulldown to it, and I leave it that way, I should be able to perfectly IVTC it? And in this case, could this be done using the regular avisynth filters (such as separating the fields and combining specific fields to reproduce the original video)?
    Quote Quote  
  5. If it's had pulldown applied then I assume you're doing this for DVD. In that case you don't have to IVTC at all. You just use DGIndex with the Field Operation set for Forced Film and get an already perfect 23.976fps D2V project file for use in your script. This applies to any progressively encoded MPEG-2 video with pulldown applied. You only have to IVTC the hard telecined or soft/hard telecine mixed MPEG-2 videos.
    Originally Posted by loekverhees
    But if I have a 23.976 video and apply 3:2 pulldown to it, and I leave it that way, I should be able to perfectly IVTC it? And in this case, could this be done using the regular avisynth filters (such as separate the fields en combine specific fields to reproduce the original video)?
    Yes, but what's the point when there's a much easier way?
    Quote Quote  
  6. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    Thanks for that 'Forced Film' recommendation, I didn't know that.

    Originally Posted by manono
    Yes, but what's the point when there's a much easier way?
    It was not my intention to actually use this method, I just asked it to be sure I understood it .
    Quote Quote  
  7. Originally Posted by loekverhees
    Okay, thanks. But if I have a 23.976 video and apply 3:2 pulldown to it, and I leave it that way, I should be able to perfectly IVTC it?
    Yes with something like:
    Code:
    SeparateFields()
    SelectEvery(10, 0,1, 2,3, 5,6, 8,9)
    Weave()
    The exact SelectEvery() arguments will depend on where you start with the pulldown.
    Quote Quote  
  8. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Originally Posted by jagabo
    Code:
    SelectEvery(10, 0,1, 2,3, 5,6, 8,9)
    The exact SelectEvery() arguments will depend on where you start with the pulldown.
    Yes, but that "5,6" doesn't seem right.
    Shouldn't each pair be (even, odd) to select frames with the correct parity? (Or all (odd, even))
    Quote Quote  
  9. AviSynth keeps track of which fields are top fields and which are bottom fields. It will weave fields 5 and 6 correctly. If you want you can reverse their order:

    SelectEvery(10, 0,1, 2,3, 6,5, 8,9)

    The end result will be the same.

    four film frames:
    A B C D

    2:3 pulldown:
    Aa BbB cC dDd

    paired into frames:
    Aa Bb Bc Cd Dd



    SeparateFields:
    A a B b B c C d D d
    0 1 2 3 4 5 6 7 8 9 (numbers for convenience)

    SelectEvery(10, 0,1, 2,3, 5,6, 8,9):
    A a B b c C D d

    Weave():
    Aa Bb cC Dd (AviSynth knows c is lower field and C is upper field and will combine them correctly)
    Quote Quote  
  10. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    If the sequence is:
    Code:
    AA AB BC CC DD
    01 23 45 67 89
    Shouldn't it be this?
    Code:
    SelectEvery(10, 0,1, 3,4, 5,6, 8,9)
    Quote Quote  
  11. Originally Posted by loekverhees
    If the sequence is:
    Code:
    AA AB BC CC DD
    01 23 45 67 89
    Shouldn't it be this?
    Code:
    SelectEvery(10, 0,1, 3,4, 5,6, 8,9)
    Yes. That's why I said the exact pattern would depend on where in the pulldown you started.
    Quote Quote  
  12. Member
    Join Date
    Jun 2005
    Location
    The Netherlands
    Search Comp PM
    Okay, I understand.
    Quote Quote  
  13. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Originally Posted by jagabo
    AviSynth keeps track of which fields are top fields and which are bottom fields. It will weave fields 5 and 6 correctly. If you want you can reverse their order:

    SelectEvery(10, 0,1, 2,3, 6,5, 8,9)

    The end result will be the same.
    Ah, yes - thanks for clearing that up.
    The only slight oddity is that if written as (5, 6), the weaved frame will have a different parity (BFF or TFF) from the others inside Avisynth (visible via Info()).

    Of course, since the original footage was film, 5 and 6 represent the same moment in time, so their temporal order is irrelevant. Even so, for complete consistency it may be better to use (6,5) as it may matter under some obscure circumstances.
    Quote Quote  



Similar Threads

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