OpenMAX
开放多媒体加速层(英语:Open Media Acceleration,缩写为OpenMAX),一个不需要授权、跨平台的软件抽象层,以C语言实现的软件接口,用来处理多媒体。它是由Khronos Group提出的标准,也由他们来维持,目标在于创造一个统一的界面,加速大量多媒体资料的处理。
在它之下,又分成三层:应用层(Application Layer,AL),整合层(Integration Layer,IL)以及开发层(Development Layer,DL)。
OpenMAX层
OpenMAX AL是多媒体应用程序(如Media Player)和平台媒体框架之间的界面。它允许公司开发应用程序方便地移植到不同平台的应用程序(客户),并支持OpenMAX AL API。
应用层(Application Layer, AL) |
整合层(Integration Layer, IL) |
开发层(Development Layer, DL) |
OpenMAX IL是媒体框架(如DirectShow或GStreamer)和多媒体元件(如音讯或视讯编解码器)之间的界面。它允许公司构建平台(例如MP3播放器)轻松改变组件如MP3解码器和均衡器效果,并从不同的供应商购买他们的平台组件。
OpenMAX DL是实体硬件(如DSP芯片和CPU)和软件(如视讯编解码器和3D引擎)之间的界面。
OpenMAX AL应用层
OpenMAX AL API分为两个配置文件:媒体播放器和媒体播放器/录像机。一个平台可以符合一个或两个这些配置文件提供的所有功能包含在一个配置文件。
多媒体API专为资源受限的设备着想,因此OpenMAX的应用程序多以C语言撰写。
功能
OpenMAX AL的功能包括:
- 视频播放和录制
- 音频播放和录制
- 图像捕捉(摄像机),并显示
- 摄影控制
- 广播和RDS
- 基本MIDI播放
- 元数据(Metadata)的提取和插入
规格版本
- OpenMAX AL 1.0 OpenMAX AL 1.0规格 - 一个临时版本,日期为2007-09-02,在正式的1.0 release之前,首先回馈给开发社群的一个临时版本。
- OpenMAX AL 1.0 Specification(页面存档备份,存于互联网档案馆) - dated 2009-06-23
- OpenMAX AL 1.0.1 Specification(页面存档备份,存于互联网档案馆) - dated 2010-03-12
- OpenMAX AL 1.1 Specification(页面存档备份,存于互联网档案馆) - dated 2011-01-18 [1]
OpenMAX IL整合层
OpenMAX IL API透过C语言致力于打造可移植的媒体组件的阵列的平台。这些组件可以是来源(source)、汇出(sink)、编解码器(codec)、过滤器(filter)、分离器(splitter)、混频器(mixers),或任何其他资料操作。
界面是用于抽象化硬件和软件架构的系统。OpenMAX IL API允许用户装载,控制,连接和卸载各个组件。这种灵活的核心架构允许整合层可以轻松地实现任何媒体的使用情况,并实作图形基础的媒体框架。Android主要的多媒体引擎StageFright是透过IBinder使用OpenMax,用于编解码(Codec)处理。
OpenMAX DL发展层
OpenMAX DL API定义了一组低层级的多媒体内核或媒体处理构件。OpenMAX DL范围跨越多个领域,包括接口信号处理和图像处理、音频编码、图像编码和视频编码。 OpenMAX DL分为五个应用领域:
- AC - 音频编解码器
- IC - 图像编解码器
- IP - 图像处理(通用图像处理功能)
- SP - 信号处理(通用音频处理功能)
- VC - 视频编解码器(H264和MP4组件)
OpenMAX API亦被PlayStation 3控制台所采用.[2]
注释
- ^ Khronos Group Releases OpenMAX AL Specification for Application-level Video, Audio and Image Processing on Mobile and Handheld Devices (页面存档备份,存于互联网档案馆), Khronos press release
- ^ OpenMax resources describes PS3 support. [2011-07-06]. (原始内容存档于2012-09-11).
外部链接
- Khronos Group—OpenMAX Overview and API specifications(页面存档备份,存于互联网档案馆)
- Khronos Group—Public API Registry(页面存档备份,存于互联网档案馆)
- Khronos Group—OpenMAX AL 1.1 Specification(页面存档备份,存于互联网档案馆)
- Khronos Group—OpenMAX IL 1.1.2 Specification(页面存档备份,存于互联网档案馆)
- Khronos Group—OpenMAX DL 1.0.2 Specification(页面存档备份,存于互联网档案馆)