std.DoubleWeave(clip clip[, bint tff])

Weaves the fields back together from a clip with interleaved fields.

Since VapourSynth only has a weak notion of field order internally, tff may have to be set. Setting tff to true means top fields first and false means bottom fields first. Note that the _Field frame property, if present and in a valid combination, takes precedence over tff.

DoubleWeave’s output has the same number of frames as the input. One must use DoubleWeave together with SelectEvery to undo the effect of SeparateFields:

sep = core.std.SeparateFields(source)
woven = core.std.DoubleWeave(sep)
woven = core.std.SelectEvery(woven, 2, 0)

The _Field frame property is deleted and _FieldBased is set accordingly.