版本記錄
| 版本號(hào) | 時(shí)間 |
|---|---|
| V1.0 | 2017.10.08 |
前言
Core Video使用基于流水線(xiàn)的API處理數(shù)字視頻(包括單個(gè)幀的操作),并支持Metal和OpenGL。接下來(lái)這幾篇我們就解析Core Video框架。
框架基本
首先看一下該框架的基本信息。

Core Video為數(shù)字視頻提供流水線(xiàn)模型。 它通過(guò)將進(jìn)程分為不同步驟來(lái)簡(jiǎn)化處理視頻的工作。 這使得開(kāi)發(fā)人員更容易地訪(fǎng)問(wèn)和操縱單個(gè)幀,而不必?fù)?dān)心在數(shù)據(jù)類(lèi)型(QuickTime,OpenGL等)之間進(jìn)行轉(zhuǎn)化或顯示同步問(wèn)題。 不需要處理單個(gè)視頻幀的應(yīng)用程序不應(yīng)該直接使用Core Video框架。
下面我們就看一下框架的基本結(jié)構(gòu)。

框架結(jié)構(gòu)
下面我們就看一下該框架的詳細(xì)結(jié)構(gòu)。
1. Data Processing
-
CVBuffer
- 一個(gè)定義如何與數(shù)據(jù)緩沖區(qū)進(jìn)行交互的抽象基類(lèi)。
-
CVImageBuffer
- 用于管理不同類(lèi)型圖像數(shù)據(jù)的接口
-
CVPixelBuffer
- 在主存儲(chǔ)器中保存像素的圖像緩沖區(qū)。
-
CVPixelBufferPool
- 用于管理可循環(huán)使用的像素緩沖區(qū)對(duì)象的實(shí)用程序?qū)ο蟆?/li>
-
CVPixelFormatDescription
- 一個(gè)API,用于定義自定義像素格式的函數(shù)和類(lèi)型
2. Time Management
-
CVTime
- 用于存儲(chǔ)Core Video時(shí)間值的結(jié)構(gòu)。
-
CVDisplayLink
- 一個(gè)高優(yōu)先級(jí)的線(xiàn)程,當(dāng)給定的顯示器需要每個(gè)幀時(shí)通知您的應(yīng)用程序。
3. Metal
-
CVMetalTextureCache
- 用于創(chuàng)建和管理Metal紋理對(duì)象的緩存。
-
CVMetalTexture
- 一種基于紋理的圖像緩沖區(qū),提供用于Metal框架的源圖像數(shù)據(jù)。
4. OpenGL
-
CVOpenGLTextureCache
- 用于創(chuàng)建和管理OpenGL紋理對(duì)象的緩存。
-
CVOpenGLTexture
- 基于紋理的圖像緩沖區(qū),用于將源圖像數(shù)據(jù)提供給OpenGL
-
CVOpenGLBuffer
- 用于將圖像數(shù)據(jù)存儲(chǔ)在視頻存儲(chǔ)器中的圖像緩沖器。
-
CVOpenGLBufferPool
- 用于管理一組可循環(huán)使用的OpenGL緩沖區(qū)對(duì)象的實(shí)用程序?qū)ο蟆?/li>
5. OpenGL ES
-
CVOpenGLESTextureCache
- 用于創(chuàng)建和管理OpenGL ES紋理對(duì)象的緩存。
-
CVOpenGLESTexture
- 基于紋理的圖像緩沖區(qū),用于將源圖像數(shù)據(jù)提供給OpenGL ES。
6. Core Video Constants
-
Result Codes
- 描述Core Video操作產(chǎn)生的結(jié)果代碼。
-
Data Types
- Core Video框架使用的通用數(shù)據(jù)類(lèi)型。
7. Reference
后記
未完,待續(xù)~~~~
