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

📄 demo.h

📁 使用在dsp TI DSK6711中 很多controller 的例子
💻 H
字号:
/*

 *  Copyright 2003 by Texas Instruments Incorporated.

 *  All rights reserved. Property of Texas Instruments Incorporated.

 *  Restricted rights to use, duplicate or disclose this code are

 *  granted through contract.

 *

 *  @(#) XDAS 2.51.00 11-29-2003 (xdas-2.50.00.9)

 */

/***************************************************************************

* File:         demo.h

*

* Description:  Definitions shared by target and host programs to share 

*                               the  plugin GUI state/options.

*

***************************************************************************/



#ifndef DEMO_

#define DEMO_



#include <std.h> 

typedef Long            Int32;    /* 32 bit signed integer  */

typedef Int             Int16;    /* 16 bit signed integer */

typedef LgUns           Uint32;   /* 32 bit unsigned integer */  



#include <lec.h> 

  

#ifdef _62_

#include <g723enc.h>

#include <g723dec.h>  

#endif



#ifdef _54_

#include <g726enc.h>

#include <g726dec.h>  

#endif



#include <sts.h>

#include <log.h>



/***************************************************************************/

/* Constant Definitions                                                    */

/***************************************************************************/

/* Number of user controllable component options 

 * NOTE: These are the FULL set of options used in original TRA

 *               application. They are included for backward compatibility

 *               with plugin for 6x and 54x.

 *               These should be streamlined.

 */

#define DEMO_NUM_OPTIONS                        25



//  [0]                         Synthetic Echo Generator (Enable/Disable)

//  [1]                         G.165 LEC (Enable/Disable)

//  [2]                         G.723.1 Vocoder (Enable/Disable)

//  [3]                         DTMF Detector (Enable/Disable)

//  [4]                         CPTD Detector (Enable/Disable)

//  [5]                         A/D Channel 0 (Enable/Disable)

//  [6]                         A/D Channel 1 (Enable/Disable)

//  [7]                         PCM Input (Enable/Disable)

//  [8]                         DTMF/CPTD Generator (Enable/Disable)

//  [9]                         Synthetic Speech Generator (Enable/Disable)

//  [10]                        Bit File Input (Enable/Disable)

//  [11]                        D/A Channel 0 (Enable/Disable)

//  [12]                        D/A Channel 1 (Enable/Disable)

//  [13]                        PCM Output (Enable/Disable)

//  [14]                        Bit File Output (Enable/Disable)

//  [15]                        Synthetic Echo Generator Amplitude (Integer -6 to -30)

//  [16]                        Synthetic Echo Generator Delay (Integer 0 - 400)

//  [17]                        G.165 LEC Non-Linear Processor (Enable/Disable)

//  [18]                        G.165 LEC Filter Length (Integer 1 - 256)

//  [19]                        G.165 LEC Bulk Delay (Integer 0 - 400)

//  [20]                        G.723.1 Vocoder High Pass Filter (Enable/Disable)

//  [21]                        G.723.1 Vocoder VAD/CNG (Enable/Disable)

//  [22]                        G.723.1 Vocoder Rate (Integer 0 - 5300; 1 - 6300)

//  [23]                        G.723.1 Vocoder Postfilter (Enable/Disable)

//  [24]                        Synthetic Speech Generator Male/Female (Integer 0 - Male; 1 - Female)



/* user controllable component options */

#define DEMO_SEG_OPTION                                 0

#define DEMO_G165_OPTION                                1

#define DEMO_G723_OPTION                                2

#define DEMO_DTMF_OPTION                                3

#define DEMO_CPTD_OPTION                                4

#define DEMO_A2D0_OPTION                                5

#define DEMO_A2D1_OPTION                                6

#define DEMO_PCM_IN_OPTION                              7

#define DEMO_DTMFCPTD_GEN_OPTION                8

#define DEMO_SSG_OPTION                                 9

#define DEMO_BITS_IN_OPTION                             10

#define DEMO_D2A0_OPTION                                11

#define DEMO_D2A1_OPTION                                12

#define DEMO_PCM_OUT_OPTION                             13

#define DEMO_BITS_OUT_OPTION                    14

#define DEMO_SEG_AMP_OPTION                             15

#define DEMO_SEG_DELAY_OPTION                   16

#define DEMO_G165_NLP_OPTION                    17

#define DEMO_G165_FILTER_LEN_OPTION             18

#define DEMO_G165_BULK_DELAY_OPTION             19

#define DEMO_G723_HPF_OPTION                    20

#define DEMO_G723_VAD_CNG_OPTION                21

#define DEMO_G723_RATE_OPTION                   22

