Log in

View Full Version : Progressive/Interlaced & TFF/BFF Troubleshooting


n1ck0s
14th March 2004, 13:25
I’m currently backing up "Meet Joe Black" and I had some issues w/ jerky playback. Although I don’t think it’s a Progressive/Interlaced or TFF/BFF thing, I believe it’s a good opportunity to clarify some things. Hopefully this thread can be some sort of guide of others.

The movie is a really simple one:

VTS_01 -> Main Movie
VTS_02 -> Extra stuff
VTS_03 -> Theatrical Trailer

From these three I THINK only VTS_02 is Interlaced (I’ll explain that latter).

Doing the DIF4U stuff I get:

Analyzing Video… Header Flag="Proggresive/TFF", Analysis="Interlaced/TFF"

, for all three of them VTSs, thus:

VTS__01_P01.I-BFF.16~9_1.AVS
VTS__02_P01.I-BFF.4~3_1.AVS
VTS__03_P01.I-BFF.16~9_1.AVS

I am aware that DIF4U cannot determine that info correctly but opening the corresponding .avs scripts:

VTS_01
import("C:\Program Files\DoItFast4U\new.avs\addaudio.avs")
LoadPlugin("C:\Program Files\DoItFast4U\new.d2v\mpeg2dec3dg.dll")
Mpeg2Source("VTS__01_P01.I-BFF.16~9_1.d2v",idct=0)
LoadPlugin("C:\Program Files\DoItFast4U\new.avs\decomb.dll")
FieldDeinterlace()
AddAudio()
ConvertToYUY2(interlaced=true)

VTS_02 & VTS_03
import("C:\Program Files\DoItFast4U\new.avs\addaudio.avs")
LoadPlugin("C:\Program Files\DoItFast4U\new.d2v\mpeg2dec3dg.dll")
Mpeg2Source("…",idct=0)
AddAudio()
ConvertToYUY2(interlaced=true)

QUESTION #1: How exactly does DIF4U work here? Since all files are named I-BFF (analyzed as Interlaced) why the first .avs script is different from the other two? Why VTS_02 and VTS_03 are not being Deinterlaced?

QUESTION #2: In order to find out if VTS_01 is Interlaced or not I should delete the FieldDeinterlace() line first and then open .avs w/ media player, right?

POSSIBLE ANSWER: If FieldDeinterlace() is absent, opening .avs script w/ Media layer Classic, someone should be able to spot the "comb" effect rather easily. Even if FieldDeinterlace() is there, certain artifacts remain

I open all three .avs scripts w/ media player classic. VTS_01 looks ok (I think it should look ok anyhow since there is the Deinterlaced function present). Deleting the lines:

LoadPlugin("C:\Program Files\DoItFast4U\new.avs\decomb.dll") FieldDeinterlace()

, seems to have no effect on the stream, thus we are most likely dealing w/ Progressive material (which is true for the main movie of most PAL disks).

QUESTION #3: Should I then delete those two lines for VTS_01 (since they are not needed of course)? Won’t encoding be slower with those lines present even though they probably don’t have any other side-effects?

POSSIBLE ANSWER: Deinterlacing does make encoding slower. It seems that it doesn't effect encoding quality, when material is progressive, but its not needed it shouldn't be there.

Opening .avs for VTS_02, I can clearly see the "comb" effect, especially during scene changes.

http://briefcase.pathfinder.gr/download/n1ck0s/18285/229790/0/1.jpg

Adding lines:

LoadPlugin("C:\Program Files\DoItFast4U\new.avs\decomb.dll")
FieldDeinterlace()

, result to this

http://briefcase.pathfinder.gr/download/n1ck0s/18285/229791/0/2.jpg

Things are better, "comb" effect is mostly gone (some artifacts are still there). "Ghosting" on the other hand (or at least what I THINK "ghosting" is) is still present.

QUESTION #4: Will these artifacts effect encoding? IS there "ghosting" in the above picture or I’ve the wrong impression of what "ghosting" is? If it IS "ghosting" wasn’t FieldDeinterlace() enough to handle the interlaced material?

