⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setupfunc.c

📁 M3355的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
    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 + -