By BDTI, 8/16/2004
On July 6, the Khronos Group announced OpenMAX,
an application programming interface (API) covering a set of basic
functions used in graphics, still image, audi
o, and video software. For example, OpenMAX will include API calls for
video decompression sub-functions like the inverse discrete cosine
transform. OpenMAX is intended to be a cross-platform API, enabling
programmers to use the same function calls across a wide range of
architectures.
According to Khronos, OpenMAX is a response
to increasing diversity of embedded processors targeting multimedia
applications. For example, mobile phones use a wide range of processors
for video decoding. Some phones rely on general-purpose processors,
some use digital signal processors, and some use specialized video
accelerators.
The easiest way to achieve software portability across such a
diverse group of architectures is to use high-level languages and to
write software that is not processor-specific. Unfortunately, such
practices usually produce inefficient multimedia software. To improve
software efficiency, programmers typically use low-level optimization
techniques, such as assembly-level programming. But it is very
difficult to port this optimized software between processors. Instead,
programmers typically create all-new optimizations for each processor.
As a result, deploying multimedia software to a new processor is often
a slow, expensive process.
Khronos hopes that OpenMAX will enable faster, less expensive
deployment of multimedia software. When a processor vendor implements
the OpenMAX library, programmers will be able to use API calls to
optimize critical sections of code.
Khronos is not the first organization to see the need for a
multi-platform set of multimedia functions. For example, Intel already
offers the Integrated Performance Primitives (IPP) library of signal
processing functions, which is available in x86-optimized and
XScale-optimized versions. (For more information on IPP, see the May
2002 edition of BDTI’s DSP Insider.)
The OpenMAX specification is currently under development. It is
expected to be finalized in the fourth quarter of 2004 and published in
the first quarter of 2005. Upon its publication, the OpenMAX
specification will be available for download from www.khronos.org. The first OpenMAX implementations will be released when the specification is published.
|