POSSIBLE ANSWER: These artifacts DO ramain after encoding if FieldDeinterlace() is used. The "ghosting" effect however disappeares if FieldDeinterlace(blend=false) is used instead. Moreover, using the Telecide() function insteaf of FieldDeinterlace() seems to do a better job (no artifacts or ghosting).

Opening .avs for VTS_03 has the same behavior as the VTS_01 script

Next, I launch BatchCCEWS. Three jobs for BatchCCEWS, all three w/ "TFF" and "Progressive" settings checked.

QUESTION #5: Why Progressive? Weren’t they analyzed as Interlaced (even if the analysis was wrong)? "BFF" in the file names means TFF for some reason but why the "I" is ignored?

POSSIBLE ANSWER: Its a BatchCCEWS fault.

I go ahead and encode w/ several setting configs

1. Original AVS script (w/o De-interlacing) and Original encoding settings (Progressive, TFF, ZigZag)
http://briefcase.pathfinder.gr/download/n1ck0s/18285/229792/0/3.jpg
2. Original AVS script (w/o De-interlacing) and "Interlaced", "TFF", "ZigZag" encoding settings
http://briefcase.pathfinder.gr/download/n1ck0s/18285/229793/0/4.jpg
3. Original AVS script (w/o De-interlacing) and "Interlaced", "TFF", "Alternate Scan" encoding settings
http://briefcase.pathfinder.gr/download/n1ck0s/18285/229794/0/5.jpg
4. AVS script w De-interlacing and Original encoding settings (Progressive, TFF, ZigZag)
http://briefcase.pathfinder.gr/download/n1ck0s/18285/229795/0/6.jpg

Probably these snapshots don’t make a good example, but these are the conclusions I made:

1. I though that messing w/ the Progressive/Interlaced settings would have a MAJOR effect but it didn’t.
2. The TFF/BFF CAN have a major effect, but only on a TV screen
3. Un-checking "Progressive" for this interlaced material, did make a difference which could be greater if more passes where used for the encoding.
4. Encoding w/ the Deinterlace function retained those artifacts spotted earlier.

QUESTION #6: Can the "ghosting" be eliminated? It seems I couldn’t make it go away :).

POSSIBLE ANSWER: Look QUESTION #4.

QUESTION #7: Should I use FieldDeinterlace() at any occasion? I am not happy w/ its results.

POSSIBLE ANSWER: Look QUESTION #4.

QUESTION #8: I am using CCE v2.67.0.0.11. Has this anything to do w/ my results?

Everyone is welcome to answer any of my questions (hopefully all :) or comment on my conclusions. When I find answers to all of my questions, I’ll make a guide/faq out of this thread. I think it could be useful.

</n1ck0s>

Paced
14th March 2004, 14:53
Sorry, I didn't have time to read your whole post, but, FieldDeinterlace() has the tendency to bring out those really 'bad' artifacts as is shown in one of your screenshots. To get rid of this, use Telecide() instead. I'll get around to your other questions when I have more time to read the entire post :) Be warned though, motion will still be pretty 'off' (most of the time it's hardly noticeable) even when using FieldDeinterlace()/Telecide(). If you want to keep the motion as smooth as possible, encode it as 'interlaced' with the right field order.

Also, you should take note that 'interlacing' is usually very hard to spot when analyzing the video yourself (that's why you hardly see any difference when the FieldDeinterlace() line is used), it's probably best to run the VTS01 VOB set through DVD2AVI (load VOBs into it, then press F5) to double check if it's interlaced or not. And, yes, FieldDeinterlace() will slow down your encoding by quite alot.

Your DVD also seems to be 'back-to-front', in most PAL DVDs these days, the movie is progressive, and the extras are interlaced - this explains why you have different AVS scripts (one requires deinterlacing, the other doesn't).

I'm pretty sure it's not "ghosting", you've just captured it in a scene where motion is in place (ie, his head is moving, and so are his fingers). I think if you play the actual scene, this "ghosting" isn't there.

n1ck0s
15th March 2004, 14:13
Thx for the reply, i edited my post using your info.

</n1ck0s>

Paced
15th March 2004, 16:10
Just thought I'd come by and answer a few more questions:

1. I've already answered this in my previous post.
2. I answered this also, use a third party program such as DVD2AVI or BitrateViewer to determine if the stream is interlaced or not.
3. You've got it right, delete the FieldDeinterlace()/Telecide() line if the source is shown to be progressive (you'll just be wasting time with those lines added).
4. You've answered this, but I'll say it again, PAL users should use Telecide() to avoid these artifacts.
5. Problem found.
6. Problem found.
7. Problem found.
8. No, that version of CCE has no effect on what you have/are experiencing.

n1ck0s
16th March 2004, 19:41
thx again ;)

Eyes`Only
17th March 2004, 08:41
PAL DVDs should not have any decomb scripts created by DoItFast4U! by default. The only way you should get scripts like that is if you 1) do NTSC, or 2) check the video types manually per VTS.

I didn't reply to your post because it is just way too confusing to me, seems like you're answering yourself constantly and my brain can't process replies because it just can't work like that! :confused:

RobertR
17th March 2004, 15:29
Originally posted by Eyes`Only
PAL DVDs should not have any decomb scripts created by DoItFast4U! by default. The only way you should get scripts like that is if you 1) do NTSC, or 2) check the video types manually per VTS.
Are you refering to 1.4.x (x>0) betas or DIF4U at all? Or maybe even on PAL DVDs the 'AutoDetect NTSC' should be on? I had impression that on PAL DVDs this doesn't matter.
I didn't reply to your post because it is just way too confusing to me, seems like you're answering yourself constantly and my brain can't process replies because it just can't work like that! :confused:
Yup! 100% right.. (just wanted you to know that you are not alone with this ;)

