CMFormatDescription Reference

Derived from
Framework
CoreMedia.framework
Declared in
CMFormatDescription.h

Overview

This document describes the API for creating and manipulating CMFormatDescription objects.

CMFormatDescriptions are immutable Core Foundation objects that describe media data of various types, including audio, video, and muxed media data. There are two types of API: media-type-agnostic APIs (supported by all CMFormatDescriptions) and media-type-specific APIs. The media-type-agnostic APIs are prefixed with CMFormatDescription, and the media-type-specific APIs are prefixed with CMAudioFormatDescription, CMVideoFormatDescription, and so on.

Functions by Task

Media-type-Agnostic Functions

Audio-Specific Functions

Video-Specific Functions

Muxed-Specific Function

Metadata-Specific Functions

Text-Specific Functions

TimeCode-Specific Functions

Functions

CMAudioFormatDescriptionCreate

Creates a format description for an audio media stream.

OSStatus CMAudioFormatDescriptionCreate (
   CFAllocatorRef allocator,
   const AudioStreamBasicDescription *asbd,
   size_t layoutSize,
   const AudioChannelLayout *layout,
   size_t magicCookieSize,
   const void *magicCookie,
   CFDictionaryRef extensions,
   CMAudioFormatDescriptionRef *outDesc
);
Parameters
allocator

CFAllocator to be used. Pass kCFAllocatorDefault or NULL to use the default allocator.

asbd

Audio format description (see CoreAudioTypes.h). This information is required.

layoutSize

Size, in bytes, of audio channel layout. 0 if layout is NULL.

layout

Audio channel layout (see CoreAudioTypes.h). Can be NULL.

magicCookieSize

Size, in bytes, of magic cookie. 0 if magicCookie is NULL.

magicCookie

Magic cookie. This information is required for some formats, and must be NULL for all others.

extensions

Dictionary of extension key/value pairs. Keys are always CFStrings. Values are always property list objects (ie. CFData, CFString, CFArray, CFDictionary, CFDate, CFBoolean, or CFNumber). Can be NULL.

outDesc

On Output, Returns newly created audio CMFormatDescription.

Return Value

A result code. See “Result Codes”

Discussion

The ASBD is required, the channel layout is optional, and the magic cookie is required for some compression formats (and must be NULL for all others). The caller owns the returned CMFormatDescription, and must release it when done with it. The ASBD, magic cookie, channel layout, and extensions are all copied (the extensions are deep-copied). The caller can deallocate them or re-use them after making this call.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMAudioFormatDescriptionEqual

Evaluates equality for the specified parts of two audio format descriptions.

Boolean CMAudioFormatDescriptionEqual (
   CMAudioFormatDescriptionRef desc1,
   CMAudioFormatDescriptionRef desc2,
   CMAudioFormatDescriptionMask equalityMask,
   CMAudioFormatDescriptionMask *equalityMaskOut
);
Parameters
desc1

The CMAudioFormatDescription being compared.

desc2

The CMAudioFormatDescription to which it is being compared.

equalityMask

Mask specifying which parts of the descriptions to compare.

equalityMaskOut

Pointer to variable that will be written with the results that represent the parts that are equal. Can be NULL.

Return Value

The result of the comparison. True if all parts in which the caller is interested are equal. False if any of the parts in which the caller is interested are not equal.

Discussion

Bits in equalityMask specify the caller's interest in the equality of various parts of the descriptions. Bits set and returned in equalityMaskOut represent the subset of those parts that are equal. If there is any sort of error that prevents the comparison from occurring, false will be returned, and all bits in equalityMaskOut will be cleared. If you pass kCMAudioFormatDescriptionMask_All in equalityMask, and NULL for equalityMaskOut, this API is equivalent to CFEqual(desc1, desc2).

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMAudioFormatDescriptionGetChannelLayout

Returns a read-only pointer to (and size of) the AudioChannelLayout inside an audio CMFormatDescription.

const AudioChannelLayout * CMAudioFormatDescriptionGetChannelLayout (
   CMAudioFormatDescriptionRef desc,
   size_t *layoutSize
);
Parameters
desc

CMFormatDescription being interrogated.

layoutSize

Pointer to variable that will be written with the size of the layout. Can be NULL.

Return Value

A read-only pointer to the AudioChannelLayout inside the audio format description.

Discussion

See CoreAudioTypes.h for the definition of AudioChannelLayout. AudioChannelLayouts are optional; this API will return NULL if one does not exist. This API is specific to audio format descriptions, and will return NULL if called with a non-audio format description.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMAudioFormatDescriptionGetFormatList

Returns a read-only pointer to (and size of) the array of AudioFormatListItem structs inside an audio CMFormatDescription.

const AudioFormatListItem * CMAudioFormatDescriptionGetFormatList (
   CMAudioFormatDescriptionRef desc,
   size_t *formatListSize
);
Parameters
desc

CMFormatDescription being interrogated.

formatListSize

Pointer to variable that will be written with the size of the formatList.

Return Value

A read-only pointer to the array of AudioFormatListItem structs inside the audio format description.

Discussion

This property is analogous to kAudioFormatProperty_FormatList (See AudioFormat.h) and follows its conventions. Namely, formats are returned in order from the most to least “rich”, with channel count taking the highest precedence followed by sample rate. This API is specific to audio format descriptions, and will return NULL if called with a non-audio format description.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMAudioFormatDescriptionGetMagicCookie

Returns a read-only pointer to (and size of) the magic cookie inside an audio CMFormatDescription.

const void * CMAudioFormatDescriptionGetMagicCookie (
   CMAudioFormatDescriptionRef desc,
   size_t *cookieSizeOut
);
Parameters
desc

CMFormatDescription being interrogated.

cookieSizeOut

Pointer to variable that will be written with the size of the cookie. Can be NULL.

Return Value

A read-only pointer to the magic cookie inside the audio format description.

Discussion

The magic cookie is a completely opaque piece of data, written and read only by the codec itself. A magic cookie is only present for codecs that require it; this API will return NULL if one does not exist. This API is specific to audio format descriptions, and will return NULL if called with a non-audio format description.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMAudioFormatDescriptionGetMostCompatibleFormat

Returns a read-only pointer to the appropriate AudioFormatListItem inside an audio CMFormatDescription.

const AudioFormatListItem * CMAudioFormatDescriptionGetMostCompatibleFormat (
   CMAudioFormatDescriptionRef desc
);
Parameters
desc

CMFormatDescription being interrogated.

Return Value

A read-only pointer to the appropriate AudioFormatListItem inside the audio format description.

Discussion

This property returns a pointer to the most compatible AudioFormatListItem in the kAudioFormatProperty_FormatList (see AudioFormat.h). This API is specific to audio format descriptions, and will return NULL if called with a non-audio format description.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMAudioFormatDescriptionGetRichestDecodableFormat

Returns a read-only pointer to the appropriate AudioFormatListItem inside an audio CMFormatDescription.

const AudioFormatListItem * CMAudioFormatDescriptionGetRichestDecodableFormat (
   CMAudioFormatDescriptionRef desc
);
Parameters
desc

CMFormatDescription being interrogated.

Return Value

A read-only pointer to the appropriate AudioFormatListItem inside the audio format description.

Discussion

