<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "VideoToolbox",
  "identifier" : "/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Video Toolbox"
    ],
    "preciseIdentifier" : "c:objc(cs)VTLowLatencyFrameInterpolationConfiguration"
  },
  "title" : "VTLowLatencyFrameInterpolationConfiguration"
}
-->

# VTLowLatencyFrameInterpolationConfiguration

Configuration that you use to program Video Toolbox frame processor for low-latency frame interpolation.

```
class VTLowLatencyFrameInterpolationConfiguration
```

## Overview

This configuration can do either purely temporal interpolation (frame-rate conversion) or temporal and spatial
interpolation (scaling and frame-rate conversion). This processor requires a source frame and a previous frame. It
does temporal scaling, which interpolates frames between the previous frame and the source frame. When performing
both temporal and spatial interpolation, the processor can only perform 2x upscaling, and a single frame of temporal
interpolation. When performing spatial scaling, the processor produces upscaled intermediate frames and an upscaled
`sourceFrame`, but it does not upscale the previous reference frame you provided.

> Important: When calling ``doc://com.apple.videotoolbox/documentation/VideoToolbox/VTFrameProcessor/startSession(configuration:)`` to create a `VTLowLatencyFrameInterpolation`
> session, ML model loading may take longer than a frame time. Avoid blocking the UI thread or stalling frame rendering
> pipelines during this call.

## Topics

### Creating a frame interpolation configuration

[`-  initWithFrameWidth:frameHeight:numberOfInterpolatedFrames:`](/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/init(frameWidth:frameHeight:numberOfInterpolatedFrames:))

Creates a new low-latency frame interpolation configuration for frame-rate conversion.

[`-  initWithFrameWidth:frameHeight:spatialScaleFactor:`](/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/init(frameWidth:frameHeight:spatialScaleFactor:))

Creates a new low-latency frame interpolation configuration for spatial scaling and temporal scaling.

### Determining processor availability

[`supported`](/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/isSupported)

Reports whether the system supports this processor.

### Inspecting the configuration

[`frameWidth`](/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/frameWidth)

Width of source frames in pixels.

[`frameHeight`](/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/frameHeight)

Height of source frames in pixels.

[`numberOfInterpolatedFrames`](/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/numberOfInterpolatedFrames)

Number of uniformly spaced frames for which you configured the processor.

[`spatialScaleFactor`](/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/spatialScaleFactor)

Configured spatial scale factor as an integer.

[`sourcePixelBufferAttributes`](/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/sourcePixelBufferAttributes)

Pixel buffer attributes dictionary that describes requirements for pixel buffers which represent source frames and reference frames.

[`destinationPixelBufferAttributes`](/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/destinationPixelBufferAttributes)

Pixel buffer attributes dictionary that describes requirements for pixel buffers which represent destination frames.

[`frameSupportedPixelFormats`](/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/frameSupportedPixelFormats)

Available supported pixel formats for current configuration.

[`supportedPixelFormats`](/documentation/VideoToolbox/VTLowLatencyFrameInterpolationConfiguration/supportedPixelFormats)

## Relationships

### Conforms To

[`Sendable`](/documentation/Swift/Sendable)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Hashable`](/documentation/Swift/Hashable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`VTFrameProcessorConfiguration`](/documentation/VideoToolbox/VTFrameProcessorConfiguration)

[`Equatable`](/documentation/Swift/Equatable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CVarArg`](/documentation/Swift/CVarArg)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)