PDA

View Full Version : Vdub telling me progressive video still has field order


Poof
28th August 2008, 22:58
I was looking at fileinfo() (.avs) through vdub of an avi i have in order to find the field order, it says its not fieldbased but that its lower field first. I was looking this up so that i know what to set CCE to, so does field order matter when encoding a progressive source? On a similar note, are mpeg2's always progressive or interlaced, or are they always the same as their source?

Poof
30th August 2008, 02:58
no one can answer a simple question? or did i already reach the extent of what this forum has to offer?

neuron2
30th August 2008, 03:29
Better adjust your attitude, pal, or you'll get a bad rep and nobody will want to pay any attention to you. Whining for a response after one day can get you a strike as well.

I was looking at fileinfo() (.avs) through vdub of an avi i have in order to find the field order, it says its not fieldbased but that its lower field first. You need to read the Avisynth documentation. You apparently do not understand what those things really mean.

does field order matter when encoding a progressive source No, as long as the fields are aligned properly in frames (no phase shift).

On a similar note, are mpeg2's always progressive or interlaced, or are they always the same as their source? They are not always anything.

Poof
30th August 2008, 05:56
"fields are aligned properly in frames"? is that something i have to check for? Where is the tutorial for something like that?

And where in the documentation does it explain "what those things really mean?" This is all it says:


Info (clip)

Present in v2.5. It gives info of a clip printed in the left corner of the clip. The info consists of the duration, colorspace, size, fps, whether it is field (you applied SeparateFields) or frame based (you didn't apply SeparateFields), whether AviSynth thinks it is bottom (the default in case of AviSource) or top field first, whether there is audio present, the number of channels, sample type, number of samples and the samplerate. In v2.55 a CPU flag is added with supported optimizations.


So that tells me that avisynth doesnt have a clue what field order it is, but it guesses anyways, even if the source is progressive and has no field order. That sounds like one hell of a program, i have enough trouble with programs that make sense.

They are not always anything.


Better adjust your attitude, pal. Thanks for the detailed reply.

blutach
30th August 2008, 08:35
@poof - you have been told before about your attitude and your response is to be rude to the moderator?

Struck for rule 4.

Do re-read the rules, or your time here may be short.

Regards

neuron2
30th August 2008, 14:38
"fields are aligned properly in frames"? is that something i have to check for? Where is the tutorial for something like that? If you open the video in VirtualDub and you do not see any combing, then the fields are aligned. You can also use SeparateFields to step through the fields and check that corresponding fields are in the same frame.

So that tells me that avisynth doesnt have a clue what field order it is, but it guesses anyways, No, it doesn't guess. It has a clip property called field order. You can set it as needed using AssumeTFF() or AssumeBFF(). Many filters need to know the field order and this is the mechanism for specifying it. Avisynth does not perform any heuristics or analysis to try to determine the field order. It defaults to BFF (if I remember correctly) if you do not set it.

That sounds like one hell of a program, i have enough trouble with programs that make sense. It makes sense when you understand it. It's important to get the field order correct for some filters and computers cannot determine it reliably. So the human user determines it and sets it. There are well-known methods for determining field order. Here is one from my Decomb tutorial:

-----
It is essential to set the field order properly for correct rendering. The field order is obtained from Avisynth and can be set using the AssumeTFF() or AssumeBFF() functions in your script before invoking Telecide(). Set AssumeTFF() for top field first; use AssumeBFF() for bottom field first. Because setting it correctly is so important, you are strongly encouraged not to make assumptions about the field order of a clip, but rather to verify the field order using the following procedure.

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 and you must use AssumeTFF(). If the motion is incorrect, then your field order is bottom field first and you must use AssumeBFF(). If you want to double check things, you can use AssumeBFF.SeparateFields() to check correct operation for bottom field first.
-----

Additionally, if the clip is progressive, motion will be correct for both AssumeTFF() and AssumeBFF(), i.e., field order does not matter.

Enough details for you? :helpful:

Poof
2nd September 2008, 07:33
Well thank you for the detailed reply. That explains everything i wanted to know.

I just wanted to inform you that if information like that were more readily available to us noobies, we wouldnt be on here asking you redundant questions. While you describe how to determine field order in your decomb tutorial, nowhere is there a simple "how do i determine field order" page, where the noobie would have to had try to use your decomb filter and read your tutorial to discover that trick. Moreso ive noticed in most tutorials is the absence of explanations as to why something like field order is significant, in which applications is it important to know, and what can happen if it is incorrect. There simply is no broad perspective to explain the significance, purpose, results and relationships of all aspects of encoding and processing.

The mere lack of information and cohesion among existing bits of information makes using avisynth or virtualdub a frustrating futile experience.

neuron2
2nd September 2008, 14:01
The first result in a simple Google search returns the process for determining field order:

http://www.google.com/search?sourceid=navclient&ie=UTF-8&rls=GGLD,GGLD:2005-08,GGLD:en&q=how+to+determine+field+order+site%3aforum%2edoom9%2eorg
[how to determine field order site:forum.doom9.org]

I've added two questions to the FAQ at my site to try to address your concern.