beautypg.com

Texas Instruments Codec Engine Server User Manual

Page 9

background image

Why Should I Use It?

Codec Engine Overview

1-3

1.2

Why Should I Use It?

The Codec Engine is designed to solve some common problems
associated with developing system-on-a-chip (SoC) applications. The
most significant problems include:

❏ 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 (general-purpose processor) view don’t

want to have to learn to be DSP programmers. They don’t want to
have to worry about a DSP’s complex memory management and
DSP real-time issues.

The Codec Engine addresses these problems by providing a standard
software architecture and interfaces for algorithm execution. The Codec
Engine is:

Easy-to-use. Application developers specify what algorithm needs

to be run, not how or where.

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.

GP

P+D

SP