#include <isphdec1.h>
Collaboration diagram for ISPHDEC1_Fxns:
Data Fields | |
IALG_Fxns | ialg |
XDAS_Int32(* | process )(ISPHDEC1_Handle handle, XDM1_SingleBufDesc *inBuf, XDM1_SingleBufDesc *outBuf, ISPHDEC1_InArgs *inArgs, ISPHDEC1_OutArgs *outArgs) |
Basic speech/voice decoding call. | |
XDAS_Int32(* | control )(ISPHDEC1_Handle handle, ISPHDEC1_Cmd id, ISPHDEC1_DynamicParams *params, ISPHDEC1_Status *status) |
Control behavior of an algorithm. |
XDAS_Int32(* ISPHDEC1_Fxns::process)(ISPHDEC1_Handle handle, XDM1_SingleBufDesc *inBuf, XDM1_SingleBufDesc *outBuf, ISPHDEC1_InArgs *inArgs, ISPHDEC1_OutArgs *outArgs) |
Basic speech/voice decoding call.
[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. |
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.
handle
must be a valid algorithm instance handle.
inArgs
must not be NULL
, and must point to a valid ISPHDEC1_InArgs structure.
outArgs
must not be NULL
, and must point to a valid ISPHDEC1_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.
inArgs
.
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.
ISPHDEC1_EOK | Success. | |
ISPHDEC1_EFAIL | General failure. See ISPHDEC1_Status::extendedError for more detailed further error conditions. | |
ISPHDEC1_EUNSUPPORTED | Request is unsupported. |
XDAS_Int32(* ISPHDEC1_Fxns::control)(ISPHDEC1_Handle handle, ISPHDEC1_Cmd id, ISPHDEC1_DynamicParams *params, ISPHDEC1_Status *status) |
Control behavior of an algorithm.
[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. |
handle
must be a valid algorithm instance handle.
params
must not be NULL
, and must point to a valid ISPHDEC1_DynamicParams structure.
status
must not be NULL
, and must point to a valid ISPHDEC1_Status structure.
If a buffer is provided in the status->data
field, it must be physically contiguous and owned by the calling application.
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.
ISPHDEC1_EOK | Success. | |
ISPHDEC1_EFAIL | General failure. See ISPHDEC1_Status::extendedError for more detailed further error conditions. | |
ISPHDEC1_EUNSUPPORTED | Request is unsupported. |