Core VideoはmacOSで採用されているビデオ処理モデルです。ビデオソースからフレームを解凍するプロセスを、画像レンダリングと合成のためのQuartzテクノロジーの残りの部分と連携させます。QuickTime XとQuickTime 7はどちらもCore Videoに依存しています。[ 1 ]
Core Video は、処理パイプライン内でバッファリング モデルと再生同期ソリューションの両方を提供します。ビデオ ソースは、Quartz 2Dのビジュアル コンテキスト内で画像としてレンダリングされるデコンプレッション データ ストリームを提供します。Core Video は、このビデオ ソースとその表示コンテキスト間のリンクと考えることができます。レンダリングされた画像は、Quartz Compositorを使用して最終的なシーンに合成される前に、Core Imageによってさらに処理されます。合成プロセスの一部として、Core Video はフレーム バッファを維持し、再生準備が整ったレンダリング済み合成フレームのプールを保持します。スムーズな再生を保証するために、Core Video は高優先度スレッドを使用してフレーム バッファを維持します。この表示リンクは、ビデオ再生を呼び出すアプリケーションとは独立して実行され、異なるディスプレイのリフレッシュ レートとレイテンシを補正します。[ 2 ]
QuickTime 7はCore Videoを採用したため、Quartzのレンダリング機能を実装した最初のQuickTimeバージョンとなりました。以前のバージョンのQuickTimeはレンダリングにQuickDrawを使用していました。Core Videoは通常QuickTimeと連携しますが、あらゆるビデオソースと連携できます。[ 1 ]
Core Video は、最終的な再生が OpenGL サーフェス上で合成されるため、 Quartz GL、Core Image、およびQuartz Extremeによって提供されるグラフィックス プロセッサ (GPU) レンダリングと合成の恩恵を受けています。 [ 1 ]
Core VideoはMac OS X v10.4のリリースで導入されましたが、Mac OS XへのQuickTime 7のインストールに含まれています。そのため、QuickTime 7がインストールされたMac OS X 10.3.9でもCore Videoが利用可能です。[ 1 ]
Mac OS X 10.4 では、Core Video は QuartzCore フレームワークの一部として実装されていますが、Mac OS X 10.5 以降では、独自のフレームワークに存在します。[ 3 ]