Core Video
Core Video est le composant de traitement vidéo utilisé par QuickTime dans Mac OS X pour s'interfacer avec les couches de rendu et de composition dans son architecture graphique. Il fournit les images issues de QuickTime et des autres sources aux autres couches de Quartz dans Mac OS X[1].
Détails
QuickTime 7 est la première version qui utilise complètement les fonctionnalités de Quartz et qui abreuve Core Video avec un flux vidéo décompressé pour l'affichage[2]. La queue de traitement de Core Video propose un modèle "tamponné" et une fonctionnalité de synchronisation pour garantir une lecture fluide[3].
Core Video peut être vu comme le lien entre une source vidéo et l'interface d'affichage de Quartz 2D. Comme Core Video a pour but de transférer les vidéos en tant qu'image au contexte d'affichage, il peut gérer un tampon d'images (le "frame buffer") qui sert à alimenter Quartz 2D pour l'affichage. Les images peuvent ensuite être traitées par les filtres de Core Image avant d'être affichées dans la vue finale avec Quartz Compositor. Compositor utilise une surface OpenGL pour afficher les images et Core Video maintient le timing du flux d'images sur cette surface avec son séquenceur intégré. Le résultat est que la lecture vidéo de QuickTime est placée sur une surface OpenGL, permettant à Core Video de faire en sorte que QuickTime interagisse avec QuickDraw[4] - [5] - [6].
Bien que le tampon d'images de Core Video soit conçu pour interagir avec QuickTime 7, il peut interagir avec n'importe quelle source vidéo[5] - [6]. Core Video fonctionne mieux avec les cartes graphiques qui supportent Quartz Extreme puisque le rendu final est composé sur une surface OpenGL[7].
Histoire
Core Video était fourni en standard avec Mac OS X v10.4 mais aussi avec l'installation de QuickTime 7 sur Mac OS X. De ce fait, Core Video est disponible sur les systèmes Mac OS X 10.3.9 avec QuickTime 7 d'installé ou Mac OS X 10.4 ou supérieur[8].
Références
- (en) « Apple - Developer - Core Video Programming Guide - Core Video Concepts » [archive du ] (consulté le )
- (en) « Apple - Developer - Core Video Programming Guide - Introduction to Core Video Programming Guide » (consulté le )
- (en) « Apple - Developer - Core Video Programming Guide - Core Video Concepts » (consulté le )
- (en) « Apple - Developer - Core Video Programming Guide - The Core Video Pipeline » (consulté le )
- (en) « Apple - Developer - Core Video Programming Guide - The Display Link » [archive du ] (consulté le )
- (en) « Apple - Developer - Core Video Programming Guide - Buffer Management » [archive du ] (consulté le )
- (en) « Apple - Developer - Core Video Programming Guide - Buffer Management » [archive du ] (consulté le )
- (en) « Apple - Developer - Core Video Programming Guide - Introduction to Core Video Programming Guide » [archive du ] (consulté le )