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

📄 aud_ctrl.h

📁 MTK 1389E SOURCE CODE
💻 H
📖 第 1 页 / 共 2 页
字号:
#define vSetIecSwitching()                            \
{                                                     \
  _rAudioCtrl.sIEC.bCnt = SPDIF_CHANGE_SWITCH_CNT;    \
  _rAudioCtrl.sIEC.bState = AUD_IEC_SW_CHG;           \
}

#define vResetIecSwitching()                          \
{                                                     \
  _rAudioCtrl.sIEC.bCnt = 0;                          \
  _rAudioCtrl.sIEC.bState = AUD_IEC_SW_IDLE;          \
}

// *********************************************************************
// For Audio in
// *********************************************************************
#define fgIsLineInMode()          (_rAudioCtrl.sFlag.bAudioInMode == DSP_AIN_LINE)
#define fgIsSpdifInMode()         (_rAudioCtrl.sFlag.bAudioInMode == DSP_AIN_SPDIF)


// *********************************************************************
// For PCM Frequency Switching State
// *********************************************************************
#define AUD_PCM_FREQ_IDLE     0
#define AUD_PCM_FREQ_CHG      1
#define AUD_PCM_FREQ_UNMUTE   2

#define fgIsPcmFreqSwitching()    (_rAudioCtrl.sPcmFreq.bState != AUD_PCM_FREQ_IDLE)
#define fgIsPcmFreqSwitched()     (_rAudioCtrl.sPcmFreq.bState == AUD_PCN_FREQ_UNMUTE)

#define vSetPcmFreqSwitching()                            \
{                                                         \
  _rAudioCtrl.sPcmFreq.bCnt = PCM_FREQ_CHANGE_SWITCH_CNT; \
  _rAudioCtrl.sPcmFreq.bState = AUD_PCM_FREQ_CHG;         \
}

#define vResetPcmFreqSwitching()                          \
{                                                         \
  _rAudioCtrl.sPcmFreq.bCnt = 0;                          \
  _rAudioCtrl.sPcmFreq.bState = AUD_PCM_FREQ_IDLE;        \
}

// *********************************************************************
// Get current Adsp state
// *********************************************************************
#define fgIsKaraMode()      (_rAudioCtrl.sFlag.fgKaraMode == TRUE)
#define fgIsVocalAssistOn() (_rAudioCtrl.sFlag.fgVocalAssist == TRUE)
#define fgIsVoiceCancel()   (_rAudioCtrl.sVocal.fgVoiceCancel == TRUE)
#define fgIsMute()          (_rAudioCtrl.sVol.fgIsMute == TRUE)
#define fgIsVsurrOn()       (_rAudioCtrl.uSurrType.Bit.bVsurrType != AUD_VSURR_OFF)
#define fgIsReverbOn()      (_rAudioCtrl.uSurrType.Bit.fgReverb == TRUE)

// *********************************************************************
// Get current Adsp mode
// *********************************************************************
#define bAdspCurrVol()      (_rAudioCtrl.sVol.bCurVol)
#define bAdspCurrSurr()     (_rAudioCtrl.uSurrType.Byte)
#define bAdspCurrVocal()    (_rAudioCtrl.sVocal.bVocalMode)

#ifdef MIC_AUTOMUTE
#define fgIsMicAutomuteOn() (_rAudioCtrl.bMicAutomuteCnt == MIC_AUTOMUTE_ON_CNT)
#endif

// *********************************************************************
// For channel equalizer paramters
// *********************************************************************
typedef struct {
  union
  {
    BYTE Byte;
    struct
    {
      BYTE Ch:4;
      BYTE Band:4;
    } Bit;
  } Union;
} strucDspChBand;

// *********************************************************************
// For downmix mode config
// *********************************************************************
typedef struct {
  BYTE Front:2; /* small/large */
  BYTE Mode:2;
  BYTE Sub:1;
  BYTE Reserve:3;
} strucDownmixConfig;

/* for 2 channel downmix mode */
#define DOWNMIX_OFF         0x00
#define DOWNMIX_LO_RO       0x01
#define DOWNMIX_LT_RT       0x02

// *********************************************************************
// For multi-channel speaker config
// *********************************************************************
typedef struct {
  BYTE Cntr:2; /* off/small/large */
  BYTE Rear:2; /* off/small/large */
  BYTE Fr:2; /* small/large */
  BYTE Sub:1;
  BYTE Reserve:1;
} strucSpkConfig;

/* for speaker config */
#define SPK_OFF             0x00
#define SPK_ON              0x01 /* for SUB/CB/CH7 */
#define SPK_SMALL           0x01
#define SPK_LARGE           0x02

/* for speaker config */
#define SPK_LR              0x01
#define SPK_LS              0x02
#define SPK_RS              0x04
#define SPK_LS_RS           0x06
#define SPK_CNTR            0x08
#define SPK_SUB             0x10
#define SPK_CB              0x20
#define SPK_CH7             0x40

#define UP_SAMP_1X          1
#define UP_SAMP_2X          2
#define UP_SAMP_4X          4
#define UP_SAMP_8X          8

#define MIC_STOP            0
#define MIC_REC             1
#define MIC_PLAY            2

// *********************************************************************
// For vAdspKaraLR()
// *********************************************************************
#define KARA_LEFT           0
#define KARA_RIGHT          1
#define KARA_STEREO         2

// *********************************************************************
// For vAdspKaraAC3()
// *********************************************************************
#define KARA_NONE           0
#define KARA_V1             1
#define KARA_V2             2
#define KARA_BOTH           3

// *********************************************************************
// Function prototypes
// *********************************************************************
void vInitAdspShareInfo(void) large;
void vAdspInit(BYTE bVolume) large;
void vAdspReset(void) large;
void vAdspAudioTypeChange(BYTE bAudioType, BYTE bDiscType, BYTE bInitState) large;
void vAdspPbcChange(BYTE bPbcState) large;

#if (!defined(SET_VSURR_IN_SPKCFG) && defined(PLAYER_SURROUND))
BOOL fgCheckIsVSurrValid(BYTE bAudioType, BYTE bDiscType, BYTE bInitState) large;
#endif

#if 0
  void vAdspProcMode(BYTE bMode, BOOL fgOnoff) large;
#endif

#ifdef PLAYER_SURROUND
  #ifndef NO_POST_DRC_ON_OFF
//  void vAdspPostDRC(BYTE bMode) large;
  #endif
#endif

void vAdspVolume(BYTE bLevel) large;
void vAdspMute(BOOL fgOnOff, BYTE bTime) large;
void vAdspLR(BYTE bMode) large;
void vAdspSpkDownmix(strucDownmixConfig rSpk) large;
void vAdspAc3DualMono(BYTE bMode) large;
void vAdspDynamicRange(BYTE bLevel) large;
void vAdspSpdifMode(BYTE bMode) large;
void vAdspSpdifManualSet(BYTE bType, BYTE bMode) large;

#ifndef TWO_CHANNEL_ONLY
  #ifdef SPDIF_PCM_CH_SELECT
  void vAdspSpdifCh(BYTE bCh) large;
  #endif
  #ifdef SPDIF_PCM_FREQ_SELECT
  void vAdspPcmFreq(BYTE bMode) large;
  #endif

  void vAdspSpkConfig(strucSpkConfig rSpk) large;
#ifdef INPUT_STATE_KEY_TBL_KEEP
  void vAdspChDelay(BYTE bChannel, BYTE bDelay) large;
#endif  
  void vAdspChDelayTime(BYTE bChannel, BYTE bTime) large;
  #ifdef PLAYER_TRIM
  void vAdspChTrim(BYTE bChannel, BYTE bLevel) large;
  #endif
#if 0 //uncall
  void vAdspDialogGain(BYTE bLevel) large;
#endif
#endif

