mediaLib

王朝百科·作者佚名  2010-04-10  
宽屏版  字体: |||超大  

mediaLib (指 "多媒体函数库") 是一个用于加速多媒体应用程序的可移植的底层函数库。它具备C语言接口,其最新版本为2.5。 它最初由Sun开发,之后作为OpenSolaris项目的一部分在CDDL许可证下开源。

mediaLib 用C及编译器原语写成,可以利用多种处理器上带有的SIMD多媒体指令集来获得显着的性能提升。虽然最初它只能利用SPARC处理器上的VIS指令集,但是后来又加入了对Intel/AMD处理器上的MMX/SSE/SSE2等指令集的支持。

mediaLib 用C及编译器原语写就,理论上一个系统只要有支持C和编译器原语的编译器,就可以编译并且使用它。如果缺乏编译器原语的支持,也可以编译使用mediaLib的纯C语言版本,但是这样的话将无法获得SIMD多媒体指令集所能带来的性能提升。

mediaLib目前包含在Solaris操作系统中。

mediaLib 2.5 包含近4000个文件和240万行C源代码,有针对不同领域应用的函数3000馀个:

* 线性代数

* 矩阵运算

* 图像处理

* 图形处理

* 信号处理

* 视频

* 音频

* 语音

* 三维渲染

调用了mediaLib的开放源代码应用程序有Java, JDS for Solaris, mplayer, ffmpeg, and ogle。

mediaLib 有针对多个平台的不同版本,但是这些版本都共享同一套API,所以使用者可在多个平台间自由迁移,而无需修改源代码中对mediaLib的调用:

* C语言版本: 以纯粹的ANSI C写就, 并带有常见代码优化

* VIS/VIS2/VIS3版本: 以SPARC芯片的VIS/VIS2/VIS3多媒体扩展指令集进行优化

* MMX/SSE/SSE2版本: 以Intel/AMD芯片的MMX/SSE/SSE2多媒体扩展指令集进行优化

* 整数版本: 针对无浮点运算能力或浮点性能较弱的芯片进行优化, 这样的芯片如UltraSPARC T1和一些定点嵌入式处理器

* 多线程版本: 是在mediaLib之上以OpenMP对mediaLib函数进行的一个包装,旨在为多媒体应用程序提供灵活的多线程扩展能力

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有