Log in

View Full Version : How to deal with hybrid source?


horrormaster34
18th February 2012, 22:54
I tried ripping a TV episode from a DVD I have but the video is a hybrid of Progressive and Telecine. At various points it will change between the two. I've tried using TIVTC with:
tfm()
tdecimate(mode=1,hybrid=1)

but that causes the audio to become out of sync. the video itself reports at 24000/1001 fps. If I don't force it to that, it'll report to 30000/1001 which causes the output video to be sped-up. Virtualdub on the other hand reports the video at 18. something FPS, which is clearly wrong.

manono
19th February 2012, 08:54
Make the D2V using 'Honor Pulldown Flags'. Then:

TFM(D2V="c:\oursource.d2v")
TDecimate()

I'm assuming a mix of hard and soft telecine (and not really a hybrid). If some of it is progressive 29.97fps, then you have a problem and your hybrid script is correct.
...but that causes the audio to become out of sync.
IVTCs don't cause the audio to become out of synch as the length both before and after are the same. Maybe there's something else in the script causing that. The rest of your post didn't make much sense to me. Care to post the script you're using?

horrormaster34
19th February 2012, 20:51
Not sure how I did it, but now everything works fine using DGDecode. Before it would crash, but now everything works fine.

bcsizemo
1st June 2012, 17:32
Instead of starting a whole new thread I have more or less the same issue, mixed hard and soft telecine.

I understand I can honor the pulldown flags and then IVTC the whole thing, but do I gain any quality benefit from not doing it that way (even if that is possible)?

Just looking at the first 20~ mins of video, roughly the first 5 are hard telecined, the rest is soft telecined. Here's some numbers from DGIndex:

Honored Pulldown flags:
43459 frames
29.970 fps

Ignored Pulldown flags:
37333 frames
29.970 fps

Honored Pulldown flags with IVTC and decimate:
34767 frames
23.976 fps
(Same as force film in DGIndex.)


Is there a way to IVTC and decimate only the hard telecine part while leaving the soft telecine (progressive) part alone? Shouldn't that roughly land me near the same frames as processing the full video?

manono
1st June 2012, 21:33
Is there a way to IVTC and decimate only the hard telecine part while leaving the soft telecine (progressive) part alone?
Yes, you can do that with TIVTC by giving it the D2V to refer to:

TFM(D2V="c:\oursource.d2v")
TDecimate()

It's explained in the TFM doc:

Depending on the value of the "flags" parameter, TFM will also use the d2v info for field matching
and will pass info from the d2v on to tdecimate to help aid duplicate detection and hybrid
detection.

bcsizemo
2nd June 2012, 03:35
Yes, you can do that with TIVTC by giving it the D2V to refer to:

TFM(D2V="c:\oursource.d2v")
TDecimate()

It's explained in the TFM doc:

Forgive me for being a complete noob here, but I'm not seeing how that ends up being any different than honoring the pulldown in DGIndex and doing a straight IVTC on the whole video?

From what I have read so far when using the D2V input for TFM you have to set DGIndex to honor the pulldown, so you end up with a fully telecined output. Even adding in the hints from TFM to TDecimate doesn't change the output, since the input is now a fully telecined sourced, so TDecimate can just delete the extra frame.

Without being able to input a d2v that has ignored the pulldown flags I don't see how TFM or TDecimate can only remove those frames that are now duplicated?

As a comparison to do an IVTC on a whole video I had been using this:

interp=separatefields(video).EEDI2(field=-2)
video=TDeint(mode=2, type=2, AP=20, edeint=interp)
video=TDecimate(video)

manono
2nd June 2012, 04:11
Since it uses the information from the D2V to find the correct field match it doesn't use TFM's own field matching. It also passes information onto TDecimate so the flagging not only determines the field matches, but also which frames get dropped. It's very similar to doing a 'Forced Film' on those parts.

It does check it anyway for interlacing, as it's not unheard of for frames encoded as progressive to actually be interlaced. But you can have it skip that check by changing the flag parameter from the default.

This is very different from the full IVTC where TFM uses its own algorithms to do all the field matching. One result of using the D2V parameter when a significant portion of the video is soft telecined is to lessen the chance of mistakes from TFM's field matching, and of having frames post-processed (deinterlaced) unnecessarily. Another is faster encoding.

From what I have read so far when using the D2V input for TFM you have to set DGIndex to honor the pulldown,
That's right. There are only two choices in DGIndex (not counting the 'Ignore Pulldown Flags' which you wouldn't ordinarily use), 'Honor Pulldown Flags' or 'Forced Film'. You can't use 'Forced Film'. Therefore...