Core Video: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
template dab
mNo edit summary
Tags: Mobile edit Mobile app edit iOS app edit
 
(8 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Short description|Video processing model used in macOS}}
{{Use mdy dates|date=October 2013}}
{{Mac OS X graphics model
{{Mac OS X graphics model
|logo= [[File:Macosx audiovideo corevideo 20091030.png|Core Video]]
|logo= [[File:Macosx audiovideo corevideo 20091030.png|Core Video]]
}}
}}


'''Core Video''' is the video processing model employed by [[Mac OS X]]. It links the process of decompressing frames from a video source to the rest of the [[Quartz (graphics layer) | Quartz technologies]] for image rendering and composition. Both [[QuickTime X]] and [[QuickTime | QuickTime 7]] depend on Core Video.<ref name="progguide">{{cite web | title=Mac Dev Center - Core Video Programming Guide - Introduction to Core Video Programming Guide | url=http://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/CoreVideo/CVProg_Intro/CVProg_Intro.html | accessdate=2009-09-24}}</ref>
'''Core Video''' is the video processing model employed by [[macOS]]. It links the process of decompressing frames from a video source to the rest of the [[Quartz (graphics layer) | Quartz technologies]] for image rendering and composition. Both [[QuickTime X]] and [[QuickTime | QuickTime 7]] depend on Core Video.<ref name="progguide">{{cite web | title=Mac Dev Center - Core Video Programming Guide - Introduction to Core Video Programming Guide | url=https://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/CoreVideo/CVProg_Intro/CVProg_Intro.html | access-date=September 24, 2009}}</ref>


== Overview ==
== Overview ==
Core Video provides both a buffering model and a playback synchronization solution within its processing pipeline. A video source provides a decompressed data stream to be rendered as images within a visual context in [[Quartz 2D]]. Core Video can be thought of as the link between this video source and its display context. Rendered images can be further processed by [[Core Image]] before being composed into a final scene with [[Quartz Compositor]]. As part of the composition process, Core Video maintains a ''frame buffer'', keeping a pool of rendered, composed frames ready for playback. To ensure smooth playback, Core Video uses a high-priority thread to maintain its frame buffer. This ''display link'' runs independently from the application which invokes video playback, and it compensates for different display refresh rates and latency.<ref>{{cite web | title=Mac Dev Center - Core Video Programming Guide - Core Video Concepts | url=http://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/CoreVideo/CVProg_Concepts/CVProg_Concepts.html#//apple_ref/doc/uid/TP40001536-CH202-BABJDFHJ | accessdate=2009-09-24}}</ref>
Core Video provides both a buffering model and a playback synchronization solution within its processing pipeline. A video source provides a decompressed data stream to be rendered as images within a visual context in [[Quartz 2D]]. Core Video can be thought of as the link between this video source and its display context. Rendered images can be further processed by [[Core Image]] before being composed into a final scene with [[Quartz Compositor]]. As part of the composition process, Core Video maintains a ''frame buffer'', keeping a pool of rendered, composed frames ready for playback. To ensure smooth playback, Core Video uses a high-priority thread to maintain its frame buffer. This ''display link'' runs independently from the application which invokes video playback, and it compensates for different display refresh rates and latency.<ref>{{cite web | title=Mac Dev Center - Core Video Programming Guide - Core Video Concepts | url=https://developer.apple.com/mac/library/documentation/GraphicsImaging/Conceptual/CoreVideo/CVProg_Concepts/CVProg_Concepts.html#//apple_ref/doc/uid/TP40001536-CH202-BABJDFHJ | access-date=September 24, 2009}}</ref>


Because QuickTime 7 employed Core Video, it was the first version of QuickTime to implement the rendering capability of Quartz. Previous versions of QuickTime used [[QuickDraw]] for rendering. Although Core Video typically interacts with QuickTime, it can interact with any video source.<ref name="progguide" />
Because QuickTime 7 employed Core Video, it was the first version of QuickTime to implement the rendering capability of Quartz. Previous versions of QuickTime used [[QuickDraw]] for rendering. Although Core Video typically interacts with QuickTime, it can interact with any video source.<ref name="progguide" />
Line 15: Line 17:
Although Core Video was introduced with the release of [[Mac OS X v10.4]], it is included in the installation of QuickTime 7 on Mac OS X; thus, Core Video is available for Mac OS X 10.3.9 with QuickTime 7 installed as well.<ref name="progguide" />
Although Core Video was introduced with the release of [[Mac OS X v10.4]], it is included in the installation of QuickTime 7 on Mac OS X; thus, Core Video is available for Mac OS X 10.3.9 with QuickTime 7 installed as well.<ref name="progguide" />


In Mac OS X 10.4, Core Video is implemented as part of the QuartzCore framework; in Mac OS X 10.5 and later, it resides in its own framework.<ref>{{cite web | title = Mac Dev Center - Mac OS X Technology Overview - Graphics and Multimedia Technologies | url=http://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/OSX_Technology_Overview/GraphicsTechnologies/GraphicsTechnologies.html#//apple_ref/doc/uid/TP40001067-CH273-SW21 | accessdate=2009-09-24}}</ref>
In Mac OS X 10.4, Core Video is implemented as part of the QuartzCore framework; in Mac OS X 10.5 and later, it resides in its own framework.<ref>{{cite web | title = Mac Dev Center - Mac OS X Technology Overview - Graphics and Multimedia Technologies | url=https://developer.apple.com/mac/library/documentation/MacOSX/Conceptual/OSX_Technology_Overview/GraphicsTechnologies/GraphicsTechnologies.html#//apple_ref/doc/uid/TP40001067-CH273-SW21 | access-date=September 24, 2009}}</ref>


== References ==
== References ==
{{reflist}}
{{reflist}}


{{Apple}}
{{Core Foundation}}
{{Core Foundation}}
{{Mac OS X}}
{{macOS}}


[[Category:Mac OS X APIs]]
[[Category:macOS APIs]]
[[Category:QuickTime]]

[[es:Core Video]]
[[fr:Core Video]]

Latest revision as of 16:58, 21 September 2023

Core Video is the video processing model employed by macOS. It links the process of decompressing frames from a video source to the rest of the Quartz technologies for image rendering and composition. Both QuickTime X and QuickTime 7 depend on Core Video.[1]

Overview[edit]

Core Video provides both a buffering model and a playback synchronization solution within its processing pipeline. A video source provides a decompressed data stream to be rendered as images within a visual context in Quartz 2D. Core Video can be thought of as the link between this video source and its display context. Rendered images can be further processed by Core Image before being composed into a final scene with Quartz Compositor. As part of the composition process, Core Video maintains a frame buffer, keeping a pool of rendered, composed frames ready for playback. To ensure smooth playback, Core Video uses a high-priority thread to maintain its frame buffer. This display link runs independently from the application which invokes video playback, and it compensates for different display refresh rates and latency.[2]

Because QuickTime 7 employed Core Video, it was the first version of QuickTime to implement the rendering capability of Quartz. Previous versions of QuickTime used QuickDraw for rendering. Although Core Video typically interacts with QuickTime, it can interact with any video source.[1]

Core Video benefits from graphics processor (GPU) rendering and composition provided by Quartz GL, Core Image, and Quartz Extreme, since final playback is composed on an OpenGL surface.[1]

History[edit]

Although Core Video was introduced with the release of Mac OS X v10.4, it is included in the installation of QuickTime 7 on Mac OS X; thus, Core Video is available for Mac OS X 10.3.9 with QuickTime 7 installed as well.[1]

In Mac OS X 10.4, Core Video is implemented as part of the QuartzCore framework; in Mac OS X 10.5 and later, it resides in its own framework.[3]

References[edit]

  1. ^ a b c d "Mac Dev Center - Core Video Programming Guide - Introduction to Core Video Programming Guide". Retrieved September 24, 2009.
  2. ^ "Mac Dev Center - Core Video Programming Guide - Core Video Concepts". Retrieved September 24, 2009.
  3. ^ "Mac Dev Center - Mac OS X Technology Overview - Graphics and Multimedia Technologies". Retrieved September 24, 2009.