<!--
{
  "availability" : [
    "iOS: 17.4.0 -",
    "iPadOS: 17.4.0 -",
    "macCatalyst: 17.4.0 -",
    "macOS: 10.9.0 -",
    "tvOS: 17.4.0 -",
    "visionOS: 1.1.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "VideoToolbox",
  "identifier" : "/documentation/VideoToolbox/kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder",
  "metadataVersion" : "0.1.0",
  "role" : "Global Variable",
  "symbol" : {
    "kind" : "Global Variable",
    "modules" : [
      "Video Toolbox"
    ],
    "preciseIdentifier" : "c:@kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder"
  },
  "title" : "kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder"
}
-->

# kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder

A Boolean value indicating whether hardware-accelerated video encoding is allowed, if available.

```
let kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder: CFString
```

## Discussion

This key is set in the `encoderSpecification` passed in to [`VTCompressionSessionCreate(allocator:width:height:codecType:encoderSpecification:imageBufferAttributes:compressedDataAllocator:outputCallback:refcon:compressionSessionOut:)`](/documentation/VideoToolbox/VTCompressionSessionCreate(allocator:width:height:codecType:encoderSpecification:imageBufferAttributes:compressedDataAllocator:outputCallback:refcon:compressionSessionOut:)).  Set it to <doc://com.apple.documentation/documentation/CoreFoundation/kCFBooleanTrue> to allow hardware-accelerated encoding.  To specifically prevent hardware encoding, set this property to <doc://com.apple.documentation/documentation/CoreFoundation/kCFBooleanFalse>.

This setting is useful for clients doing realtime encoding operations because it allows VideoToolbox to choose the optimal encoding path.

---

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)