CoreVideo provides a pipeline model for digital video, managing the pixel buffers and image buffers that carry frame data and the display-synchronized timing that drives playback. You allocate and recycle frames through CVPixelBufferPool, lock pixel access with CVPixelBufferLockFlags, and describe planar layouts using CVPlanarPixelBufferInfo and its YCbCr variants, while CVDisplayLink delivers callbacks tied to CVTimeStamp and CVTime for frame-accurate scheduling. For GPU work, CVMetalTextureCache and CVMetalBufferCache bridge buffers into Metal, and types such as CVImageColorPrimaries, CVImageAlphaChannelMode, and CVAttachmentMode let you carry color, alpha, and metadata attachments alongside each CVBuffer.
Buffers 6
The core buffer types that carry frame and image data through the video pipeline.
- ClCVBuffer@typedef CVBufferRef
- ClCVReadOnlyPixelBufferiOS 26.0+CVReadOnlyPixelBuffer provides an immutable view of the pixel data held by the pixel buffer.
- StCVMutablePixelBufferiOS 26.0+CVMutablePixelBuffer provides read-write access to the pixel data and attachments.
- PrCVBufferRepresentableiOS 26.0+CVBufferRepresentable protocol is a sealed protocol intended to be implemented by the
- PrCVImageBufferRepresentableiOS 26.0+CVImageBufferRepresentable protocol is a sealed protocol intended to be implemented by the
- PrCVPixelBufferRepresentableiOS 26.0+CVPixelBufferRepresentable protocol is a sealed protocol intended to be implemented by the
Pixel Buffer Pools 5
Types that allocate and recycle pixel buffers for efficient frame reuse.
- ClCVPixelBufferPoolAn object that allocates and recycles pixel buffers to reuse frame memory efficiently.
- StCVPixelBufferPoolFlushFlags@enum CVPixelBufferPoolFlush flags
- StCVPixelBufferLockFlags@enum Pixel Buffer Locking Flags
- StCVPixelBufferCreationAttributesiOS 26.0+Attributes needed for creating a pixel buffer.
- ClCVOpenGLBufferPoolAn object that allocates and recycles OpenGL-backed buffers for video frames.
Metal and OpenGL Interop 3
Caches that bridge CoreVideo buffers into Metal and OpenGL textures and buffers.
- ClCVMetalTextureCache@typedef CVMetalTextureCacheRef
- ClCVMetalBufferCacheAn object that bridges CoreVideo buffers into Metal buffers for GPU processing.
- ClCVOpenGLTextureCache@typedef CVOpenGLTextureCacheRef
Display Timing 5
Display-synchronized timing types that drive frame-accurate scheduling and playback.
- ClCVDisplayLinkAn object that delivers display-synchronized callbacks for scheduling video frames at the refresh rate.
- StCVTimeA structure that represents a time value, which may be indefinite, used in display timing.
- StCVTimeFlagsA structure of flags that describe the state of a CVTime value.
- StCVTimeStamp@struct CVTimeStamp
- StCVTimeStampFlagsA structure of flags that indicate which fields of a timestamp are valid.
SMPTE Time 3
Structures and enumerations that represent SMPTE timecode for video frames.
- StCVSMPTETime@struct CVSMPTETime
- StCVSMPTETimeFlags@enum SMPTE State Flags
- EnCVSMPTETimeType@enum SMPTE Time Types
Planar Pixel Layouts 5
Structures that describe the planar memory layout of pixel buffer formats.
- StCVPlanarComponentInfoA structure describing the offset and row bytes of a single plane in a pixel buffer.
- StCVPlanarPixelBufferInfoA structure describing the layout of planes in a planar pixel buffer.
- StCVPlanarPixelBufferInfo_YCbCrPlanarA structure describing the plane layout of a fully planar YCbCr pixel buffer.
- StCVPlanarPixelBufferInfo_YCbCrBiPlanarA structure describing the plane layout of a biplanar YCbCr pixel buffer.
- StCVFillExtendedPixelsCallBackDataA structure carrying data for the callback that fills a pixel buffer's extended edge pixels.
Pixel Formats 5
Types that identify and describe the pixel formats a buffer can carry.
- StCVPixelFormatTypeiOS 26.0+Identifier for a pixel format type
- StCVPixelFormatDescriptioniOS 26.0+Defines a pixel format which can be used to create custom pixel buffer types.
- StCVProResRawMetadataiOS 27.0+Metadata associated with ProRes RAW images.
- StCVSenselSitingOffsetsiOS 27.0+Siting offsets, relative to pixel center, of individual sensels/components constituting each pixel.
- EnCVSenselArrayPatterniOS 27.0+Pattern indicating sensel arrangement.
Color and Image Metadata 11
Enumerations describing the color, alpha, and field characteristics carried with image buffers.
- EnCVImageColorPrimariesiOS 27.0+Color primaries describe the gamut used for the rendering intent of an image.
- EnCVImageTransferFunctioniOS 27.0+The transfer function describes the tonality of an image for use in color matching operations.
- EnCVImageLogTransferFunctioniOS 27.0+Identifies the specific log curve transfer function or gamma of the content.
- EnCVImageYCbCrMatrixiOS 27.0+Indicates color matrix used for converting image buffer from YCbCr to RGB.
- EnCVImageAlphaChannelModeiOS 27.0+Constants that specify how an image buffer's alpha channel is interpreted.
- EnCVImageFieldDetailiOS 27.0+Constants that specify the field ordering of an interlaced image buffer.
- StCVImageChromaFieldiOS 27.0+Information about chroma field in the 2VUY format image data.
- EnCVImageBufferOriginPositioniOS 26.0+Constants that specify the origin position of an image buffer's coordinate space.
- StCVImageSizeiOS 26.0+Size of image buffer expressed as pixel count.
- StCVImageDisplayMaskRectangleiOS 27.0+Specifies the rectangular display area within the image.
- StCVImageStereoDisplayMaskRectangleiOS 27.0+Specifies the rectangular display area within a view of stereo image.
Attachments 12
Types that define and propagate the metadata attachments associated with a buffer.
- EnCVAttachmentModeConstants that specify whether and how an attachment propagates between buffers.
- PrCVAttachmentModePreferenceiOS 27.0+Defines preferred mode for an attachment key.
- EnCVAttachmentModePreferenceShouldPropagateiOS 27.0+Sets preferred mode for attachment to should propagate
- EnCVAttachmentModePreferenceShouldNotPropagateiOS 27.0+Sets preferred mode for attachment to should not propagate
- PrCVAttachmentValueRepresentableiOS 27.0+Allows Swift types to be used as buffer attachment value.
- StCVAttachmentRawValueiOS 27.0+A lightweight wrapper around raw attachment values.
- PrCVAttachmentKeyDefinitionsiOS 27.0+Marks a type as a collection of attachment keys for an attachment bearer.
- StCVAttachmentKeyDefinitioniOS 27.0+Associates a raw attachment key with a value type and preferred propagation mode.
- StCVAttachmentKeyDefinitionWithDefaultiOS 27.0+Associates a raw attachment key with a default value and preferred propagation mode.
- StCVAttachmentCompositeKeyDefinitioniOS 27.0+Associates a set of raw attachment keys with a value type and preferred propagation mode.
- PrCVImageBufferAttachmentKeyDefinitionsiOS 27.0+A namespace for image buffer attachment keys.
- EnCVPixelBufferAttachmentKeyDefinitionsiOS 27.0+A namespace for pixel buffer attachment keys.
Structures 8
- StCVAttachmentAccessiOS 27.0+Provides access to the attachments of a buffer.
- StCVAttachmentContaineriOS 27.0+Provides storage for buffer attachments independent of the buffer lifetime
- StCVErroriOS 26.0+`CVError` wraps `CVReturn` values to present them as Swift Error values. This type is
- StCVImageCleanApertureiOS 27.0+An image’s clean aperture is a region of video to display.
- StCVImagePixelAspectRatioiOS 27.0+Aspect ratio of each pixel in the image buffer.
- StCVPixelBufferAttributesiOS 26.0+A partial set of pixel buffer creation attributes. This struct is useful for conveying partial requirements for
- StCVPixelBufferPaddingiOS 26.0+Padding pixels around the CVPixelBuffer
- StCVPixelBufferPlanePropertiesiOS 26.0+Properties of a plane of pixels in pixel buffer
Type Aliases 13
- TyCVOptionFlags@typedef CVOptionFlags
- TyCVDisplayLinkOutputCallback
- TyCVDisplayLinkOutputHandler
- TyCVImageBuffer@typedef CVImageBufferRef
- TyCVMetalBuffer@typedef CVMetalBufferRef
- TyCVMetalTexture@typedef CVMetalTextureRef
- TyCVOpenGLBuffer
- TyCVOpenGLTexture@typedef CVOpenGLTextureRef
- TyCVPixelBuffer@typedef CVPixelBufferRef
- TyCVPixelBufferReleaseBytesCallback
- TyCVPixelBufferReleasePlanarBytesCallback
- TyCVFillExtendedPixelsCallBack
- TyCVReturn@enum CVReturn