Codec Engine Application Programming Interface (API)  ce-w08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
ISPHDEC1_Fxns Struct Reference

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

#include <isphdec1.h>

Collaboration diagram for ISPHDEC1_Fxns:
Collaboration graph

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.

Detailed Description

Defines all of the operations on ISPHDEC1 objects.


Field Documentation

IALG_Fxns ISPHDEC1_Fxns::ialg

XDAIS algorithm interface.

                                  @sa      IALG_Fxns
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.

@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
            ISPHDEC1_InArgs structure.

@pre        @c outArgs must not be @c NULL, and must point to a valid
            ISPHDEC1_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.

@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     ISPHDEC1_EOK            \copybrief ISPHDEC1_EOK

Success.

Return values:
ISPHDEC1_EFAILGeneral failure. See ISPHDEC1_Status::extendedError for more detailed further error conditions.
ISPHDEC1_EUNSUPPORTEDRequest is unsupported.
XDAS_Int32(* ISPHDEC1_Fxns::control)(ISPHDEC1_Handle handle, ISPHDEC1_Cmd id, ISPHDEC1_DynamicParams *params, ISPHDEC1_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
            ISPHDEC1_DynamicParams structure.

@pre        @c status must not be @c NULL, and must point to a valid
            ISPHDEC1_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     ISPHDEC1_EOK            \copybrief ISPHDEC1_EOK

Success.

Return values:
ISPHDEC1_EFAILGeneral failure. See ISPHDEC1_Status::extendedError for more detailed further error conditions.
ISPHDEC1_EUNSUPPORTEDRequest is unsupported.

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