am_c_utilities.c

来自「Motorola synergy audio component」· C语言 代码 · 共 1,431 行 · 第 1/5 页

C
1,431
字号
#include <audio/AM_SendMessage.h>#include <SYNERGY_DEVICE_LAYER/dl_acc_auf.h>#include <SYNERGY_DEVICE_LAYER/dl_db_feature_ids.h>#include <SYNERGY_DEVICE_LAYER/dl_db_flexing_auf.h>#include <SYNERGY_DEVICE_LAYER/dl_acc_auf.h>#if (MAKE_NEPTUNE_CHIPSET == TRUE)#include <ENGINE_SBCM/sbcm_public.h>#include <BUILD/hardware.h>#if (MAKE_HDW_BB_IC == MAKE_HDW_NEPTUNE_LTS)#include <ENGINE_HAPI/hapi_ext_func_jump_tables.h>#endif#endif /*(MAKE_NEPTUNE_CHIPSET == TRUE)*/#include <ENGINE_AUDIO/audio_conditional_compile_def.h>#if (MAKE_PTT == TRUE)    #include <SYNERGY_DEVICE_LAYER/dl_ptt_auf.h>#endif /*==================================================================================================                                 LOCAL FUNCTION PROTOTYPES==================================================================================================*//*  Refer to /vobs/engine_audio/code/ghdr/am_c_utilities.h for prototypes. */                                                            /*==================================================================================================                                     LOCAL CONSTANTS==================================================================================================*/#define AM_C_DSP_MATRIX_GAIN   1     /*  This is always a DSP matrix gain. */#define AM_C_DSP_AUX_GAIN      2     /*  This can be a sidetone for voice,                                      *  OR a CTG gain for tones,                                      *  OR meaningless otherwise.                                      *//*==================================================================================================                          LOCAL TYPEDEFS (STRUCTURES, UNIONS, ENUMS)==================================================================================================*//********************************************************   *  Offsets used to index the appropriate gain table  *  in order to covert a logic gain to a hardware gain. *  ***** IMPORTANT!  IMPORTANT! IMPORTANT! ***** *  1) The enums below to index the gain table must *     match the gain tables exactly in size and order! *  2) These enums apply to both the CDMA and GSM/TDMA *     conditionally compiled sections, and so a change *     in one section requires a change in all! ********************************************************/#if (MAKE_NEPTUNE_CHIPSET == TRUE)#if (MAKE_HDW_BB_IC == MAKE_HDW_NEPTUNE_LTS)enum {    AM_HW_INACTIVE_GAIN_SPEAKER_TABLE = 0 ,    AM_HW_ALERT_TRANSDUCER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,        AM_HW_VOICE_DESKTOP_SPEAKERPHONE_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_DTMF_DESKTOP_SPEAKERPHONE_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_ALERT_DESKTOP_SPEAKERPHONE_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_DESKTOP_SPEAKERPHONE_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE,    AM_HW_VOICE_INT_SPEAKER_TABLE ,    AM_HW_DTMF_NON_CALL_INT_SPEAKER_TABLE ,    AM_HW_DTMF_IN_CALL_INT_SPEAKER_TABLE ,    AM_HW_VOICE_INT_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_DTMF_INT_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_ALERT_INT_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_ALERT_INT_SPEAKERPHONE_HIGH_BPLUS_SPEAKER_TABLE,    AM_HW_VOICE_BOOM_SPEAKER_TABLE ,    AM_HW_DTMF_BOOM_SPEAKER_TABLE ,    AM_HW_TTY_FULL_OR_VCO_BOOM_SPEAKER_TABLE,    AM_HW_ALERT_BOOM_SPEAKER_TABLE ,    AM_HW_VOICE_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_VOICE_EXT_TEST_SPEAKER_TABLE = AM_HW_VOICE_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_DTMF_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_DTMF_EXT_TEST_SPEAKER_TABLE = AM_HW_DTMF_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_ALERT_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_ALERT_EXT_TEST_SPEAKER_TABLE = AM_HW_ALERT_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_VOICE_USB_SPEAKER_TABLE ,    AM_HW_DTMF_USB_SPEAKER_TABLE ,    AM_HW_ALERT_USB_SPEAKER_TABLE ,    AM_HW_VOICE_SAP_SPEAKER_TABLE ,    AM_HW_DTMF_SAP_SPEAKER_TABLE ,    AM_HW_ALERT_SAP_SPEAKER_TABLE ,    AM_HW_VOICE_VA_REC_SAP_SPEAKER_TABLE ,    AM_HW_VOICE_SMART_AUDIO_SPEAKER_TABLE ,    AM_HW_DTMF_SMART_AUDIO_SPEAKER_TABLE ,    AM_HW_ALERT_SMART_AUDIO_SPEAKER_TABLE ,    AM_HW_VOICE_VA_REC_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_INTERNAL_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_BOOM_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_INT_SPEAKERPHONE_SPEAKER_TABLE,    AM_HW_VA_PLAYBACK_USB_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_SAP_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_SMART_AUDIO_SPEAKER_TABLE ,    AM_HW_MULTIMEDIA_SPEAKER_TABLE ,    AM_HW_VOICE_CLIPON_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_DTMF_CLIPON_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_ALERT_CLIPON_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_CLIPON_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_VOICE_CE_FM_HEADSET_SPEAKER_TABLE ,    AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_PANTHER_INT_MIC_TABLE = AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_VA_REC_PANTHER_INT_MIC_TABLE = AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_VR_PANTHER_INT_MIC_TABLE = AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_INT_MIC_TABLE ,    AM_HW_NEW_INT_MIC_TABLE ,    AM_HW_BOOM_MIC_TABLE ,    AM_HW_TTY_FULL_OR_HCO_BOOM_MIC_TABLE,    AM_HW_CE_DEVICE_EXT_TEST_MIC_TABLE ,    AM_HW_INT_SPEAKERPHONE_MIC_TABLE ,    AM_HW_PTT_INT_SPEAKERPHONE_MIC_TABLE ,    AM_HW_SAP_MIC_TABLE ,    AM_HW_SMART_AUDIO_MIC_TABLE ,    AM_HW_VA_REC_INT_MIC_TABLE ,    AM_HW_NEW_VA_REC_INT_MIC_TABLE ,    AM_HW_VA_REC_BOOM_MIC_TABLE ,    AM_HW_VA_REC_CE_DEVICE_MIC_TABLE ,    AM_HW_VA_REC_INT_SPEAKERPHONE_MIC_TABLE ,    AM_HW_VA_REC_USB_MIC_TABLE ,    AM_HW_VA_REC_SAP_MIC_TABLE ,    AM_HW_VA_REC_SMART_AUDIO_MIC_TABLE ,    AM_HW_VR_INT_MIC_TABLE ,    AM_HW_DTMF_BOOM_SPEAKER_CONNECTION_TONE_TABLE ,    AM_HW_VR_BOOM_MIC_TABLE ,    AM_HW_VR_CE_DEVICE_MIC_TABLE ,    AM_HW_VR_INT_SPEAKERPHONE_MIC_TABLE ,    AM_HW_VR_USB_MIC_TABLE ,    AM_HW_VR_SAP_MIC_TABLE ,    AM_HW_VR_SMART_AUDIO_MIC_TABLE ,    AM_HW_TONE_GEN_TO_VA_REC_TABLE ,    AM_HW_TONE_GEN_TO_UPLINK_SPEECH_TABLE ,    AM_HW_CLIP_ON_SPEAKERPHONE_MIC_TABLE ,    AM_HW_VR_CLIP_ON_SPEAKERPHONE_MIC_TABLE ,    AM_HW_VA_REC_CLIP_ON_SPEAKERPHONE_MIC_TABLE} ;#elif (MAKE_HDW_BB_IC == MAKE_HDW_NEPTUNE_LT)enum {    AM_HW_INACTIVE_GAIN_SPEAKER_TABLE = 0 ,    AM_HW_ALERT_TRANSDUCER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_VOICE_EXT_TEST_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_DTMF_EXT_TEST_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_ALERT_EXT_TEST_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_VOICE_CE_FM_HEADSET_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_VOICE_CLIPON_SPEAKERPHONE_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_DTMF_CLIPON_SPEAKERPHONE_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_ALERT_CLIPON_SPEAKERPHONE_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_VOICE_DESKTOP_SPEAKERPHONE_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_DTMF_DESKTOP_SPEAKERPHONE_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_ALERT_DESKTOP_SPEAKERPHONE_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_CLIPON_SPEAKERPHONE_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_DESKTOP_SPEAKERPHONE_SPEAKER_TABLE = AM_HW_INACTIVE_GAIN_SPEAKER_TABLE,    AM_HW_VOICE_INT_SPEAKER_TABLE ,    AM_HW_DTMF_NON_CALL_INT_SPEAKER_TABLE ,    AM_HW_DTMF_IN_CALL_INT_SPEAKER_TABLE ,    AM_HW_VOICE_INT_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_DTMF_INT_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_ALERT_INT_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_ALERT_INT_SPEAKERPHONE_HIGH_BPLUS_SPEAKER_TABLE,    AM_HW_VOICE_BOOM_SPEAKER_TABLE ,    AM_HW_DTMF_BOOM_SPEAKER_TABLE ,    AM_HW_TTY_FULL_OR_VCO_BOOM_SPEAKER_TABLE,    AM_HW_ALERT_BOOM_SPEAKER_TABLE ,    AM_HW_VOICE_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_DTMF_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_ALERT_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_VOICE_USB_SPEAKER_TABLE ,    AM_HW_DTMF_USB_SPEAKER_TABLE ,    AM_HW_ALERT_USB_SPEAKER_TABLE ,    AM_HW_VOICE_SAP_SPEAKER_TABLE ,    AM_HW_DTMF_SAP_SPEAKER_TABLE ,    AM_HW_ALERT_SAP_SPEAKER_TABLE ,    AM_HW_VOICE_VA_REC_SAP_SPEAKER_TABLE ,    AM_HW_VOICE_SMART_AUDIO_SPEAKER_TABLE ,    AM_HW_DTMF_SMART_AUDIO_SPEAKER_TABLE ,    AM_HW_ALERT_SMART_AUDIO_SPEAKER_TABLE ,    AM_HW_VOICE_VA_REC_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_INTERNAL_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_BOOM_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_INT_SPEAKERPHONE_SPEAKER_TABLE,    AM_HW_VA_PLAYBACK_USB_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_SAP_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_SMART_AUDIO_SPEAKER_TABLE ,    AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_PANTHER_INT_MIC_TABLE = AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_CLIP_ON_SPEAKERPHONE_MIC_TABLE = AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_INT_SPEAKERPHONE_MIC_TABLE = AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_VA_REC_PANTHER_INT_MIC_TABLE = AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_VA_REC_CLIP_ON_SPEAKERPHONE_MIC_TABLE = AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_VA_REC_INT_SPEAKERPHONE_MIC_TABLE = AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_VR_PANTHER_INT_MIC_TABLE = AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_VR_CLIP_ON_SPEAKERPHONE_MIC_TABLE = AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_VR_INT_SPEAKERPHONE_MIC_TABLE = AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_INT_MIC_TABLE ,    AM_HW_NEW_INT_MIC_TABLE ,    AM_HW_BOOM_MIC_TABLE ,    AM_HW_TTY_FULL_OR_HCO_BOOM_MIC_TABLE,    AM_HW_CE_DEVICE_EXT_TEST_MIC_TABLE ,    AM_HW_PTT_INT_SPEAKERPHONE_MIC_TABLE ,    AM_HW_SAP_MIC_TABLE ,    AM_HW_SMART_AUDIO_MIC_TABLE ,    AM_HW_VA_REC_INT_MIC_TABLE ,    AM_HW_NEW_VA_REC_INT_MIC_TABLE ,    AM_HW_VA_REC_BOOM_MIC_TABLE ,    AM_HW_VA_REC_CE_DEVICE_MIC_TABLE ,    AM_HW_VA_REC_USB_MIC_TABLE ,    AM_HW_VA_REC_SAP_MIC_TABLE ,    AM_HW_VA_REC_SMART_AUDIO_MIC_TABLE ,    AM_HW_VR_INT_MIC_TABLE ,    AM_HW_DTMF_BOOM_SPEAKER_CONNECTION_TONE_TABLE ,    AM_HW_VR_BOOM_MIC_TABLE ,    AM_HW_VR_CE_DEVICE_MIC_TABLE ,    AM_HW_VR_USB_MIC_TABLE ,    AM_HW_VR_SAP_MIC_TABLE ,    AM_HW_VR_SMART_AUDIO_MIC_TABLE ,    AM_HW_TONE_GEN_TO_VA_REC_TABLE ,    AM_HW_TONE_GEN_TO_UPLINK_SPEECH_TABLE} ;#endif /*#if (MAKE_HDW_BB_IC == MAKE_HDW_NEPTUNE_LTS)*/#elseenum {    AM_HW_INACTIVE_GAIN_SPEAKER_TABLE = 0 ,    AM_HW_VOICE_INT_SPEAKER_TABLE ,    AM_HW_DTMF_NON_CALL_INT_SPEAKER_TABLE ,    AM_HW_DTMF_IN_CALL_INT_SPEAKER_TABLE ,    AM_HW_ALERT_TRANSDUCER_TABLE ,    AM_HW_VOICE_INT_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_DTMF_INT_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_ALERT_INT_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_VOICE_BOOM_SPEAKER_TABLE ,    AM_HW_DTMF_BOOM_SPEAKER_TABLE ,    AM_HW_TTY_FULL_OR_VCO_BOOM_SPEAKER_TABLE,    AM_HW_ALERT_BOOM_SPEAKER_TABLE ,    AM_HW_VOICE_EXT_TEST_SPEAKER_TABLE ,    AM_HW_DTMF_EXT_TEST_SPEAKER_TABLE ,    AM_HW_ALERT_EXT_TEST_SPEAKER_TABLE ,    AM_HW_VOICE_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_DTMF_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_ALERT_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_VOICE_CE_FM_HEADSET_SPEAKER_TABLE ,    AM_HW_VOICE_CLIPON_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_DTMF_CLIPON_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_ALERT_CLIPON_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_VOICE_DESKTOP_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_DTMF_DESKTOP_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_ALERT_DESKTOP_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_VOICE_USB_SPEAKER_TABLE ,    AM_HW_DTMF_USB_SPEAKER_TABLE ,    AM_HW_ALERT_USB_SPEAKER_TABLE ,    AM_HW_VOICE_SAP_SPEAKER_TABLE ,    AM_HW_DTMF_SAP_SPEAKER_TABLE ,    AM_HW_ALERT_SAP_SPEAKER_TABLE ,    AM_HW_VOICE_VA_REC_SAP_SPEAKER_TABLE ,    AM_HW_VOICE_SMART_AUDIO_SPEAKER_TABLE ,    AM_HW_DTMF_SMART_AUDIO_SPEAKER_TABLE ,    AM_HW_ALERT_SMART_AUDIO_SPEAKER_TABLE ,    AM_HW_VOICE_VA_REC_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_INTERNAL_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_BOOM_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_CE_DEVICE_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_CLIPON_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_DESKTOP_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_INT_SPEAKERPHONE_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_USB_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_SAP_SPEAKER_TABLE ,    AM_HW_VA_PLAYBACK_SMART_AUDIO_SPEAKER_TABLE ,    AM_HW_MULTIMEDIA_SPEAKER_TABLE,    AM_HW_INACTIVE_GAIN_MIC_TABLE ,    AM_HW_INT_MIC_TABLE ,    AM_HW_PANTHER_INT_MIC_TABLE ,    AM_HW_BOOM_MIC_TABLE ,    AM_HW_TTY_FULL_OR_HCO_BOOM_MIC_TABLE,    AM_HW_CE_DEVICE_EXT_TEST_MIC_TABLE ,    AM_HW_CLIP_ON_SPEAKERPHONE_MIC_TABLE ,    AM_HW_INT_SPEAKERPHONE_MIC_TABLE ,    AM_HW_PTT_INT_SPEAKERPHONE_MIC_TABLE ,    AM_HW_SAP_MIC_TABLE ,    AM_HW_SMART_AUDIO_MIC_TABLE ,    AM_HW_VA_REC_INT_MIC_TABLE ,    AM_HW_VA_REC_PANTHER_INT_MIC_TABLE ,    AM_HW_VA_REC_BOOM_MIC_TABLE ,    AM_HW_VA_REC_CE_DEVICE_MIC_TABLE ,    AM_HW_VA_REC_CLIP_ON_SPEAKERPHONE_MIC_TABLE ,    AM_HW_VA_REC_INT_SPEAKERPHONE_MIC_TABLE ,

⌨️ 快捷键说明

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