This property performs validation on the formats represented by the audio in the description. It finds the first AudioFormatListItem for which the current system has a valid decoder. This API is specific to audio format descriptions, and will return NULL if called with a non-audio format description. It may also return NULL if there is no suitable decoder available on the current system for this audio format.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMAudioFormatDescriptionGetStreamBasicDescription

Returns a read-only pointer to the AudioStreamBasicDescription inside an audio CMFormatDescription.

const AudioStreamBasicDescription * CMAudioFormatDescriptionGetStreamBasicDescription (
   CMAudioFormatDescriptionRef desc
);
Parameters
desc

CMFormatDescription being interrogated.

Discussion

See CoreAudioTypes.h for the definition of AudioStreamBasicDescription. This API is specific to audio format descriptions, and will return NULL if used with a non-audio format descriptions.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMFormatDescriptionCreate

Creates a generic CMFormatDescription object. You should not call this method for the media types that has specific create functions such as audio, video, text, muxed, metaData and timeCode.

OSStatus CMFormatDescriptionCreate (
   CFAllocatorRef allocator,
   CMMediaType mediaType,
   FourCharCode mediaSubtype,
   CFDictionaryRef extensions,
   CMFormatDescriptionRef *descOut
);
Parameters
allocator

Allocator to use when creating the CMFormatDescription. If NULL, the default allocator will be used.

mediaType

Four character code identifying the type of media associated with the CMFormatDescription.

mediaSubtype

Four character code identifying the sub-type of media.

extensions

Dictionary of extensions to be attached to the CMFormatDescription. May be NULL.

descOut

Receives the newly-created CMFormatDescription.

Return Value

A result code. See “Result Codes”.

Discussion

Use this call to create any CMFormatDescription that is composed solely of extensions, and for which CFEqual() of a the extensions dictionaries is a valid test for Format Description equality.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMFormatDescriptionEqual

Compares two CMFormatDescription objects for equality.

Boolean CMFormatDescriptionEqual (
   CMFormatDescriptionRef ffd1,
   CMFormatDescriptionRef ffd2
);
Parameters
ffd1

The first formatDescription.

ffd2

The second formatDescription.

Return Value

A boolean indicating whether the format descriptions are equal or not.

Discussion

This calls CFEqual on the provided CMFormatDescription objects. In contrast to the Core Foundation call it is NULL safe.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMFormatDescriptionGetExtension

Returns the specified extension of a CMFormatDescription.

CFPropertyListRef CMFormatDescriptionGetExtension (
   CMFormatDescriptionRef desc,
   CFStringRef extensionKey
);
Parameters
desc

CMFormatDescription being interrogated.

extensionKey

Key of extension to be returned. Cannot be NULL.

Return Value

The specified extension of the CMFormatDescription. May be NULL.

Discussion

If the named extension does not exist, NULL is returned. The extension is always a valid property list object. This means that it will be either a CFNumber, CFString, CFBoolean, CFArray, CFDictionary, CFDate, or CFData. If it is a CFDictionary, the keys will all be CFStrings. The returned extension is not retained by this call, so it is only valid as long as the CMFormatDescription is valid. Clients are required to retain it if they need to keep it longer.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMFormatDescriptionGetExtensions

Returns an immutable dictionary containing all the extensions of a CMFormatDescription.

CFDictionaryRef CMFormatDescriptionGetExtensions (
   CMFormatDescriptionRef desc
);
Parameters
desc

CMFormatDescription being interrogated

Return Value

An immutable dictionary containing all the extensions of the CMFormatDescription. May be NULL.

Discussion

If there are no extensions, NULL is returned. Extensions dictionaries are valid property list objects. This means that dictionary keys are all CFStrings, and the values are all either CFNumber, CFString, CFBoolean, CFArray, CFDictionary, CFDate, or CFData. The returned dictionary is not retained by this call, so clients are required to retain it if they need to keep it longer.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMFormatDescriptionGetMediaSubType

Returns the media subtype of a CMFormatDescription.

FourCharCode CMFormatDescriptionGetMediaSubType (
   CMFormatDescriptionRef desc
);
Parameters
desc

CMFormatDescription being interrogated

Return Value

Four-character code identifying the media subtype of the CMFormatDescription.

Discussion

The media subtype is defined in a media-specific way. For audio streams, the media subtype is the asbd.mFormatID. For video streams, the media subtype is the video codec type. For muxed streams, it is the format of the muxed stream.

For example, 'aac ' is returned for a description of an AAC audio stream, 'avc1' is returned for a description of an H.264 video stream, and 'mp2t' is returned for a description of an MPEG-2 transport (muxed) stream. If a particular type of media stream does not have subtypes, this API may return 0.

Availability
  • Available in iOS 4.0 and later.
Related Sample Code
Declared In
CMFormatDescription.h

CMFormatDescriptionGetMediaType

Returns the media type of a CMFormatDescription.

CMMediaType CMFormatDescriptionGetMediaType (
   CMFormatDescriptionRef desc
);
Parameters
desc

CMFormatDescription being interrogated

Return Value

The media type of the CMFormatDescription.

Discussion

For example, returns kCMMediaType_Audio for a description of an audio stream.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMFormatDescriptionGetTypeID

Returns the CFTypeID of CMFormatDescription objects.

CFTypeID CMFormatDescriptionGetTypeID (
   void
);
Discussion

You can check if a CFTypeRef object is actually a CMFormatDescription by comparing CFGetTypeID(object) with CMFormatDescriptionGetTypeID().

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMMetadataFormatDescriptionCreateWithKeys

Creates a metadata format description object specified by the key.

OSStatus CMMetadataFormatDescriptionCreateWithKeys (
   CFAllocatorRef allocator,
   CMMetadataFormatType metadataType,
   CFArrayRef keys,
   CMMetadataFormatDescriptionRef *outDesc
);
Parameters
allocator

CFAllocator to be used. Pass NULL or kCFAllocatorDefault to use the default allocator.

metadataType

The type of metadata (kCMMetadataFormatType_Boxed).

keys

Array of metadata keys. Each key is a dictionary of key properties. The required properties are:

  • kCMMetadataFormatDescriptionKey_Namespace

  • kCMMetadataFormatDescriptionKey_Value

  • kCMMetadataFormatDescriptionKey_LocalID

outDesc

Returns newly created metadata CMFormatDescription.

Return Value

A result code. Returns noErr if successful.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMMetadataFormatDescriptionGetKeyWithLocalID

Returns the key associated with the metadata for the given local id.

CFDictionaryRef CMMetadataFormatDescriptionGetKeyWithLocalID (
   CMMetadataFormatDescriptionRef desc,
   OSType localKeyID
);
Parameters
desc

Format description being interrogated.

localKeyID

Local Id identifying the key associated with the metadata description.

Return Value

A new dictionary containing the key specified by the localKeyID, or NULL if there is no key corresponding to the localKeyID.

Discussion

When writing a metadata track to a QuickTime movie, you can store many different kinds of metadata in one track. The format description for the track describes all of the kinds of metadata that might be present in that track. And each kind of metadata has an id assigned to it which is unique from the others in the group. So when individual samples of metadata are written (or read back later), they don't contain their full description, instead they just contain the unique id (called the local id) that was assigned to them. For instance, GPS might be local id 1, and face data might be local id 2. When someone pulls such a sample from a movie and wants to do a reverse lookup, they can call CMMetadataFormatDescriptionGetKeyWithLocalID, using the local id they've got, to get the Key associated with this metadata.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMMuxedFormatDescriptionCreate

