📄 setupfunc.c
字号:
InitSetupCfg();
CmdFPMsg_Ext(VFD_SYSTEM_SHOW, fpshow, 0);
SetTimer(FP_SHOWONOFF_TM_ID, FPShowOnOff, TIME_7SEC);
}
void ScrsaverOnOff(LPBYTE lpSel)
{
if(*lpSel == SETUPFUNC_ON)
{
OSD_Setup_Parameter.bScrnSaverEnable=SETUPFUNC_ON;
ScrSaver(1);
}
else
{
OSD_Setup_Parameter.bScrnSaverEnable=SETUPFUNC_OFF;
ScrSaver(0);
}
}
void SetupLoadDefault(void)
{
int i;
extern SETUP_PAGE Page_Display;
extern SETUP_PAGE Page_Audio;
extern SETUP_ITEM PScan;
CaseV_KEY_SETUPDEFAULT();
// #ifdef _KARAOKE_ENABLE_
if(OSD_Setup_Parameter.bSDO== SETUPFUNC_OFF)
for(i=0;i<3;i++)
{
Page_Audio.SetupItems[i]->bObjectType=(Page_Audio.SetupItems[i]->bObjectType|0x80);
}
else
for(i=0;i<3;i++)
{
Page_Audio.SetupItems[i]->bObjectType=(Page_Audio.SetupItems[i]->bObjectType&0x7f);
}
#if (_SETUP_PSCAN_MODE==_SETUP_PSCAN_ENABLE_)
if(OSD_Setup_Parameter.bVideoOutput != SETUPFUNC_VIDOPUT_YUV_CVBS)
{
PScan.bObjectType |= 0x80;
}
else
{
PScan.bObjectType &= 0x7f;
}
#endif
}
void TransSel4PausePicture(BYTE bSel)
{
switch (bSel)
{
case SETUPFUNC_PSPIC_AUTO:
APOprParam.VO_Pause_Type = VO_Pause_Auto;
break;
case SETUPFUNC_PSPIC_HI:
APOprParam.VO_Pause_Type = VO_Pause_HI_RESOLUTION;
break;
case SETUPFUNC_PSPIC_FLI:
APOprParam.VO_Pause_Type = VO_Pause_FLICKERLESS;
break;
default:
APOprParam.VO_Pause_Type = VO_Pause_Auto;
break;
}
}
void SetPausePicture(BYTE bSel)
{
tEndCondition ret;
TransSel4PausePicture(bSel);
ret = DecSetVPrc(&APOprParam, TRUE);
}
void TransSel4ScanMode(BYTE bSel)
{
switch (bSel)
{
case SETUPFUNC_SCANMD_PROA:
APOprParam.PrgsvScanSw = 1;
APOprParam.PrgsvScanType = WEAVE;
break;
case SETUPFUNC_SCANMD_PROB:
APOprParam.PrgsvScanSw = 1;
APOprParam.PrgsvScanType = BOB;
break;
//David for VGA
case SETUPFUNC_SCANMD_VGA:
APOprParam.CompositMode = RGBMode;
APOprParam.PrgsvScanSw = 1;
APOprParam.PrgsvScanType = AUTO;
break;
case SETUPFUNC_SCANMD_PROC:
APOprParam.PrgsvScanSw = 1;
APOprParam.PrgsvScanType = AUTO;
break;
case SETUPFUNC_SCANMD_INT:
APOprParam.PrgsvScanSw = 0; //FALSE
APOprParam.PrgsvScanType = 0; //FALSE, interlaced
break;
default:
APOprParam.PrgsvScanSw = 0; //FALSE
APOprParam.PrgsvScanType = 0; //FALSE, interlaced
break;
}
}
void TransSel4VidOutput(BYTE bSel)
{
switch (bSel)
{
case SETUPFUNC_VIDOPUT_RGB:
case SETUPFUNC_VIDOPUT_VGA:
case SETUPFUNC_VIDOPUT_SCART:
//David for VGA
//David get rid off this code: VGA output enable both NTSC and PAL.
/*if ( GetDefSetupPara(GETCMD_VGA) && GetDefSetupPara(GETCMD_PROGRESSIVE) && !GetDefSetupPara(GETCMD_SCART) )
{
APOprParam.TVSys_Out = C_NTSC;
}*/
APOprParam.CompositMode = RGBMode;
/*
SET_GPIO_W(YC_MIX);//20030801 Tom Yang
delay(100); //20030801 Tom Yang
SET_GPIO_HI(YC_MIX);//20030801 Tom Yang*/
break;
case SETUPFUNC_VIDOPUT_YUVSM:
if ( APOprParam.TVSys_Out == C_NTSC )
APOprParam.CompositMode = YPbPr_SMPTE;
else
APOprParam.CompositMode = YPbPr_SMPTE;
/*
SET_GPIO_W(YC_MIX);//20030801 Tom Yang
delay(100); //20030801 Tom Yang
SET_GPIO_LOW(YC_MIX);//20030801 Tom Yang*/
break;
case SETUPFUNC_VIDOPUT_YUV:
if ( APOprParam.TVSys_Out == C_NTSC )
APOprParam.CompositMode = SVideo_BetaCam;
else
APOprParam.CompositMode = SVideo_SMPTE;
break;
case SETUPFUNC_VIDOPUT_SVIDEO:
APOprParam.CompositMode = SVideo_Only;
/*
SET_GPIO_W(YC_MIX);//20030801 Tom Yang
delay(100); //20030801 Tom Yang
SET_GPIO_LOW(YC_MIX);//20030801 Tom Yang*/
break;
case SETUPFUNC_VIDOPUT_YUV_SVIDEO:
if ( APOprParam.TVSys_Out == C_NTSC )
APOprParam.CompositMode = SVideo_BetaCam;
else
APOprParam.CompositMode = SVideo_SMPTE;
break;
case SETUPFUNC_VIDOPUT_CVBS:
APOprParam.CompositMode = CVBS_Only;
/*
SET_GPIO_W(YC_MIX);//20030801 Tom Yang
delay(100); //20030801 Tom Yang
SET_GPIO_HI(YC_MIX);//20030801 Tom Yang*/
break;
#if (_TRANSFER_ALI_BOARD_ == _TRANSFER_ALI_BOARD_ENABLE_)
case SETUPFUNC_VIDOPUT_CVBS_SVIDEO:
APOprParam.CompositMode =CVBS_SVIDEO;
break;
case SETUPFUNC_VIDOPUT_YUV_CVBS:
APOprParam.CompositMode =YUV_CVBS;
break;
#endif
default:
//mi40607 for the setup menu will turn red
APOprParam.CompositMode = CVBS_Only;//CVBS_SVIDEO;//CVBS_Only;
/*
SET_GPIO_W(YC_MIX);//20030801 Tom Yang
delay(100); //20030801 Tom Yang
SET_GPIO_HI(YC_MIX);//20030801 Tom Yang*/
break;
}
#if (_SCART==SCART_Enable)
if (APOprParam.CompositMode == RGBMode)
APOprParam.SCARTTVMode = SCART_RGB;
else
APOprParam.SCARTTVMode = SCART_CVBS;
if ( (OSD_Setup_Parameter.bTVScreen == C_PANSCAN) ||
(OSD_Setup_Parameter.bTVScreen == C_LETTERBOX) )
{
APOprParam.SCARTScreenMode = SCART_4_3;
}
else
{
APOprParam.SCARTScreenMode = SCART_16_9;
}
#endif
}
void SetScanMode(LPBYTE bSel)
{
tEndCondition ret;
if(OSD_Setup_Parameter.bTVOutPut == C_AUTO)
{
if(DiscType != C_NO_DISC && DiscType != C_UNKOWN_DISC && DiscType != C_UNSURPORT_DISC)
APOprParam.TVSys_Out = APOprParam.TVSys_Src;
else
APOprParam.TVSys_Out = GetDefSetupPara(GETCMD_TVOUTPUT);
}
TransSel4ScanMode(*bSel);
//30812_05 Sean for P-Scan <-> interlace
#if 0
if(!GetDefSetupPara(GETCMD_SCART))
{
switch (*bSel)
{
//David for VGA
case SETUPFUNC_SCANMD_VGA:
OSD_Setup_Parameter.bVideoOutput = SETUPFUNC_VIDOPUT_RGB;
break;
case SETUPFUNC_SCANMD_PROA:
case SETUPFUNC_SCANMD_PROB:
case SETUPFUNC_SCANMD_PROC:
OSD_Setup_Parameter.bVideoOutput = SETUPFUNC_VIDOPUT_YUVSM;
break;
case SETUPFUNC_SCANMD_INT:
// OSD_Setup_Parameter.bVideoOutput = SETUPFUNC_VIDOPUT_CVBS_SVIDEO;
break;
default:
// OSD_Setup_Parameter.bVideoOutput = SETUPFUNC_VIDOPUT_CVBS;
break;
}
//mi40607 for the setup menu will turn red
OSD_Setup_Parameter.bTempVideoOutPut = OSD_Setup_Parameter.bVideoOutput;
}
//30812_05 Sean for P-Scan <-> interlace
#endif
TransSel4VidOutput(OSD_Setup_Parameter.bVideoOutput);
ret = DecSetVPrc(&APOprParam, TRUE);
Set_Scanmode_Ready(*bSel);//30815_01 Sean for Interlace <-> P-Scan switch
}
void SetVidOutput(LPBYTE bSel)
{
tEndCondition ret;
VPROCRtn tvready;
TransSel4VidOutput(*bSel);
if(OSD_Setup_Parameter.bTVOutPut == C_AUTO)
{
if(DiscType != C_NO_DISC && DiscType != C_UNKOWN_DISC && DiscType != C_UNSURPORT_DISC)
APOprParam.TVSys_Out = APOprParam.TVSys_Src;
else
APOprParam.TVSys_Out = GetDefSetupPara(GETCMD_TVOUTPUT);
};
// ret = DecSetVPrc(&APOprParam, TRUE);
tvready = SetAnalogVideoCfg(APOprParam.PrgsvScanSw, APOprParam.TVSys_Out, APOprParam.CompositMode, 1);
if ( tvready != OK )
{
ErrProcVProc(tvready);
}
else
ret = DecSetVPrc(&APOprParam, TRUE);
}
void SetVidOut(LPBYTE bSel)
{
//40527_01 Sean for NewUI video output request
tEndCondition ret;
VPROCRtn tvready;
tvready = SetAnalogVideoCfg(APOprParam.PrgsvScanSw, APOprParam.TVSys_Out, *bSel, 1);
if ( tvready != OK )
{
ErrProcVProc(tvready);
}
else
{
APOprParam.CompositMode = *bSel;
ret = DecSetVPrc(&APOprParam, TRUE);
}
//40527_01 Sean for NewUI video output request
}
/*
void SetVideoOutPutPI(LPBYTE bSel)
{
switch(*bSel)
{
case SETUPFUNC_VIDOPUT_RGB:
case SETUPFUNC_VIDOPUT_YUVSM:
SetVidOutput(bSel);
break;
case SETUPFUNC_VIDOPUT_CVBS_SVIDEO:
case SETUPFUNC_VIDOPUT_YUV_CVBS:
SetVidOut(bSel);
break;
default:
break;
}
}
*/
void SetTVOutput(BYTE bSel)
{
tEndCondition ret;
//30930_01 Sean for NP switch system die(Bug item 748)
// if ( ((bSel != C_AUTO) && (APOprParam.TVSys_Out != bSel)) ||
// ((bSel == C_AUTO) && (APOprParam.TVSys_Out != APOprParam.TVSys_Src)) )
//30930_01 Sean for NP switch system die(Bug item 748)
{
if(bSel == C_AUTO)
APOprParam.TVSys_Out = GetDefSetupPara(GETCMD_TVOUTPUT);
else
APOprParam.TVSys_Out = bSel;
if ((APOprParam.TVSys_Src == C_PAL) && ((APOprParam.TVSys_Out == C_NTSC)||(APOprParam.TVSys_Out == C_PAL_M)))
{
if (APOprParam.DspMode == Letterbox)
{
APOprParam.DspMode = Normal;
}
}
if (AudioType != C_CDDA_AUDIO) /* solution for xtl case */
//30930_01 Sean for NP switch system die(Bug item 748)
ret = DecSetTVSys(&APOprParam, TRUE);
//ret = DecSetVPrc(&APOprParam, TRUE);
//30930_01 Sean for NP switch system die(Bug item 748)
}
}
void SetDigiOutput(BYTE bSel)
{
tEndCondition ret1;
switch (bSel)
{
case SETUPFUNC_DIGOUT_OFF:
//OSD_Setup_Parameter.bDigiOutput = SETUPFUNC_DIGOUT_OFF;
ret1 = DecSetAPrc(C_IEC, IEC_OPTION, SETUPFUNC_DIGOUT_OFF);
break;
case SETUPFUNC_DIGOUT_BIT:
//OSD_Setup_Parameter.bDigiOutput = SETUPFUNC_DIGOUT_BIT;
ret1 = DecSetAPrc(C_IEC, IEC_OPTION, SETUPFUNC_DIGOUT_BIT);
break;
case SETUPFUNC_DIGOUT_LP_48K:
ret1 = DecSetAPrc(C_IEC, IEC_OPTION, SETUPFUNC_DIGOUT_LP_48K);//20030702 Tom Yang
break;
case SETUPFUNC_DIGOUT_LP_96K:
//OSD_Setup_Parameter.bDigiOutput = SETUPFUNC_DIGOUT_LP;
ret1 = DecSetAPrc(C_IEC, IEC_OPTION, SETUPFUNC_DIGOUT_LP_96K);//20030702 Tom Yang
break;
default: //Bitstream
//OSD_Setup_Parameter.bDigiOutput = SETUPFUNC_DIGOUT_BIT;
ret1 = DecSetAPrc(C_IEC, IEC_OPTION, 0);
break;
}
}
/*
void SetChannel(BYTE bSel)
{
switch (bSel)
{
case SETUPFUNC_CHANNEL_2CH_LTRT:
APOprParam.wAudioChannel = 2;
DecSetAudioChannel(2);
break;
case SETUPFUNC_CHANNEL_2CH_DMX:
APOprParam.wAudioChannel = 2;
DecSetAudioChannel(2);
break;
case SETUPFUNC_CHANNEL_51CH:
APOprParam.wAudioChannel = 6;
DecSetAudioChannel(6);
break;
}
}
*/
void SetChannel(BYTE bSel)
{
switch (bSel)
{
case SETUPFUNC_CHANNEL_2CH_LTRT:
APOprParam.wAudioChannel = 2;
DecSetAudioChannel(2);
// M3323AudioEffectSet(C_DOWN_MIX, DOWNMIX_MODE, 2);
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_FRONT_L]=2;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_FRONT_R]=2;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_CENTER]=0;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_SUB_WOOFER]=0;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_REAR_R]=0;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_REAR_L]=0;
break;
case SETUPFUNC_CHANNEL_2CH_DMX:
APOprParam.wAudioChannel = 2;
DecSetAudioChannel(2);
// M3323AudioEffectSet(C_DOWN_MIX, DOWNMIX_MODE, 2);
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_FRONT_L]=2;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_FRONT_R]=2;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_CENTER]=0;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_SUB_WOOFER]=0;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_REAR_R]=0;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_REAR_L]=0;
break;
case SETUPFUNC_CHANNEL_51CH:
APOprParam.wAudioChannel = 6;
DecSetAudioChannel(6);
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_FRONT_L]=2;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_FRONT_R]=2;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_CENTER]=1;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_SUB_WOOFER]=1;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_REAR_R]=1;
OSD_Setup_Parameter.bSpeakerSize[SETUPFUNC_REAR_L]=1;
break;
}
}
void TransSel4Brightness(BYTE bSel)
{
BYTE bSeed = 32;
/*modify by xianzhong to down size. Aug.4.2004*/
if(bSel>=SETUPFUNC_BRI_M128 && bSel<=SETUPFUNC_BRI_0) APOprParam.Brightness = (bSel - 4) * bSeed;
else if(bSel>=SETUPFUNC_BRI_P32 && bSel<=SETUPFUNC_BRI_P128) APOprParam.Brightness = (bSel - 4) * bSeed - 1;
else APOprParam.Brightness = (SETUPFUNC_BRI_P128 - 4) * bSeed - 1;
#if 0
switch (bSel)
{
case SETUPFUNC_BRI_M128 :
case SETUPFUNC_BRI_M96 :
case SETUPFUNC_BRI_M64 :
case SETUPFUNC_BRI_M32 :
case SETUPFUNC_BRI_0 :
APOprParam.Brightness = (bSel - 4) * bSeed;
break;
case SETUPFUNC_BRI_P32 :
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -