Introduction to Core Video Programming Guide

This document explains Core Video concepts and describes how to obtain and manipulate video frames using the Core Video programming interface.

What Is Core Video?

Core Video is a new pipeline model for digital video in OS X. Partitioning the processing into discrete steps makes it simpler for developers to access and manipulate individual frames without having to worry about translating between data types (QuickTime, OpenGL, and so on) or display synchronization issues.

Core Video is comparable to the Core Image and Core Audio technologies.

Core Video is available in:

For best results, you should use Core Video functionality only on computers that support hardware graphics acceleration (that is, Quartz Extreme).

Who Should Read This Document?

The audience for this document is any Carbon or Cocoa developer who wants a greater degree of control in manipulating video images. Developers should be familiar with digital video and OpenGL as well as multithreaded programming.

Core Video is necessary only if you want to manipulate individual video frames. For example, the following types of video processing would require Core Video:

If you don’t need this level of sophistication (for example, if you only want to display video in your applications), you should use the simplified movie players such as HIMovieView (in Carbon) or QTKit (in Cocoa) to display video. You can also apply effects to video using Quartz Composer.

Organization of This Document

This document is organized into the following chapters:

See Also

Apple offers the following additional resources in the ADC Reference library that complement the Core Video Programming Guide:

In addition, the OpenGL website ( is the primary source for information about the OpenGL API.