---
title: kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder
framework: videotoolbox
role: symbol
role_heading: Global Variable
path: videotoolbox/kvtvideoencoderspecification_enablehardwareacceleratedvideoencoder
---

# kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder

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

## Declaration

```swift
let kVTVideoEncoderSpecification_EnableHardwareAcceleratedVideoEncoder: CFString
```

## Discussion

Discussion This key is set in the encoderSpecification passed in to VTCompressionSessionCreate(allocator:width:height:codecType:encoderSpecification:imageBufferAttributes:compressedDataAllocator:outputCallback:refcon:compressionSessionOut:).  Set it to kCFBooleanTrue to allow hardware-accelerated encoding.  To specifically prevent hardware encoding, set this property to kCFBooleanFalse. This setting is useful for clients doing realtime encoding operations because it allows VideoToolbox to choose the optimal encoding path.

## See Also

### Encoder Selection

- [kVTCompressionPropertyKey_EncoderID](videotoolbox/kvtcompressionpropertykey_encoderid.md)
- [kVTVideoEncoderSpecification_EnableLowLatencyRateControl](videotoolbox/kvtvideoencoderspecification_enablelowlatencyratecontrol.md)
- [kVTVideoEncoderSpecification_EncoderID](videotoolbox/kvtvideoencoderspecification_encoderid.md)
- [kVTVideoEncoderSpecification_PreferredEncoderGPURegistryID](videotoolbox/kvtvideoencoderspecification_preferredencodergpuregistryid.md)
- [kVTVideoEncoderSpecification_RequiredEncoderGPURegistryID](videotoolbox/kvtvideoencoderspecification_requiredencodergpuregistryid.md)
- [kVTVideoEncoderSpecification_RequireHardwareAcceleratedVideoEncoder](videotoolbox/kvtvideoencoderspecification_requirehardwareacceleratedvideoencoder.md)
