📄 iaudenc1.h
字号:
* encoded along with the PCM * samples. */} IAUDENC1_InArgs;/** * @brief Defines instance status parameters (read-only). * * @extensibleStruct * * @sa IAUDENC1_Fxns::control() */typedef struct IAUDENC1_Status { XDAS_Int32 size; /**< @sizeField */ XDAS_Int32 extendedError; /**< @extendedErrorField */ XDM_SingleBufDesc data; /**< Buffer descriptor for data passing. * * @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 control() * call. The algorithm must * not retain a pointer to this * data. * * @sa #XDM_GETVERSION */ XDM_AlgBufInfo bufInfo; /**< Input and output buffer information. * * @sa XDM_AlgBufInfo */ XDAS_Int32 validFlag; /**< Flag indicating the validity of the * status struct. * * Valid values for this field are XDAS_TRUE * and XDAS_FALSE. */ XDAS_Int32 lfeFlag; /**< Flag indicating whether LFE channel data * is present or not in the input. * * Valid values for this field are XDAS_TRUE * and XDAS_FALSE. */ XDAS_Int32 bitRate; /**< Average bit rate, in bits per second. * * @sa IAUDENC1_Params.bitRate * @sa IAUDENC1_DynamicParams.bitRate */ XDAS_Int32 sampleRate; /**< Sampling frequency in Hz. * For example, if the sampling * frequency is 44.1 kHz, this field will * be 44100. * * @sa IAUDENC1_Params.sampleRate * @sa IAUDENC1_DynamicParams.sampleRate */ XDAS_Int32 channelMode; /**< Input Channel Mode. * * @sa IAUDIO_ChannelMode for valid values. * @sa IAUDENC1_Params.channelMode * @sa IAUDENC1_DynamicParams.channelMode */ XDAS_Int32 encMode; /**< Encoding mode. * * @sa IAUDIO_EncMode * @sa IAUDENC1_Params.encMode */} IAUDENC1_Status;/** * @brief Defines the run time output arguments for all IAUDENC1 * instance objects. * * @extensibleStruct * * @sa IAUDENC1_Fxns::process() */typedef struct IAUDENC1_OutArgs { XDAS_Int32 size; /**< @sizeField */ XDAS_Int32 extendedError; /**< @extendedErrorField */ XDAS_Int32 bytesGenerated; /**< Number of bytes generated during the * process() call. */ XDAS_Int32 numZeroesPadded; /**< Number of zeroes padded to input. * * @remarks Some of the encoders pad * zeroes at the end of the * stream to complete the last * frame. */} IAUDENC1_OutArgs;/** * @brief Defines the control commands for the IAUDENC1 module. * * @remarks This ID can be extended in IMOD interface for * additional controls. * * @sa XDM_CmdId * * @sa IAUDENC1_Fxns::control() */typedef IALG_Cmd IAUDENC1_Cmd;/** * @brief Defines all of the operations on IAUDENC1 objects. */typedef struct IAUDENC1_Fxns{ IALG_Fxns ialg; /**< Traditional xDAIS algorithm interface. *//** * @brief Basic audio encoding call. * * @param[in] handle Handle to an algorithm instance. * @param[in] inBufs Input buffer descriptors. * @param[in,out] outBufs Output buffer descriptors. The algorithm * may modify the output buffer pointers. * @param[in] inArgs Input arguments. This is a required * parameter. * @param[out] outArgs Ouput results. This is a required parameter. * * @pre @c inArgs must not be NULL, and must point to a valid * IAUDENC1_InArgs structure. * * @pre @c outArgs must not be NULL, and must point to a valid * IAUDENC1_OutArgs structure. * * @pre @c inBufs must not be NULL, and must point to a valid * XDM_BufDesc structure. * * @pre @c inBufs.buf[0] must not be NULL, and must point to a valid * buffer of data that is at least @c inBufs.bufSizes[0] bytes in * length. * * @pre @c outBufs must not be NULL, and must point to a valid * XDM_BufDesc structure. * * @pre @c outBufs.buf[0] must not be NULL, and must point to a valid * buffer of data that is at least @c outBufs.bufSizes[0] bytes in * length. * * @post The algorithm <b>must not</b> modify the contents of * @c inBufs or @c inArgs. * That is, the data and buffers pointed to by these parameters * must be treated as read-only. * * @retval IALG_EOK Success. * @retval IALG_EFAIL Failure. See IAUDENC1_OutArgs#extendedError * for more detailed further error conditions. */ XDAS_Int32 (*process)(IAUDENC1_Handle handle, XDM_BufDesc *inBufs, XDM_BufDesc *outBufs, IAUDENC1_InArgs *inArgs, IAUDENC1_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 params must not be NULL, and must point to a valid * IAUDENC1_DynamicParams structure. * * @pre @c status must not be NULL, and must point to a valid * IAUDENC1_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 IALG_EOK Success. * @retval IALG_EFAIL Failure. See IAUDENC1_Status#extendedError * for more detailed further error conditions. */ XDAS_Int32 (*control)(IAUDENC1_Handle handle, IAUDENC1_Cmd id, IAUDENC1_DynamicParams *params, IAUDENC1_Status *status);} IAUDENC1_Fxns;/*@}*/ /* ingroup */#ifdef __cplusplus}#endif#endif /* ti_xdais_dm_IAUDENC1_ *//* * @(#) 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 + -