📄 chips.h
字号:
#ifndef __CHIPS_H__
#define __CHIPS_H__
#ifdef __cplusplus
extern "C" {
#endif
// Initial Types
#define CHIPS_INIT_KEY 0x001
#define CHIPS_INIT_SURROUND 0x002
#define CHIPS_INIT_ECHO 0x004
#define CHIPS_INIT_3DLEVEL 0x008
#define CHIPS_INIT_VOL 0x010
#define CHIPS_INIT_CHANNELMODE 0x020
#define CHIPS_INIT_AC3KOKMODE 0x040
#define CHIPS_INIT_DUALMODE 0x080
#define CHIPS_INIT_AUDTYPE 0x100
#define CHIPS_INIT_VOCAL 0x200
#define CHIPS_INIT_ALL 0X3FF
//Kevin2.80, add
#define CHIPS_INIT_AMPVOL 0x400
#define CHIPS_INIT_BYPASS 0x000
// Chips Parameters
#define CHIPS_UP 1
#define CHIPS_DOWN 2
#define CHIPS_NORMAL 3
#define CHIPS_TOGGLE 4
#define CHIPS_LEVEL 5
#define CHIPS_SUPPORT 6
#define CHIPS_ON 7
#define CHIPS_OFF 8
// default value for the parameters
#define CHIPS_DEFAULT_KEY 0
#define CHIPS_DEFAULT_SURROUND 0
#define CHIPS_DEFAULT_ECHO 0
#define CHIPS_DEFAULT_3DLEVEL 0
#define CHIPS_DEFAULT_VOL VOLUME_DEFAULT
#define CHIPS_DEFAULT_CHANNELMODE CHIPS_LRD
#define CHIPS_DEFAULT_AC3KOKMODE VOCAL_ON
#define CHIPS_DEFAULT_DUALMODE DUAL_STEREO
#define CHIPS_DEFAULT_AUDTYPE 0
// definitions for surround
#define CHIPS_SURROUND_NONE 0
#define CHIPS_SURROUND_LIVE 1
#define CHIPS_SURROUND_THEATER 2
// TCC028, add define to match with OSD type
#define CHIPS_SURROUND_STEREO 3
#define CHIPS_SURROUND_MOVIE 4
#define CHIPS_SURROUND_KARAOKE 5
#define CHIPS_SURROUND_TYPE 2
// definitions of Surround Value
// TCC032, change type name so that won't conflict with karaoke module
// TCC278, should be hex other than decimal here
//Kevin1.24, avoid CDDA surround noise
#define SURROUND_TYPE_LIVE 0x77700L //0x00000L
#define SURROUND_TYPE_THEATER 0x66611L //0x55500L
#define SURROUND_TYPE_STEREO 0x88800L
#define SURROUND_TYPE_MOVIE 0x66600L
#define SURROUND_TYPE_KARAOKE 0x33300L
// LLY2.78b-2, add for Sound Effect feature: CHIPS_SoundEffect()
#define SOUND_EFFECT_MODE_BEGIN 0
#define SOUND_EFFECT_STANDARD (SOUND_EFFECT_MODE_BEGIN+ 0)
#define SOUND_EFFECT_CLASSICAL (SOUND_EFFECT_MODE_BEGIN+ 1)
#define SOUND_EFFECT_ROCK (SOUND_EFFECT_MODE_BEGIN+ 2)
#define SOUND_EFFECT_JAZZ (SOUND_EFFECT_MODE_BEGIN+ 3)
#define SOUND_EFFECT_ACOUSTIC (SOUND_EFFECT_MODE_BEGIN+ 4)
//#define SOUND_EFFECT_POP (SOUND_EFFECT_MODE_BEGIN+ 5)
//#define SOUND_EFFECT_USER_DEFINED (SOUND_EFFECT_MODE_BEGIN+ 6)
#define SOUND_EFFECT_USER_DEFINED (SOUND_EFFECT_MODE_BEGIN+ 5) //Kevin
#define SOUND_EFFECT_POP (SOUND_EFFECT_MODE_BEGIN+ 6) //Kevin
//Kevin2.81 review AVSys, add user-defined EQ
#ifdef SUPPORT_USER_DEFINED_EQ
#define SOUND_EFFECT_MODE_END (SOUND_EFFECT_USER_DEFINED)
#else
#define SOUND_EFFECT_MODE_END (SOUND_EFFECT_ACOUSTIC)
#endif
//Kevin2.81 review AVSys
//add define for __bSoundEffect control
// [7:4] : in EQ adjust mode or User-Defined EQ adjust mode
// [3:0] : SOUND_EFFECT
#define EQ_ADJUST_MAIN_EQ 0x80
#define EQ_ADJUST_USER_DEFINED_EQ 0x40
#define EQ_MODE_ENTER_EXIT 0
//Kevin2.81 review AVSys
#ifdef SUPPORT_USER_DEFINED_EQ
#define BAND_SELECT_BEGIN BAND_SELECT_0
#define BAND_SELECT_0 0
#define BAND_SELECT_1 1
#define BAND_SELECT_2 2
#define BAND_SELECT_3 3
#define BAND_SELECT_4 4
#define BAND_SELECT_5 5
#define BAND_SELECT_END BAND_SELECT_5
#endif
// LLY2.78b-2, add for audio output channel re-mapping usage: CHIPS_Channel_ReMapping()
#define CHANNEL_REMAPPING_UNKNOWN 0xFF
#define CHANNEL_REMAPPING_NONE 0
#define CHANNEL_REMAPPING_2_TO_2_DOT_1 1
#define CHANNEL_REMAPPING_2_TO_5_DOT_1 2
//////////// following is added by LLY on 12/23
// define audio channel
//#ifdef DOS_VER
// define channel mode
#define CHIPS_LRD 0 // Audio is Stereo (LR) Dolby Surround Compatible
#define CHIPS_C 1 // Audio is Center
#define CHIPS_LR 2 // Audio is LR
#define CHIPS_LCR 3 // Audio is LCR
#define CHIPS_LRLS 4 // Audio is LRLs
#define CHIPS_LCRLS 5 // Audio is LCRLs
#define CHIPS_LRLSRS 6 // Audio is LRLsRs
#define CHIPS_LCRLSRS 7 // Audio is LCRLsRs
// define AC3 karaoke mode
//#define KOKMODE_NOVOCAL 0
//#define KOKMODE_LEFT 1
//#define KOKMODE_RIGHT 2
//#define KOKMODE_STEREO 3
// For Vocal Definition
#define VOCAL_OFF 0
#define VOCAL_LL 1
#define VOCAL_RR 2
#define VOCAL_ON 3
// define Dual mode
#define DUAL_STEREO 0
#define DUAL_LEFTMONO 1
#define DUAL_RIGHTMONO 2
#define DUAL_MIXEDMONO 3
//Kevin1.07, AC3 downmix mode
#define AC3_DOWNMIX_LORO 0
#define AC3_DOWNMIX_LTRT 1
#define AC3_DOWNMIX_DEFAULT AC3_DOWNMIX_LORO
//#define AUDIO_3D 4 // 3D-Audio
//#define AUDIO_VOICEOFF 6
//#define AUDIO_STEREO AUDIO_RL // Audio is Stereo (LR)
/*
// define for Audio Type
#define AUD_TYPE_AC3 0
#define AUD_TYPE_MPG 1
#define AUD_TYPE_MP3 AUD_TYPE_MPG
#define AUD_TYPE_PCM 2
#define AUD_TYPE_IEC958 3
// LLY.025
#define AUD_TYPE_LPCM AUD_TYPE_PCM
*/
//#endif
/////////////////////////////////////////
// wyc.278, add some define to support per-channel volume control include L/R channel.
#define AUDIO_CHANNEL_BEGIN 0
#define AUDIO_CHANNEL_FRONT_L AUDIO_CHANNEL_BEGIN
#define AUDIO_CHANNEL_FRONT_R (AUDIO_CHANNEL_BEGIN + 1)
#define AUDIO_CHANNEL_REAR_L (AUDIO_CHANNEL_BEGIN + 2)
#define AUDIO_CHANNEL_REAR_R (AUDIO_CHANNEL_BEGIN + 3)
#define AUDIO_CHANNEL_CENTER (AUDIO_CHANNEL_BEGIN + 4)
#define AUDIO_CHANNEL_SW (AUDIO_CHANNEL_BEGIN + 5)
#define AUDIO_CHANNEL_BASS (AUDIO_CHANNEL_BEGIN + 6)
#define AUDIO_CHANNEL_TREBLE (AUDIO_CHANNEL_BEGIN + 7)
#define AUDIO_CHANNEL_ALL (AUDIO_CHANNEL_BEGIN + 8)
#define AMP_MODE_ENTER_EXIT 0
#define AMP_MODE_KEY_UP 1
#define AMP_MODE_KEY_DOWN 2
#define AMP_MODE_KEY_LEFT 3
#define AMP_MODE_KEY_RIGHT 4
#define AMP_MODE_ALL_VOL_UP 5
#define AMP_MODE_ALL_VOL_DOWN 6
#define MAX_ALL_CHANNEL_VOLUME 32
// wyc.277a-1-AVSys
#define DEFAULT_ALL_CHANNEL_VOLUME 4
#define DEFAULT_OTHER_CHANNEL_DEGREE 6// wyc2.79, (MAX_ALL_CHANNEL_VOLUME/4)
#define MAX_OTHER_CHANNEL_DEGREE 2*DEFAULT_OTHER_CHANNEL_DEGREE
//Kevin2.81 add user-defined EQ
#define MAX_PER_BAND_AMP 12
#define DEFAULT_PER_BAND_AMP 6
// wyc.277a-2, add define for __bAMPActive control.
#define AMP_TUNE_PER_CHANNEL 1
#define AMP_TUNE_ALL_CHANNEL 2
// wyc2.79, define the write serial EPPROM state for per-channel volume.
#define READ_FROM_EPPROM 0x0
#define WRITE_TO_EPPROM 0x80
#define ALL_CHANNEL_NOT_INITIAL 0x1
#define PER_CHANNEL_NOT_INITIAL 0x2
#define INITIAL_ALL 0x3
#define WRITE_ALL_CHANNEL_NOT_INITIAL (WRITE_TO_EPPROM | ALL_CHANNEL_NOT_INITIAL)
#define WRITE_PER_CHANNEL_NOT_INITIAL (WRITE_TO_EPPROM | PER_CHANNEL_NOT_INITIAL)
#define WRITE_ALL_INITIAL (WRITE_TO_EPPROM | INITIAL_ALL)
#ifdef SUPPORT_AV_SYSTEM
extern BYTE __bAudioChannel;
extern BYTE __bPerVol[AUDIO_CHANNEL_END+1]; // LLY.278-1
//Kevin2.81 review AVSys
#ifdef SUPPORT_USER_DEFINED_EQ
extern BYTE __bBandSelect;
extern BYTE __bPerAmp[BAND_SELECT_END+1];
#endif
extern BYTE __bAMPVol;
#endif // #ifdef SUPPORT_AV_SYSTEM
extern BYTE __bAMPActive;
extern DWORD __dwVolAudio;
// LLY.278, add for "Equalizer" feature
extern BYTE __bSoundEffect;
///////////////////////////////////////////////////
// bType; the TYPE definition
#define CHIP_BASE 0
#define CHIP_AUDIOMUTE CHIP_BASE+ 2 // Control Audio Mute or NOT
#define CHIP_KEYSHIFT CHIP_BASE+ 3 // Control KeyShift UP/DOWN/NORMAL
#define CHIP_ENABLEKARAOKE CHIP_BASE+ 4 // Enable Karaoke in BCA
extern char __b3DLevel;
//Kevin2.80 move initialization of _dwACR1, _dwACR2, & _dwACR3 from chips.c to _INITIAL_Variables_PowerON()
extern DWORD _dwACR1, _dwACR2, _dwACR3;
#define ACR2_DEFAULT 0x230
#define ACR3_DEFAULT 0 //0x1840000 //Kevin2.31
//Kevin1.05, PCM wrod length for all channels
//Kevin2.80-2, write PCM word length when h/w power-on immediately after RISC finishes reset & before DSP enables.
#include "winav.h"
#if(SUPPORT_PCM_WORD_LENGTH == 24) // Support up to 24 bit
//#define ACR1_WORD_LENGTH 0x30
#define ACR1_WORD_LENGTH 0xf0
#elif(SUPPORT_PCM_WORD_LENGTH == 20) // Support up to 20 bit
//#define ACR1_WORD_LENGTH 0x20
#define ACR1_WORD_LENGTH 0xA0
#elif(SUPPORT_PCM_WORD_LENGTH == 18) // Support up to 18 bit
//#define ACR1_WORD_LENGTH 0x10
#define ACR1_WORD_LENGTH 0x50
#else // Support up to 16 bit
#define ACR1_WORD_LENGTH 0x00
#endif
//Kevin1.07-3, modify
#ifdef PCM_OUTPUT_MSB_FROM_BIT0
#if (AUDIO_ALIGN_FORMAT == RIGHT_ALIGN)
#define ACR1_DEFAULT (0x100d | ACR1_WORD_LENGTH)
#elif (AUDIO_ALIGN_FORMAT == I2S_ALIGN)
#define ACR1_DEFAULT (0x140f | ACR1_WORD_LENGTH)
#elif (AUDIO_ALIGN_FORMAT == LEFT_ALIGN)
#define ACR1_DEFAULT (0x180d | ACR1_WORD_LENGTH)
#endif
#else //#ifdef PCM_OUTPUT_MSB_FROM_BIT0
#if (AUDIO_ALIGN_FORMAT == RIGHT_ALIGN)
#define ACR1_DEFAULT (0x100c | ACR1_WORD_LENGTH)
#elif (AUDIO_ALIGN_FORMAT == I2S_ALIGN)
#define ACR1_DEFAULT (0x140e | ACR1_WORD_LENGTH)
#elif (AUDIO_ALIGN_FORMAT == LEFT_ALIGN)
#define ACR1_DEFAULT (0x180c | ACR1_WORD_LENGTH)
#endif
#endif //#ifdef PCM_OUTPUT_MSB_FROM_BIT0
//Kevin2.81, add
#define CHIPS_VOLUMECONTROL 0
#define CHIPS_SOUNDEFFECT 1
#define CHIPS_SURROUND 2
#define CHIPS_ECHO 3
#define CHIPS_KEYCONTROL 4
#define CHIPS_OPENAUDIO 5 //Kevin0.87, add
//Kevin2.81, add
#define AUDIO_AC3 0
#define AUDIO_MPG 1
#define AUDIO_PCM 2
#define AUDIO_DTS 3
#define AUDIO_WMA 5 //Kevin1.08
//Kevin1.05, correct parameters
//Kevin2.80, add for MIC & SPDIF
#define MIC_EN 0x2000 //bit 13 of AUDIOCFG0R
#define MIC_CH_NO 0 //0x00 //bit 8~9 of AUDIOCFG0R
#define MIC_CH_LEFT 1 //0x01 //bit 8~9 of AUDIOCFG0R
#define MIC_CH_RIGHT 2 //0x10 //bit 8~9 of AUDIOCFG0R
#define MIC_CH_MIXED 3 //0x11 //bit 8~9 of AUDIOCFG0R
#define SPDIF_EN 0x4000 //bit 14 of AUDIOCFG1R
#define SPDIF_OFF 0x0020 //bit 21 of PCR = bit 5 of __wW99AVPCRHigh
void CHIPS_Initial(WORD wInit);
BYTE CHIPS_KeyControl(BYTE bKey);
// LLY.278-1, add for "Equalizer" feature
BYTE CHIPS_SoundEffect(BYTE bAction);
// LLY2.78b-2, add for audio output channel re-mapping feature
void CHIPS_Channel_ReMapping(void);
BYTE CHIPS_Surround(BYTE bSurd);
void CHIPS_ProLogicControl(void); //Kevin1.08
BYTE CHIPS_Echo(BYTE bEcho);
BYTE CHIPS_VoiceCancel(BYTE bCancel);
BYTE CHIPS_Change3DLevel(BYTE bChangeLevel);
BYTE CHIPS_MICControl(BYTE bON);
BYTE CHIPS_ChannelSwitch(BYTE bCh) ;
void CHIPS_LFEEnable(BYTE bParam) ;
BYTE CHIPS_AC3KokMode(BYTE bMode) ;
BYTE CHIPS_DualMode(BYTE bMode) ;
void CHIPS_DownMixMode(BYTE bMode); //Kevn908, add
// f/w 0.33
DWORD CHIPS_VolumeControl( BYTE bFunction);
void CHIPS_MICVolControl( BYTE bFunction); //Kevin1.10
//Kevin0.87, modify
//void CHIPS_OpenAudio (BYTE bParam);
BYTE CHIPS_OpenAudio (BYTE bParam);
void CHIPS_SoftMute(void);
void CHIPS_ControlSPDIFOutput(void); // LLY.103-1
void CHIPS_MICDetect(void); // Brian.170, Software MIC detection
void CHIPS_MICEnable(BYTE bEnable); // Brian.173
// wyc.277a-AVSys
void CHIPS_AMPAction(BYTE bAMPMode);
// wyc2.79, function prototype
void CHIPS_EPPROMReadWriteVolume (BYTE bState);
// wyc2.80, move this function to AMP module and rename to _AMP_CombineMainPerVol.
//BYTE CHIPS_ComputeVolumeValue(BYTE bAudioChannel);
//Kevin2.80, create
void CHIPS_SPDIF_Mute(BYTE bEnable);
//Kevin2.37, support HDCD
void CHIPS_ControlHDCD(void);
void _ChangeDSPCode (BYTE bType); //Kevin2.31
#ifdef SUPPORT_AV_SYSTEM
#ifndef NO_TUNER
BYTE CHIPS_ProgramTuner(BYTE bMode);
#endif // #ifndef NO_TUNER
#endif // #ifdef SUPPORT_AV_SYSTEM
extern BYTE __bVocal;
extern DWORD __wVolAudio;
extern char __cKeyShift;
#ifdef __cplusplus
}
#endif
#endif // __CHIPS_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -