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

📄 ac48drdf.h

📁 Audiocodes old vision DSP driver
💻 H
📖 第 1 页 / 共 4 页
字号:

		Word16  Const_0_3_6			:2;
		Word16  SecondToneLevel		:6;

		Word16  Const_0_3_8			:8;
		}TTonePair;
#endif /* AC48_SIGNALING_MODE */

    typedef struct
	    {
	    TInitCommandHeader Header;
        Word16 Const_0_2_4          :3;
        Word16 Delay                :5;

        Word16 Const_0_2_8          :7;
        Word16 Type                 :1;
	    }TDecoderDelayCommand;

#endif	/* ENDIAN_MODE */

typedef struct
	{
	TInitCommandHeader Header;
	}TRunCommand;

/********************************************************************/
/* extended signaling edditionals in 'Initialization' mode commands */

#if AC48_SIGNALING_MODE == AC48_EXTENDED_SIGNALING_MODE

typedef enum
	{
    BASIC_SIGNALING,
    EXTENDED_SIGNALING
    }TExtendedSignaling;

#if ENDIAN_MODE == LITTLE_ENDIAN

#if AC48_DEVICE != AC4830X_DEVICE
   typedef struct
	    {
       	TInitCommandHeader Header;
		Word16 ExtendedSignaling    :1;
		Word16 Const_0_2_1          :7;
    	Word16 Const_0_2_8          :8;
		}TExtendedSignalingCommand;
#endif /* AC48_DEVICE */
	typedef struct
		{
        Word16 TotalEnergyThreshold       :6;
        Word16 Const_0_0_6                :2;
        Word16 Const_0_0_8                :8;
        Word16 LowEnergyThreshold         :6;
        Word16 Const_0_1_6                :2;
        Word16 HighEnergyThreshold        :6;
        Word16 Const_0_1_14               :2;
        Word16 MaxFrequenceDeviationLsb   :8;
        Word16 MaxFrequenceDeviationMsb   :4;
        Word16 Twist                      :4;
        }TThresholds;

	typedef struct
  		{
        Word16 NumberOfFrequencies        :4;
        Word16 Const_0_0_8                :4;
        Word16 NumberOfSignals            :5;
        Word16 Const_0_0_13               :3;
		}TFreqAndSigQuantity;

	typedef struct
  		{
        Word16 FrequencyLsb               :8;
        Word16 FrequencyMsb               :4;
        Word16 Const_0_0_12               :4;
        }TExtendedSignalingFrequency;

	typedef struct
  		{
        Word16 LowFrequencyIndex          :4; 
        Word16 HighFrequencyIndex         :4;
        Word16 Const_0_0_8                :8;
        Word16 FirstTOnLsb                :8;
        Word16 FirstTOnMsb                :2;
        Word16 Const_0_1_10               :6;
        Word16 FirstTOffLsb               :8;
        Word16 FirstTOffMsb               :2;
        Word16 Const_0_2_10               :6;
        Word16 SecondTOnLsb               :8;
        Word16 SecondTOnMsb               :2;
        Word16 Const_0_3_10               :6;
        Word16 SecondTOffLsb              :8;
        Word16 SecondTOffMsb              :2;
        Word16 Const_0_4_10               :6;
        }TCallProgressSignalAttributes;
	
    typedef struct
  		{
        Word16 LowFrequencyIndex          :4; 
        Word16 HighFrequencyIndex         :4;
        Word16 Const_0_0_8                :8;
        }TUserDefinedTonesAttributes;

	typedef struct
  		{
        Word16 LowFrequencyLevel          :6;
        Word16 Const_0_0_6                :2;
        Word16 HighFrequencyLevel         :6;
        Word16 Const_0_0_14               :2;
        }TExtendedSignalingSignalLevels;

#elif	ENDIAN_MODE == BIG_ENDIAN

#if AC48_DEVICE != AC4830X_DEVICE
    typedef struct
	    {
       	TInitCommandHeader Header;
		Word16 Const_0_2_1          :7;
		Word16 ExtendedSignaling    :1;

    	Word16 Const_0_2_8          :8;
	    }TExtendedSignalingCommand;
