📄 demo.h
字号:
/*
* Copyright 2001 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.
* U.S. Patent Nos. 5,283,900 5,392,448
*/
/* "@(#) XDAS 2.12 05-21-01 (__imports)" */
/***************************************************************************
* 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>
#include <g723enc.h>
#include <g723dec.h>
#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;
/* 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;
extern ChannelObject channel[];
extern Int16 processChannelID(Int32 hostUpdate);
#endif /* DEMO_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -