VideoToolbox Namespace
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.