Returns an array of the keys that are used both as CMVideoFormatDescription extensions and CVImageBuffer attachments and attributes.


func CMVideoFormatDescriptionGetExtensionKeysCommonWithImageBuffers() -> CFArray


When specifying a CMFormatDescription for a CMSampleBuffer, the format description must be consistent with formatting information attached to the CVImageBuffer. The width, height, and codecType must match (for CVPixelBuffers the codec type is given by CVPixelBufferGetPixelFormatType(pixelBuffer); for other CVImageBuffers, the codecType must be 0). The format description extensions must match the image buffer attachments for all the keys in the list returned by this function (if absent in either they must be absent in both). Currently, the list is:

  • kCMFormatDescriptionExtension_CleanAperture

  • kCMFormatDescriptionExtension_FieldCount

  • kCMFormatDescriptionExtension_FieldDetail

  • kCMFormatDescriptionExtension_PixelAspectRatio

  • kCMFormatDescriptionExtension_ColorPrimaries

  • kCMFormatDescriptionExtension_TransferFunction

  • kCMFormatDescriptionExtension_GammaLevel

  • kCMFormatDescriptionExtension_YCbCrMatrix

  • kCMFormatDescriptionExtension_ICCProfile

  • kCMFormatDescriptionExtension_ChromaLocationTopField

  • kCMFormatDescriptionExtension_ChromaLocationBottomField

See Also

Video-Specific Functions

func CMVideoFormatDescriptionGetPresentationDimensions(CMVideoFormatDescription, usePixelAspectRatio: Bool, useCleanAperture: Bool) -> CGSize

Returns the dimensions, adjusted to take pixel aspect ratio and/or clean aperture into account.

func CMSwapBigEndianImageDescriptionToHost(UnsafeMutablePointer<UInt8>, Int) -> OSStatus

Converts an ImageDescription data structure from big-endian to host-endian in place.

func CMSwapHostEndianImageDescriptionToBig(UnsafeMutablePointer<UInt8>, Int) -> OSStatus

Converts an ImageDescription data structure from host-endian to big-endian in place.