Log in

View Full Version : Field order problem


Floatingshed
23rd September 2010, 12:27
I'm having problems changing the field order of this clip. It is BFF and I simply want it TFF otherwise it won't play on my standalone.

Simple, I thought, just use Swapfields(). This works to some extent but the diagonals go jagged and there is an overall vertical jitter which is very ugly.

Any help would be much appreciated. Here's a 5mb sample:

http://www.mediafire.com/?cr6yeerjo4kyvvd

Thanks.

Vitaliy Gorbatenko
23rd September 2010, 12:34
Swapfields()
AssumeTFF()
?

pandy
23rd September 2010, 12:54
ReverseFieldDominance()

Alex_ander
23rd September 2010, 13:04
DoubleWeave().SelectOdd()

Swapfields() will mix up top/bottom within frame.

Floatingshed
23rd September 2010, 13:14
DoubleWeave().SelectOdd()

Swapfields() will mix up top/bottom within frame.

Perfect, many thanks.

Hagbard23
23rd September 2010, 14:07
I would suggest:

complementparity()

http://avisynth.org/mediawiki/Parity

Alex_ander
24th September 2010, 09:53
I would suggest:

complementparity()

http://avisynth.org/mediawiki/Parity

Doesn't ComplementParity just assume the opposite field order?
That's what one may conclude from its description - verbatim: 'it changes each frame's dominant field (bottom-dominant to top-dominant and vice-versa)'. No field exchange between frames is mentioned. If so, it wouldn't help here.
I know just 2 ways:
a) to combine different pairs of fields into new frames with the very first field removed (the example with DoubleWeave, above)
b) to remove a line in each frame and add an empty one to that field (it wouldn't work with YV12), that is done in ReverseFieldDominance external plugin (YUY2/RGB) by Simon Walters.

So what does ComplementParity really do (in addition to its description)?

Gavino
24th September 2010, 10:40
Doesn't ComplementParity just assume the opposite field order?
That's what one may conclude from its description - verbatim: 'it changes each frame's dominant field (bottom-dominant to top-dominant and vice-versa)'. No field exchange between frames is mentioned. If so, it wouldn't help here.
That's correct - ComplementParity just changes the assumed field order (like Assume[BT]FF), the actual frames are not changed in any way.

Hagbard23
24th September 2010, 11:10
Please read the AviSynth Wiki...

If the input clip is field-based, ComplementParity changes top fields to bottom fields and vice-versa.

For all other (including the ones mentioned by you both) purposes, there is the AssumeTFF/BFF call...

Gavino
24th September 2010, 11:33
The documentation is slightly misleading.
When it says 'changes top fields to bottom fields ...", it is talking about the assumed field order, nothing more.
I can assure you that all the filter does is reverse the flag that indicates BFF or TFF.

Hagbard23
24th September 2010, 11:38
so when i call Complement Parity with the correct BFF/TFF Flag, the result would be stuttering?

yes it will - i've read it a few seconds ago...the wiki is <indeed> a littlebit misleading...

Floatingshed
24th September 2010, 19:18
Thanks for all the help.
I have tried all the things mentioned here, I too was rather confused by the wiki.
The only solution which worked was: DoubleWeave().SelectOdd().
Well, Reversefielddominance() worked too but I'd rather avoid uneccessary colour space conversions.

manolito
25th September 2010, 12:08
You could also try Stickboy's JDL_ReverseFieldDominance which is my favorite for this kind of conversion. You can find it at
http://avisynth.org/stickboy/

Cheers
manolito


Edit: Server seems to be down atm

Floatingshed
25th September 2010, 19:46
Something else to play with, thanks.