亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? aud_ctrl.c

?? mtkDVD源代碼程序4*16 很好玩的內(nèi)置5.1環(huán)繞音效 大家可以玩一下
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):

  _rAudioCtrl.sVocal.fgMelody = fgOn;

  if ((fgOn == TRUE) && ((wTmp1 & DSP_AC3_NO_MELODY) != 0))
  {
    wTmp1 &= (~DSP_AC3_NO_MELODY);
  }
  else if ((fgOn == FALSE) && ((wTmp1 & DSP_AC3_NO_MELODY) == 0))
  {
    wTmp1 |= DSP_AC3_NO_MELODY;
  }
  else
  {
    return;
  }

  vWriteDspSharedWInfo(W_AC3KARAMOD, wTmp1);
  vNotifyDspSharedInfo(UOP_DSP_AC3_KARAOKE_MODE);
}
  #endif /* AC3_KARA_MELODY */

// *********************************************************************
// Function : void vAdspKaraAC3(BYTE bMode)
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vAdspKaraAC3(BYTE bMode) large
{
  WORD wTmp1;
  
  switch (bMode)
  {
    case KARA_V1:
      wTmp1 = DSP_AC3_KARA_V1;
      break;

    case KARA_V2:
      wTmp1 = DSP_AC3_KARA_V2;
      break;

    case KARA_BOTH:
      wTmp1 = DSP_AC3_KARA_BOTH;
      break;

    case KARA_NONE:
    default:
      wTmp1 = DSP_AC3_KARA_DISABLE;
      break;
  } /* switch (bMode) */

  if (fgIsVocalAssistOn())
  {
    if (_rAudioCtrl.sVocal.fgMelody == FALSE)
    {
      wTmp1 |= DSP_AC3_NO_MELODY;
    }

    if (wReadDspSharedWInfo(W_AC3KARAMOD) != wTmp1)
    {
      vWriteDspSharedWInfo(W_AC3KARAMOD, wTmp1);
      vNotifyDspSharedInfo(UOP_DSP_AC3_KARAOKE_MODE);
    }
  }
}
#endif /* AC3_KARA_MODE */

static code DWRD dwMicEqUop[MIC_EQ_MAX] =
{
  UOP_DSP_MICROPHONE_EQ_DRY_GAIN,
  UOP_DSP_MICROPHONE_EQ_BAND1_GAIN,
  UOP_DSP_MICROPHONE_EQ_BAND2_GAIN,
  UOP_DSP_MICROPHONE_EQ_BAND3_GAIN
};

static code WORD wMicEqShare[MIC_EQ_MAX] =
{
  D_MPEQGAIN_DRY, /* DRY */
  D_MPEQGAIN_B1,  /* BASS */
  D_MPEQGAIN_B2,  /* MIDDLE */
  D_MPEQGAIN_B3   /* TREBLE */
};

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vAdspMicEq(BYTE bBand, BYTE bGain) large
{
  DWRD dwVal;

  if (bBand > MIC_EQ_TRE)
  {
    return;
  }

  if (bBand == MIC_EQ_DRY)
  {
    if (bGain >= GAIN_DRY_MAX)
    {
      bGain = GAIN_DRY_MAX -1;
    }
    dwVal = GAINDRY[bGain];
  }
  else
  {
    if (bGain >= GAIN_BAND_MAX)
    {
      bGain = GAIN_BAND_MAX -1;
    }
    dwVal = GAINBAND[bGain];
  }

  vWriteDspSharedDInfo(wMicEqShare[bBand], dwVal);
  vNotifyDspSharedInfo(dwMicEqUop[bBand]);
}

#if defined(MT1389_REV_E)  && defined(PLAYER_KARAOKE) && defined(MTK_AUD_ADC)
void vAdspSetMicFading() large
{
  DWRD dV0 =dwReadDspSharedDInfo(D_MPVOL1)>>4;;

  vWriteDspSharedDInfo(D_MIC_FADING_UNMUTE,  dV0<<1 );
  vWriteDspSharedDInfo(D_MIC_FADING_MUTE, dV0 );
}
#endif

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vAdspMicVol(BYTE bChannel, BYTE bLevel) large
{
#ifdef MIC_AUTOMUTE
  BYTE bTmp1, bTmp2;
  WORD wTmp;
#endif

  if (bLevel >= GAIN_MIC_MAX)
  {
    bLevel = GAIN_MIC_MAX - 1;
  }

  if (bChannel & AUD_MIC_VOL_1)
  {
    vWriteDspSharedDInfo(D_MPVOL1, MICGAIN[bLevel]);
#if defined(MT1389_REV_E)  && defined(PLAYER_KARAOKE) && defined(MTK_AUD_ADC)
    vAdspSetMicFading();
#endif
    vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_1_VOLUME);
  }

  if (bChannel & AUD_MIC_VOL_2)
  {
    vWriteDspSharedDInfo(D_MPVOL2, MICGAIN[bLevel]);
#if defined(MT1389_REV_E)  && defined(PLAYER_KARAOKE) && defined(MTK_AUD_ADC)
    vAdspSetMicFading();
#endif
    vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_2_VOLUME);
  }

#ifdef MIC_AUTOMUTE
  if (bChannel & AUD_MIC_VOL_1)
  {
    vSetSharedInfo(SH_MIC_GAIN_1, bLevel);
    bTmp1 = bLevel;
  }
  else
  {
    bTmp1 = bSharedInfo(SH_MIC_GAIN_1);
  }

  if (bChannel & AUD_MIC_VOL_2)
  {
    vSetSharedInfo(SH_MIC_GAIN_2, bLevel);
    bTmp2 = bLevel;
  }
  else
  {
    bTmp2 = bSharedInfo(SH_MIC_GAIN_2);
  }

  if (bTmp2 > bTmp1)
  {
    bTmp1 = bTmp2;
  }

  wTmp = *((WORD *)((BYTE *)MICGAIN + bLevel * 4 + 1));

  #ifdef VOCAL_ASSIST_MIC_CNT
  wTmp >>= 2;
  #endif

  vSetSharedInfo(SH_MIC_AUTOMUTE_OFF_LEVEL_HI, bHiByte(wTmp));
  vSetSharedInfo(SH_MIC_AUTOMUTE_OFF_LEVEL_LO, bLoByte(wTmp));

  wTmp >>= 2;

  vSetSharedInfo(SH_MIC_AUTOMUTE_ON_LEVEL_HI, bHiByte(wTmp));
  vSetSharedInfo(SH_MIC_AUTOMUTE_ON_LEVEL_LO, bLoByte(wTmp));
#endif
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vAdspMicThreshold(BYTE bLevel) large
{
  if (bLevel >= MIC_TH_MAX)
  {
    bLevel = MIC_TH_MAX - 1;
  }
  /*
    Attention, input threshold should be greater or equal to output threshold
    Or we will got fade in/fade out situation
  */
  #if 0// not effect mic threshld
  //vWriteDspSharedDInfo(D_MIC_THRESHOLD,MICTH[bLevel]);
  //vNotifyDspSharedInfo(UOP_DSP_MIC_MUTE_THRESHOLD); /* input threshold */
  #endif
  //using MICGAIN instead of MICTH
  vWriteDspSharedDInfo(D_MPTHRESHOLD, MICGAIN[bLevel]);
  vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_THRESHOLD); /* output threshold */
  //UOP_DSP_MIC_OUTPUT_THRESHOLD is same as UOP_DSP_MIC_OUTPUT_THRESHOLD
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
BOOL fgAdspIsMicOn(void) large
{
  // if not in karaoke mode, microphone should be off
  if (fgIsKaraMode() == FALSE)
  {
    return (FALSE);
  }

#ifdef VOCAL_ASSIST_MIC_CNT
  return (_rAudioCtrl.sVocal.fgMicActive);
#else /* not use VOCAL_ASSIST_MIC_CNT */
  if (bReadDspSharedBInfo(B_MIC_LEVELMODE) == ADSP_ON)
  {
    return (TRUE);
  }
  else
  {
    return (FALSE);
  }
#endif /* not use VOCAL_ASSIST_MIC_CNT */
}

