View Full Version : TomsMoComp: does Topfirst=-1 work well enough?
JohnMK
8th June 2003, 20:50
New - setting TopFirst=-1 will automatically pick up whatever Avisynth reports.
THIS DOES NOT SEEM TO WORK CORRECTLY WITH THE 2.5 ALPHA AND MPEG2DEC3 v 0.9 !!!
How will I know if it's not working? Rather -- what were the symptoms you observed that led you to make that comment, Tom.
trbarry
9th June 2003, 00:51
I'd forgotten I even put that in there.
But I think about the time I did it Marc FD made MPEG2DEC3 and decided it was backwards. So he reversed the flag or something. For awhile it seemed reliably almost 100% wrong but I don't remember what was done finally.
- Tom
trbarry
9th June 2003, 01:09
I guess I should expand on this a bit. The simplest way to decide the first parm of TomsMoComp is to just edit your d2v file. It will contain rows and rows of 1 digit flags. So:
0) If all those flags are mostly '0' then it is Bottom First, use TomsMoComp(0,5,1)
1) If all those flags are mostly '2' then it is Top First, use TomsMoComp(1,5,1)
If all those flags are mixed values or something else then it is probably telecined film, and you should probably be using Decomb instead of TomsMoComp anyway.
- Tom
@trbarry
If these are the same flags used here:
http://forum.doom9.org/showthread.php?s=&postid=310156#post310156
Couldn't they be unreliable in this case as well?
Best regards,
Bilu
JohnMK
9th June 2003, 01:50
So I just screwed my encode & wasted 12 hours becuase I used -1? :D Damn. How will I know for sure if it's messed up? I don't really like subjective measurements, as I have a rather bad eye for these things.
neuron2
9th June 2003, 03:54
If the D2V is completely interlaced, i.e., all 0s or all 2s, then it is reliable to use that information. If it has 3:2 content it is more difficult and involved to describe how to get it right.
It is better to use the simple procedure I gave in the Decomb 5 Tutorial to determine a clip's field order:
To determine the field order, make an Avisynth script that serves the raw clip without any processing. If it were an AVI, then just AviSource() would be used. For our examples, we'll use AviSource(). Add a script line to separate the fields using top field first, as follows:
AviSource("your_clip.avi")
AssumeTFF().SeparateFields()
Now serve the script into VirtualDub and find an area with motion. Single step forward through the motion. Note whether the motion progresses always forward as it should, or whether it jumps back and forth as it proceeds. For example, if the field order is wrong, an object moving steadily from left to right would move right, then jump back left a little, then move right again, etc. If the field order is correct, it moves steadily to the right.
If the motion is correct with AssumeTFF().SeparateFields(), then your field order is top field first. If the motion is incorrect, then your field order is bottom field first. If you are want to double check things, you can use AssumeBFF.SeparateFields() to check correct operation for bottom field first.
JohnMK
9th June 2003, 04:16
Thank you Donald, I appreciate that, illuminating as always. :)
My main question, however, is rather point blank: does TopFirst=-1 work now in modern Avisynth & modern mpeg2dec3 (Nic's) when dealing with pure interlaced material?
trbarry
13th June 2003, 17:30
John -
I am looking into this and will post back shortly.
- Tom
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.