#endif /* AC48_DEVICE */ 

	typedef struct
		{
        Word16 Const_0_0_6                :2;
        Word16 TotalEnergyThreshold       :6;

        Word16 Const_0_0_8                :8;

        Word16 Const_0_1_6                :2;
        Word16 LowEnergyThreshold         :6;

        Word16 Const_0_1_14               :2;
        Word16 HighEnergyThreshold        :6;

        Word16 MaxFrequenceDeviationLsb   :8;
        
        Word16 Twist                      :4;
        Word16 MaxFrequenceDeviationMsb   :4;
        }TThresholds;

	typedef struct
  		{
        Word16 Const_0_0_8                :4;
        Word16 NumberOfFrequencies        :4;

        Word16 Const_0_0_13               :3;
        Word16 NumberOfSignals            :5;
        }TFreqAndSigQuantity;

	typedef struct
  		{
        Word16 FrequencyLsb               :8;

        Word16 Const_0_0_12               :4;
        Word16 FrequencyMsb               :4;
        }TExtendedSignalingFrequency;

	typedef struct
  		{
        Word16 HighFrequencyIndex         :4;
        Word16 LowFrequencyIndex          :4; 
        
        Word16 Const_0_0_8                :8;

        Word16 FirstTOnLsb                :8;

        Word16 Const_0_1_10               :6;
        Word16 FirstTOnMsb                :2;

        Word16 FirstTOffLsb               :8;

        Word16 Const_0_2_10               :6;
        Word16 FirstTOffMsb               :2;

        Word16 SecondTOnLsb               :8;

        Word16 Const_0_3_10               :6;
        Word16 SecondTOnMsb               :2;

        Word16 SecondTOffLsb              :8;

        Word16 Const_0_4_10               :6;
        Word16 SecondTOffMsb              :2;
        }TCallProgressSignalAttributes;

	typedef struct
  		{
        Word16 HighFrequencyIndex         :4;
        Word16 LowFrequencyIndex          :4; 
        
        Word16 Const_0_0_8                :8;
        }TUserDefinedTonesAttributes;

	typedef struct
  		{
        Word16 Const_0_0_6                :2;
        Word16 LowFrequencyLevel          :6;

        Word16 Const_0_0_14               :2;
        Word16 HighFrequencyLevel         :6;
        }TExtendedSignalingSignalLevels;

#endif	/* ENDIAN_MODE */

#define MAX_FREQUENCY_QUANTITY      15
#define MAX_SIGNAL_QUANTITY         16 
    typedef struct
	    {
        TThresholds                    Thresholds;
        TFreqAndSigQuantity            FreqAndSigQuantity;
        TExtendedSignalingFrequency    ExtendedSignalingFrequency[MAX_FREQUENCY_QUANTITY];
        TUserDefinedTonesAttributes    UserDefinedTonesAttributes[MAX_SIGNAL_QUANTITY];
		TExtendedSignalingSignalLevels ExtendedSignalingSignalLevels[MAX_SIGNAL_QUANTITY];
        }TUserDefinedTones;
    typedef struct
	    {
	    TInitCommandHeader Header;
        TUserDefinedTones UserDefinedTones;        
        }TUserDefinedTonesCommand;

    typedef struct
		{
        TThresholds                    Thresholds;
        TFreqAndSigQuantity            FreqAndSigQuantity;
        TExtendedSignalingFrequency    ExtendedSignalingFrequency[MAX_FREQUENCY_QUANTITY];
        TCallProgressSignalAttributes  CallProgressSignalAttributes[MAX_SIGNAL_QUANTITY];
        TExtendedSignalingSignalLevels ExtendedSignalingSignalLevels[MAX_SIGNAL_QUANTITY];
        }TCallProgress;
	typedef struct
		{
      	TInitCommandHeader Header;
        TCallProgress CallProgress;
        }TCallProgressCommand;

#endif /* AC48_SIGNALING_MODE */

