| Header for SPIE use The Dalí Multimedia Software Library (2008) | |||||||||||||||||
Abstract | |||||||||||||||||
| This paper presents a new approach for constructing libraries for building processing-intensive multimedia software. Such software is currently constructed either by using high-level libraries or by writing it “from scratch ” using C. We have found that the first approach produces inefficient code, while the second approach is time-consuming and produces complex code that is difficult to maintain or reuse. We therefore designed and implemented Dalí, a set of reusable, high-performance primitives and abstractions that are at an intermediate level of abstraction between C and conventional libraries. By decomposing common multimedia data types and operations into thin abstractions and primitives, programs written using Dalí achieve performance competitive with hand-tuned C code, but are shorter and more reusable. Furthermore, Dalí programs can employ optimizations that are difficult to exploit in C (because the code is so verbose) and impossible using conventional libraries (because the abstractions are too thick). We discuss the design of Dalí, show several example programs written using Dalí, and show that programs written in Dalí achieve performance competitive to hand-tuned C programs. | |||||||||||||||||
Publication details | |||||||||||||||||
| |||||||||||||||||