#ifdef KARAOKE_SIMPLE_ECHO
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vAdspEchoLevel(BYTE bLevel) large
{
  if (bLevel >= ECHO_LEVEL_MAX)
  {
    bLevel = ECHO_LEVEL_MAX - 1;
  }

  vWriteDspSharedWInfo(W_MPDELAY, (WORD)(ECHO_DELAY[bLevel]));
  vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_ECHO_DELAY);

  vWriteDspSharedDInfo(D_MPDEPTH, ECHO_DEPTH[bLevel]);
  vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_ECHO_DEPTH);

  vWriteDspSharedDInfo(D_MPECHOVOL, ECHO_LEVEL[bLevel]);
  vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_ECHO_VOLUME);
}
#else /* original echo */
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vAdspEchoDelay(BYTE bMode) large
{
  if (bMode >= DELAY_ECHO_MAX)
  {
    bMode = DELAY_ECHO_MAX - 1;
  }

  vWriteDspSharedWInfo(W_MPDELAY, (WORD)(ECHO_DELAY[bMode]));
  vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_ECHO_DELAY);
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vAdspEchoDepth(BYTE bMode) large
{
  if (bMode >= ECHO_LEVEL_MAX)
  {
    bMode = ECHO_LEVEL_MAX - 1;
  }

  vWriteDspSharedDInfo(D_MPDEPTH, ECHO_DEPTH[bMode]);
  vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_ECHO_DEPTH);
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
void vAdspEchoVol(BYTE bMode) large
{
  if (bMode >= ECHO_LEVEL_MAX)
  {
    bMode = ECHO_LEVEL_MAX - 1;
  }

  vWriteDspSharedDInfo(D_MPECHOVOL, ECHO_LEVEL[bMode]);
  vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_ECHO_VOLUME);
}
#endif /* original echo */

// *********************************************************************
// Function :
// Description : microphone mixing channel setting
// Parameter :
// Return    :
// *********************************************************************
#ifdef PLAYER_KARAOKE
void vAdspMicMix(BYTE bCh, BYTE bMode) large
{
  strucMicMix rTmp;

  rTmp.Union.Byte = bReadDspSharedBInfo(B_MP_CHMIX);

  rTmp.Union.Bit.Reserve = 0;

  if (bCh & MIC_MIX_LR)
  {
    rTmp.Union.Bit.MicLR = bMode;
  }

  if (bCh & MIC_MIX_LS_RS)
  {
    rTmp.Union.Bit.MicLsRs = bMode;
  }

  if (bCh & MIC_MIX_C)
  {
    rTmp.Union.Bit.MicC= bMode;
  }

  if (bCh & MIC_MIX_CH78)
  {
    rTmp.Union.Bit.MicCh78= bMode;
  }

#ifdef MIC_AUTOMUTE
  vSetSharedInfo(SH_MIC_MIX_CH, rTmp.Union.Byte);

  if (fgIsMicAutomuteOn())
  {
    vWriteDspSharedWInfo(B_MP_CHMIX, 0);
  }
  else
#endif /* MIC_AUTOMUTE */
  {
    vWriteDspSharedWInfo(B_MP_CHMIX, rTmp.Union.Byte);
  }
  //The following function is vAdspKaraMode, so we remove the notification
  //Peichen Chang 05/09/2005
  //vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_MIX_CHANNEL);
}
#endif
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
#if 0
void vAdspEchoCtrl(BYTE bMode) large
{
}
#endif

  #ifdef KARAOKE_MIC_REC
// *********************************************************************
// Function : void vAdspMicRec(BYTE bMode) large
// Description :
// Parameter : bMode - MIC_STOP / MIC_REC / MIC_PLAY
// Return    :
// *********************************************************************
void vAdspMicRec(BYTE bMode) large
{
//  vWriteDspSharedBInfo(B_MP_REC_FLAG, bMode);
  switch(bMode)
  {
    case MIC_STOP:
      vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_RECORDER_STOP);
      break;
    case MIC_REC:
      vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_RECORDER_REC);
      break;
    case MIC_PLAY:
      vNotifyDspSharedInfo(UOP_DSP_MICROPHONE_RECORDER_PLAY);
      break;
    default:
      ;
  }
}

// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
BYTE bAdspMicRecState(BYTE bMode) large
{
  BYTE bState;

  switch (bMode)
  {
    case MIC_REC_REC:
      bState = bReadDspSharedBInfo(B_MIC_REC_STATE);
      break;

    case MIC_REC_PLAY:
      bState = bReadDspSharedBInfo(B_MIC_PLAY_STATE);
      break;

    case MIC_REC_ORG:
    default:
      bState = 0;
      break;
  }

  return (bState);
}
  #endif /* KARAOKE_MIC_REC */

#endif /* PLAYER_KARAOKE */