Creates a format description for a muxed media stream.

OSStatus CMMuxedFormatDescriptionCreate (
   CFAllocatorRef allocator,
   CMMuxedStreamType muxType,
   CFDictionaryRef extensions,
   CMMuxedFormatDescriptionRef *outDesc
);
Parameters
allocator

CFAllocator to be used. Pass NULL or kCFAllocatorDefault to use the default allocator.

muxType

Type of the muxed stream (e.g. kCMMuxedStreamType_MPEG2Transport for MPEG-2 transport stream). This is the media subtype, and will be returned if you subsequently call CMFormatDescriptionGetMediaSubType (or CMMuxedFormatDescriptionGetStreamType).

extensions

Dictionary of extension key/value pairs. Keys are always CFStrings. Values are always property list objects (i.e.. CFData, CFString, CFArray, CFDictionary, CFDate, CFBoolean, or CFNumber). Can be NULL.

outDesc

On output, returns newly created muxed CMFormatDescription

Return Value

A result code. Returns noErr if successful.

Discussion

A muxed format description does not know the formats of the sub-streams within the muxed stream. That information will only be discoverable by the demuxer software (or other software which understands the details of the muxed bitstream) which will need to produce separate format descriptions for each of its output streams. The caller owns the returned CMFormatDescription, and must release it when done with it. All input parameters are copied (the extensions are deep-copied). The caller can deallocate them or re-use them after making this call.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMTextFormatDescriptionGetDefaultStyle

Returns the default style.

OSStatus CMTextFormatDescriptionGetDefaultStyle (
   CMFormatDescriptionRef desc,
   uint16_t *outLocalFontID,
   Boolean *outBold,
   Boolean *outItalic,
   Boolean *outUnderline,
   CGFloat *outFontSize,
   CGFloat outColorComponents[4]
);
Parameters
desc

CMFormatDescription being interrogated.

outLocalFontID

Font number, local to the FormatDescription. May be NULL.

outBold

Returned true if style includes Bold. May be NULL.

outItalic

On output, returns true if style includes Italic. May be NULL.

outUnderline

On output, returns true if style includes Underline. May be NULL.

outFontSize

FontSize in points. May be NULL.

CGFloat outColorComponents[4]

Color components in order red, green, blue, and alpha. May be NULL.

Return Value

A result code. Returns noErr if Successful.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMTextFormatDescriptionGetDefaultTextBox

Returns the default text box.

OSStatus CMTextFormatDescriptionGetDefaultTextBox (
   CMFormatDescriptionRef desc,
   Boolean originIsAtTopLeft,
   CGFloat heightOfTextTrack,
   CGRect *outDefaultTextBox
);
Parameters
desc

FormatDescription being interrogated.

originIsAtTopLeft

Pass true if the CGRect will be used in an environment where (0,0) is at the top-left corner of an enclosing rectangle and y coordinates increase as you go down. Pass false if the CGRect will be used in an environment where (0,0) is at the bottom-left corner of an enclosing rectangle  and y coordinates increase as you go up.

heightOfTextTrack

If originIsAtTopLeft is false, pass the height of the enclosing text track or destination. This value will be used to properly compute the default text box for the given origin. Ignored if originIsAtTopLeft is true.

outDefaultTextBox

On output, receives the default text box.

Return Value

A result code. Returns noErr if successful.

Discussion

Within a text track, text is rendered within a text box. There is a default text box set, which can be over-ridden by a sample.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMTextFormatDescriptionGetDisplayFlags

Returns the displayFlags.

OSStatus CMTextFormatDescriptionGetDisplayFlags (
   CMFormatDescriptionRef desc,
   CMTextDisplayFlags *outDisplayFlags
);
Parameters
desc

CMFormatDescription being interrogated.

outDisplayFlags

On output, receives the display flags.

Return Value

A result code. Returns noErr if successful.

Discussion

These are the flags that control how the text appears.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMTextFormatDescriptionGetFontName

Returns the font name for a local font ID.

OSStatus CMTextFormatDescriptionGetFontName (
   CMFormatDescriptionRef desc,
   uint16_t localFontID,
   CFStringRef *outFontName
);
Parameters
desc

CMFormatDescription being interrogated.

localFontID

Font number, local to the FormatDescription.

outFontName

On output, returns name of the font. The returned font is not retained by this call, so clients are required to retain it if they need to keep it longer.

Return Value

A result code. Returns noErr if successful.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMTextFormatDescriptionGetJustification

Returns horizontal and vertical justification.

OSStatus CMTextFormatDescriptionGetJustification (
   CMFormatDescriptionRef desc,
   CMTextJustificationValue *outHorizontalJust,
   CMTextJustificationValue *outVerticalJust
);
Parameters
desc

CMFormatDescription being interrogated.

outHorizontalJust

Horizontal justification mode. May be NULL.

outVerticalJust

Vertical justification mode. May be NULL.

Return Value

A result code. Returns noErr if successful.

Discussion

For possible values see “CMTextJustificationValue.”

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMTimeCodeFormatDescriptionCreate

Creates a format description for a timecode media.

OSStatus CMTimeCodeFormatDescriptionCreate (
   CFAllocatorRef allocator,
   CMTimeCodeFormatType timeCodeFormatType,
   CMTime frameDuration,
   uint32_t frameQuanta,
   uint32_t tcFlags,
   CFDictionaryRef extensions,
   CMTimeCodeFormatDescriptionRef *descOut
);
Parameters
allocator

Allocator to be used for creating the CMFormatDescription object.

timeCodeFormatType

One of the CMTimeCodeFormatTypes.

frameDuration

Duration of each frame (e.g. 100/2997).

frameQuanta

Frames/sec for timecode (e.g.. 30) OR frames/tick for counter mode.

tcFlags

kCMTimeCodeFlag_DropFrame, kCMTimeCodeFlag_24HourMax, kCMTimeCodeFlag_NegTimesOK. For possible values, see “Time Code Flags.”

extensions

Keys are always CFStrings. Values are always property list objects (i.e. CFData). May be NULL.

descOut

Receives the newly-created CMFormatDescription.

Return Value

A result code. Returns noErr if successful.

Discussion

The caller owns the returned CMFormatDescription, and must release it when done with it. All input parameters are copied (the extensions are deep-copied). The caller can deallocate them or re-use them after making this call.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMTimeCodeFormatDescriptionGetFrameDuration

Returns the duration of each frame (e.g. 100/2997)

CMTime CMTimeCodeFormatDescriptionGetFrameDuration (
   CMTimeCodeFormatDescriptionRef timeCodeFormatDescription
);
Parameters
timeCodeFormatDescription

CMTimeCodeFormatDescription being interrogated.

Return Value

The duration of each frame represented in CMTime format.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMTimeCodeFormatDescriptionGetFrameQuanta

Returns the frames/sec for timecode (e.g. 30) OR frames/tick for counter mode.

uint32_t CMTimeCodeFormatDescriptionGetFrameQuanta (
   CMTimeCodeFormatDescriptionRef timeCodeFormatDescription
);
Parameters
timeCodeFormatDescription

