Log in

View Full Version : BFF -> TFF using DoubleWeave().SelectOdd()


Steve56
24th May 2004, 21:53
I encode PAL DV clips through AviSynth in CCE, as anybody knows CCE likes to treat the video as TFF.

"Encoding BFF video and afterwards changing FieldOrder Flag with ReStream or similar isn't that good for mpeg motion vectors"

That's what I've found on different threads. Could anyone explain why exactly is this?
I think CCE encodes a pair of fields in one frame anyway, isn' it?

Instead using ReStream to change the FieldOrder flag, I now do it the AviSynth way: DoubleWeave().SelectOdd()
Only problem with this is that it discards the first and doubles the last bottom field of the source video, therefore I do replace the last duplicated bottom field with a blank field.

Does anyone know of a better, or shorter way to accomplish the same? Or even better, if there's a way to IVTC Progressive NTSC material converted to PAL. (I assume, many broadcasted music videos are shot filmbased?!)

Steve56

Guest
25th May 2004, 00:22
Try Simon Walters' Reverse Field Dominance Filter:

http://www.geocities.com/siwalters_uk/fnews.html

scharfis_brain
25th May 2004, 13:30
the problem while reversing the fieldorder is, that you're shifting the video 1/50 sec im time. You cannot do anything against this.

It would work, but will give you an extremely blurred video.
(I will not write that code here...)

bad FILM -> NTSC -> PAL conversion can be successfully reconverted using restore24.

Take a look at the - restore24 revisted - Thread

Steve56
25th May 2004, 17:56
@neuron2, scharfis_brain:
Thanks to both of you for your replies!

I've read these threads too:
http://forum.doom9.org/showthread.php?s=&threadid=46765
http://forum.doom9.org/showthread.php?s=&threadid=53369

But I think I'll stick to the discard-first-field technique for now. (I can pad with blank fields at the start and end of the video if needed, so that no image information is lost.)

I've put the code a little more compact:dv=AviSource("G:\janet-canopus.avi")
black=BlankClip(dv,1)
UnalignedSplice(dv,black)
DoubleWeave().Trim2(0,-1).SelectOdd()
Steve56