Mediaprocessor Programming Interface to Increase the
Portability of Mediaprocessor Software
Michael S. Grow, Siddhartha Sikdar, Donglok Kim, and Yongmin Kim
Image Computing Systems Laboratory
Departments of Electrical Engineering and Bioengineering
University of Washington, Seattle, WA 98195-2500
ABSTRACT
The architecture of mediaprocessors has become increasingly sophisticated to accommodate the need for more performance
in processing various media data. However, due to the inability of mediaprocessor compilers to fully detect the parallelism
available in a program and maximize the utilization of the mediaprocessor’s on-chip resources, C intrinsics, which are hints to
the compiler on which assembly instructions to use, have been employed to achieve better performance. Nonetheless, these
intrinsics are mediaprocessor-dependent, thus limiting the portability of mediaprocessor software. To help increase the
portability of mediaprocessor software, we have developed a Mediaprocessor Programming Interface (MPI), which translates
one set of C intrinsics into another. In many cases, the translated code for the target mediaprocessor has similar performance
to the code developed with native intrinsics. We believe that the MPI can facilitate the reuse of mediaprocessor software as
well as the development of mediaprocessor-independent software.
Keywords: Mediaprocessor, portability, MAP1000, MAP-CA, intrinsics, TriMedia
1. INTRODUCTION
Increased processing and computing needs in commercial and consumer products, such as digital color copiers, cellular
phones, digital TVs, digital cameras/camcorders and set-top boxes, have led to recent advances in algorithms and processors
aimed for multimedia specific computations. One such advance is the development of mediaprocessors [1], such as Philips
TriMedia, Hitachi/Equator Technologies MAP and Texas Instruments TMS320C64X. Mediaprocessors combine the
computational power of high-end DSPs with various I/O capabilities and auxiliary units in a programmable architecture to
offer a flexible and adaptable solution for multimedia applications [2]. Due to the increasing complexity and lack of
flexibility of ASICs and other hardwired components, these mediaprocessors are becoming more attractive than ASICs to
fulfill the processing and computing needs of multimedia applications.
In consumer products, however, mediaprocessors have not had the widespread success that they have had in professional and
commercial products, e.g., medical imaging and machine vision [2]. Since many consumer companies have long depended on
hardwired solutions in developing their products, changing to a mediaprocessor-based approach would cause a company to
have to change their product development paradigm completely. For instance, unfamiliarity in programming mediaprocessors
has been a factor limiting the success of mediaprocessors in consumer products. In many cases, compilers currently have
difficulty in fully exploiting the mediaprocessor resources and parallelism available in a program to achieve optimal
performance, which forces developers to use low-level assembly programming, thus lowering the programming productivity.
Furthermore, while mediaprocessors provide the flexibility and fast time-to-market that companies desire, developing
optimized applications on mediaprocessors currently is time-consuming and requires extensive retraining of engineers.
Many mediaprocessors have been designed in order to exploit unique features in multimedia and image processing for higher
performance, for example, predictable data access patterns and data-level parallelism, i.e., the computation can be performed
on multiples of small data units. Partitioned operations are widely available in mediaprocessors for increased parallelism.
Also, to reduce memory access latency, efficient data movement engines are incorporated.
However, current mediaprocessor compilers typically have difficulty in (1) programming the data flow of an algorithm to
minimize the total I/O time and (2) taking advantage of mediaprocessor-specific assembly instructions that operate on
Media Processors 2001, Sethuraman Panchanathan, V. Michael Bove, Jr., Subramania I. Sudharsanan,
Editors, Proceedings of SPIE Vol. 4313 (2001) © 2001 SPIE · 0277-786X/01/$15.00 11
Downloaded from SPIE Digital Library on 16 May 2012 to 129.174.97.34. Terms of Use: http://spiedl.org/terms