---
title: kVTCompressionPropertyKey_H264EntropyMode
framework: videotoolbox
role: symbol
role_heading: Global Variable
path: videotoolbox/kvtcompressionpropertykey_h264entropymode
---

# kVTCompressionPropertyKey_H264EntropyMode

The entropy encoding mode for H.264 compression.

## Declaration

```swift
let kVTCompressionPropertyKey_H264EntropyMode: CFString
```

## Discussion

Discussion If supported by an H.264 encoder, this property controls whether the encoder should use Context-based Adaptive Variable Length Coding (CAVLC) or Context-based Adaptive Binary Arithmetic Coding (CABAC). CABAC generally gives better compression at the expense of higher computational overhead. The default value is encoder-specific and may change depending on other encoder settings. note: Changing the default entropy mode may result in a configuration that is not compatible with a requested Profile and Level.  Results in this case are undefined, and could include encode errors or a noncompliant output stream.

## Topics

### Entropy Modes

- [kVTH264EntropyMode_CAVLC](videotoolbox/kvth264entropymode_cavlc.md)
- [kVTH264EntropyMode_CABAC](videotoolbox/kvth264entropymode_cabac.md)

## See Also

### Bitstream Configuration

- [kVTCompressionPropertyKey_Depth](videotoolbox/kvtcompressionpropertykey_depth.md)
- [kVTCompressionPropertyKey_HDRMetadataInsertionMode](videotoolbox/kvtcompressionpropertykey_hdrmetadatainsertionmode.md)
- [kVTCompressionPropertyKey_OutputBitDepth](videotoolbox/kvtcompressionpropertykey_outputbitdepth.md)
- [kVTCompressionPropertyKey_PreserveAlphaChannel](videotoolbox/kvtcompressionpropertykey_preservealphachannel.md)
- [kVTCompressionPropertyKey_PreserveDynamicHDRMetadata](videotoolbox/kvtcompressionpropertykey_preservedynamichdrmetadata.md)
- [kVTCompressionPropertyKey_ProfileLevel](videotoolbox/kvtcompressionpropertykey_profilelevel.md)
