00001 /* 00002 * Copyright (c) 2010, Texas Instruments Incorporated 00003 * All rights reserved. 00004 * 00005 * Redistribution and use in source and binary forms, with or without 00006 * modification, are permitted provided that the following conditions 00007 * are met: 00008 * 00009 * * Redistributions of source code must retain the above copyright 00010 * notice, this list of conditions and the following disclaimer. 00011 * 00012 * * Redistributions in binary form must reproduce the above copyright 00013 * notice, this list of conditions and the following disclaimer in the 00014 * documentation and/or other materials provided with the distribution. 00015 * 00016 * * Neither the name of Texas Instruments Incorporated nor the names of 00017 * its contributors may be used to endorse or promote products derived 00018 * from this software without specific prior written permission. 00019 * 00020 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00021 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 00022 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00023 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 00024 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00025 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00026 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 00027 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 00028 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 00029 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 00030 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00031 * 00032 */ 00033 00050 #ifndef ti_xdais_dm_ISPHENC_ 00051 #define ti_xdais_dm_ISPHENC_ 00052 00053 #include <ti/xdais/ialg.h> 00054 #include <ti/xdais/xdas.h> 00055 00056 /* 00057 * By definition, this interface is 0.9 XDM. Before including xdm.h, 00058 * define XDM_INCLUDE_DOT9_SUPPORT 00059 */ 00060 #ifndef XDM_INCLUDE_DOT9_SUPPORT 00061 #define XDM_INCLUDE_DOT9_SUPPORT 00062 #endif 00063 #include "xdm.h" 00064 #include "ispeech.h" 00065 00066 #ifdef __cplusplus 00067 extern "C" { 00068 #endif 00069 00072 00073 #define ISPHENC_CID "ti.xdais.dm.ISPHENC" 00075 #define ISPHENC_ERUNTIME XDM_ERUNTIME 00076 #define ISPHENC_EOK XDM_EOK 00077 #define ISPHENC_EFAIL XDM_EFAIL 00083 typedef struct ISPHENC_Obj { 00084 struct ISPHENC_Fxns *fxns; 00085 } ISPHENC_Obj; 00086 00087 00091 typedef struct ISPHENC_Obj *ISPHENC_Handle; 00092 00093 00103 typedef struct ISPHENC_Params { 00104 XDAS_Int32 size; 00105 XDAS_Int32 frameSize; 00108 XDAS_Int32 compandingLaw; 00112 XDAS_Int32 packingType; 00116 XDAS_Int32 vadSelection; 00117 } ISPHENC_Params; 00118 00119 00134 typedef struct ISPHENC_DynamicParams { 00135 XDAS_Int32 size; 00136 XDAS_Int32 frameSize; 00139 XDAS_Int32 bitRate; 00140 XDAS_Int32 mode; 00141 XDAS_Int32 vadFlag; 00142 XDAS_Int32 noiseSuppressionMode; 00143 XDAS_Int32 ttyTddMode; 00144 XDAS_Int32 dtmfMode; 00145 XDAS_Int32 dataTransmit; 00146 XDAS_Int32 homingMode; 00147 } ISPHENC_DynamicParams; 00148 00149 00158 typedef struct ISPHENC_InArgs { 00159 XDAS_Int32 size; 00160 XDAS_Int32 nullTrafficChannel; 00161 } ISPHENC_InArgs; 00162 00163 00171 typedef struct ISPHENC_Status { 00172 XDAS_Int32 size; 00173 XDAS_Int32 extendedError; 00174 XDAS_Int32 frameSize; 00175 XDAS_Int32 bitRate; 00176 XDAS_Int32 mode; 00177 XDAS_Int32 vadFlag; 00178 XDAS_Int32 noiseSuppressionMode; 00179 XDAS_Int32 ttyTddMode; 00180 XDAS_Int32 dtmfMode; 00181 XDAS_Int32 dataTransmit; 00182 XDAS_Int32 homingMode; 00183 XDM_AlgBufInfo bufInfo; 00187 } ISPHENC_Status; 00188 00189 00198 typedef struct ISPHENC_OutArgs { 00199 XDAS_Int32 size; 00200 XDAS_Int32 rate; 00201 XDAS_Int32 frameType; 00202 XDAS_Int32 outbufferSize; 00203 } ISPHENC_OutArgs; 00204 00205 00216 typedef IALG_Cmd ISPHENC_Cmd; 00217 00218 00222 typedef struct ISPHENC_Fxns{ 00223 IALG_Fxns ialg; 00278 XDAS_Int32 (*process)(ISPHENC_Handle handle, XDM_BufDesc *inBufs, 00279 XDM_BufDesc *outBufs, ISPHENC_InArgs *inArgs, 00280 ISPHENC_OutArgs *outArgs); 00281 00282 00308 XDAS_Int32 (*control)(ISPHENC_Handle handle, ISPHENC_Cmd id, 00309 ISPHENC_DynamicParams *params, ISPHENC_Status *status); 00310 } ISPHENC_Fxns; 00311 00312 00315 #ifdef __cplusplus 00316 } 00317 #endif 00318 00319 #endif /* ISPHENC_ */ 00320 /* 00321 * @(#) ti.xdais.dm; 1, 0, 5,251; 9-18-2010 14:46:04; /db/wtree/library/trees/dais/dais-t03x/src/ xlibrary 00322 00323 */ 00324