android硬解码OMX
1.1 OpenMAX介绍
OpenMAX:open media acceleration.
直译为开放多媒体加速器,可以理解为是一个拥有免费使用权的多媒体加速器。OpenMAX是Khronos Group开发制定的,该标准采用C语言实现,这个小组是由3Dlabs、ATI、Intel、Nvidia等行业大佬联合创建,目的是实现跨平台的免费的多媒体加速、回放。
1.2 OpenMAX的作用
1.加速跨OS和silicon平台的多媒体组件的开发、整合和编程;
2.使library和codec实现者能够快速有效的利用新silicon的潜在的加速功能,而不关心下层的硬件结构。
1.3 OpenMAX的层次
OpenMAX自上而下分为三个层次:OpenMAX AL,OpenMAX IL和OpenMAX DL。
OpenMAX AL:Application Layer(应用层), AL层为多媒体中间件与应用层之间提供一个标准化的API接口,多媒体中间件提供能够完成预期的API功能的服务。AL层为多媒体接口(应用)提供跨平台可移植性。
OpenMAX IL: Integration Layer(集成层),IL层是作为一个比较低层级的接口来服务于嵌入式设备的音视频、图像编解码。它使得应用程序与多媒体框架可以以一种统一的方式与多媒体编解码器对接,而编解码器本身可以是硬件与软件的任何组合形式,这样编解码器可以做到对用户透明,用户无需关注编解码器的实现细节问题。如果没有IL,那么不同的编解码厂商都需要按照自己的方式实现一套接口,并且各个厂商之间也是不通用的,这样会使得跨平台移植变得极其复杂。
OpenMAX DL: Development Layer(开发层),
DL层定义了众多的API,全方位包含了OpenMAX音频、视频以及图像处理功能,这些功能可以由硅供应商(芯片原厂)实现并优化,然后编解码厂商在此基础上实现一些广泛的编解码功能。 它包含了:
音频信号处理:比如FFT(快速傅立叶变换)、滤波器等;
图像处理:比如色域转换(RGB、YUV等);
视频处理:比如实现并且优化的 MPEG-4, H.264, MP3, AAC 和 JPEG;
参考:
- 点赞
- 收藏
- 关注作者
评论(0)