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

# VTTemporalNoiseFilterParameters

Encapsulates the frame-level parameters necessary for processing a source frame using temporal noise-filter processor.

```
class VTTemporalNoiseFilterParameters
```

## Overview

This object is intended for sending input parameters into the `processWithParameters` method of the `VTFrameProcessor`
class. Temporal noise-filter processor utilizes past and future reference frames, provided in presentation time order,
to reduce noise from the source frame. The `previousFrameCount` and `nextFrameCount` properties in
[`VTTemporalNoiseFilterConfiguration`](/documentation/VideoToolbox/VTTemporalNoiseFilterConfiguration) represent the maximum number of past and future reference frames that the
processor can use to achieve optimum noise reduction quality. The number of reference frames provided shall depend
on their availability, but at a minimum, you must provide one reference frame, either past or future. The parameter
`destinationFrame` stores the output frame that the processor returns to the caller upon the successful completion
of the `processWithParameters` operation.

## Topics

### Creating a parameters object

[`-  initWithSourceFrame:nextFrames:previousFrames:destinationFrame:filterStrength:hasDiscontinuity:`](/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/init(sourceFrame:nextFrames:previousFrames:destinationFrame:filterStrength:hasDiscontinuity:))

Creates a new `VTTemporalNoiseFilterParameters` object.

### Inspecting the parameters

[`sourceFrame`](/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/sourceFrame)

Current source frame; must be non `nil`.

[`nextFrames`](/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/nextFrames)

Future reference frames in presentation time order that you use to process the source frame.

[`previousFrames`](/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/previousFrames)

Past reference frames in presentation time order that you use to process the source frame.

[`destinationFrame`](/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/destinationFrame)

Destination frame that contains a user-allocated pixel buffer that receives the output frame.

[`filterStrength`](/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/filterStrength)

A parameter to control the strength of noise-filtering. The value can range from the minimum strength of 0.0 to the maximum strength of 1.0. Change in filter strength causes the processor to flush all frames in the queue prior to processing the source frame.

[`hasDiscontinuity`](/documentation/VideoToolbox/VTTemporalNoiseFilterParameters/hasDiscontinuity)

A Boolean that indicates sequence discontinuity, forcing the processor to reset prior to processing the source frame.

## Relationships

### Conforms To

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

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

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

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

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

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

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

### 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)