📄 isphenc1.h
字号:
* * @remarks This buffer can be used as * either input or output, * depending on the command. * * @remarks The buffer will be provided * by the application, and * returned to the application * upon return of the * ISPHENC1_Fxns.control() * call. The algorithm must * not retain a pointer to this * data. * * @sa #XDM_GETVERSION */ XDAS_Int16 bitRate; /**< Optional, codec-specific bit rate. * See your codec-specific interface * documentation options. * * @sa ISPEECH1_AMR_BitRate * @sa ISPEECH1_G723_BitRate * @sa ISPEECH1_WBAMR_BitRate */ XDAS_Int16 mode; /**< Optional, codec-specific mode. * See your codec-specific interface * documentation options. * * @sa ISPEECH1_EVRC_Mode * @sa ISPEECH1_SMV_Mode */ XDAS_Int16 vadFlag; /**< @copydoc ISPEECH1_VADFlag * @sa ISPEECH1_VADFlag */ XDAS_Int16 noiseSuppressionMode; /**< Optional, codec-specific noise * suppression mode. * See your codec-specific interface * documentation options. * * @sa ISPEECH1_EVRC_NoisePreProc * @sa ISPEECH1_G723_NoisePreProc * @sa ISPEECH1_SMV_NoisePreProc */ XDAS_Int16 ttyTddMode; /**< Optional, codec-specific TTY mode. * See your codec-specific interface * documentation options. * * @sa ISPEECH1_EVRC_TTYMode * @sa ISPEECH1_SMV_TTYMode */ XDAS_Int16 dataTransmit; /**< Optional, codec-specific data transmit * mode. See your codec-specific interface * documentation options. * * @sa ISPEECH1_SMV_DataMode */ XDAS_Int16 compandingLaw; /**< Optional, codec-specific companding law. * See your codec-specific interface * documentation options. * * @sa ISPEECH1_PCM_CompandingLaw * @sa ISPEECH1_G726_CompandingLaw */ XDAS_Int16 packingType; /**< Optional, codec-specific packing type. * See your codec-specific interface * documentation options. * * @sa ISPEECH1_AMR_PackingType * @sa ISPEECH1_G726_PackingType * @sa ISPEECH1_WBAMR_PackingType */ XDAS_Int16 vadSelection; /**< Optional, codec-specific voice activity * detection selection. See your * codec-specific interface documentation * options. * * @sa ISPEECH1_AMR_VADSelect * @sa ISPEECH1_SMV_VADSelect */ XDAS_Int16 codecSelection; /**< @copydoc ISPEECH1_CodecSelect * * @sa ISPEECH1_CodecSelect * @sa ISPHENC1_Params.codecSelection */ XDM_AlgBufInfo bufInfo; /**< Input and output buffer information. * @sa XDM_AlgBufInfo */}ISPHENC1_Status;/** * @brief Encoder frame types. * * @enumWarning */typedef enum { ISPHENC1_FTYPE_SPEECH = 0, /**< Speech frame */ ISPEECH1_FTYPE_SIDFRAME = 1,/**< SID frames for codecs which support DTX. */ ISPEECH1_FTYPE_NODATA = 2 /**< Untransmitted frame for codecs which * support DTX. */} ISPHENC1_FrameType;/** * @brief Defines the run time output arguments for * all ISPHENC1 instance objects. */typedef struct ISPHENC1_OutArgs { XDAS_Int32 extendedError; /**< @extendedErrorField */ XDAS_Int16 frameType; /**< Encoder frame types. * * @sa ISPHENC1_FrameType */ XDAS_Int16 reserved; /**< Reserved - serves to pad this structure. */} ISPHENC1_OutArgs;/** * @brief Defines the control commands for the ISPHENC1 module. * * @remarks This ID can be extended in IMOD interface for * additional control commands. * * @sa XDM_CmdId */typedef IALG_Cmd ISPHENC1_Cmd;/** * @brief Defines all of the operations on ISPHENC1 objects. */typedef struct ISPHENC1_Fxns{ IALG_Fxns ialg; /**< Traditional xDAIS algorithm interface. *//** * @brief Basic speech/voice decoding call. * * @param[in] handle Handle to an algorithm instance. * @param[in] inSamples Input buffer. * @param[in,out] outCodeWords Output buffer. * @param[in] inArgs Input arguments. This is a required * parameter. * @param[out] outArgs Ouput results. This is a required parameter. * * @pre @c handle must be a valid algorithm instance handle. * * @pre @c inArgs must not be NULL, and must point to a valid * ISPHENC1_InArgs structure. * * @pre @c outArgs must not be NULL, and must point to a valid * ISPHENC1_OutArgs structure. * * @pre @c inSamples must not be NULL, and must point to a valid * XDM_SingleBufDesc structure. * * @pre @c inSamples.buf must not be NULL, and must point to a valid * buffer of data that is at least @c inSamples.bufSize bytes in * length. * * @pre @c outCodeWords must not be NULL, and must point to a valid * XDM_SingleBufDesc structure. * * @pre @c outCodeWords.buf must not be NULL, and must point to a memory * buffer of at least @c outCodeWords.bufSize bytes in length. * * @post The algorithm <b>must not</b> modify the contents of * @c inSamples, @c inSamples.buf, or @c inArgs. * That is, the data and buffers pointed to by these parameters * must be treated as read-only. * * @retval ISPHENC1_EOK @copydoc ISPHENC1_EOK * @retval ISPHENC1_EFAIL @copydoc ISPHENC1_EFAIL * See ISPHENC1_Status#extendedError * for more detailed further error * conditions. * @retval ISPHENC1_ERUNTIME @copydoc ISPHENC1_ERUNTIME * @retval ISPHENC1_EUNSUPPORTED @copydoc ISPHENC1_EUNSUPPORTED */ XDAS_Int32 (*process)(ISPHENC1_Handle handle, XDM_SingleBufDesc *inSamples, XDM_SingleBufDesc *outCodeWords, ISPHENC1_InArgs *inArgs, ISPHENC1_OutArgs *outArgs);/** * @brief Control behaviour 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 NULL, and must point to a valid * ISPHENC1_DynamicParams structure. * * @pre @c status must not be NULL, and must point to a valid * ISPHENC1_Status structure. * * @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. * * @retval ISPHENC1_EOK @copydoc ISPHENC1_EOK * @retval ISPHENC1_EFAIL @copydoc ISPHENC1_EFAIL * See ISPHENC1_Status#extendedError * for more detailed further error * conditions. * @retval ISPHENC1_ERUNTIME @copydoc ISPHENC1_ERUNTIME * @retval ISPHENC1_EUNSUPPORTED @copydoc ISPHENC1_EUNSUPPORTED */ XDAS_Int32 (*control)(ISPHENC1_Handle handle, ISPHENC1_Cmd id, ISPHENC1_DynamicParams *params, ISPHENC1_Status *status);} ISPHENC1_Fxns;/*@}*/#ifdef __cplusplus}#endif#endif /* ti_xdais_dm_ISPHENC1_ *//* * @(#) ti.xdais.dm; 1, 0, 1, 0,46; 10-18-2006 19:11:35; /db/wtree/library/trees/dais-g07x/src/ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -