![]() |
![]() |
Codec Engine Application Programming Interface (API)
ce-w08
|
Defines all of the operations on ISPHENC1 objects. More...
#include <isphenc1.h>
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. |
Defines all of the operations on ISPHENC1 objects.
IALG_Fxns ISPHENC1_Fxns::ialg |
XDAIS algorithm interface.
@sa 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.
@param[in] handle Handle to an algorithm instance. @param[in,out] inBuf Input buffer descriptor. @param[in,out] outBuf Output buffer descriptor. @param[in] inArgs Input arguments. This is a required parameter. @param[out] outArgs Ouput results. This is a required parameter. @remarks process() is a blocking call. When process() returns, the algorithm's processing is complete. @remarks If @c inArgs->data is <i>not</i> used in the process() call, the application must set it to @c NULL. The algorithm must therefore check this field for @c NULL before accessing it. @pre @c handle must be a valid algorithm instance handle. @pre @c inArgs must not be @c NULL, and must point to a valid ISPHENC1_InArgs structure. @pre @c outArgs must not be @c NULL, and must point to a valid ISPHENC1_OutArgs structure. @pre @c inBuf must not be @c NULL, and must point to a valid XDM1_SingleBufDesc structure. @pre @c inBuf->buf must not be @c NULL, and must point to a valid buffer of data that is at least @c inBuf->bufSize bytes in length. @pre @c outBuf must not be @c NULL, and must point to a valid XDM1_SingleBufDesc structure. @pre @c outBuf->buf must not be @c NULL, and must point to a valid buffer of data that is at least @c outBuf->bufSize bytes in length. @pre The buffers in @c inBuf and @c outBuf are physically contiguous and owned by the calling application. @post The algorithm <b>must not</b> modify the contents of @c inArgs, with the optional exception of @c inArgs->data. @post The algorithm <b>must not</b> modify the contents of @c inBuf, with the exception of @c inBuf->accessMask. That is, the data and buffers pointed to by these parameters must be treated as read-only. @post The algorithm <b>must</b> set @c outBuf->bufSize to the size of valid data returned in @c outBuf->buf . @post The algorithm <b>must</b> appropriately set/clear the @c XDM1_SingleBufDesc.accessMask field in both @c inBuf and @c outBuf. For example, if the algorithm only read from @c inBuf->buf using the algorithm processor, it could utilize #XDM_SETACCESSMODE_READ to update the appropriate @c accessMask fields. The application <i>may</i> utilize these returned values to appropriately manage cache. @post The buffers in @c inBuf and @c outBuf are owned by the calling application. @retval ISPHENC1_EOK \copybrief 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.
@param[in] handle Handle to an algorithm instance. @param[in] id Command id. See #XDM_CmdId. @param[in] params Dynamic parameters. This is a required parameter. @param[out] status Output results. This is a required parameter. @pre @c handle must be a valid algorithm instance handle. @pre @c params must not be @c NULL, and must point to a valid ISPHENC1_DynamicParams structure. @pre @c status must not be @c NULL, and must point to a valid ISPHENC1_Status structure. @pre If a buffer is provided in the @c status->data field, it must be physically contiguous and owned by the calling application. @post The algorithm <b>must not</b> modify the contents of @c params. That is, the data pointed to by this parameter must be treated as read-only. @post If a buffer was provided in the @c status->data field, it is owned by the calling application. @retval ISPHENC1_EOK \copybrief ISPHENC1_EOK
Success.
ISPHENC1_EFAIL | General failure. See ISPHENC1_Status::extendedError for more detailed further error conditions. |
ISPHENC1_EUNSUPPORTED | Request is unsupported. |