#include <isphenc1.h>
Collaboration diagram for ISPHENC1_Fxns:
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. |
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.
[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 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.
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.
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.
[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 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.
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.
ISPHENC1_EOK | Success. | |
ISPHENC1_EFAIL | General failure. See ISPHENC1_Status::extendedError for more detailed further error conditions. | |
ISPHENC1_EUNSUPPORTED | Request is unsupported. |