#define DEMO_G723_POSTFILTER_OPTION             23

#define DEMO_SSG_GENDER_OPTION                  24

 

/* Global hostUpdate enable bits -- FULL LIST -- Not all used for c54x -- */

#define DEMO_SEG_ENABLE      0x00000001      // Synthetic Echo Generator (Enable/Disable)      

#define DEMO_G165_ENABLE     0x00000002      // G.165 LEC (Enable/Disable)                     

#define DEMO_G723_ENABLE     0x00000004      // G.723.1 Vocoder (Enable/Disable)               

#define DEMO_DTMF_ENABLE     0x00000008      // DTMF Detector (Enable/Disable)                 

#define DEMO_CPTD_ENABLE     0x00000010      // CPTD Detector (Enable/Disable)                 

#define DEMO_A2D0_ENABLE     0x00000020      // A/D Channel 0 (Enable/Disable)                 

#define DEMO_A2D1_ENABLE     0x00000040      // A/D Channel 1 (Enable/Disable)                 

#define DEMO_PCM_IN_ENABLE   0x00000080      // PCM Input (Enable/Disable)                     

#define DEMO_DC_GEN_ENABLE   0x00000100      // DTMF/CPTD Generator (Enable/Disable)           

#define DEMO_SSG_GEN_ENABLE  0x00000200      // Synthetic Speech Generator (Enable/Disable)    

#define DEMO_BITS_IN_ENABLE  0x00000400      // Bit File Input (Enable/Disable)                

#define DEMO_D2A0_ENABLE     0x00000800      // D/A Channel 0 (Enable/Disable)                 

#define DEMO_D2A1_ENABLE     0x00001000      // D/A Channel 1 (Enable/Disable)                 

#define DEMO_PCM_OUT_ENABLE  0x00002000      // PCM Output (Enable/Disable)                    

#define DEMO_BITS_OUT_ENABLE 0x00004000      // Bit File Output (Enable/Disable)               



#define DEMO_MAX_CHANNELS        2

#define DEMO_MAXMEMRECS          64



#define DEMO_CHAN_SHIFT 25       /* used to read channel in control.c */

#define DEMO_CHAN_MASK 0x0F      /* used to read channel in control.c */

 

extern volatile Int hostUpdate;



/* Bit field that records which global/channel options are enabled  */

extern volatile Int channelState[];



/* The external STS objects are defined in the config file  */

extern STS_Obj encoderExecTime ;        /* holds G723E time to completion */

extern STS_Obj decoderExecTime;         /* holds G723D time to completion */

extern STS_Obj echoCancellerExecTime;   /* holds G165 time to completion */



extern STS_Obj encoderDataSize ;        /* Encoder instance data size */

extern STS_Obj decoderDataSize;         /* Decoder instance data size */

extern STS_Obj echoCancellerDataSize;   /* EchoCanceler instance data size */

 

/* implementations of the XDAS secondary interface  */

extern IALG_Fxns LEC_IALG;   

extern ILEC_Fxns LEC_ILEC;



#ifdef _62_



/* implementations of the XDAS primary interface  */

extern IG723ENC_Fxns G723ENC_IG723ENC;

extern IG723DEC_Fxns G723DEC_IG723DEC;



extern IALG_Fxns G723ENC_IALG;

extern IALG_Fxns G723DEC_IALG;



typedef struct  ChannelObject  {   

    /* channel selection bits */ 

    Int32 selections; 



    /* component handles */

    LEC_Handle          lec;

    G723ENC_Handle      enc;

    G723DEC_Handle      dec;       

    

    /* control/status structures */

    LEC_Status LECstatus;

    G723ENC_Status encoderStatus;

    G723DEC_Status decoderStatus;

} ChannelObject;



#endif /* _62_ */



#ifdef _54_



extern IG726ENC_Fxns G726ENC_IG726ENC;

extern IG726DEC_Fxns G726DEC_IG726DEC;



extern IALG_Fxns G726ENC_IALG;

extern IALG_Fxns G726DEC_IALG;



typedef struct  ChannelObject  {   

    /* channel selection bits */ 

    Int32 selections; 



     /* component handles */

    LEC_Handle          lec;

    G726ENC_Handle      enc;

    G726DEC_Handle      dec;       

    

    /* control/status structures */

    LEC_Status LECstatus;

    G726ENC_Status encoderStatus;

    G726DEC_Status decoderStatus;

} ChannelObject;



#endif /* _54_ */



extern ChannelObject channel[];

extern Int16 processChannelID(Int32 hostUpdate); 



#endif /* DEMO_ */      

⌨️ 快捷键说明

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