void vAdspVocalAssist(BYTE bMode) large;
void vAdspKaraLR(BYTE bMode) large;
#ifdef PLAYER_KARAOKE
  void vAdspKaraMode(BYTE bMode) large;
  void vAdspSetMicEq(BYTE bMode) large;
  #ifdef VOCAL_ASSIST_MIC_CNT
  void vAdspKaraVC(BOOL fgOn) large;
  #endif
  #ifdef AC3_KARA_MODE
    #ifdef AC3_KARA_MELODY
  void vAdspKaraMelody(BOOL fgOn) large;
    #endif
  void vAdspKaraAC3(BYTE bMode) large;
  #endif
  void vAdspMicEq(BYTE bBand, BYTE bGain) large;
  void vAdspMicVol(BYTE bChannel, BYTE bVol) large;
  void vAdspMicThreshold(BYTE bLevel) large;
  BOOL fgAdspIsMicOn(void) large;
  #ifdef KARAOKE_SIMPLE_ECHO
  void vAdspEchoLevel(BYTE bLevel) large;
  #else /* original echo */
  void vAdspEchoDelay(BYTE bMode) large;
  void vAdspEchoDepth(BYTE bMode) large;
  void vAdspEchoVol(BYTE bMode) large;
  #endif /* original echo */
  void vAdspMicMix(BYTE bCh, BYTE bMode) large;
  #if 0
  void vAdspEchoCtrl(BYTE bMode) large;
  #endif
  #ifdef KARAOKE_MIC_REC
  void vAdspMicRec(BYTE bMode) large;
  BYTE bAdspMicRecState(BYTE bMode) large;
  #endif /* KARAOKE_MIC_REC */
#endif /* PLAYER_KARAOKE */

#if (defined(PLAYER_KARAOKE) || defined(USE_EXTERNAL_KARAOKE))
  char cAdspAudKeyCtrl(BYTE bMode) large;
#endif

#ifdef PLAYER_SURROUND
  void vAdspSurr(BYTE bMode, BYTE bOption) large;
  void vAdspChEqBand(strucDspChBand rChBand, BYTE bLevel, BYTE fgNotify) large;
  void vAdspChEqLoadPreset(BYTE bType) large;
  #ifdef PLAYER_ADV_EQ
  char cAdspChEqPresetParm(BYTE bType, BYTE bBand) large;
  #endif
  void vAdspVsurrGain(BYTE bLevel) large;
  void vAdspVsurrWGain(BYTE bLevel) large;
  void vAdspVsurrDelay(BYTE bLevel) large;
  void vAdspBassBoostGain(BYTE bLevel) large;
  void vAdspTrebleBoostGain(BYTE bLevel) large;
  void vAdspBassPipeDelay(BYTE bLevel) large;
  void vAdspReverbMode(BYTE bMode) large;
  #if 0
  void vAdspReverbGain(BYTE bLevel) large;
  #endif
#elif (defined(SET_VSURR_IN_SPKCFG)) // not define PLAYER_SURROUND
  void vAdspSurr(BYTE bMode, BYTE bOption) large;
#endif

#ifdef DOLBY_PROLOGIC
  void vAdspPrologMode(BYTE bMode) large;
  void vAdspPrologBal(BYTE bMode) large;
  void vAdspPrologSurr(BYTE bMode) large;
#endif

#ifdef DOLBY_PROLOGIC2
  #define AUD_PL2_SWITCH      0
  #define AUD_PL2_MODE        1
  #define AUD_PL2_PANORAMA    2
  #define AUD_PL2_DIMENSION   3
  #define AUD_PL2_C_WIDTH     4

void vAdspPL2Config(BYTE bCtrl, BYTE bMode) large;
#endif

#if (defined(HDCD_CERTIFICATION) || defined(HDCD_EN))
void vAdspHdcdMode(BYTE bMode, BYTE bDither) large;
void vAdspUpSamp(BYTE bLevel) large;
void vAdspDitherLvl(BYTE bLevel) large;
  #ifdef AUDIO_IN_EN
void vAdspInputBLength(BYTE bLength) large;
  #endif
#endif

#ifdef SETUP_ENABLE_TEST_TONE
BYTE bSetPinkNoiseSp(BYTE bMode) large;
#endif

#ifdef AUDIO_IN_EN
void vAdspAinSel(BYTE bCh) large;
#endif

void vAdspTimerJob(void) large;

#if defined(PLAYER_KARAOKE) && defined(KARAOKE_SCORING)
void vAdspKScoreSw(BYTE bSw, BYTE bMaxScore, BYTE bMinScore) large;
BYTE bAdspGetKScore(void) large;
BOOL fgAdspKscoreSupport(void) large;
  #ifdef KARAOKE_SCORE_TEST
  void vAdspGetKSHitMiss(WORD *wHit0,WORD *wHit1,WORD *wMiss) large;
  #endif
void vAdspResetKScore(void) large;
#endif

#endif /* _AUD_CTRL_H_ */

⌨️ 快捷键说明

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