多媒体框架
目录
1.框架概述
2.openmax接口规范
3.opencode框架(待补充)
4.stagefright框架(待补充)
5.元数据(待补充)
1.框架概述:
Android采用的是基于PacketVideo的OpenCORE的多媒体方案.OpenCORE遵循OpenMAX的接口规范,本质上是OpenMAX的一种实现.关于OpenCORE在Android的编译,参考android\external\opencore\Android.mk
和android\external\opencore\quick_start.txt
文件.
2.openmax接口规范
1.openMAX AL 应用层:
openMAX AL 包括Engine Object(引擎对象),Media Object(媒体对象),Metadata Extractor Object(元数据提取器对象),Audio Output Mix Object(音频输出混音对象),Camera Object(照相机对象),LED Array Object(LED阵列对象),Radio Object(FM对象),Vibration Control Objects(振动控制对象)等.参考external\opencore\extern_libs_v2\khronos\openmax\include 目录.
Android提供了AuthorDriver作为记录引擎和上层引用的接口,PlayerDriver作为播放引擎与上层的应用接口.
2.OpenMAX IL 集成层
OpenMAX IL:是嵌入式和移动设备中使用的音频,视频,图像等编解码器的 底层接口.
2.1 如何把一个编解码器集成到OpenCORE多媒体框架中?
- 将编解码器封装成一个媒体I/O的组件
- 将建解码器封装成一个OpenCORE的节点
- 将编解码器作为OpenMAX的组件被基层到OpenMAX的编解码器节点中.
注意:对于包含硬件加速的编解码器,通常被封装为OpenMAX的组件出现,要求遵守OpenMAX IL的接口规范.OpenMAX IL 的接口OpenMAX Core在OMX_Core.h中定义.OpenMAX的组件在OMX_Component.h中定义.