Why Should I Use It?
1.2Why Should I Use It?
|
|
|
|
| P |
|
|
|
| S | |
|
|
| D |
| |
|
| + |
|
| |
| P |
|
|
| |
P |
|
|
|
| |
G |
|
|
|
|
|
The Codec Engine is designed to solve some common problems associated with developing
❏Debugging in a heterogeneous processor environment can be painful. There are multiple debuggers and complex bootstrapping.
❏Different implementations of the same algorithm, such as MP3, have different APIs. Changing to a more efficient algorithm involves significant recoding.
❏Portability issues are compounded with two processors. You may want to port to a different board with a newer DSP or a newer GPP.
❏Some algorithms may run on either the GPP or the DSP. To balance system load, “low complexity” algorithms can run on a GPP, but the definition of “low” changes over time. If changing the location where the algorithm runs were easy, you wouldn’t have to weigh performance issues against the difficulty of changing the application.
❏For market success, most applications need to support multiple codecs to handle the same type of media. For example, an application might need to support three or four audio formats.
❏Programmers with a GPP
The Codec Engine addresses these problems by providing a standard software architecture and interfaces for algorithm execution. The Codec Engine is:
❏
❏Extensible and configurable. New algorithms can be added by anyone, using standard tools and techniques.
❏Portable. The APIs are target, platform, and even codec independent.
Codec Engine Overview |