版本记录
版本号 | 时间 |
---|---|
V1.0 | 2017.10.08 |
前言
Core Video使用基于流水线的API处理数字视频(包括单个帧的操作),并支持Metal和OpenGL。接下来这几篇我们就解析Core Video框架。
框架基本
首先看一下该框架的基本信息。
Core Video为数字视频提供流水线模型。 它通过将进程分为不同步骤来简化处理视频的工作。 这使得开发人员更容易地访问和操纵单个帧,而不必担心在数据类型(QuickTime,OpenGL等)之间进行转化或显示同步问题。 不需要处理单个视频帧的应用程序不应该直接使用Core Video框架。
下面我们就看一下框架的基本结构。
框架结构
下面我们就看一下该框架的详细结构。
1. Data Processing
-
CVBuffer
- 一个定义如何与数据缓冲区进行交互的抽象基类。
-
CVImageBuffer
- 用于管理不同类型图像数据的接口
-
CVPixelBuffer
- 在主存储器中保存像素的图像缓冲区。
-
CVPixelBufferPool
- 用于管理可循环使用的像素缓冲区对象的实用程序对象。
-
CVPixelFormatDescription
- 一个API,用于定义自定义像素格式的函数和类型
2. Time Management
-
CVTime
- 用于存储Core Video时间值的结构。
-
CVDisplayLink
- 一个高优先级的线程,当给定的显示器需要每个帧时通知您的应用程序。
3. Metal
-
CVMetalTextureCache
- 用于创建和管理Metal纹理对象的缓存。
-
CVMetalTexture
- 一种基于纹理的图像缓冲区,提供用于Metal框架的源图像数据。
4. OpenGL
-
CVOpenGLTextureCache
- 用于创建和管理OpenGL纹理对象的缓存。
-
CVOpenGLTexture
- 基于纹理的图像缓冲区,用于将源图像数据提供给OpenGL
-
CVOpenGLBuffer
- 用于将图像数据存储在视频存储器中的图像缓冲器。
-
CVOpenGLBufferPool
- 用于管理一组可循环使用的OpenGL缓冲区对象的实用程序对象。
5. OpenGL ES
-
CVOpenGLESTextureCache
- 用于创建和管理OpenGL ES纹理对象的缓存。
-
CVOpenGLESTexture
- 基于纹理的图像缓冲区,用于将源图像数据提供给OpenGL ES。
6. Core Video Constants
-
Result Codes
- 描述Core Video操作产生的结果代码。
-
Data Types
- Core Video框架使用的通用数据类型。
7. Reference
后记
未完,待续~~~~