<!--
{
  "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/VTMotionEstimationSessionInvalidate",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Video Toolbox"
    ],
    "preciseIdentifier" : "c:@F@VTMotionEstimationSessionInvalidate"
  },
  "title" : "VTMotionEstimationSessionInvalidate"
}
-->

# VTMotionEstimationSessionInvalidate

Tears down a motion-estimation session.

```
extern void VTMotionEstimationSessionInvalidate(VTMotionEstimationSessionRef session);
```

## Discussion

When you are done with a motion-estimation session you created, call this function to tear
it down and then `CFRelease` to release the session object reference. When a motion-estimation session’s retain count
reaches zero, the system automatically invalidates it, but because multiple parties may retain sessions, it can be
hard to predict when this happens. Calling this function ensures a deterministic, orderly teardown.

---

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)