---
title: "init(postProcessingAsVideoLayers:in:)"
framework: avfoundation
role: symbol
role_heading: Initializer
path: "avfoundation/avvideocompositioncoreanimationtool/init(postprocessingasvideolayers:in:)"
---

# init(postProcessingAsVideoLayers:in:)

Composes the composited video frames with the Core Animation layer.

## Declaration

```swift
convenience init(postProcessingAsVideoLayers videoLayers: [CALayer], in animationLayer: CALayer)
```

## Parameters

- `videoLayers`: An array containing the video layers
- `animationLayer`: The animation layer.

## Return Value

Return Value A new AVVideoCompositionCoreAnimationTool instance with the composited video frames and the rendered animation layer.

## Discussion

Discussion Duplicates the composited video frames in each videoLayer and renders animationLayer to produce the final frame. The videoLayers should be in animationLayer’s sublayer tree. The animationLayer should not come from, or be added to, another layer tree. note: On iOS, a layer instance backing a UIView usually have their content flipped, as defined by the contentsAreFlipped() method. It may be required to insert a CALayer instance with its isGeometryFlipped property set to true in the layer hierarchy to get the same result when attaching a layer to the receiver when the layer backs a UIView.

## See Also

### Creating a composition tool

- [init(additionalLayer:asTrackID:)](avfoundation/avvideocompositioncoreanimationtool/init(additionallayer:astrackid:).md)
- [init(postProcessingAsVideoLayer:in:)](avfoundation/avvideocompositioncoreanimationtool/init(postprocessingasvideolayer:in:).md)
- [init(configuration:)](avfoundation/avvideocompositioncoreanimationtool/init(configuration:).md)
- [AVVideoCompositionCoreAnimationTool.Configuration](avfoundation/avvideocompositioncoreanimationtool/configuration.md)
