Data Fields

IUNIVERSAL_Fxns Struct Reference
[IUNIVERSAL - XDM Beta Universal Algorithm Interface]

Defines all of the operations on IUNIVERSAL objects. More...

#include <iuniversal.h>

Collaboration diagram for IUNIVERSAL_Fxns:
Collaboration graph
[legend]

Data Fields

IALG_Fxns ialg
XDAS_Int32(* process )(IUNIVERSAL_Handle handle, XDM1_BufDesc *inBufs, XDM1_BufDesc *outBufs, XDM1_BufDesc *inOutBufs, IUNIVERSAL_InArgs *inArgs, IUNIVERSAL_OutArgs *outArgs)
 Basic audio decoding call.
XDAS_Int32(* control )(IUNIVERSAL_Handle handle, IUNIVERSAL_Cmd id, IUNIVERSAL_DynamicParams *params, IUNIVERSAL_Status *status)
 Control behaviour of an algorithm.

Detailed Description

Defines all of the operations on IUNIVERSAL objects.


Field Documentation

XDAIS algorithm interface.

See also:
IALG_Fxns

Basic audio decoding call.

Parameters:
[in]handleHandle to an algorithm instance.
[in,out]inBufsInput buffer descriptors.
[in,out]outBufsOutput buffer descriptors.
[in,out]inOutBufsInput/Output buffer descriptors.
[in]inArgsInput arguments. This is a required parameter.
[out]outArgsOuput results. This is a required parameter.
Remarks:
process() is a blocking call. When process() returns, the algorithm's processing is complete.
Precondition:
handle must be a valid algorithm instance handle.
inArgs must not be NULL, and must point to a valid IUNIVERSAL_InArgs structure.
outArgs must not be NULL, and must point to a valid IUNIVERSAL_OutArgs structure.
inBufs must either be NULL or point to a valid XDM1_BufDesc structure.
outBufs must either be NULL or point to a valid XDM1_BufDesc structure.
inOutBufs must either be NULL or point to a valid XDM1_BufDesc structure.
The buffers in inBufs, outBufs and inOutBufs are physically contiguous and owned by the calling application.
Postcondition:
The algorithm must not modify the contents of inArgs.
The algorithm must not modify the contents of inBufs, with the exception of inBufs.descs[].accessMask. That is, the data and buffers pointed to by these parameters must be treated as read-only.
The algorithm must appropriately set/clear the XDM1_BufDesc::descs[].accessMask field in inBufs, outBufs, and inOutBufs. For example, if the algorithm only read from inBufs.descs[0].buf using the algorithm processor, it could utilize XDM_SETACCESSMODE_READ to update the appropriate accessMask fields. The application may utilize these returned values to appropriately manage cache.
The buffers in inBufs, outBufs, and inOutBufs are owned by the calling application.
Return values:
IUNIVERSAL_EOK

Success.

IUNIVERSAL_EFAIL

General failure.

See IUNIVERSAL_Status::extendedError for more detailed further error conditions.
IUNIVERSAL_EUNSUPPORTED

Request is unsupported.

Control behaviour of an algorithm.

Parameters:
[in]handleHandle to an algorithm instance.
[in]idCommand id. See XDM_CmdId.
[in]paramsDynamic parameters. This is a required parameter.
[out]statusOutput results. This is a required parameter.
Precondition:
handle must be a valid algorithm instance handle.
params must not be NULL, and must point to a valid IUNIVERSAL_DynamicParams structure.
status must not be NULL, and must point to a valid IUNIVERSAL_Status structure.
If a buffer is provided in the status->data field, it must be physically contiguous and owned by the calling application.
Postcondition:
The algorithm must not modify the contents of params. That is, the data pointed to by this parameter must be treated as read-only.
If a buffer was provided in the status->data field, it is owned by the calling application.
Return values:
IUNIVERSAL_EOK

Success.

IUNIVERSAL_EFAIL

General failure.

See IUNIVERSAL_Status::extendedError for more detailed further error conditions.
IUNIVERSAL_EUNSUPPORTED

Request is unsupported.


The documentation for this struct was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Copyright 2011, Texas Instruments Incorporated