/****************************************************/
/*			Idle(run) mode commands					*/
typedef enum
	{
	DEFAULT_COMMAND_OP_CODE         = 0,
	PCM_SLOT_COMMAND_OP_CODE        = 1,
	VOICE_COMMAND_OP_CODE           = 2,
	FAX_COMMAND_OP_CODE             = 4,
	TONE_PAIRS_COMMAND_OP_CODE      = 5,
	ACTIVE_COMMAND_OP_CODE          = 6,
	INIT_COMMAND_OP_CODE            = 8,
	DTMF_COMMAND_OP_CODE            = 9,
	INPUT_GAIN_COMMAND_OP_CODE      = 0xA,
	CAS_PORT_PRESET_COMMAND_OP_CODE = 0xB,
	}TIdleCommandOpCode;

#if AC48_SIGNALING_MODE == AC48_BASIC_SIGNALING_MODE
#define MAX_TONE_PAIRS_QUANTITY     16
typedef struct
	{
	TInitCommandHeader Header;
	TTonePair TonePair[MAX_TONE_PAIRS_QUANTITY];
	}TTonePairsCommand;
#endif /* AC48_SIGNALING_MODE */

typedef enum
	{
	ECHO_DISABLE,
	ECHO_ENABLE
	}TEchoCanseler;
typedef enum
	{
	SILENCE_DISABLE,
	SILENCE_ENABLE
	}TSilenceCompression;
typedef enum
	{
	POST_FILTER_DISABLE,
	POST_FILTER_ENABLE
	}TPostFilter;
typedef enum
	{
	HIGH_PASS_DISABLE,
	HIGH_PASS_ENABLE
	}THighPassFilter;
typedef enum
	{
	ONE_BLOCK,
	TWO_BLOCKS,
	THREE_BLOCKS,
	FOUR_BLOCKS
	}TNumberOfBlocks;
typedef enum
	{
	FRF_BIT_FORMAT,
	VOIP_BIT_FORMAT	
 	}TPayloadFormat;
typedef enum
	{
	HYBRID_LOSS_OF_6_DB, /* (Default) */
	HYBRID_LOSS_OF_9_DB,
	HYBRID_LOSS_OF_0_DB,
	HYBRID_LOSS_OF_3_DB
	}THybridLoss;
typedef enum
	{
	ECHO_SUPPRESSOR_ADAPTIVE,
	ECHO_SUPPRESSOR_DISABLE,
	ECHO_SUPPRESSOR_SILENCE_OUT
	}TNonLinearProcessorMode;
typedef enum
	{
	ECHO_CANCELLER_OF_10_MILLISEC,
	ECHO_CANCELLER_OF_15_MILLISEC,
	ECHO_CANCELLER_OF_20_MILLISEC,
	ECHO_CANCELLER_OF_25_MILLISEC, /* (Default) */
	ECHO_CANCELLER_OF_30_MILLISEC,  
	ECHO_CANCELLER_OF_35_MILLISEC,
	ECHO_CANCELLER_OF_40_MILLISEC,
    ECHO_CANCELLER_OF_45_MILLISEC,
    ECHO_CANCELLER_OF_50_MILLISEC,
	ECHO_CANCELLER_OF_55_MILLISEC,
	ECHO_CANCELLER_OF_60_MILLISEC
	}TEchoCancellerLength;
typedef enum
	{
	TONES_DETECTOR_DISABLE,
	TONES_DETECTOR_ENABLE,
	}TEchoCancellerTonesDetector;

typedef enum
	{
    SILENCE_INFORMATION_DESCRIPTOR_UPDATING_WHILE_SILENCE_ALLOWED,
    SILENCE_INFORMATION_DESCRIPTOR_AT_THE_BEGINNING_OF_SILENCE_ONLY
    }TLowSidRate;
typedef struct
	{
	TCoder Coder;
	TEchoCanseler EchoCanselerEnable;
	TSilenceCompression SilenceCompressionEnable;
	TPostFilter PostFilterEnable;
	THighPassFilter HighPassFilterEnable;
	TPayloadFormat PayloadFormat;
	TNumberOfBlocks NumberOfBlocks;
	THybridLoss HybridLoss;
	TNonLinearProcessorMode NonLinearProcessorMode;
#ifdef VOICE_COMMAND_TEST_MODE
	Word16 TestParameter1; 
    Word16 TestParameter2; 
    TLowSidRate LowSidRate;
#endif /* VOICE_COMMAND_TEST_MODE */       
    }TVoiceAttributes;

