<!--
{
  "documentType" : "article",
  "framework" : "VideoToolbox",
  "identifier" : "/documentation/VideoToolbox/decompression-properties",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Decompression Properties"
}
-->

# Decompression Properties

Properties used to configure a VideoToolbox decompression session.

## Topics

### Asynchronous State

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

The maximum output presentation timestamp of the frames currently being decoded.

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

The minimum output presentation timestamp of the frames currently being decoded.

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

Returns the number of frames currently being decoded.

### Content

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

An optional Boolean property indicating if the content being decoded has interframe dependencies, if the decoder knows.

### Decoder Behavior

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

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

A Boolean value that indicates whether a decoder is allowed to output buffers matching reduced frame dimensions in the bitstream rather than
under-filling them.

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

Modes for requesting a specific deinterlacing technique.

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

Modes for special handling of interlaced content (optional).

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

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

Requests that frames be filtered by type.

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

Pixel formats that support reduced-resolution decoding (optional).

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

A Boolean value indicating whether it’s recommended that the video decoder perform decompression in real time.

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

Requests approximation during decoding.

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

The proportion of frames that should be delivered, indicating that the rest may be dropped.

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

Request decoding at smaller resolutions than full-size (optional).

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

An array of dictionaries that describe decreasing quality-of-service levels that clients can use to maintain realtime playback (optional).

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

An array indicating speed tradeoffs between pixel formats (optional).

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

An array indicating quality levels among pixel formats.

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

The number of threads used by a codec or the suggested number of threads to use (optional).

### Hardware Acceleration

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

Indicates if a hardware-accelerated video decoder is being used.

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

A Boolean value indicating whether VideoToolbox uses a hardware-accelerated video decoder, if available.

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

A Boolean value indicating whether to require hardware-accelerated decoding.

### Multi-Image Decompression

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

Requests multi-image decoding of specific MV-HEVC video layers.

### Per-Frame Decoder Options

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

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

### Pixel Buffer Pools

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

The requested minimum buffer count that a decompression session should use for its output pixel buffer pool, without releasing buffers while the number in use is below this level.

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

A pixel buffer pool for pixel buffers being output by the decompression session.

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

A Boolean value indicating whether a common pixel buffer pool is shared between the video decoder and the session client.

### Post-Decompression Processing

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

A value that indicates whether the decoder can produce RAW output requiring a RAW processing session for post-decode processing.

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

A key that indicates to generate per frame HDR Metadata and attach it to the resulting decoded pixel buffers.

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

Specific pixel transfer features to be used during decompression.

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

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

For decoders that produce RAW output, this property requests that the decompression session provides unprocessed output.

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

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

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



---

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)