## Weave / WeaveColumns / WeaveRows

`Weave` (clip)

`Weave` is the opposite of `SeparateFields`: it takes pairs of fields from the input video clip and combines them together to produce interlaced frames. The new clip has half the frame rate and frame count. `Weave` uses the frame-parity information in the source clip to decide which field to put on top. If it gets it wrong, use `ComplementParity` beforehand or SwapFields afterwards.

All AviSynth filters keep track of field parity, so ``Weave`` will always join the fields together in the proper order. If you want the other order, you'll have to use `ComplementParity`, `AssumeTFF` or `AssumeBFF` beforehand or `SwapFields` afterwards.

From verions 2.5.6 this filter raises an exception if the clip is already frame-based. You may want to use `AssumeFieldBased` to force weave a second time. Prior versions did a no-op for materials that was already frame-based.

`WeaveColumns` (clip, int period)
`WeaveRows` (clip, int period)

`WeaveColumns` is the opposite of `SeparateColumns`: it weaves the columns of period frames into a single output frame. The number of frames of the new clip is the ceiling of the number of frames of the input clip divided by period. WeaveColumns is a relatively slow filter due to the sparse pixel placing required by the algorithm. In some applications it may be faster to use TurnLeft/Right with WeaveRows.

`WeaveRows` is the opposite of `SeparateRows`: it weaves the rows of period frames into a single output frame. The number of frames of the new clip is the ceiling of the number of frames of the input clip divided by period. WeaveRows is a relatively quick filter, typically costing 1 output frame blit.

`$Date: 2013/01/06 13:38:34 $`