CMTimeCodeFormatDescription being interrogated.

Discussion

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMTimeCodeFormatDescriptionGetTimeCodeFlags

Returns the flags for kCMTimeCodeFlag_DropFrame, kCMTimeCodeFlag_24HourMax, kCMTimeCodeFlag_NegTimesOK

uint32_t CMTimeCodeFormatDescriptionGetTimeCodeFlags (
   CMTimeCodeFormatDescriptionRef desc
);
Parameters
desc

CMTimeCodeFormatDescription being interrogated.

Discussion

For possible time code flags see “Time Code Flags”.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMVideoFormatDescriptionCreate

Creates a format description for a video media stream.

OSStatus CMVideoFormatDescriptionCreate (
   CFAllocatorRef allocator,
   CMVideoCodecType codecType,
   int32_t width,
   int32_t height,
   CFDictionaryRef extensions,
   CMVideoFormatDescriptionRef *outDesc
);
Parameters
allocator

CFAllocator to be used. Pass kCFAllocatorDefault or NULL to use the default allocator.

codecType

The type of video compression.

width

The width of encoded video.

height

The height of encoded video.

extensions

Dictionary of extension key/value pairs. Keys are always CFStrings. Values are always property list objects (ie. CFData, CFString, CFArray, CFDictionary, CFDate, CFBoolean, or CFNumber). Can be NULL.

outDesc

On output, returns newly created video CMFormatDescription

Return Value

A result code. Returns noErr if successful.

Discussion

The caller owns the returned CMFormatDescription, and must release it when done with it. All input parameters are copied (the extensions are deep-copied). The caller can deallocate them or re-use them after making this call.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMVideoFormatDescriptionCreateForImageBuffer

Creates a format description for a video media stream contained in CVImageBuffers of the type provided.

OSStatus CMVideoFormatDescriptionCreateForImageBuffer (
   CFAllocatorRef allocator,
   CVImageBufferRef imageBuffer,
   CMVideoFormatDescriptionRef *outDesc
);
Parameters
allocator

CFAllocator to be used when creating the CMFormatDescription. Pass NULL to use the default allocator.

imageBuffer

Image buffer for which we are creating the format description.

outDesc

On output, returns newly-created video CMFormatDescription

Return Value

A result code. Returns noErr if successful.

Discussion

This convenience function is equivalent to:

CMVideoFormatDescriptionCreate ( allocator, ( CVPixelBufferGetTypeID() == CFGetTypeID( imageBuffer ) ? CVPixelBufferGetPixelFormatType( imageBuffer ) : 0,  width of image,  height of image, extensions );
                                                

where extensions is a CFDictionary of attachments to image buffer with keys specified by CMVideoFormatDescriptionGetExtensionKeysCommonWithImageBuffers, and also kCMFormatDescriptionExtension_BytesPerRow if applicable.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMVideoFormatDescriptionGetCleanAperture

Returns the clean aperture.

CGRect CMVideoFormatDescriptionGetCleanAperture (
   CMVideoFormatDescriptionRef videoDesc,
   Boolean originIsAtTopLeft
);
Parameters
videoDesc

CMVideoFormatDescription being interrogated.

originIsAtTopLeft

Pass true if the CGRect will be used in an environment where (0,0) is at the top-left corner of an enclosing rectangle and y coordinates increase as you go down. Pass false if the CGRect will be used in an environment where (0,0) is at the bottom-left corner of an enclosing rectangle  and y coordinates increase as you go up.

Discussion

The clean aperture is a rectangle that defines the portion of the encoded pixel dimensions that represents image data valid for display.

Availability
  • Available in iOS 4.0 and later.
Related Sample Code
Declared In
CMFormatDescription.h

CMVideoFormatDescriptionGetDimensions

Returns the video dimensions (in encoded pixels).

CMVideoDimensions CMVideoFormatDescriptionGetDimensions (
   CMVideoFormatDescriptionRef videoDesc
);
Parameters
videoDesc

CMVideoFormatDescription being interrogated.

Return Value

The video dimensions of the given video format.

Discussion

This does not take into account pixel aspect ratio or clean aperture tags.

Availability
  • Available in iOS 4.0 and later.
Related Sample Code
Declared In
CMFormatDescription.h

CMVideoFormatDescriptionGetExtensionKeysCommonWithImageBuffers

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

CFArrayRef CMVideoFormatDescriptionGetExtensionKeysCommonWithImageBuffers (
   void
);
Discussion

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

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMVideoFormatDescriptionGetPresentationDimensions

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

CGSize CMVideoFormatDescriptionGetPresentationDimensions (
   CMVideoFormatDescriptionRef videoDesc,
   Boolean usePixelAspectRatio,
   Boolean useCleanAperture
);
Parameters
videoDesc

CMVideoFormatDescription being interrogated.

usePixelAspectRatio

Compute the dimensions maintaining pixel aspect ratio.

useCleanAperture

Compute the dimensions using the clean aperture.

Discussion

Pixel aspect ratio is used to adjust the width, leaving the height alone.

Availability
  • Available in iOS 4.0 and later.
Related Sample Code
Declared In
CMFormatDescription.h

CMVideoFormatDescriptionMatchesImageBuffer

Checks to see if a given format description matches an image buffer.

Boolean CMVideoFormatDescriptionMatchesImageBuffer (
   CMVideoFormatDescriptionRef desc,
   CVImageBufferRef imageBuffer
);
Parameters
desc

CMVideoFormatDescription to validate.

imageBuffer

image buffer to validate against.

Return Value

A Boolean indicating whether the format description matches the image buffer.

Discussion

This function uses the keys returned by CMVideoFormatDescriptionGetExtensionKeysCommonWithImageBuffers to compare the extensions of the given format description to the attachments of the given image buffer (if an attachment is absent in either it must be absent in both). It also checks kCMFormatDescriptionExtension_BytesPerRow against CVPixelBufferGetBytesPerRow, if applicable.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

Data Types

Format Description Types

CMFormatDescriptionRef

A reference to a CMFormatDescription object.

typedef struct opaqueCMFormatDescription *CMFormatDescriptionRef;
Discussion

A CMFormatDescription object is a Core Foundation object describing media of a particular type (audio, video, muxed, and so on).

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMAudioFormatDescriptionRef

A synonym type used for manipulating audio CMFormatDescriptions.

typedef CMFormatDescriptionRef CMAudioFormatDescriptionRef;
Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMVideoFormatDescriptionRef

A synonym type used for manipulating video CMFormatDescriptions.

typedef CMFormatDescriptionRef CMVideoFormatDescriptionRef;
Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMMuxedFormatDescriptionRef

A synonym type used for manipulating muxed media CMFormatDescriptions.

typedef CMFormatDescriptionRef CMMuxedFormatDescriptionRef;
Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMClosedCaptionFormatDescriptionRef

A synonym type used for manipulating closed-caption media CMFormatDescriptions.

typedef CMFormatDescriptionRef CMClosedCaptionFormatDescriptionRef;
Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMTimeCodeFormatDescriptionRef

A synonym type used for manipulating TimeCode CMFormatDescriptions.

typedef CMFormatDescriptionRef CMTimeCodeFormatDescriptionRef;
Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMMetadataFormatDescriptionRef

A synonym type used for manipulating metadata CMFormatDescriptions.

typedef CMFormatDescriptionRef CMMetadataFormatDescriptionRef;
Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

Media Types

CMAudioFormatDescriptionMask

A type for mask bits passed to (and returned from) CMAudioFormatDescriptionEqual, representing various parts of an audio format description.

typedef uint32_t CMAudioFormatDescriptionMask;
Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

CMVideoDimensions

Type used for video dimensions.

typedef struct {
   int32_t width;
   int32_t height;
} CMVideoDimensions;
Fields
width

The width of the video.

height

The height of the video.

Discussion

The units are pixels.

Availability
  • Available in iOS 4.0 and later.
Declared In
CMFormatDescription.h

Constants

CMMediaType

The type of media described by a CMFormatDescription.

enum {
   kCMMediaType_Video               = 'vide',
   kCMMediaType_Audio               = 'soun',
   kCMMediaType_Muxed               = 'muxx',
   kCMMediaType_Text                = 'text',
   kCMMediaType_ClosedCaption       = 'clcp',
   kCMMediaType_Subtitle            = 'sbtl',
   kCMMediaType_TimeCode            = 'tmcd',
   kCMMediaType_TimedMetadata       = 'tmet'
   kCMMediaType_Metadata            = 'meta'
};
typedef FourCharCode CMMediaType;
Constants
kCMMediaType_Video

Video media.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMediaType_Audio

Audio media.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMediaType_Muxed

Muxed media.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMediaType_Text

Text media.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMediaType_ClosedCaption

Closed-caption media.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMediaType_Subtitle

Subtitle media.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMediaType_TimeCode

Time code media.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMediaType_TimedMetadata

Timed meta data.

Available in iOS 4.0 through iOS 5.1.

Declared in CMFormatDescription.h.

kCMMediaType_Metadata

Meta data.

Available in iOS 6.0 and later.

Declared in CMFormatDescription.h.

Error Codes

OSStatus errors returned by CMFormatDescription APIs.

enum {
   kCMFormatDescriptionError_InvalidParameter        = -12710,
   kCMFormatDescriptionError_AllocationFailed        = -12711,
};
Constants
kCMFormatDescriptionError_InvalidParameter

Indicates a NULL or 0 was passed for a required parameter.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMFormatDescriptionError_AllocationFailed

Returned when an allocation fails.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

CMTimeCodeFormatType

The types of time Code.

enum {
   kCMTimeCodeFormatType_TimeCode32    = 'tmcd',
   kCMTimeCodeFormatType_TimeCode64    = 'tc64',
   kCMTimeCodeFormatType_Counter32     = 'cn32',
   kCMTimeCodeFormatType_Counter64     = 'cn64'
};
typedef FourCharCode CMTimeCodeFormatType;
Constants
kCMTimeCodeFormatType_TimeCode32

32-bit timeCode sample.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTimeCodeFormatType_TimeCode64

64-bit timeCode sample.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTimeCodeFormatType_Counter32

32-bit counter-mode sample.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTimeCodeFormatType_Counter64

64-bit counter-mode sample.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

Time Code Flags

Flags passed to CMTimeCodeFormatDescriptionCreate.

enum {
   kCMTimeCodeFlag_DropFrame    = 1 << 0,
   kCMTimeCodeFlag_24HourMax    = 1 << 1,
   kCMTimeCodeFlag_NegTimesOK    = 1 << 2
};
Constants
kCMTimeCodeFlag_DropFrame

Timecodes are to be rendered in drop-frame format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTimeCodeFlag_24HourMax

Timecode rolls over every 24 hours.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTimeCodeFlag_NegTimesOK

Track may contain negative timecodes.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

CMTextDisplayFlags

Display mode flags for text media.

enum {
   kCMTextDisplayFlag_scrollIn                    = 0x00000020,
   kCMTextDisplayFlag_scrollOut                   = 0x00000040,
   kCMTextDisplayFlag_scrollDirectionMask         = 0x00000180,
   kCMTextDisplayFlag_scrollDirection_bottomToTop = 0x00000000,
   kCMTextDisplayFlag_scrollDirection_rightToLeft = 0x00000080,
   kCMTextDisplayFlag_scrollDirection_topToBottom = 0x00000100,
   kCMTextDisplayFlag_scrollDirection_leftToRight = 0x00000180,
   kCMTextDisplayFlag_continuousKaraoke           = 0x00000800,
   kCMTextDisplayFlag_writeTextVertically         = 0x00020000,
   kCMTextDisplayFlag_fillTextRegion              = 0x00040000,
   kCMTextDisplayFlag_forcedSubtitlesPresent      = 0x40000000,
   kCMTextDisplayFlag_allSubtitlesForced          = 0x80000000,
};
typedef uint32_t CMTextDisplayFlags;
Constants
kCMTextDisplayFlag_scrollIn

Text scrolls into the display region.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextDisplayFlag_scrollOut

Text scrolls out of the display region.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextDisplayFlag_scrollDirectionMask

The scrolling direction is set by a two-bit field, obtained from displayFlags using kCMTextDisplayFlag_scrollDirectionMask.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextDisplayFlag_scrollDirection_bottomToTop

Text is vertically scrolled up (“credits style”), entering from the bottom and leaving towards the top.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextDisplayFlag_scrollDirection_rightToLeft

Text is horizontally scrolled (“marquee style”), entering from the right and leaving towards the left.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextDisplayFlag_scrollDirection_topToBottom

Text is vertically scrolled down, entering from the top and leaving towards the bottom.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextDisplayFlag_scrollDirection_leftToRight

Text is horizontally scrolled, entering from the left and leaving towards the right.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextDisplayFlag_continuousKaraoke

Enables the Continuous Karaoke mode where the range of karaoke highlighting extends to include additional ranges rather than the highlighting moves onto the next range.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextDisplayFlag_writeTextVertically

Specifies the text to be rendered vertically.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextDisplayFlag_fillTextRegion

The subtitle display bounds are to be filled with the color specified by kCMTextFormatDescriptionExtension_BackgroundColor.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextDisplayFlag_forcedSubtitlesPresent

There are forced subtitles present, e.g., a subtitle which only displays during foreign language sections of the video. Check individual samples to determine what type of subtitle is contained.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextDisplayFlag_allSubtitlesForced

Treat all subtitle samples as if they contain forced subtitles.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

CMTextFormatType

Text media format/subtype.

enum {
   kCMTextFormatType_QTText           = 'text',
   kCMTextFormatType_3GText           = 'tx3g'
};
typedef FourCharCode CMTextFormatType;
Constants
kCMTextFormatType_QTText

QuickTime Text media.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatType_3GText

3GPP Text media.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

CMTextJustificationValue

Justification modes for text media.

enum {
   kCMTextJustification_left_top        =  0,
   kCMTextJustification_centered        =  1,
   kCMTextJustification_bottom_right    = -1
};
typedef int8_t CMTextJustificationValue;
Constants
kCMTextJustification_left_top

Left justification when specified for horizontal justification, top justification for vertical justification.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextJustification_centered

Center justification (both horizontal and vertical justification).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextJustification_bottom_right

Bottom justification when specified for vertical justification, right justification for horizontal justification.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

CMAudioCodecType

Codes to identify audio codecs.

enum {
   kCMAudioCodecType_AAC_LCProtected      = 'paac',
   kCMAudioCodecType_AAC_AudibleProtected = 'aaac'
};
typedef FourCharCode CMAudioCodecType;
Constants
kCMAudioCodecType_AAC_LCProtected

iTMS protected low-complexity AAC.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMAudioCodecType_AAC_AudibleProtected

Audible's protected AAC.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

Discussion

Certain codec types are also audio formats.

Audio Format Description Masks

Mask bits representing various parts of an audio format description.

enum
{
   kCMAudioFormatDescriptionMask_StreamBasicDescription = (1<<0),
   kCMAudioFormatDescriptionMask_MagicCookie            = (1<<1),
   kCMAudioFormatDescriptionMask_ChannelLayout          = (1<<2),
   kCMAudioFormatDescriptionMask_Extensions             = (1<<3),
   kCMAudioFormatDescriptionMask_All                    = kCMAudioFormatDescriptionMask_StreamBasicDescription | kCMAudioFormatDescriptionMask_MagicCookie | kCMAudioFormatDescriptionMask_ChannelLayout |kCMAudioFormatDescriptionMask_Extensions
};
Constants
CMAudioFormatDescriptionMask_StreamBasicDescription

Represents the AudioStreamBasicDescription.

CMAudioFormatDescriptionMask_MagicCookie

Represents the magic cookie.

CMAudioFormatDescriptionMask_ChannelLayout

Represents the AudioChannelLayout.

CMAudioFormatDescriptionMask_Extensions

Represents the format description extensions.

CMAudioFormatDescriptionMask_All

Represents all the parts of an audio format description.

Discussion

These components form the bit mask passed to (and returned from) CMAudioFormatDescriptionEqual.

CMMuxedStreamType

Muxed media format/subtype.

enum {
   kCMMuxedStreamType_MPEG1System       = 'mp1s',
   kCMMuxedStreamType_MPEG2Transport    = 'mp2t',
   kCMMuxedStreamType_MPEG2Program      = 'mp2p',
   kCMMuxedStreamType_DV                = 'dv  '
};
typedef FourCharCode CMMuxedStreamType;
Constants
kCMMuxedStreamType_MPEG1System

MPEG-1 System stream.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMuxedStreamType_MPEG2Transport

MPEG-2 Transport stream.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMuxedStreamType_MPEG2Program

MPEG-2 Program stream.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMuxedStreamType_DV

DV stream.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

CMClosedCaptionFormatType

Four-character codes identifying closed-caption media format types.

enum {
   kCMClosedCaptionFormatType_CEA608    = 'c608',
   kCMClosedCaptionFormatType_CEA708    = 'c708'
};
typedef FourCharCode CMClosedCaptionFormatType;
Constants
kCMClosedCaptionFormatType_CEA608

CEA 608-compliant samples.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMClosedCaptionFormatType_CEA708

CEA 708-compliant samples.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

CMPixelFormatType

Four-character codes identifying pixel formats.

enum {
   kCMPixelFormat_32ARGB          = 32,
   kCMPixelFormat_32BGRA          = 'BGRA',
   kCMPixelFormat_24RGB           = 24,
   kCMPixelFormat_16BE555         = 16,
   kCMPixelFormat_16BE565         = 'B565',
   kCMPixelFormat_16LE555         = 'L555',
   kCMPixelFormat_16LE565         = 'L565',
   kCMPixelFormat_16LE5551        = '5551',
   kCMPixelFormat_422YpCbCr8      = '2vuy',
   kCMPixelFormat_422YpCbCr8_yuvs = 'yuvs',
   kCMPixelFormat_444YpCbCr8      = 'v308',
   kCMPixelFormat_4444YpCbCrA8    = 'v408',
   kCMPixelFormat_422YpCbCr16     = 'v216',
   kCMPixelFormat_422YpCbCr10     = 'v210',
   kCMPixelFormat_444YpCbCr10     = 'v410',
   kCMPixelFormat_8IndexedGray_WhiteIsZero = 0x00000028,
};
typedef FourCharCode CMPixelFormatType;
Constants
kCMPixelFormat_32ARGB

32-bit ARGB.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_32BGRA

32-bit BGRA.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_24RGB

24-bit RGB.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_16BE555

16-bit big-endian 5-5-5.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_16BE565

16-bit big-endian 5-6-5.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_16LE555

16-bit little-endian 5-5-5.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_16LE565

16-bit little-endian 5-6-5.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_16LE5551

16-bit little-endian 5-5-5-1.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_422YpCbCr8

Component Y'CbCr 8-bit 4:2:2 ordered Cb Y'0 Cr Y'1.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_422YpCbCr8_yuvs

Component Y'CbCr 8-bit 4:2:2 ordered Y'0 Cb Y'1 Cr.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_444YpCbCr8

Component Y'CbCr 8-bit 4:4:4.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_4444YpCbCrA8

Component Y'CbCrA 8-bit 4:4:4:4.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_422YpCbCr16

Component Y'CbCr 10,12,14,16-bit 4:2:2.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_422YpCbCr10

Component Y'CbCr 10-bit 4:2:2.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_444YpCbCr10

Component Y'CbCr 10-bit 4:4:4

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMPixelFormat_8IndexedGray_WhiteIsZero

8 bit indexed gray, white is zero.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

Discussion

Only some codec types are pixel formats.

CMMetadataFormatType

The types of TimedMetadata.

enum {
   kCMTimedMetadataFormatType_ICY      = 'icy ',
   kCMTimedMetadataFormatType_ID3      = 'id3 ',
   kCMTimedMetadataFormatType_Boxed    = 'mebx',
};
typedef FourCharCode CMMetadataFormatType;
Constants
kCMTimedMetadataFormatType_ICY

SHOUTCast format.

Available in iOS 4.0 through iOS 5.1.

Declared in CMFormatDescription.h.

kCMTimedMetadataFormatType_ID3

ID3 format.

Available in iOS 4.0 through iOS 5.1.

Declared in CMFormatDescription.h.

kCMTimedMetadataFormatType_Boxed

CoreMedia boxed format.

Available in iOS 4.0 through iOS 5.1.

Declared in CMFormatDescription.h.

MPEG-2-conformant Formats

Constants to access MPEG-2 attributes.

CFStringRef kCMFormatDescriptionConformsToMPEG2VideoProfile;
CFStringRef kCMFormatDescriptionExtension_TemporalQuality;
CFStringRef kCMFormatDescriptionExtension_SpatialQuality;
CFStringRef kCMFormatDescriptionExtension_Version;
CFStringRef kCMFormatDescriptionExtension_RevisionLevel;
CFStringRef kCMFormatDescriptionExtension_Vendor;
CFStringRef kCMFormatDescriptionVendor_Apple;
Constants
kCMFormatDescriptionConformsToMPEG2VideoProfile

The value is a CFNumber specifying a kCMMPEG2VideoProfile.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMFormatDescriptionExtension_TemporalQuality

The value is a CFNumber.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMFormatDescriptionExtension_SpatialQuality

The value is a CFNumber.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMFormatDescriptionExtension_Version

The value is a CFNumber.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMFormatDescriptionExtension_RevisionLevel

The value is a CFNumber.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMFormatDescriptionExtension_Vendor

The value is a CFString of four character codes.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMFormatDescriptionVendor_Apple

A CFString specifying Apple as the vendor.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

CMTextFormatDescription Constants

These keys and values are used by text-based format descriptions.

// Extension keys and values common to kCMTextFormatType_QTText and kCMTextFormatType_3GText format descriptions
CFStringRef kCMTextFormatDescriptionExtension_DisplayFlags;
CFStringRef kCMTextFormatDescriptionExtension_BackgroundColor;
CFStringRef kCMTextFormatDescriptionColor_Red;
CFStringRef kCMTextFormatDescriptionColor_Green;
CFStringRef kCMTextFormatDescriptionColor_Blue;
CFStringRef kCMTextFormatDescriptionColor_Alpha;
CFStringRef kCMTextFormatDescriptionExtension_DefaultTextBox;
CFStringRef kCMTextFormatDescriptionRect_Top;
CFStringRef kCMTextFormatDescriptionRect_Left;
CFStringRef kCMTextFormatDescriptionRect_Bottom;
CFStringRef kCMTextFormatDescriptionRect_Right;
CFStringRef kCMTextFormatDescriptionExtension_DefaultStyle;
CFStringRef kCMTextFormatDescriptionStyle_StartChar;
CFStringRef kCMTextFormatDescriptionStyle_Font;
CFStringRef kCMTextFormatDescriptionStyle_FontFace;
CFStringRef kCMTextFormatDescriptionStyle_ForegroundColor;
CFStringRef kCMTextFormatDescriptionStyle_FontSize;
   
// Extension keys and values specific to kCMTextFormatType_3GText
CFStringRef kCMTextFormatDescriptionExtension_HorizontalJustification;
CFStringRef kCMTextFormatDescriptionExtension_VerticalJustification;
   
// Extension keys and values specific to the kCMTextFormatType_3GText kCMTextFormatDescriptionExtension_DefaultStyle dictionary
CFStringRef kCMTextFormatDescriptionStyle_EndChar;
CFStringRef kCMTextFormatDescriptionExtension_FontTable;
   
// Extension keys and values specific to kCMTextFormatType_QTText
CFStringRef kCMTextFormatDescriptionExtension_TextJustification;
   
// Extension keys and values specific to the kCMTextFormatType_QTText kCMTextFormatDescriptionExtension_DefaultStyle dictionary
CFStringRef kCMTextFormatDescriptionStyle_Height;
CFStringRef kCMTextFormatDescriptionStyle_Ascent;
CFStringRef kCMTextFormatDescriptionExtension_DefaultFontName;
Constants
kCMTextFormatDescriptionExtension_DisplayFlags

The value is a CFNumber (an SInt32 holding CMTextDisplayFlags).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionExtension_BackgroundColor

The value is a CFDictionary.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionColor_Red

The value is a CFNumber (SInt8 for 3G), (SInt16 for QT).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionColor_Green

The value is a CFNumber (SInt8 for 3G), (SInt16 for QT).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionColor_Blue

The value is a CFNumber (SInt8 for 3G), (SInt16 for QT).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionColor_Alpha

The value is a CFNumber (SInt8 for 3G), not applicable for QT text.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionExtension_DefaultTextBox

The value is a CFDictionary.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionRect_Top

The value is a CFNumber (SInt16).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionRect_Left

The value is a CFNumber (SInt16).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionRect_Bottom

The value is a CFNumber (SInt16).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionRect_Right

The value is a CFNumber (SInt16).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionExtension_DefaultStyle

The value is a CFDictionary.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionStyle_StartChar

The value is a CFNumber (SInt16 for 3G), (SInt32 for QT).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionStyle_Font

The value is a CFNumber (SInt16).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionStyle_FontFace

The value is a CFNumber (SInt8).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionStyle_ForegroundColor

The value is a CFDictionary.

The dictionary contains values for kCMTextFormatDescriptionColor_Red, kCMTextFormatDescriptionColor_Green, and so on.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionExtension_HorizontalJustification

The value is a CFNumber (SInt8) containing a CMTextJustificationValue.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionExtension_VerticalJustification

The value is a CFNumber (SInt8) containing a CMTextJustificationValue.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionStyle_EndChar

The value is a CFNumber (SInt16).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionExtension_FontTable

The value is a CFDictionary.

Keys are FontIDs as CFStrings, values are font names as CFStrings.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionExtension_TextJustification

The value is a CFNumber (SInt8) containing a CMTextJustificationValue.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionStyle_Height

The value is a CFNumber (SInt16).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionStyle_Ascent

The value is a CFNumber (SInt16).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMTextFormatDescriptionExtension_DefaultFontName

The value is a CFString.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

CMVideoCodecType

Four-character codes identifying the video codec.

enum {
   kCMVideoCodecType_422YpCbCr8       = kCMPixelFormat_422YpCbCr8,
   kCMVideoCodecType_Animation        = 'rle ',
   kCMVideoCodecType_Cinepak          = 'cvid',
   kCMVideoCodecType_JPEG             = 'jpeg',
   kCMVideoCodecType_JPEG_OpenDML     = 'dmb1',
   kCMVideoCodecType_SorensonVideo    = 'SVQ1',
   kCMVideoCodecType_SorensonVideo3   = 'SVQ3',
   kCMVideoCodecType_H263             = 'h263',
   kCMVideoCodecType_H264             = 'avc1',
   kCMVideoCodecType_MPEG4Video       = 'mp4v',
   kCMVideoCodecType_MPEG2Video       = 'mp2v',
   kCMVideoCodecType_MPEG1Video       = 'mp1v',
   
   kCMVideoCodecType_DVCNTSC          = 'dvc ',
   kCMVideoCodecType_DVCPAL           = 'dvcp',
   kCMVideoCodecType_DVCProPAL        = 'dvpp',
   kCMVideoCodecType_DVCPro50NTSC     = 'dv5n',
   kCMVideoCodecType_DVCPro50PAL      = 'dv5p',
   kCMVideoCodecType_DVCPROHD720p60   = 'dvhp',
   kCMVideoCodecType_DVCPROHD720p50   = 'dvhq',
   kCMVideoCodecType_DVCPROHD1080i60  = 'dvh6',
   kCMVideoCodecType_DVCPROHD1080i50  = 'dvh5',
   kCMVideoCodecType_DVCPROHD1080p30  = 'dvh3',
   kCMVideoCodecType_DVCPROHD1080p25  = 'dvh2',
};
typedef FourCharCode CMVideoCodecType;
Constants
kCMVideoCodecType_422YpCbCr8

Component Y'CbCr 8-bit 4:2:2 ordered Cb Y'0 Cr Y'1.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_Animation

Apple Animation format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_Cinepak

Cinepak format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_JPEG

Joint Photographic Experts Group (JPEG) format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_JPEG_OpenDML

JPEG format with Open-DML extensions.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_SorensonVideo

Sorenson video format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_SorensonVideo3

Sorenson 3 video format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_H263

ITU-T H.263 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_H264

ITU-T H.264 format (also known as ISO/IEC 14496-10 - MPEG-4 Part 10, Advanced Video Coding format).

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_MPEG4Video

ISO/IEC Moving Picture Experts Group (MPEG) MPEG-4 Part 2 video format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_MPEG2Video

MPEG-2 video format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_MPEG1Video

MPEG-1 video format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_DVCNTSC

DV NTSC format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_DVCPAL

DV PAL format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_DVCProPAL

Panasonic DVCPro PAL format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_DVCPro50NTSC

Panasonic DVCPro-50 NTSC format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_DVCPro50PAL

Panasonic DVCPro-50 PAL format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_DVCPROHD720p60

Panasonic DVCPro-HD 720p60 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_DVCPROHD720p50

Panasonic DVCPro-HD 720p50 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_DVCPROHD1080i60

Panasonic DVCPro-HD 1080i60 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_DVCPROHD1080i50

Panasonic DVCPro-HD 1080i50 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_DVCPROHD1080p30

Panasonic DVCPro-HD 1080p30 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMVideoCodecType_DVCPROHD1080p25

Panasonic DVCPro-HD 1080p25 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

Discussion

Certain codec types are also pixel formats.

There is no “kCMVideoCodecType_Raw”; you should use the appropriate pixel format type as the codec type.

Video Profiles

Constants for video profiles. For more information on HDV, see HDV documentation.

enum
{
   kCMMPEG2VideoProfile_HDV_720p30 =                'hdv1',
   kCMMPEG2VideoProfile_HDV_1080i60 =               'hdv2',
   kCMMPEG2VideoProfile_HDV_1080i50 =               'hdv3',
   kCMMPEG2VideoProfile_HDV_720p24 =                'hdv4',
   kCMMPEG2VideoProfile_HDV_720p25 =                'hdv5',
   kCMMPEG2VideoProfile_HDV_1080p24 =               'hdv6',
   kCMMPEG2VideoProfile_HDV_1080p25 =               'hdv7',
   kCMMPEG2VideoProfile_HDV_1080p30 =               'hdv8',
   kCMMPEG2VideoProfile_HDV_720p60 =                'hdv9',
   kCMMPEG2VideoProfile_HDV_720p50 =                'hdva',
   kCMMPEG2VideoProfile_XDCAM_HD_1080i60_VBR35 =    'xdv2',
   kCMMPEG2VideoProfile_XDCAM_HD_1080i50_VBR35 =    'xdv3',
   kCMMPEG2VideoProfile_XDCAM_HD_1080p24_VBR35 =    'xdv6',
   kCMMPEG2VideoProfile_XDCAM_HD_1080p25_VBR35 =    'xdv7',
   kCMMPEG2VideoProfile_XDCAM_HD_1080p30_VBR35 =    'xdv8',
   kCMMPEG2VideoProfile_XDCAM_EX_720p24_VBR35 =     'xdv4',
   kCMMPEG2VideoProfile_XDCAM_EX_720p25_VBR35 =     'xdv5',
   kCMMPEG2VideoProfile_XDCAM_EX_720p30_VBR35 =     'xdv1',
   kCMMPEG2VideoProfile_XDCAM_EX_720p50_VBR35 =     'xdva',
   kCMMPEG2VideoProfile_XDCAM_EX_720p60_VBR35 =     'xdv9',
   kCMMPEG2VideoProfile_XDCAM_EX_1080i60_VBR35 =    'xdvb',
   kCMMPEG2VideoProfile_XDCAM_EX_1080i50_VBR35 =    'xdvc',
   kCMMPEG2VideoProfile_XDCAM_EX_1080p24_VBR35 =    'xdvd',
   kCMMPEG2VideoProfile_XDCAM_EX_1080p25_VBR35 =    'xdve',
   kCMMPEG2VideoProfile_XDCAM_EX_1080p30_VBR35 =    'xdvf',
   kCMMPEG2VideoProfile_XDCAM_HD422_720p50_CBR50 =  'xd5a',
   kCMMPEG2VideoProfile_XDCAM_HD422_720p60_CBR50 =  'xd59',
   kCMMPEG2VideoProfile_XDCAM_HD422_1080i60_CBR50 = 'xd5b',
   kCMMPEG2VideoProfile_XDCAM_HD422_1080i50_CBR50 = 'xd5c',
   kCMMPEG2VideoProfile_XDCAM_HD422_1080p24_CBR50 = 'xd5d',
   kCMMPEG2VideoProfile_XDCAM_HD422_1080p25_CBR50 = 'xd5e',
   kCMMPEG2VideoProfile_XDCAM_HD422_1080p30_CBR50 = 'xd5f',
   kCMMPEG2VideoProfile_XDCAM_HD_540p =             'xdhd',
   kCMMPEG2VideoProfile_XDCAM_HD422_540p =          'xdh2',
};
Constants
kCMMPEG2VideoProfile_HDV_720p30

Apple Intermediate Codec HDV 720p30 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_HDV_1080i60

Apple Intermediate Codec HDV 1080i60 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_HDV_1080i50

Apple Intermediate Codec HDV 1080i50 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_HDV_720p24

HDV 720p24 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_HDV_720p25

HDV_720p25 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_HDV_1080p24

Apple ProRes 422 codec HDV 1080p24 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_HDV_1080p25

HDV 1080p25 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_HDV_1080p30

HDV 1080p30 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_HDV_720p60

HDV 720p60 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_HDV_720p50

HDV 720p50 format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD_1080i60_VBR35

XDCAM HD 1080i60 video HQ format with 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD_1080i50_VBR35

XDCAM HD 1080i50 video HQ format with 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD_1080p24_VBR35

XDCAM HD 1080p24 video HQ format with 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD_1080p25_VBR35

XDCAM HD 1080p25 video HQ format with 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD_1080p30_VBR35

DCAM HD 1080p30 video HQ format with 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_EX_720p24_VBR35

XDCAM EX 720p24 video HQ format with 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_EX_720p25_VBR35

XDCAM EX 720p25 video HQ format with 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_EX_720p30_VBR35

XDCAM EX 720p30 video HQ format with 35 Mbps bit rate .

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_EX_720p50_VBR35

XDCAM EX 720p50 HQ video format with 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_EX_720p60_VBR35

XDCAM EX 720p60 HQ video format with 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_EX_1080i60_VBR35

XDCAM EX 1080i60 HQ video format with 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_EX_1080i50_VBR35

XDCAM EX 1080i50 HQ video format with HQ 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_EX_1080p24_VBR35

XDCAM EX 1080p24 HQ video format with HQ 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_EX_1080p25_VBR35

XDCAM EX 1080p25 HQ video format with 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_EX_1080p30_VBR35

XDCAM EX 1080p30 HQ video format with 35 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD422_720p50_CBR50

XDCAM HD422 720p50 video format with 50 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD422_720p60_CBR50

XDCAM HD422 720p60 video format with 50 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD422_1080i60_CBR50

XDCAM HD422 1080i60 video format with 50 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD422_1080i50_CBR50

XDCAM HD422 1080i50 video format with 50 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD422_1080p24_CBR50

XDCAM HD422 1080p24 video format with 50 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD422_1080p25_CBR50

XDCAM HD422 1080p25 video format with 50 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD422_1080p30_CBR50

XDCAM HD422 1080p30 video format with 50 Mbps bit rate.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD_540p

XDCAM HD 540p video format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.

kCMMPEG2VideoProfile_XDCAM_HD422_540p

XDCAM HD422 540 video format.

Available in iOS 4.0 and later.

Declared in CMFormatDescription.h.