Codec Engine System Programming Interface (SPI)  ce-w08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
Engine_AlgDesc Struct Reference

Descriptor for an alg. This object can be passed to Engine_addAlg(), to dynamically add an alg to an engine. More...

#include <Engine.h>

Collaboration diagram for Engine_AlgDesc:
Collaboration graph

Data Fields

String name
 The name of the algorithm. This is used by the application when instantiating an instance of the algorithm through one of the VISA APIs.
NODE_Uuid uuid
IALG_Fxnsfxns
 The address of the XDAIS alg function table. All XDAIS algorithms must define an IALG_Fxns structure that contains implementations of the IALG methods. This field is simply the address of this structure.
Ptr idmaFxns
 The address of the IDMA3_Fxns function table, if the algorithm uses DMA. If the algorithm does not use DMA, this field should set to NULL. .
String * typeTab
Bool isLocal
 If true, the algorithm will be instantiated on the "local" CPU. Otherwise the server will create an instance of the algorithm.
Int groupId
 This id specifies which resource sharing group that this alg will be placed into. This 'group' concept is used by the framework to ensure algorithms in the same group don't pre-empt each other and corrupt the shared resources. This parameter will be ignored if isLocal is FALSE.
Int rpcProtocolVersion
Ptr iresFxns
 Address of the XDAIS alg IRES Interface function table All XDAIS algorithms that use an IRES resource must define an IRES_Fxns structure containing the pointers to functions implementatng the IRES interface. If the algorithm does not use an IRES resource this field should be set to NULL.
Void * codecClassConfig
 Codec class configuration data, if any.
Engine_CachedMemType memType
 Indicates the type of memory the alg's memory requests will be allocated from. The alg's memory will be allocated from cached memory, if memType = Engine_USECACHEDMEM_CACHED, from non-cached memory, if memType = Engine_USECACHEDMEM_NONCACHED, Otherwise, if memType = Engine_USECACHEDMEM_DEFAULT, memory allocations will be determined by the value of ti_sdo_ce_alg_Algorithm_useCache (cached, if TRUE, non-cached, if FALSE).
String types
 A string idicating the type(s) of algorithm this is. This should be a ';' separated string of inherited types. In most cases, types will just be set to the VISA type defined in the Codec Engine algorithm interface header file included by the algorithm, depending on the XDM interface the algorithm implements.

Detailed Description

Descriptor for an alg. This object can be passed to Engine_addAlg(), to dynamically add an alg to an engine.

See also:
Engine_initAlgDesc()
Engine_addAlg()

Field Documentation

String Engine_AlgDesc::name

The name of the algorithm. This is used by the application when instantiating an instance of the algorithm through one of the VISA APIs.

NODE_Uuid Engine_AlgDesc::uuid

Id of alg if running on remote target. No need to set this field.

IALG_Fxns* Engine_AlgDesc::fxns

The address of the XDAIS alg function table. All XDAIS algorithms must define an IALG_Fxns structure that contains implementations of the IALG methods. This field is simply the address of this structure.

Ptr Engine_AlgDesc::idmaFxns

The address of the IDMA3_Fxns function table, if the algorithm uses DMA. If the algorithm does not use DMA, this field should set to NULL. .

String* Engine_AlgDesc::typeTab

inheritance hierarchy - Do not modify.

Bool Engine_AlgDesc::isLocal

If true, the algorithm will be instantiated on the "local" CPU. Otherwise the server will create an instance of the algorithm.

Int Engine_AlgDesc::groupId

This id specifies which resource sharing group that this alg will be placed into. This 'group' concept is used by the framework to ensure algorithms in the same group don't pre-empt each other and corrupt the shared resources. This parameter will be ignored if isLocal is FALSE.

Int Engine_AlgDesc::rpcProtocolVersion

Protocol version. Do not modify

Ptr Engine_AlgDesc::iresFxns

Address of the XDAIS alg IRES Interface function table All XDAIS algorithms that use an IRES resource must define an IRES_Fxns structure containing the pointers to functions implementatng the IRES interface. If the algorithm does not use an IRES resource this field should be set to NULL.

Void* Engine_AlgDesc::codecClassConfig

Codec class configuration data, if any.

Engine_CachedMemType Engine_AlgDesc::memType

Indicates the type of memory the alg's memory requests will be allocated from. The alg's memory will be allocated from cached memory, if memType = Engine_USECACHEDMEM_CACHED, from non-cached memory, if memType = Engine_USECACHEDMEM_NONCACHED, Otherwise, if memType = Engine_USECACHEDMEM_DEFAULT, memory allocations will be determined by the value of ti_sdo_ce_alg_Algorithm_useCache (cached, if TRUE, non-cached, if FALSE).

See also:
Engine_CachedMemType Memory type for alg's mem reqs.
String Engine_AlgDesc::types

A string idicating the type(s) of algorithm this is. This should be a ';' separated string of inherited types. In most cases, types will just be set to the VISA type defined in the Codec Engine algorithm interface header file included by the algorithm, depending on the XDM interface the algorithm implements.

For example, if the algorithm implements the ISPHDEC1 interface as defined by XDM, types should be set to SPHDEC1_VISATYPE (defined as "ti.sdo.ce.speech1.ISPHDEC1" in the header file ti/sdo/ce/speech1/sphdec1.h).

Another example to illustrate multiple typss specified in typss, if the algorithm implements the (made-up) interface, ti.sdo.ce.test.xvideo.IVIDE, which in turn implements the IVIDDEC interface, we could then set types to VIDDEC_VISATYPE";ti.sdo.ce.test.xvideo.IVIDE" or "ti.sdo.ce.test.xvideo.IVIDE;"VIDDEC_VISATYPE


The documentation for this struct was generated from the following file:
Copyright 2013, Texas Instruments Incorporated