⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iaudenc1.h

📁 TI Algorithm Soft Kit 5.10 仅包括实例及其原代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/*  *  Copyright 2006 *  Texas Instruments Incorporated * *  All rights reserved.  Property of Texas Instruments Incorporated *  Restricted rights to use, duplicate or disclose this code are *  granted through contract. *  *//** *  @file       ti/xdais/dm/iaudenc1.h * *  @brief      This header defines all types, constants, and functions *              shared by all implementations of the audio encoder *              algorithms. *//** *  @defgroup   ti_xdais_dm_IAUDENC1   xDM 1.0 Audio Encoder Interface * *  This is the xDM 1.0 Audio Encoder Interface. */#ifndef ti_xdais_dm_IAUDENC1_#define ti_xdais_dm_IAUDENC1_#include <ti/xdais/ialg.h>#include <ti/xdais/xdas.h>#include "xdm.h"#include "iaudio.h"#ifdef __cplusplusextern "C" {#endif/** @ingroup    ti_xdais_dm_IAUDENC1 *//*@{*/#define IAUDENC1_ERUNTIME XDM_ERUNTIME         /**< @copydoc XDM_ERUNTIME */#define IAUDENC1_EOK      XDM_EOK              /**< @copydoc XDM_EOK */#define IAUDENC1_EFAIL    XDM_EFAIL            /**< @copydoc XDM_EFAIL */#define IAUDENC1_EUNSUPPORTED XDM_EUNSUPPORTED /**< @copydoc XDM_EUNSUPPORTED *//** *  @brief      This must be the first field of all IAUDENC1 *              instance objects. */typedef struct IAUDENC1_Obj {    struct IAUDENC1_Fxns *fxns;} IAUDENC1_Obj;/** *  @brief      Opaque handle to an IAUDENC1 objects. */typedef struct IAUDENC1_Obj  *IAUDENC1_Handle;/** *  @brief      Defines the creation time parameters for *              all IAUDENC1 instance objects. * *  @extensibleStruct */typedef struct IAUDENC1_Params {    XDAS_Int32 size;            /**< @sizeField */    XDAS_Int32 sampleRate;      /**< Sampling Frequency in Hz.                                 *   For example, if the sampling                                 *   frequency is 44.1 kHz, this field will                                 *   be 44100.                                 *                                 *   @sa    IAUDENC1_DynamicParams.sampleRate                                 *   @sa    IAUDENC1_Status.sampleRate                                 */    XDAS_Int32 bitRate;         /**< Average bit rate, in bits per second.                                 *                                 *   @sa    IAUDENC1_DynamicParams.bitRate                                 *   @sa    IAUDENC1_Status.bitRate                                 */    XDAS_Int32 channelMode;     /**< Input Channel Mode.                                 *                                 *   @sa    IAUDIO_ChannelMode                                 *   @sa    IAUDENC1_DynamicParams.channelMode                                 */    XDAS_Int32 dataEndianness;  /**< Endianness of output data.                                 *                                 *   @sa    XDM_DataFormat                                 */    XDAS_Int32 encMode;         /**< Encoding mode.                                 *                                 *   @sa    IAUDIO_EncMode                                 *   @sa    IAUDENC1_Status.encMode                                 */    XDAS_Int32 inputFormat;     /**< Input format block/interleaved.                                 *                                 *   @sa    IAUDIO_PcmFormat                                 */    XDAS_Int32 inputBitsPerSample;/**< Number of input bits per output sample.                                 *   For example, if there are 16 bits per                                 *   PCM input sample, this should be set to 16.                                 */    XDAS_Int32 maxBitRate;      /**< Maximum bit rate in case of VBR.  Some                                 *   of the encoders allow you to specify                                 *   max bit rate in case of VBR mode                                 */    XDAS_Int32 dualMonoMode;    /**< Mode to indicate type of Dual Mono.                                 *   Applicable only if channelMode is                                 *   dualMono                                 *                                 *   @sa IAUDIO_DualMonoMode                                 */    XDAS_Int32 crcFlag;         /**< Flag indicating whether the encoder                                 *   should insert CRC bits into the                                 *   bitstream or not.                                 *                                 *   Valid values for this field are XDAS_TRUE                                 *   and XDAS_FALSE.                                 */    XDAS_Int32 ancFlag;         /**< Ancillary Data Flag.                                 *                                 *   @remarks   This flag indicates to the                                 *              encoder that Ancillary data                                 *              needs to be encoded along with                                 *              the normal audio data.  The                                 *              ancillary data can be provided                                 *              for each input frame.                                 *                                 *   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.                                 */} IAUDENC1_Params;/** *  @brief      This structure defines the algorithm parameters that can be *              modified after creation via control() calls. * *  @remarks    It is not necessary that given implementation support all *              dynamic parameters to be configurable at run time.  If a *              particular algorithm does not support run-time updates to *              a parameter that the application is attempting to change *              at runtime, it may indicate this as an error. * *  @extensibleStruct * *  @sa         IAUDENC1_Fxns::control() */typedef struct IAUDENC1_DynamicParams {    XDAS_Int32 size;            /**< @sizeField */    XDAS_Int32 bitRate;         /**< Average bit rate, in bits per second.                                 *                                 *   @sa    IAUDENC1_Params.bitRate                                 *   @sa    IAUDENC1_Status.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_Status.sampleRate                                 */    XDAS_Int32 channelMode;     /**< Input Channel Mode.                                 *                                 *   @sa    IAUDIO_ChannelMode                                 *   @sa    IAUDENC1_Params.channelMode                                 */    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 dualMonoMode;    /**< Mode to indicate type of Dual Mono.                                 *   Applicable only if channelMode is                                 *   dualMono                                 *                                 *   @sa IAUDIO_DualMonoMode                                 */} IAUDENC1_DynamicParams;/** *  @brief      Defines the input arguments for all IAUDENC1 instance *              process function. * *  @extensibleStruct * *  @sa         IAUDENC1_Fxns::process() */typedef struct IAUDENC1_InArgs {    XDAS_Int32 size;            /**< @sizeField */    XDAS_Int32 numInSamples;    /**< Number of Input Samples per Channel */    XDM_SingleBufDesc ancData;  /**< Ancillary Data.                                 *                                 *   @remarks   Ancillary data contains any                                 *              extra information to be

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -