Podstawowe wideo - Core Video

Core Video to model przetwarzania wideo stosowany w systemie macOS . Łączy proces dekompresji klatek ze źródła wideo z pozostałymi technologiami Quartz w celu renderowania i kompozycji obrazu. Zarówno QuickTime X, jak i QuickTime 7 zależą od Core Video.

Przegląd

Core Video zapewnia zarówno model buforowania, jak i rozwiązanie do synchronizacji odtwarzania w swoim potoku przetwarzania. Źródło wideo dostarcza zdekompresowany strumień danych do renderowania jako obrazy w kontekście wizualnym w Quartz 2D . Core Video można traktować jako łącze między tym źródłem wideo a jego kontekstem wyświetlania. Renderowane obrazy mogą być dalej przetwarzane przez Core Image, zanim zostaną skomponowane w ostateczną scenę za pomocą Quartz Compositor . W ramach procesu kompozycji Core Video utrzymuje bufor klatek , utrzymując pulę wyrenderowanych, skomponowanych klatek gotowych do odtwarzania. Aby zapewnić płynne odtwarzanie, Core Video używa wątku o wysokim priorytecie, aby zachować bufor klatek. To łącze wyświetlania działa niezależnie od aplikacji, która wywołuje odtwarzanie wideo i kompensuje różne częstotliwości odświeżania ekranu i opóźnienia.

Ponieważ QuickTime 7 wykorzystywał Core Video, była pierwszą wersją QuickTime, która zaimplementowała możliwości renderowania Quartz. Poprzednie wersje programu QuickTime wykorzystywały QuickDraw do renderowania. Chociaż Core Video zwykle współdziała z QuickTime, może współdziałać z dowolnym źródłem wideo.

Core Video korzysta z renderowania i kompozycji procesora graficznego (GPU) zapewnianego przez Quartz GL, Core Image i Quartz Extreme , ponieważ końcowe odtwarzanie odbywa się na powierzchni OpenGL.

Historia

Chociaż Core Video został wprowadzony wraz z wydaniem systemu Mac OS X 10.4 , jest uwzględniony w instalacji programu QuickTime 7 w systemie Mac OS X; w związku z tym Core Video jest dostępny dla systemu Mac OS X 10.3.9 z zainstalowanym programem QuickTime 7.

W systemie Mac OS X 10.4 Core Video jest zaimplementowane jako część struktury QuartzCore; w systemie Mac OS X 10.5 i nowszych znajduje się we własnej strukturze.

Bibliografia