Eyes`Only
17th March 2004, 15:32
I coded that function so that if PAL DVDs are detected, AutoDetect Video Type has no effect in both the final and my betas (so far... there's always new ideas in the works, including the fact that we have in fact figured out a way to determine PAL-interlacing with 100% accuracy now, it's just going to take a LOT of testing and coding to get it implemented correctly!).

n1ck0s
17th March 2004, 15:57
Originally posted by Eyes`Only
PAL DVDs should not have any decomb scripts created by DoItFast4U! by default. The only way you should get scripts like that is if you 1) do NTSC, or 2) check the video types manually per VTS.
I've haven't figured that out yet! The Autodetect button is always pressed and checkboxes (interlaced and stuff) always disabled. That was one time occasion though. I've haven't seen the deinterlace function again in a script generated by DIF4U.
Originally posted by Eyes`Only
I didn't reply to your post because it is just way too confusing to me, seems like you're answering yourself constantly and my brain can't process replies because it just can't work like that! :confused:
I though it would be a good idea to make some sort of guide starting from my own question about that staff. At first there were only the questions, after some more reading and Paced's help I edited my original post to be more like a guide. I was looking for comments on my own conclusions since I THINK I've answered most of my original questions.

Its really confusing when starting to mess w/ those things. It could help other newcomers though...

Paced
17th March 2004, 16:42
Originally posted by Eyes`Only
PAL DVDs should not have any decomb scripts created by DoItFast4U! by default. The only way you should get scripts like that is if you 1) do NTSC, or 2) check the video types manually per VTS.


While we're on the subject, I'm a PAL user, and use DIF4U in conjunction with NuMenu4U - is it possible to add an option (in the future) to deinterlace menus? Here's my reasoning (sorry if it's a bit confusing): usually when I have "Autodetect NTSC Video Type" enabled, NuMenu4U automatically adds deinterlacing into its AVS scripts (which is great, because the majority of DVDs I come across have interlaced menus). However, some content on my DVDs also require deinterlacing, and adding Telecide() in every required AVS script is a bit tedious. So in order to remove this 'hassle', I manually tick Telecine (after removing the decimate line in the AVS Script Editor) for a given VTS set, which results in NuMenu4U deciding to turn off all deinterlacing scripts, and encode the menus as interlaced (this isn't good with an average bitrate of 1850). I hope this made sense :)

Eyes`Only
18th March 2004, 04:13
You've made a good point. Expect a change in the next beta. ;)

Paced
18th March 2004, 06:57
Originally posted by Eyes`Only
You've made a good point. Expect a change in the next beta. ;)

Excellent :D Thanks alot, and great work with the program :)