![Texas Instruments DM365 User Manual Download Page 15](http://html.mh-extra.com/html/texas-instruments/dm365/dm365_user-manual_1094517015.webp)
Introduction
1-3
interaction allows the client application to allocate memory for the algorithm
and share memory between algorithms. It also allows the memory to be
moved around while an algorithm is operating in the system. In order to
facilitate these functionalities, the IALG interface defines the following
APIs:
algAlloc()
algInit()
algActivate()
algDeactivate()
algFree()
The
algAlloc()
API allows the algorithm to communicate its memory
requirements to the client application. The
algInit()
API allows the
algorithm to initialize the memory allocated by the client application. The
algFree()
API allows the algorithm to communicate the memory to be
freed when an instance is no longer required.
Once an algorithm instance object is created, it can be used to process
data in real-time. The
algActivate()
API provides a notification to the
algorithm instance that one or more algorithm processing methods is about
to be run zero or more times in succession. After the processing methods
have been run, the client application calls the
algDeactivate()
API prior
to reusing any of the instance’s scratch memory.
The IALG interface also defines two more optional APIs
algNumAlloc()
and
algMoved()
. For more details on these APIs, see
TMS320 DSP
Algorithm Standard API Reference
(SPRU360).
1.2.2 XDM
Overview
In the multimedia application space, you have the choice of integrating any
codec into your multimedia system. For example, if you are building a
video decoder system, you can use any of the available video decoders
(such as MPEG4, H.263, or H.264) in your system. To enable easy
integration with the client application, it is important that all codecs with
similar functionality use similar APIs. XDM was primarily defined as an
extension to XDAIS to ensure uniformity across different classes of codecs
(for example audio, video, image, and speech). The XDM standard defines
the following two APIs:
control()
process()
The
control()
API provides a standard way to control an algorithm
instance and receive status information from the algorithm in real-time. The
control()
API replaces the
algControl()
API defined as part of the
IALG interface. The
process()
API does the basic processing
(encode/decode) of data. This API represents a blocking call for the
encoder and the decoder, that is, with the usage of this API, the control is
returned to the calling application only after encode or decode of one unit
(frame) is completed. Since in case of DM365/DM368, the main encode or
decode is carried out by the hardware accelerators, the host processor
Summary of Contents for DM365
Page 10: ...x This page is intentionally left blank ...
Page 12: ...xii This page is intentionally left blank ...
Page 24: ...Introduction 1 12 This page is intentionally left blank ...
Page 34: ...Installation Overview 2 10 This page is intentionally left blank ...
Page 116: ...API Reference 4 70 This page is intentionally left blank ...
Page 120: ...Error Description B 2 This page is intentionally left blank ...
Page 124: ...ARM926 TCM Buffer Usage By Codec D 2 This page is intentionally left blank ...
Page 126: ...Simple Two pass Encoding Sample Usage E 2 Case 1 Case 2 Case 3 Case 4 Frame Skip ...
Page 130: ...Simple Two pass Encoding Sample Usage E 6 This page is intentionally left blank ...