#if ((defined(PLAYER_KARAOKE) || defined(USE_EXTERNAL_KARAOKE)) && (defined(SUPPORT_AUDIO_KEY_ADJUST)))
// *********************************************************************
// Function :
// Description :
// Parameter :
// Return    :
// *********************************************************************
char cAdspAudKeyCtrl(BYTE bMode) large
{
  BYTE bTmp;
  WORD wCurKey;

#ifdef DTS_NO_KEY_SHIFT
  bTmp = bSharedInfo(SI_A_CODE_MODE);
  if (bTmp == SV_A_CODE_DTS)
  {
    bMode = AUDIO_KEY_RESUME;
  }
#endif /* DTS_NO_KEY_SHIFT */

  switch (bMode)
  {
    case AUDIO_KEY_PLUS:
      _rAudioCtrl.cCurKey ++;
      break;

    case AUDIO_KEY_MINUS:
      _rAudioCtrl.cCurKey --;
      break;

    case AUDIO_KEY_RESUME:
    default:
      _rAudioCtrl.cCurKey = ZERO_KEY_LEVEL;
      break;
  }

  if (_rAudioCtrl.cCurKey > MAX_KEY_LEVEL)
  {
    _rAudioCtrl.cCurKey = MAX_KEY_LEVEL;
  }
  else if (_rAudioCtrl.cCurKey < MIN_KEY_LEVEL)
  {
    _rAudioCtrl.cCurKey = MIN_KEY_LEVEL;
  }

  wCurKey = wReadDspSharedWInfo(W_KEYLEVEL);

  if (wCurKey != (WORD)(_rAudioCtrl.cCurKey))
  {
    vWriteDspSharedWInfo(W_KEYLEVEL, (WORD)(_rAudioCtrl.cCurKey));
    vNotifyDspSharedInfo(UOP_DSP_KEY_SHIFT_LEVEL);
  }

  return (_rAudioCtrl.cCurKey);
}
#endif /* (PLAYER_KARAOKE || USE_EXTERNAL_KARAOKE) && SUPPORT_AUDIO_KEY_ADJ

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区不卡国产欧美| 91香蕉视频污在线| 久久久久久99精品| 91麻豆精品国产91久久久资源速度 | 国产日韩精品一区| 美女视频一区二区三区| 欧美午夜精品久久久| 亚洲欧美日韩久久| 欧美日韩三级一区| 成人avav在线| 性欧美疯狂xxxxbbbb| 欧美日韩亚洲综合在线| 亚洲成人自拍一区| 欧美影院精品一区| 日韩精品亚洲一区二区三区免费| 欧美中文字幕一区| 国产精品的网站| 色综合一区二区三区| 一个色在线综合| 欧美日韩二区三区| 韩国av一区二区三区在线观看| 4hu四虎永久在线影院成人| 久久精品国产一区二区三| 欧美大肚乱孕交hd孕妇| 一区二区在线观看免费| 欧美精品黑人性xxxx| 日韩成人伦理电影在线观看| 精品国产91乱码一区二区三区 | 爽好久久久欧美精品| 激情综合亚洲精品| 亚洲精品国产精品乱码不99 | 亚洲一区自拍偷拍| 国产精品1024| 在线综合亚洲欧美在线视频| 日本一区免费视频| 欧美日韩成人综合| 日本成人中文字幕| 日本伊人精品一区二区三区观看方式| 中文字幕一区在线观看视频| 日本不卡视频在线观看| 91在线视频免费观看| 亚洲欧美偷拍卡通变态| 亚洲欧洲日韩av| 亚洲精品成人天堂一二三| 中文一区二区完整视频在线观看| 精品久久一区二区三区| 国产亚洲人成网站| 国产人成一区二区三区影院| 日韩欧美国产精品一区| 国产欧美日韩在线视频| 久久精品国产精品亚洲精品| 麻豆高清免费国产一区| 国产麻豆91精品| 91蜜桃在线观看| 欧美高清激情brazzers| 久久嫩草精品久久久久| 亚洲女人小视频在线观看| 久久精品视频网| 亚洲国产成人av网| 成人久久视频在线观看| 亚洲乱码国产乱码精品精可以看| 日韩电影免费在线看| 久久久久99精品国产片| 亚洲视频一区二区在线| 精品一区二区影视| 国产精品白丝jk黑袜喷水| 91美女视频网站| 国产精品自产自拍| 欧美在线高清视频| 久久久亚洲综合| 蜜臀a∨国产成人精品| 91美女福利视频| 日本中文字幕不卡| 亚洲国产精品久久人人爱蜜臀 | 中文字幕一区在线观看| 国产福利一区二区三区视频 | 欧美在线观看18| 亚洲视频一区在线观看| 国产精品一二二区| 精品欧美一区二区在线观看| 午夜精品一区二区三区三上悠亚| 国产三级精品三级在线专区| 亚洲国产婷婷综合在线精品| 人人爽香蕉精品| 国产区在线观看成人精品| 在线观看网站黄不卡| 欧美色国产精品| 一区二区在线看| 精品1区2区3区| 美女视频黄 久久| 精品电影一区二区三区 | 蜜臀av一区二区| 久久久精品一品道一区| 99精品在线观看视频| 日日摸夜夜添夜夜添亚洲女人| 日韩一区二区三区电影在线观看| 成人开心网精品视频| 久久精品国产一区二区三| 一色桃子久久精品亚洲| 欧美电影免费观看高清完整版在 | 免费观看在线综合色| 欧美国产一区视频在线观看| 欧美日韩成人综合天天影院| 国产一区二区三区不卡在线观看| 久久草av在线| 日日摸夜夜添夜夜添亚洲女人| 欧美国产成人在线| 久久尤物电影视频在线观看| 在线精品亚洲一区二区不卡| 紧缚捆绑精品一区二区| 国产精品夫妻自拍| 99久久99久久久精品齐齐| 国产99久久久国产精品潘金网站| 日韩精品一区第一页| 欧美成人video| 91美女在线看| 成人黄色软件下载| 国产精品1区2区| 欧美日本一区二区三区| 欧美日韩视频在线一区二区| 亚洲国产婷婷综合在线精品| 麻豆91免费看| 五月婷婷久久丁香| 亚洲一区二区三区在线| 一区二区三区.www| 久久精品一区蜜桃臀影院| 欧美女孩性生活视频| 欧美一区二区三区成人| 69精品人人人人| 水蜜桃久久夜色精品一区的特点| 亚洲精品一卡二卡| 天天操天天综合网| 午夜影视日本亚洲欧洲精品| 日韩黄色小视频| 免费在线观看一区| 看片网站欧美日韩| 精品国产免费久久| 国产欧美日韩中文久久| 亚洲同性gay激情无套| 亚洲综合无码一区二区| 亚洲一区二区五区| 麻豆精品一区二区三区| yourporn久久国产精品| 在线欧美小视频| 欧美国产一区二区在线观看| 一区精品在线播放| 日韩电影一区二区三区四区| 国产精品久久久久7777按摩| 国产一区二区精品在线观看| 99热精品国产| 欧美一级xxx| 亚洲男女毛片无遮挡| 日韩—二三区免费观看av| 福利一区福利二区| 日韩欧美www| 亚洲综合色自拍一区| 国产盗摄一区二区| 欧美日韩情趣电影| 国产福利91精品| 日韩欧美国产wwwww| 免费视频一区二区| 欧美福利视频一区| 一卡二卡欧美日韩| 91蝌蚪国产九色| 国产精品免费免费| 不卡高清视频专区| 久久久久国产精品人| 图片区小说区区亚洲影院| 欧美影院一区二区| 日韩电影在线观看电影| 精品国产乱码久久久久久1区2区| 一区二区三区免费| 欧美精品电影在线播放| 亚洲精品视频自拍| 欧美综合在线视频| 亚洲午夜精品17c| 91精品国产91综合久久蜜臀| 婷婷中文字幕综合| 精品久久国产字幕高潮| 69久久夜色精品国产69蝌蚪网| 日韩亚洲欧美在线| 国产91综合网| 国产精品色在线| 欧美偷拍一区二区| 国产一区二区三区综合| 欧美自拍偷拍午夜视频| 日韩欧美美女一区二区三区| 国内外精品视频| 亚洲天堂av一区| 精品国产欧美一区二区| 91国偷自产一区二区使用方法| 一区二区三区日本| 欧美精品乱人伦久久久久久| 黑人巨大精品欧美一区| 亚洲色图在线播放| 国产一区二区三区久久久| 亚洲成人av电影在线| 亚洲欧美在线aaa| 久久综合999| 精品剧情在线观看|