typedef enum
	{
	MAX2400,
	MAX4800,
	MAX7200,
	MAX9600,
	MAX12000,
	MAX14400
	}TMaxRate;
#ifdef EXTENDED_FAX_COMMAND
    typedef enum
        {
        DISABLE_RELAY_MODE,
        ENABLE_FAX_DATA_RELAY_MODE,
        ENABLE_PCM_ADPCM_BYPASS_MODE
        }TFaxDataMode; 

    typedef enum
        {
        FRF11_COMPLIANT,
        FRF11_NON_COMPATIBLE,
        T38_TCP,
        T38_UDP
        }TProtocolMode;
#else
    typedef enum
        {
        FAX_DISABLE,
        FAX_ENABLE
        }TFaxEnable;
    typedef enum
        {
        BYPASS_DISABLE,
        BYPASS_ENABLE
        }TBypassEnable;
#endif /* EXTENDED_FAX_COMMAND */
typedef struct
	{
	TMaxRate FaxMaxRate;
	TCoder BypassCoder;
    TNumberOfBlocks NumberOfBlocks;
#ifdef EXTENDED_FAX_COMMAND
	Word16 Volume;
    TFaxDataMode Fax; 
    TFaxDataMode Bell;
    TFaxDataMode V21;
    TFaxDataMode V22;
    TFaxDataMode V23;
    TFaxDataMode V32;
    TFaxDataMode V34;
    TFaxDataMode CallerID;
    BOOL EcmEnable;
    BOOL HdlcEnable;
    TMaxRate V32MaxRate;
    TProtocolMode ProtocolMode;
    Word16 JitterPeriod;
#else
	Word16        FaxVolume;
	TFaxEnable    FaxEnable;
    TBypassEnable BypassEnable;
#endif /* EXTENDED_FAX_COMMAND */
    }TFaxAttributes;

typedef struct
	{
	Word16 LowFrequencyLevel;
	Word16 HighFrequencyLevel;
	Word16 MuteEncoder;
	}TDtmf;

#if ENDIAN_MODE == LITTLE_ENDIAN
	typedef struct
		{
		Word16 ConstAA              :8;
		Word16 Id                   :4;
		Word16 Const_0_0_10         :4;
		Word16 IdleCommandOpCode    :8;
		Word16 IdleCommandLength    :8;
		}TIdleCommandHeader;

	typedef struct
		{
		TIdleCommandHeader Header;
		}TDefaultCommand;

	typedef struct
		{
		TIdleCommandHeader Header;
		Word16 Slot                 :7;
		Word16 Const_0_2_5          :1;

		Word16 Const_0_2_8          :8;
		}TPcmSlotCommand;

	typedef struct
		{
		TIdleCommandHeader Header;
		Word16 Coder					:5;
		Word16 EchoCanselerEnable		:1; /* "ECE"  */
		Word16 SilenceCompressionEnable :1; /* "SCE"  */
		Word16 PostFilterEnable			:1; /* "PFE"  */
		Word16 HighPassFilterEnable		:1; /* "HPFE"  */
		Word16 PayloadFormat			:1; 
		Word16 NumberOfBlocks			:2; 
		Word16 HybridLoss				:2; /*		Word16 Const_0_2_12				:4; */
		Word16 NonLinearProcessorMode   :2; /*	  ---------""-----------------					*/
#ifdef VOICE_COMMAND_TEST_MODE
        Word16 TestParameter1			:4; /* default 3 */
		Word16 Const_0_3_4				:3; 
		Word16 TestParameter2			:1; /* DEFAULT 0 */
        Word16 LowSidRate		        :1; 
        Word16 Const_0_3_9				:7; 
#endif /* VOICE_COMMAND_TEST_MODE */       
        }TVoiceCommand;

	typedef struct
		{
		TIdleCommandHeader Header;
		Word16 Gain					:6;
 		Word16 Const_0_2_6			:2;
		Word16 Const_0_2_8			:8;
		}TInputGainCommand;

	typedef struct
		{
		TIdleCommandHeader Header;
#ifdef EXTENDED_FAX_COMMAND
		Word16 Volume               :4;

⌨️ 快捷键说明

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