ISPHENC1_Fxns Struct Reference
[XDM ISPHENC1 Speech/Voice Encoder Interface]

#include <isphenc1.h>

Collaboration diagram for ISPHENC1_Fxns:

Collaboration graph
[legend]

Detailed Description

Defines all of the operations on ISPHENC1 objects.


Data Fields

IALG_Fxns ialg
XDAS_Int32(* process )(ISPHENC1_Handle handle, XDM1_SingleBufDesc *inBuf, XDM1_SingleBufDesc *outBuf, ISPHENC1_InArgs *inArgs, ISPHENC1_OutArgs *outArgs)
 Basic speech/voice decoding call.
XDAS_Int32(* control )(ISPHENC1_Handle handle, ISPHENC1_Cmd id, ISPHENC1_DynamicParams *params, ISPHENC1_Status *status)
 Control behavior of an algorithm.


Field Documentation

IALG_Fxns ISPHENC1_Fxns::ialg

XDAIS algorithm interface.

See also:
IALG_Fxns

XDAS_Int32(* ISPHENC1_Fxns::process)(ISPHENC1_Handle handle, XDM1_SingleBufDesc *inBuf, XDM1_SingleBufDesc *outBuf, ISPHENC1_InArgs *inArgs, ISPHENC1_OutArgs *outArgs)

Basic speech/voice decoding call.

Parameters:
[in] handle Handle to an algorithm instance.
[in,out] inBuf Input buffer descriptor.
[in,out] outBuf Output buffer descriptor.
[in] inArgs Input arguments. This is a required parameter.
[out] outArgs Ouput results. This is a required parameter.
Remarks:
process() is a blocking call. When process() returns, the algorithm's processing is complete.

If inArgs->data is not used in the process() call, the application must set it to NULL. The algorithm must therefore check this field for NULL before accessing it.

Precondition:
handle must be a valid algorithm instance handle.

inArgs must not be NULL, and must point to a valid ISPHENC1_InArgs structure.

outArgs must not be NULL, and must point to a valid ISPHENC1_OutArgs structure.

inBuf must not be NULL, and must point to a valid XDM1_SingleBufDesc structure.

inBuf->buf must not be NULL, and must point to a valid buffer of data that is at least inBuf->bufSize bytes in length.

outBuf must not be NULL, and must point to a valid XDM1_SingleBufDesc structure.

outBuf->buf must not be NULL, and must point to a valid buffer of data that is at least outBuf->bufSize bytes in length.

The buffers in inBuf and outBuf are physically contiguous and owned by the calling application.

Postcondition:
The algorithm must not modify the contents of inArgs, with the optional exception of inArgs->data.

The algorithm must not modify the contents of inBuf, with the exception of inBuf->accessMask. That is, the data and buffers pointed to by these parameters must be treated as read-only.

The algorithm must set outBuf->bufSize to the size of valid data returned in outBuf->buf .

The algorithm must appropriately set/clear the XDM1_SingleBufDesc.accessMask field in both inBuf and outBuf. For example, if the algorithm only read from inBuf->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 inBuf and outBuf are owned by the calling application.

Return values:
ISPHENC1_EOK Success.
ISPHENC1_EFAIL General failure. See ISPHENC1_Status::extendedError for more detailed further error conditions.
ISPHENC1_EUNSUPPORTED Request is unsupported.
ISPHENC1_ENOOUTPUT This value signifies no output being available at encoder, for example in the case of intermediate calls in 10msec frame size execution.

XDAS_Int32(* ISPHENC1_Fxns::control)(ISPHENC1_Handle handle, ISPHENC1_Cmd id, ISPHENC1_DynamicParams *params, ISPHENC1_Status *status)

Control behavior of an algorithm.

Parameters:
[in] handle Handle to an algorithm instance.
[in] id Command id. See XDM_CmdId.
[in] params Dynamic parameters. This is a required parameter.
[out] status Output 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 ISPHENC1_DynamicParams structure.

status must not be NULL, and must point to a valid ISPHENC1_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:
ISPHENC1_EOK Success.
ISPHENC1_EFAIL General failure. See ISPHENC1_Status::extendedError for more detailed further error conditions.
ISPHENC1_EUNSUPPORTED Request is unsupported.


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