VideoToolbox Namespace

The VideoToolbox namespace provides low-level classes for encoding and decoding video streams.

Classes

VTCompressionProperties

Strongly typed set of options for compression sessions

VTCompressionPropertyKey

A class that encapsulates keys necessary for compression sessions. Used by VTCompressionProperties

VTCompressionSession

Turns uncompressed frames into compressed video frames

VTDecompressionProperties

Strongly typed set of options for decompression sessions.

VTDecompressionPropertyKey

A class that encapsulates keys necessary for decompression sessions. Used by VTDecompressionProperties

VTDecompressionResolutionKeys

A class that encapsulates keys necessary by VTEncodeFrameOptions.

VTDecompressionResolutionOptions

Strongly typed set of options used by ReducedResolutionDecode.

VTDecompressionSession

Turns compressed frames into uncompressed video frames.

VTEncodeFrameOptionKey

A class that encapsulates keys necessary by VTEncodeFrameOptions

VTEncodeFrameOptions

Strongly typed set of options.

VTFrameSilo

Sample buffers storage object, used in conjuction of a multi pass compression session

VTH264EntropyModeKeys

A class that encapsulates keys necessary by VTH264EntropyMode.

VTMultiPassStorage

Class that provides a storage for encoding metadata.

VTMultiPassStorageCreationOptionKeys

A class that encapsulates keys necessary by VTMultiPassStorageCreationOptions

VTMultiPassStorageCreationOptions

Strongly typed set of options.

VTPixelTransferProperties

Strongly typed set of options used by PixelTransferSettings.

VTPixelTransferPropertyKeys

A class that encapsulates keys needed by VTPixelTransferProperties.

VTProfileLevelKeys

A class that encapsulates keys necessary by VTProfileLevel.

VTPropertyKeys

A class that encapsulates keys necessary by VTPropertyOptions.

VTPropertyOptions

Strongly typed set of options.

VTPropertyReadWriteStatusKeys

A class that encapsulates keys necessary by ReadWriteStatus.

VTPropertyTypeKeys

A class that encapsulates keys necessary by VTPropertyType.

VTSession

Base class of VTCompressionSession and VTDecompressionSession.

VTSupportedEncoderProperties
VTUtilities

Extensions class for CVPixelBuffer.

VTVideoDecoderSpecification

Strongly typed set of options.

VTVideoDecoderSpecificationKeys

A class that encapsulates keys necessary by VTVideoDecoderSpecification.

VTVideoEncoder

Class to fetch available encoders

VTVideoEncoderSpecification

Strongly typed representation of a video encoder.

VTVideoEncoderSpecificationKeys

A class that encapsulates keys necessary by VTVideoEncoderSpecification.

Structs

VTDataRateLimit

Strongly typed representation of bytes and seconds used in DataRateLimits.

Enums

VTColorPrimaries

Represents color primaries in compressed sample buffers

VTCompressionSessionOptionFlags

Flags to control encoder in multi pass compression sessions

VTDecodeFrameFlags

Flags to control encoder in a decompression session

VTDecodeInfoFlags

Flags for status reporting in decoding sessions.

VTDeinterlaceMode

Deinterlacing techniques.

VTDownsamplingMode

Chroma downsampling techniques.

VTEncodeInfoFlags

Encoding status flags.

VTFieldCount

Frame encoding options.

VTFieldDetail

Field ordering options.

VTFieldMode

Decoder field mode options.

VTH264EntropyMode

Strongly typed set of options used by H264EntropyMode.

VTOnlyTheseFrames

Strongly typed set of options used by OnlyTheseFrames.

VTProfileLevel

Strongly typed set of options used by ProfileLevel.

VTPropertyType

Strongly typed set of options.

VTReadWriteStatus

Strongly typed set of options used by ReadWriteStatus.

VTScalingMode

Image scaling options.

VTStatus

Possible VideoToolbox API errors.

VTTransferFunction

Strongly typed set of options used by TransferFunction.

VTYCbCrMatrix

Colorimetry for compressed content.

Delegates

VTCompressionSession.VTCompressionOutputCallback

Handler prototype to be called for each compressed frame

VTDecompressionSession.VTDecompressionOutputCallback

Handler prototype to be called for each decompressed frame.

Remarks

Use VideoToolbox to create your own video encoding or decoding applications: Use VTCompressionSession to compress frames and VTDecompressionSession to decompress frames.

Take advantage of the strongly typed dictionaries like VTCompressionProperties and VTDecompressionProperties to set your compression an decompression settings.