beautypg.com

Texas Instruments Codec Engine Server User Manual

Page 19

background image

Overview

Configuring a Codec Server

2-3

2.1.1

What is a Codec Server?

A Codec Server is a binary that integrates codecs, framework
components, and system code. When the Codec Server is on a DSP, it
uses DSP/BIOS as the DSP kernel.

In the context of the DaVinci DM644x platforms (and other GPP+DSP
platforms), a Codec Server is a DSP binary. It includes a DSP/BIOS task
thread that responds to requests from a client to create codecs, provide
performance information (MIPS and MEM usage).

A Codec Server performs similarly to a web server. Just as the term "web
server" can refer to the actual hardware, the configured software, or the
executing daemon, the term "Codec Server" can refer to the DSP, the
configured image loaded on the DSP, or the executing task.

The GPP application uses the VISA APIs to invoke remote codecs on the
DSP. From the perspective of the GPP application, codec execution is
completely transparent, and behaves the same whether the codecs are
local (on the GPP) or remote (on the DSP). When remote, Codec Engine
automatically manages the necessary creation, communication,
invocation, and eventual deletion of codecs from the DSP.

2.1.2

What is the Execution Flow?

As an example of the execution flow, on a dual-CPU system, such as the
DM644x device, the following steps summarize the execution flow when
a GPP application uses a remote codec to perform audio encode on the
DSP. After opening the engine, the application makes calls to the VISA
APIs, which manage the three phases of remote codec execution as
follows:

1) The application calls the VISA creation API (for example,

AUDENC_create() ) to create an algorithm instance on the DSP:

■ First, a generic instance object is created on the GPP to hold the

necessary state, handles, function pointers, etc.

■ A local "node" object is created to receive communication from

the "remote" node.

■ A "create" message is formed to signal the function dispatcher on

the DSP to create the remote node instance.

■ The creation message is sent to the dispatcher on the DSP.
■ On the DSP, the dispatcher receives the "create" message.

Some error checks are performed, and the DSP-side state
objects are created and initialized.

GP

P+D

SP