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

mediaLib
开发者Sun Microsystems
当前版本2.5(2007年11月16号)
编程语言C
类型多媒体
许可协议CDDL
网站sun.com/processors/vis/mlib.html

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

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

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

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

调用了mediaLib的开放源代码应用程序有JavaJDS for Solaris, mplayerffmpeg,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函数进行的一个包装,旨在为多媒体应用程序提供灵活的多线程扩展能力


外部链接