24 lines
855 B
Text
24 lines
855 B
Text
|
DoubleWeave
|
||
|
===========
|
||
|
|
||
|
.. function:: DoubleWeave(vnode clip[, bint tff])
|
||
|
:module: std
|
||
|
|
||
|
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.
|