📄 setup.c
字号:
dts_digital_action( ITEMNUM_DOUT_OFF );
choice6->current_choice = ITEMNUM_DOUT_OFF;
choice6->widget.user_op(&choice6->widget,MS_UOP_DISPLAY,0);
}
#endif // D_UNHOOK_DTS_ANALOG
}
#endif // defined(D30_BOARD) || defined(D50_BOARD)
#ifdef D_NO_OTHERS_ANALOG_DEFAULT
#else
void others_analog_choice(MS_CHOICE *msChoice)
{
int iChoice;
int iOthersAnalog = PS_GET_ANALOG_AUDIO_SETTING(AUDIO_STREAM_LPCM);
switch ( iOthersAnalog )
{
#ifndef D_NO_2CHANNEL_OUTPUT
case ANALOG_AUDIO_2CH:
iChoice = ITEMNUM_2CH;
break;
#else
#endif
#ifndef D_NO_6CHANNEL_OUTPUT
case ANALOG_AUDIO_6CH:
iChoice = ITEMNUM_6CH;
break;
#else
#endif
case NO_ANALOG_AUDIO:
// Fall through
default:
iChoice = ITEMNUM_AOUT_OFF;
break;
}
msChoice->current_choice = iChoice;
}
#endif // D_NO_OTHERS_ANALOG_DEFAULT
void others_analog_action(int num)
{
#ifdef D_UNHOOK_OTHERS_ANALOG
printf("Others analog is %d\n",num);
#else
DWORD d_Cmd;
#ifdef D_NO_2CHANNEL_OUTPUT
int iOthersAnalog[] = { ANALOG_AUDIO_6CH, NO_ANALOG_AUDIO };
#endif
#ifdef D_NO_6CHANNEL_OUTPUT
int iOthersAnalog[] = { ANALOG_AUDIO_2CH, NO_ANALOG_AUDIO };
#endif
#if D_NO_2CHANNEL_OUTPUT|D_NO_6CHANNEL_OUTPUT
#else
int iOthersAnalog[] = { ANALOG_AUDIO_2CH, ANALOG_AUDIO_6CH, NO_ANALOG_AUDIO };
#endif
int iSetting;
dbouts("\nAnalog Output Others Settings");
dbouti( num );
iSetting = iOthersAnalog[ num ];
PS_SET_ANALOG_AUDIO_SETTING(AUDIO_STREAM_LPCM,iSetting);
PS_SET_ANALOG_AUDIO_SETTING(AUDIO_STREAM_PCM,iSetting);
PS_SET_ANALOG_AUDIO_SETTING(AUDIO_STREAM_MPEG,iSetting);
//#ifdef HDCD_CAPABLE
// PS_SET_ANALOG_AUDIO_SETTING(AUDIO_STREAM_HDCD,iSetting);
//#endif
d_Cmd = (((DWORD)PS_UPDATE_ANALOG_SETTINGS_LSB)<<16) + (gps->analog_setting&0xFFFFL);
ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
#ifdef D20_BOARD
#if D_NO_6CHANNEL_OUTPUT|D_NO_2CHANNEL_OUTPUT
#else
if ( (num == ITEMNUM_6CH) && (choice8->current_choice == ITEMNUM_RAW) )
{
others_digital_action( ITEMNUM_DOUT_OFF );
choice8->current_choice = ITEMNUM_DOUT_OFF;
choice8->widget.user_op(&choice8->widget,MS_UOP_DISPLAY,0);
}
#endif
#endif // D20_BOARD
#endif // D_UNHOOK_OTHERS_ANALOG
}
//
// Digital choice handling
//
#ifdef D_NO_AC3_DIGITAL_DEFAULT
#else
void ac3_digital_choice(MS_CHOICE *msChoice)
{
int iChoice;
int iAC3Digital = PS_GET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_AC3);
switch ( iAC3Digital )
{
case DIGITAL_AUDIO_PCM:
iChoice = ITEMNUM_PCM;
break;
case DIGITAL_AUDIO_BITSTREAM:
iChoice = ITEMNUM_RAW;
break;
case NO_DIGITAL_AUDIO:
// Fall through
default:
iChoice = ITEMNUM_DOUT_OFF;
break;
}
msChoice->current_choice = iChoice;
}
#endif // D_NO_AC3_DIGITAL_DEFAULT
void ac3_digital_action(int num)
{
#ifdef D_UNHOOK_AC3_DIGITAL
printf("AC3 digital is %d\n",num);
#else
DWORD d_Cmd;
int iAC3Digital[] = { DIGITAL_AUDIO_PCM, DIGITAL_AUDIO_BITSTREAM, NO_DIGITAL_AUDIO };
dbouts("\nDigital Output AC3 Settings");
dbouti( num );
PS_SET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_AC3,iAC3Digital[ num ]);
d_Cmd = (((DWORD)PS_UPDATE_DIGITAL_SETTINGS_LSB)<<16) + (gps->digital_setting&0xFFFFL);
ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
#ifdef D20_BOARD
#if D_NO_6CHANNEL_OUTPUT|D_NO_2CHANNEL_OUTPUT
#else
if ( (num != ITEMNUM_DOUT_OFF) && (choice1->current_choice == ITEMNUM_6CH) )
{
// set Digital settings to Off
ac3_analog_action( ITEMNUM_2CH );
choice1->current_choice = ITEMNUM_2CH;
choice1->widget.user_op(&choice1->widget,MS_UOP_DISPLAY,0);
}
#endif
#endif // D20_BOARD
#endif // D_UNHOOK_AC3_DIGITAL
}
#ifdef D_NO_MPEG_DIGITAL_DEFAULT
#else
void mpeg_digital_choice(MS_CHOICE *msChoice)
{
int iChoice;
int iMPEGDigital = PS_GET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_MPEG);
switch ( iMPEGDigital )
{
case DIGITAL_AUDIO_PCM:
iChoice = ITEMNUM_PCM;
break;
case DIGITAL_AUDIO_BITSTREAM:
iChoice = ITEMNUM_RAW;
break;
case NO_DIGITAL_AUDIO:
// Fall through
default:
iChoice = ITEMNUM_DOUT_OFF;
break;
}
msChoice->current_choice = iChoice;
}
#endif // D_NO_MPEG_DIGITAL_DEFAULT
void mpeg_digital_action(int num)
{
#ifdef D_UNHOOK_MPEG_DIGITAL
printf("MPEG digital is %d\n",num);
#else
DWORD d_Cmd;
int iMPEGDigital[] = { DIGITAL_AUDIO_PCM, DIGITAL_AUDIO_BITSTREAM, NO_DIGITAL_AUDIO };
dbouts("\nDigital Output MPEG Settings");
dbouti( num );
num = iMPEGDigital[ num ];
PS_SET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_MPEG,num);
d_Cmd = (((DWORD)PS_UPDATE_DIGITAL_SETTINGS_LSB)<<16) + (gps->digital_setting&0xFFFFL);
ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
#endif // D_UNHOOK_MPEG_DIGITAL
}
#ifdef D_NO_MP3_DIGITAL_DEFAULT
#else
void mp3_digital_choice(MS_CHOICE *msChoice)
{
int iChoice;
int iMP3Digital = PS_GET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_MP3);
switch ( iMP3Digital )
{
case DIGITAL_AUDIO_PCM:
iChoice = ITEMNUM_MP3_PCM;
break;
case NO_DIGITAL_AUDIO:
// Fall through
default:
// REMINDER should be _OFF
iChoice = ITEMNUM_MP3_OFF;
break;
}
msChoice->current_choice = iChoice;
}
#endif // D_NO_MP3_DIGITAL_DEFAULT
void mp3_digital_action(int num)
{
#ifdef D_UNHOOK_MP3_DIGITAL
printf("MP3 digital is %d\n",num);
#else
DWORD d_Cmd;
int iMP3Digital[] = { DIGITAL_AUDIO_PCM, NO_DIGITAL_AUDIO };
dbouts("\nDigital Output MP3 Settings: ");
dbouti( num );
num = iMP3Digital[ num ];
PS_SET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_MP3,num);
d_Cmd = (((DWORD)PS_UPDATE_DIGITAL_SETTINGS_LSB)<<16) + (gps->digital_setting&0xFFFFL);
ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
#endif // D_UNHOOK_MP3_DIGITAL
}
// <<< ZORAN CDE0724 : Fix usage of D20_BOARD and DTS_DISABLE macros
#ifndef DTS_DISABLE
#if (defined(D30_BOARD) || defined(D50_BOARD))
#ifdef D_NO_DTS_DIGITAL_DEFAULT
#else
void dts_digital_choice(MS_CHOICE *msChoice)
{
int iChoice;
int iDTSDigital = PS_GET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_DTS);
switch ( iDTSDigital )
{
case DIGITAL_AUDIO_PCM:
iChoice = ITEMNUM_PCM;
break;
case DIGITAL_AUDIO_BITSTREAM:
iChoice = ITEMNUM_RAW;
break;
case NO_DIGITAL_AUDIO:
// Fall through
default:
iChoice = ITEMNUM_DOUT_OFF;
break;
}
msChoice->current_choice = iChoice;
}
#endif // D_NO_DTS_DIGITAL_DEFAULT
void dts_digital_action(int num)
{
#ifdef D_UNHOOK_DTS_DIGITAL
printf("DTS digital is %d\n",num);
#else
DWORD d_Cmd;
int iDTSDigital[] = { DIGITAL_AUDIO_PCM, DIGITAL_AUDIO_BITSTREAM, NO_DIGITAL_AUDIO };
dbouts("\nDigital Output DTS Settings");
dbouti( num );
num = iDTSDigital[ num ];
PS_SET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_DTS,num);
d_Cmd = (((DWORD)PS_UPDATE_DIGITAL_SETTINGS_LSB)<<16) + (gps->digital_setting&0xFFFFL);
ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
#ifndef DTS_DISABLE //DM0316 enable DTS SPDIF when disable DTS
if ( (num == DIGITAL_AUDIO_BITSTREAM ) && (choice2->current_choice != ITEMNUM_AOUT_OFF) )
{
dts_analog_action( ITEMNUM_AOUT_OFF );
choice2->current_choice = ITEMNUM_AOUT_OFF;
choice2->widget.user_op(&choice2->widget,MS_UOP_DISPLAY,0);
}
#endif
#endif // D_UNHOOK_DTS_DIGITAL
}
#endif // defined(D30_BOARD) || defined(D50_BOARD)
#endif // DTS_DISABLE
// ZORAN CDE0724 >>>
// ZORAN CDE0724 : Fix usage of D20_BOARD and DTS_DISABLE macros
#if (defined(D20_BOARD) || defined(DTS_DISABLE))
//#ifdef D20_BOARD
void dts_digital_choice(MS_CHOICE *msChoice)
{
int iChoice;
int iDTSDigital = PS_GET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_DTS);
switch ( iDTSDigital )
{
case DIGITAL_AUDIO_BITSTREAM:
iChoice = ITEMNUM_DTS_RAW;
break;
case NO_DIGITAL_AUDIO:
// Fall through
default:
iChoice = ITEMNUM_DTS_DOUT_OFF;
break;
}
msChoice->current_choice = iChoice;
}
void dts_digital_action(int num)
{
DWORD d_Cmd;
int iDTSDigital[] = { DIGITAL_AUDIO_BITSTREAM, NO_DIGITAL_AUDIO };
dbouts("\nDigital Output DTS Settings");
dbouti( num );
num = iDTSDigital[ num ];
PS_SET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_DTS,num);
d_Cmd = (((DWORD)PS_UPDATE_DIGITAL_SETTINGS_LSB)<<16) + (gps->digital_setting&0xFFFFL);
ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
}
#endif // D20_BOARD
#ifdef D_NO_OTHERS_DIGITAL_DEFAULT
#else
void others_digital_choice(MS_CHOICE *msChoice)
{
int iChoice;
int iOthersDigital = PS_GET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_LPCM);
switch ( iOthersDigital )
{
case DIGITAL_AUDIO_PCM:
iChoice = ITEMNUM_PCM;
break;
case DIGITAL_AUDIO_BITSTREAM:
iChoice = ITEMNUM_RAW;
break;
case NO_DIGITAL_AUDIO:
// Fall through
default:
iChoice = ITEMNUM_DOUT_OFF;
break;
}
msChoice->current_choice = iChoice;
}
#endif // D_NO_OTHERS_DIGITAL_DEFAULT
void others_digital_action(int num)
{
#ifdef D_UNHOOK_OTHERS_DIGITAL
printf("Others digital is %d\n",num);
#else
DWORD d_Cmd;
int iOthersDigital[] = { DIGITAL_AUDIO_PCM, DIGITAL_AUDIO_BITSTREAM, NO_DIGITAL_AUDIO };
dbouts("\nDigital Output Others Settings");
dbouti( num );
num = iOthersDigital[ num ];
PS_SET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_LPCM,num);
PS_SET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_PCM,num);
PS_SET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_MPEG,num);
#ifdef HDCD_CAPABLE
// PS_SET_DIGITAL_AUDIO_SETTING(AUDIO_STREAM_HDCD,num);
#endif
d_Cmd = (((DWORD)PS_UPDATE_DIGITAL_SETTINGS_LSB)<<16) + (gps->digital_setting&0xFFFFL);
ie_send_ex(IE_CORE_UPDATE_PS, (void *)d_Cmd);
#ifdef D20_BOARD
#if D_NO_6CHANNEL_OUTPUT|D_NO_2CHANNEL_OUTPUT
#else
if ( (num == ITEMNUM_RAW) && (choice4->current_choice == ITEMNUM_6CH) )
{
others_analog_action( ITEMNUM_2CH );
choice4->current_choice = ITEMNUM_2CH;
choice4->widget.user_op(&choice4->widget,MS_UOP_DISPLAY,0);
}
#endif
#endif // D20_BOARD
#endif // D_UNHOOK_OTHERS_DIGITAL
}
#ifdef D_NO_SUBWOOFER_DEFAULT
#else
void sub_aud_choice(MS_CHOICE *msChoice)
{
int iChoice;
switch ( gps->subwoofer )
{
case SW_SETTING_ON:
iChoice = ITEMNUM_SUB_ON;
break;
case SW_SETTING_OFF:
// Fall through
default:
iChoice = ITEMNUM_SUB_OFF;
break;
}
msChoice->current_choice = iChoice;
}
#endif // D_NO_SUBWOOFER_DEFAULT
void sub_aud_action(int num)
{
#ifdef D_UNHOOK_SUBWOOFER
printf("Subwoofer is %d\n",num);
#else
DWORD d_Cmd;
int iSubwoofer[]={ SW_SETTING_ON, SW_SETTING_OFF };
dbouts("\Subwoofer is ");
dbouti(num);
num = iSubwoofer[num];
d_Cmd = (((DWORD)PS_UPDATE_SW_SETTING)<<16) + (DWORD)num;
ie_send_ex(IE_CORE_UPDATE_PS, (void *) d_Cmd);
#endif // D_UNHOOK_SUBWOOFER
}
#ifdef D_NO_PROLOGIC_DEFAULT
#else
void pro_aud_choice(MS_CHOICE *msChoice)
{
int iChoice;
switch ( gps->prologic )
{
case PROLOGIC_SETTING_AUTO:
iChoice = ITEMNUM_PRO_AUTO;
break;
case PROLOGIC_SETTING_ON:
iChoice = ITEMNUM_PRO_ON;
break;
case PROLOGIC_SETTING_OFF:
// Fall through
default:
iChoice = ITEMNUM_PRO_OFF;
break;
}
msChoice->current_choice = iChoice;
}
#endif // D_NO_PROLOGIC_DEFAULT
void pro_aud_action(int num)
{
#ifdef D_UNHOOK_PROLOGIC
printf("Prologic is %d\n",num);
#else
DWORD d_Cmd;
int iPrologic[]={ PROLOGIC_SETTING_AUTO, PROLOGIC_SETTING_ON, PROLOGIC_SETTING_OFF };
dbouts("\nPrologic is ");
dbouti(num);
num = iPrologic[num];
d_Cmd = (((DWORD)PS_UPDATE_PROLOGIC_SETTING)<<16) + (DWORD)num;
ie_send_ex(IE_CORE_UPDATE_PS, (void *) d_Cmd);
#endif // D_UNHOOK_PROLOGIC
}
/////////////////////////////////// Ban
#ifdef D_ENABLE_SETUP_PKNOISE
void pknoise_aud_choice(MS_CHOICE *msChoice)
{
msChoice->current_choice = ITEMNUM_PKNOISE_OFF;
}
void pknoise_aud_action(int num)
{
#ifdef D_UNHOOK_PKNOISE
printf("Pink noise is %d\n",num);
#else
// DWORD d_Cmd;
// int iPknoise[]={ PKNOISE_SETTING_OFF, };
dbouts("\nPknoise is ");
dbouti(num);
if (num == ITEMNUM_PKNOISE_SUB) {
#ifdef D_NO_FORCE_CHOICE_MACRO
sub_aud_action (ITEMNUM_SUB_ON);
choice2->current_choice = ITEMNUM_SUB_ON;
choice2->widget.user_op(&choice2->widget,MS_UOP_DISPLAY,0);
#else
FORCE_CHOICE( sub_aud_action, ITEMNUM_SUB_ON, choice2 );
#endif
}
ie_send_ex(IE_CORE_PINK_NOISE, (void *) num);
#endif // D_UNHOOK_PKNOISE
}
#endif // D_ENABLE_SETUP_PKNOISE
/////////////////////////////////// Ban
#ifdef D_NO_SPK_AUD_DEFAULT
#else
void spk_aud_choice(MS_CHOICE *msChoice)
{
int iChoice;
// REMINDER This is obsolete
iChoice = 0;
msChoice->current_choice = iChoice;
}
#endif // D_NO_SPK_AUD_DEFAULT
void spk_aud_action(int num)
{
printf("Speaker is %d\n",num);
}
#ifdef D_NO_RES_VID_DEFAULT
#else
void res_vid_choice(MS_CHOICE *msChoice)
{
int iChoice;
switch ( gps->widescreen_mode )
{
case PS_TV43LB:
iChoice = ITEMNUM_4_3_LETTERBOX;
break;
case PS_TV169:
iChoice = ITEMNUM_16_9;
break;
case PS_TV43PS:
// Fall through
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -