Skip to content
Surf Wiki
Save to docs
general/c-programming-language-libraries

From Surf Wiki (app.surf) — the open knowledge base

MediaLib

Multimedia library for C


Multimedia library for C

FieldValue
namemediaLib
developerSun Microsystems
latest release version2.5
latest release date
programming languageC
genreMultimedia
licenseCDDL

mediaLib (from "multimedia library") is a portable low level library for accelerating multimedia applications, with interfaces in C. It was developed by Sun Microsystems and open-sourced under the CDDL license as part of the OpenSolaris project.

It is implemented in ANSI C, but can take advantage of SIMD multimedia instructions on various processors to gain a significant performance boost. It was originally designed to leverage VIS on SPARC processors and later added support for MMX/SSE/SSE2 on Intel/AMD processors.

Since mediaLib is written in C and SIMD multimedia compiler intrinsics, it should be usable on any system that has an ANSI C compiler that supports SIMD multimedia intrinsics. Systems without SIMD intrinsics support can also use it as pure ANSI C, forgoing any extra acceleration provided by SIMD multimedia instructions. It is also included as part of Solaris 10.

mediaLib 2.5 contains about 4000 files and 2.4 million lines of code, and contains more than 3000 functions for different areas:

  • algebra
  • matrix
  • image
  • graphics
  • signal processing
  • video
  • audio
  • speech
  • volume rendering

Open source applications that use mediaLib include Java, JDS for Solaris, mplayer, and ogle.

There are several mediaLib versions targeting different platforms, but all share the same API, so users can switch from one platform to another without changing source code:

  • Standard C: written in pure ANSI C, with some general code optimization for performance
  • VIS/VIS2/VIS3: optimized for SPARC chips with VIS/VIS2/VIS3 multimedia instruction sets
  • MMX/SSE/SSE2: optimized for Intel/AMD chips with MMX/SSE/SSE2 multimedia instruction sets
  • Integer: optimized for chips that have no or limited floating point capabilities, such as UltraSPARC T1 and some embedded chips
  • Multi-threaded version: A thin wrapper layer built with OpenMP on top of mediaLib, providing flexible multithreading multimedia acceleration for applications
Info: Wikipedia Source

This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.

Want to explore this topic further?

Ask Mako anything about MediaLib — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.

Report