📄 chips.c
字号:
case CHIPS_NORMAL: __bEchoLevel = CHIPS_DEFAULT_ECHO; break; case CHIPS_TOGGLE: break; case CHIPS_LEVEL: return __bEchoLevel; case CHIPS_SUPPORT: return TRUE; default: break; } //Kevin1.05, modify //W99AV_WriteDM(W99AV_DM_ECHO_CR0, (((WORD)0x5B*__bEchoLevel/ECHO_LEVEL)<<4) | 0x4 ); //scaling factor = 4/16 if(!__bEchoLevel) { HAL_WriteAM(HAL_AM_ECHO_CR, 0x808); } else { HAL_WriteAM(HAL_AM_ECHO_CR, (((WORD)0x5B*__bEchoLevel/ECHO_LEVEL)<<4) | 0x8 ); //scaling factor = 8/16 } OSD_OUTPUT_MACRO(MSG_ECHO, __bEchoLevel, 0x3); return TRUE;}// *********************************************************************// Function : CHIPS_DownMixMode// Description : set AC3 downmix mode at run time// Arguments : bMode:// DOWNMIX_LORO : LoRo// DOWNMIX_LTRT : LtRt// Return : None// Side Effect : None// *********************************************************************//Kevin1.07, createvoid CHIPS_DownMixMode(BYTE bMode){ switch(bMode) { case AC3_DOWNMIX_LORO: HAL_WriteAM(HAL_AM_AC3_DOWNMIX_MODE, 0); // J500KWShih_220, set down mix mode for SD0 if(__SetupInfo.bAudioAnalogOut == SETUP_AUDIO_ANALOG_OUT_2CH) { //DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, "Lo/Ro"); HAL_WriteAM(HAL_AM_CHANNEL_MODE, CHIPS_LR); } break; case AC3_DOWNMIX_AUTO: HAL_WriteAM(HAL_AM_AC3_DOWNMIX_MODE, 2); break ; case AC3_DOWNMIX_LTRT: default : HAL_WriteAM(HAL_AM_AC3_DOWNMIX_MODE, 1); // J500KWShih_220, set down mix mode for SD0 if(__SetupInfo.bAudioAnalogOut == SETUP_AUDIO_ANALOG_OUT_2CH) { //DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, "Lt/Rt"); HAL_WriteAM(HAL_AM_CHANNEL_MODE, CHIPS_LRD); } break; }}// *********************************************************************// Function : CHIPS_MICControl// Description : Toggle between mic effect levels// w9922qf doesn't support mic control// Arguments : bON :// CHIPS_TOGGLE, toggle between mic level// Return : TRUE : supported and carried out// FALSE : Not supported// Change :// Side Effect :// *********************************************************************BYTE CHIPS_MICControl(BYTE bON){// DVD_102Micky, support MIC on/off#ifdef SUPPORT_MIC_CONTROL if(bON == CHIPS_ON) __sbMuteMic = 1; else if(bON == CHIPS_OFF) __sbMuteMic = 0;#else //#ifdef SUPPORT_MIC_CONTROL#ifdef SUPPORT_MIC_CONTROL_INV if(bON == CHIPS_ON) __sbMuteMic = 0; else if(bON == CHIPS_OFF) __sbMuteMic = 1;#else //#ifdef SUPPORT_MIC_CONTROL_INV return FALSE;#endif //#ifdef SUPPORT_MIC_CONTROL_INV#endif //#ifdef SUPPORT_MIC_CONTROL return TRUE;}// *********************************************************************// Function : CHIPS_VolumeControl// Description : It will do volume level control according to the parameter// Arguments : bFunction: The type of command// CHIPS_UP : control up 1 level// CHIPS_DOWN : control down 1 level// CHIPS_NORMAL : set to default level// CHIPS_TOGGLE : toggle between levels in range// CHIPS_LEVEL : return current level// CHIPS_SUPPORT : return if this function supported// Return : TRUE : Supported/Succeeded// : FALSE : Not supported// Change : Will open audio if mute// Side Effect :// *********************************************************************DWORD CHIPS_VolumeControl(BYTE bFunction){ //Kevin2.81, Filter if the desired function is supported or not in one place if (!_CHIPS_FilterFunSupport(CHIPS_VOLUMECONTROL)) { return FALSE; } switch(bFunction) { case CHIPS_UP: //_TuneAudioVolume(TRUE); //Kevin2.81 delete _TuneAudioVolume() __dwVolAudio += VOLUME_GAP; if(__dwVolAudio > VOLUME_MAX) { __dwVolAudio= VOLUME_MAX; }//#ifdef CT950_STYLE // DVDSETUP_SaveVolume();//#endif //CT950_STYLE break; case CHIPS_DOWN: //_TuneAudioVolume(FALSE); //Kevin2.81 delete _TuneAudioVolume() if( __dwVolAudio < VOLUME_MIN + VOLUME_GAP) { __dwVolAudio = VOLUME_MIN; } else { __dwVolAudio -= VOLUME_GAP; }//#ifdef CT950_STYLE// DVDSETUP_SaveVolume();//#endif //CT950_STYLE break; case CHIPS_LEVEL: return __dwVolAudio; case CHIPS_NORMAL: __dwVolAudio = VOLUME_DEFAULT;#if 0// def 0//CT950_STYLE DVDSETUP_SaveVolume();#endif //CT950_STYLE break; case CHIPS_TOGGLE: break; case CHIPS_SUPPORT: return TRUE; default: return FALSE; } // switch(bFunction)//DVD018 if(__btMute) { //DVD018 // J500KWShih_218, fixed mantis bug 1400 and 1563, HAL_IOMute(FALSE); __btMute = FALSE ; OSD_OUTPUT_MACRO(MSG_MUTE, __btMute, 0); } CHIPS_OpenAudio(TRUE); OSD_OUTPUT_MACRO(MSG_VOLUME, (__dwVolAudio / VOLUME_GAP), 3); return TRUE;}#ifndef NO_MIC_INPUT// *********************************************************************// Function : CHIPS_MICVolControl// Description : Do MIC volume level control// Arguments : bFunction: The type of command// CHIPS_UP : control up 1 level// CHIPS_DOWN : control down 1 level// CHIPS_NORMAL : set to default level// Return : None// Side Effect : None// *********************************************************************void CHIPS_MICVolControl( BYTE bFunction){ switch(bFunction) { case CHIPS_UP: __wMICVol += MIC_VOL_GAP ; if ( __wMICVol > MIC_VOL_MAX ) __wMICVol= MIC_VOL_MAX; break; case CHIPS_DOWN: if ( __wMICVol < MIC_VOL_MIN + VOLUME_GAP) __wMICVol = MIC_VOL_MIN; else __wMICVol -= MIC_VOL_GAP; break; case CHIPS_NORMAL : __wMICVol = MIC_VOL_DEFAULT ; break; } HAL_WriteAM(HAL_AM_MIC_PCM_SCALE, __wMICVol); OSD_OUTPUT_MACRO(MSG_VOLUME, (__wMICVol / MIC_VOL_GAP), 3 ); //kevin909, remove _bVolOrMIC & add MSG_MICVOLUME later}#endif// *********************************************************************// Function : CHIPS_ChannelSwitch// Description : It will set the desired channel mode// Arguments : bCh: The type of channel// CHIPS_LRD : Audio is Stereo (LR) Dolby Surround Compatible// CHIPS_C : Audio is Center// CHIPS_LR : Audio is LR// CHIPS_LCR : Audio is LCR// CHIPS_LRLS : Audio is LRLs// CHIPS_LCRLS : Audio is LCRLs// CHIPS_LRLSRS : Audio is LRLsRs// CHIPS_LCRLSRS : Audio is LCRLsRs// Return : TRUE : Succeeded// : FALSE : Out of range// Change :// Side Effect :// *********************************************************************#if 0 // TCC274, _bChannelMode should reference setupinfo.BYTE CHIPS_ChannelSwitch(BYTE bCh){ if (bCh > CHIPS_LCRLSRS) return FALSE ; _bChannelMode = bCh ; CHIPS_OpenAudio(TRUE); //OSD_OUTPUT_MACRO(MSG_CHANNEL, bCh, 3 ); return TRUE;}#endif// *********************************************************************// Function : CHIPS_LFEEnable// Description : It will turn LFE on/off// Arguments : bParam: The type of channel// TRUE : Turn LFE on// FALSE : Turn LFE off// Return : None// Change :// Side Effect :// *********************************************************************#if 0 // TCC274, _bLFE should reference setupinfo.void CHIPS_LFEEnable(BYTE bParam){ if (bParam) _bLFE = 1 ; else _bLFE = 0 ; CHIPS_OpenAudio(TRUE); //OSD_OUTPUT_MACRO(MSG_LFE, _bLFE, 3 );}#endif// *********************************************************************// Function : CHIPS_AC3KokMode// Description : It will do ac3 karaoke control according to the parameter// Modes:// VOCAL_NOVOCAL// VOCAL_LEFT// VOCAL_RIGHT// VOCAL_STEREO// Arguments : bFunction: The type of command// CHIPS_UP : control up 1 level// CHIPS_DOWN : control down 1 level// CHIPS_NORMAL : set to default level// CHIPS_TOGGLE : toggle between levels in range// CHIPS_LEVEL : return current level// CHIPS_SUPPORT : return if this function supported// Return : TRUE : Supported/Succeeded// : FALSE : Not supported// Change :// Side Effect :// *********************************************************************BYTE CHIPS_AC3KokMode(BYTE bMode){ // TCC050a, only AC3 support vocal. if(_bAudType != AUDIO_AC3) { return FALSE; } switch(bMode) { case CHIPS_UP: if(__bVocal < VOCAL_ON) { __bVocal++; } break; case CHIPS_DOWN: if(__bVocal > VOCAL_OFF) { __bVocal--; } break ; case CHIPS_NORMAL: __bVocal = 0; break ; case CHIPS_TOGGLE:// TCC104, if defined ENABLE_AUTOVOCAL, only has 2 modes (On/Off)#ifdef ENABLE_AUTOVOCAL if(__bVocal == VOCAL_OFF) { __bVocal = VOCAL_ON; } else { __bVocal = VOCAL_OFF; }#else __bVocal++; __bVocal %= 4;#endif break; case CHIPS_LEVEL: return __bVocal; case CHIPS_SUPPORT: return TRUE; default: break; } CHIPS_OpenAudio(TRUE);#ifdef SUPPORT_PRINTF switch(__bVocal) { case VOCAL_OFF: DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, "AC3 No Vocal\n"); break; case VOCAL_LL: DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, "AC3 Left Vocal\n"); break; case VOCAL_RR: DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, "AC3 Right Vocal\n"); break; case VOCAL_ON: default: DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, "AC3 Stereo Vocal\n"); break; }#endif // Current no suitable OSD to show OSD_OUTPUT_MACRO(MSG_VOCAL, __bVocal, 3); return TRUE;}// *********************************************************************// Function : CHIPS_DualMode// Description : It will do ac3 dual mode control according to the parameter// Modes:// DUAL_STEREO// DUAL_LEFTMONO// DUAL_RIGHTMONO// DUAL_MIXEDMONO// Arguments : bFunction: The type of command// CHIPS_UP : control up 1 level// CHIPS_DOWN : control down 1 level// CHIPS_NORMAL : set to default level// CHIPS_TOGGLE : toggle between levels in range// CHIPS_LEVEL : return current level// CHIPS_SUPPORT : return if this function supported// Return : TRUE : Supported/Succeeded// : FALSE : Not supported// Change :// Side Effect :// *********************************************************************#if 0 // TCC274, _bDualMode should reference __bModeChannel.BYTE CHIPS_DualMode(BYTE bMode){ switch(bMode)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -