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

📄 setup_tab_reeng.c

📁 Sunplus 8202S source code.
💻 C
📖 第 1 页 / 共 5 页
字号:
    int res=0;
    UINT16 P, I;

    P=setup_getItemPos(STR_OS_DOWNMIX_SETUP);
    I=P&0xff;
    P=P>>8;

#ifndef SETUP_ALL_VALID//nono 2003-9-25 16:54
    if( ((setup_item[P][I][setup_VA[SETUP_VA_DOWNMIX]]==STR_OS_OFF)
        ||(coding_mode_now==AUDIF_CODING_MODE_LPCM) )&&(cd_type_loaded==CDDVD) )
        res=1;
    else if( (setup_item[P][I][setup_VA[SETUP_VA_DOWNMIX]]==STR_OS_OFF)
        &&(coding_mode_now==AUDIF_CODING_MODE_DTSCD) )
        res=1;
#endif

    return res;
}


#ifdef USER_MPEG_LOGO
UINT8 setup_GetMPEGLogoItem(void)
{
    //return (SETUP_MPEG_LOGO);
    return (setup_VA[SETUP_VA_SELECT_LOGO]);
}

void setup_SetMPEGLogo(void)//nono 2-5-16 18:05
{   
    //setup_sel[SysNextPage][MPEG_LOGO_ITEM]=3;
        //SETUP_MPEG_LOGO = MPEG_LOGO_ON;//3
    //exe_setup_function(STR_OS_SELECT_LOGO,STR_OS_DEFAULT_SETUP,0);  // alan, 2003/9/16 05:03PM
        //exe_setup_function(STR_OS_SELECT_LOGO,STR_OS_MPEG_LOGO,0);  //NONO 2004-2-17 17:02
    //setup_sel[7][2]=3;
        //run_save_sel_cmd(SysNextPage, MPEG_LOGO_ITEM);//nono 2004-2-17 17:02

    //JS        //20040818
    setup_VA[SETUP_VA_SELECT_LOGO] = MPEG_LOGO_ON;
    exe_setup_function(STR_OS_SELECT_LOGO, STR_OS_MPEG_LOGO, 0);
    run_save_sel_cmd(setup_VA[SETUP_VA_SELECT_LOGO], SETUP_VA_SELECT_LOGO);
    
}


#endif//USER_MPEG_LOGO


int setup_IsSpkDownmixOff(void)//nono 2-5-16 18:05
{
    UINT16 P, I;
    
    P=setup_getItemPos(STR_OS_DOWNMIX_SETUP);
    I=P&0xff;
    P=P>>8;
    if(setup_item[P][I][setup_VA[SETUP_VA_DOWNMIX]]==STR_OS_OFF)
        return 1;
    else
        return 0;

}

#if 0//no used in DVD_SETUP_REENG
void setup_Showredframe(UINT8 page_val)
{
#ifndef SETUPMENU_16Mb_NO_ICON
        UINT16 line=SETUP_MAX_WIDTH*16-20;

        if(page_val==7) page_val=0;
        osd_DrawLine(line*page_val/6+30,14,line*page_val/6+80,14,SANTIBGCOLOR,1);
        osd_DrawLine(line*page_val/6+30,50,line*page_val/6+80,50,SANTIBGCOLOR,1);
        osd_DrawLine(line*page_val/6+30,14,line*page_val/6+30,50,SANTIBGCOLOR,1);
        osd_DrawLine(line*page_val/6+80,14,line*page_val/6+80,50,SANTIBGCOLOR,1);
#endif
}
#endif

void setup_ShowAC3DynamicRange(void)
{
    return;
#if 0
    BYTE    buf[40];
    BYTE    fontColor;

    if ( (page!=AC3DIGITALPAGE) ||
        (setupLevel!=2) ||
        (index_y!=AC3OUTMODEITEM)
        )
    {
        return;
    }


    if ( (SETUP_AC3DIGITAL_OUTMODE==AC3DYNAMICITEM2) && 1
//      (SETUP_SPK_DOWNMIX==AC3DOWNMIXOFF)
        )
    {
        fontColor = SFONTCOLOR;
    } else {
        fontColor = SGRAYCOLOR;
    }

    id = setup_item[page][AC3DYNAMICITEM1][1];
    psprintf(buf, "%s", _OsdMessegeFont1[osd_font_mode][id]);
    osd_DrawString(SETUP_MENU_XSTART+1, AC3DYNAMICITEM1+SETUP_MENU_YSTART, buf, fontColor, SBGCOLOR);
#endif
}



void set_AC3DynamicRange(void)
{
    if (ac3_dynarange) {
        AUDIF_Set_OutputMode(OUT_CustomModeB_DigitalDialnormK1, ac3_dynarange * 0x2020 - 0x0101);//2004AUDDRV AudioSetOutputMode(0x80, ac3_dynarange * 0x2020 - 0x0101);
    } else {
        AUDIF_Set_OutputMode(OUT_CustomModeB_DigitalDialnormK1, 0);//2004AUDDRV AudioSetOutputMode(0x80, 0);
    }
}

#ifdef AUDIO_2CH_5_1CH
int setup_IsSpkStereo(void)
{
    UINT16 P, I;
    P=setup_getItemPos(STR_OS_DOWNMIX_SETUP);
    I=P&0xff;
    P=P>>8;
    if(setup_item[P][I][setup_VA[SETUP_VA_DOWNMIX]] == STR_OS_STEREO)
        return 1;
    else
        return 0;
}


/*
 * to set 5.1 channel output mode
 *
 */
void AudioSet5_1chOutput(void)
{
    exe_setup_function(STR_OS_DOWNMIX_SETUP,STR_OS_OFF,0);//turn off mix off
    //SETUP_SPK_DOWNMIX = AC3DOWNMIXOFF;  
    UINT16 P, I, S;
    P=setup_getItemPos(STR_OS_DOWNMIX_SETUP);
    I=P&0xff;
    P=P>>8; 
    for(S=MIN_ITEM_SEL; S<MAX_ITEM_SEL; S++) {
        if(setup_item[P][I][S]==STR_OS_OFF)
            {break;}
    }
    setup_VA[SETUP_VA_DOWNMIX]=S;
    setup_sel[P][I]=S;
    //run_save_sel_cmd(setup_VA[SETUP_VA_DOWNMIX], SETUP_VA_DOWNMIX);
    
#ifdef YI_XIAN_TONG//zhaoyanhua add 2003-12-17 9:51
        Gpio5ChOutput();
#endif
}

/*
 * to set PROLOGIC_II channel output mode
 *
 */
#ifdef SUPPORT_PROLOGIC_II  //axel 2004/1/28 10:30
void AudioSetPrologic_IIOutput(void)
{
    //abstract from setup_tab_ui.c  
    //NOTE:
    // can not change the order.
    //zhaoyanhua note 03-11-1 18:58 
    exe_setup_function(STR_OS_PROLOGIC,STR_OS_PL_MUSIC,0);
    //SETUP_PROLOGIC_II= 3;//STR_OS_PL_MUSIC  to update SETUP in time.
    UINT16 P,I,S;
    P=setup_getItemPos(STR_OS_PROLOGIC);
    I=P&0xff;
    P=P>>8;
    for(S=MIN_ITEM_SEL; S<MAX_ITEM_SEL; S++) {
        if(setup_item[P][I][S]==STR_OS_PL_MUSIC)
            {break;}
    }
    setup_VA[SETUP_VA_PROLOGIC]=S;
    setup_sel[P][I]=S;  
    
    //set AUDIO output SIMULATE
    //because BBK need SIMULATE and DIGITAL ouput at the same time
    //so we must mask the following sentences.
    //zhaoyanhua mask 2003-11-29 20:29
    #if 0
    SETUP_SPDIF=2;
    exe_setup_function(STR_OS_AUD_OUT,STR_OS_SIMULATE,0);
    #endif
    //set DOWNMIX OFF 
    //SETUP_SPK_DOWNMIX = AC3DOWNMIXOFF;  
    exe_setup_function(STR_OS_DOWNMIX_SETUP,STR_OS_OFF,0);
    P=setup_getItemPos(STR_OS_DOWNMIX_SETUP);
    I=P&0xff;
    P=P>>8;
    for(S=MIN_ITEM_SEL; S<MAX_ITEM_SEL; S++) {
        if(setup_item[P][I][S]==STR_OS_OFF)
            {break;}
    }
    setup_VA[SETUP_VA_DOWNMIX]=S;
    setup_sel[P][I]=S;      
    
}
#endif //SUPPORT_PROLOGIC_II //axel 2004/1/28 10:30
#endif// AUDIO_2CH_5_1CH

//terry,2004/2/5 12:08PM
void setup_SetTV_format(UINT8 id)
{//terry,2004/2/5 12:02PM
#ifndef NO_TV_FORMAT    
   #ifndef FUSS_TV_DVD//nono 2-8-20 12:55
   UINT32 P, I, S;

   P = setup_getSelPos(id);
   I = (P>>8)&0xff;
   S = P&0xff; 
   P = P>>16;

   setup_VA[SETUP_VA_TV_SYS] = S;
   run_save_sel_cmd(setup_VA[SETUP_VA_TV_SYS], SETUP_VA_TV_SYS);
   
   #endif
#endif    
}

#ifdef FORCE_RETURN_TO_DEFAULT_TV_FORMAT//nono 20030913
void setup_SetTV_default_format(void)
{
     setup_VA[SETUP_VA_TV_SYS] = MIN_ITEM_SEL+DEFAULT_TV_SYS;
    //SETUP_TV_FORMAT = MIN_ITEM_SEL+DEFAULT_TV_SYS;
    //setup_tv_format(DEFAULT_TV_SYS); // Robert 020919
    //exe_setup_function(STR_OS_TV_SYS,STR_OS_NTSC,0);
//modefied by wangfeng,2004-2-9 17:39
#if defined(TV_FORMAT)&& !defined(FORCE_RETURN_TO_DEFAULT_TV_FORMAT)//terry,2004/2/3 01:34PM
    UINT16 P, I;

    P=setup_getItemPos(STR_OS_TV_SYS);
    I=P&0xff;
    P=P>>8;
    exe_setup_function(STR_OS_TV_SYS,setup_item[P][I][setup_VA[SETUP_VA_TV_SYS]],1);            
#else
        //exe_setup_function(STR_OS_TV_SYS,STR_OS_NTSC,1);
        #ifdef FORCE_RETURN_TO_FORMAT_PAL
        tv_format=MODE_PAL;//MODE_NTSC;
        #elif defined(FORCE_RETURN_TO_FORMAT_AUTO)   //fengjl  add 2004-03-09 15:47
        tv_format=MODE_AUTO;
        #else
        tv_format=MODE_NTSC;
        #endif
        update_tv_format_sel();
        setup_tv_format(tv_format);
        #ifdef FORCE_RETURN_TO_FORMAT_PAL
        setup_SetTV_format(STR_OS_PAL);
        #elif defined(FORCE_RETURN_TO_FORMAT_AUTO)
        setup_SetTV_format(STR_OS_AUTO);
        #else
        setup_SetTV_format(STR_OS_NTSC);
        #endif
         //exe_setup_function(STR_OS_TV_SYS,STR_OS_PAL,1);
#endif  
}
#endif//FORCE_RETURN_TO_DEFAULT_TV_FORMAT

#ifdef USE_PROLOGIC_II_KEY//clead 2003-8-7 
void set_prologic_val(BYTE prologic_mode)
{

                BYTE type=0x23;
                switch (prologic_mode)
                {
                    case 0:
                        pl2_init_val|=(1<<20);      // set prologic-II enable
                        pl2_init_val|=(1<<16);      // set init-val to movie mode                       
        //DSP set prologic-II enable
        AUDIF_Set_ProLogicII(0x11);//2004AUDDRV AudioIOControl(PROLOGIC,0x11,0);
                        type=0x23;
                        printf("<MOVIE>, pl2_init_val=0x%06x\n",pl2_init_val);
                        break;
                    case 1:     
                        pl2_init_val|=(1<<20);      // set prologic-II enable
                        pl2_init_val&=(~(1<<16));   // set init-val to music mode
        //DSP set prologic-II enable
        AUDIF_Set_ProLogicII(0x11);//2004AUDDRV AudioIOControl(PROLOGIC,0x11,0);
                        type=0x22;
                        printf("<MUSIC>, pl2_init_val=0x%06x\n",pl2_init_val);
                        break;
                    case 2:                 
                        //pl2_init_val&=(~(1<<20)); // set prologic-II disable
                        pl2_init_val=0x037300;
        //DSP set prologic-II disable
        AUDIF_Set_ProLogicII(0x10);//2004AUDDRV AudioIOControl(PROLOGIC,0x10,0);
                        printf("<OFF>, pl2_init_val=0x%06x\n",pl2_init_val);
                        break;
                }
    //DSP set prologic-II Decoder Mode Select
    AUDIF_Set_ProLogicII(type);//2004AUDDRV AudioIOControl(PROLOGIC,type,0);
                    //SETUP_PROLOGIC_II=prologic_mode+2;
                    //exe_setup_function(STR_OS_PROLOGIC, setup_item[AUDPAGE][PROLOGIC_II][SETUP_PROLOGIC_II], 1);
                    //clead 2003-10-21 
                    //run_save_sel_cmd(AUDPAGE,PROLOGIC_II);//clead 2003-10-21 

            //added by JS   //for setup reengineering   //20040818          
            UINT32 P, I;
            P = setup_getItemPos(STR_OS_PROLOGIC);
            I = P&0xff;
            P = P>>8;
            setup_VA[SETUP_VA_PROLOGIC] = prologic_mode+2;
            exe_setup_function(STR_OS_PROLOGIC, setup_item[P][I][setup_VA[SETUP_VA_PROLOGIC]], 1);
            run_save_sel_cmd(setup_VA[SETUP_VA_PROLOGIC], SETUP_VA_PROLOGIC);
}
#endif //clead_prologic



void setup_SetPScan(void)
{
    #ifndef FUSS_TV_DVD//nono 2-8-20 12:55
    //SETUP_VIDEO_FORMAT = ap_tv_out_id+2;
    setup_VA[SETUP_VA_VIDEO] = ap_tv_out_id + MIN_ITEM_SEL;
    
#if defined(SCART_TV)||defined(KSD_SCART_TV)||defined(SCART_TV_2)||defined(SCART_TV_4)||defined(SCART_TV_5)//wangfeng 2003-12-2 23:03
        //if(tv_out_id==PC_VGA||tv_out_id==TV_RGB)
        if(tv_out_id==TV_RGB)//nono 2003-8-24 21:08
        SET_SCART_RGB(1);
        else
        SET_SCART_RGB(0);   
#elif defined(SCART_TV_3)
    if(tv_out_id==TV_RGB)
        SET_SCART_RGB(0);
    else
        SET_SCART_RGB(1);
#endif
   
#ifdef SUPPORT_SCART_TV//SPHE8202//nono 4-3-27 21:35
    if(tv_out_id==TV_RGB)
    {
        SET_SCART_GPIO_SFT_CFG_CTRL();
        SET_SCART_TO_RGB();
    }
    else
    {
        SET_SCART_GPIO_SFT_CFG_CTRL();
        SET_SCART_TO_CVBS();
    }
#endif//SPHE8202
   
    //run_save_cmd();
    //run_save_sel_cmd(SYSPAGE,2);
    run_save_sel_cmd(setup_VA[SETUP_VA_VIDEO], SETUP_VA_VIDEO);
    #endif
}

//this function was modified by JS  //for setup reengineering   //20040819
//but, we should not hard code parameters in function
#if 0   //def IR_KEY_SET_VIDEO_MODE
void set_video_val(BYTE video_mode)
{
        UINT8 parm[6][3] = { {8,8,8},//0
                             {7,9,6},//1
                             {9,8,10},//2
                             {8,9,9},//3
                             {11,10,9},//4
                             {7,5,7},//5
                           };

        if(video_mode<6)
        {
              setup_VA[SETUP_VA_BRIGHTNESS]=parm[video_mode][0];
        setup_VA[SETUP_VA_CONTRAST]=parm[video_mode][1];
        setup_VA[SETUP_VA_HUE]=parm[video_mode][0];
        }else
        {
            ReadFromI2c(0xa0, 240,(BYTE *)&setup_VA[SETUP_VA_BRIGHTNESS],1);
            ReadFromI2c(0xa0, 241,(BYTE *)&setup_VA[SETUP_VA_CONTRAST],1);
            ReadFromI2c(0xa0, 242,(BYTE *)&setup_VA[SETUP_VA_HUE],1);
        }
        SetBrightness(setup_VA[SETUP_VA_BRIGHTNESS] - 2);
        SetContrast(setup_VA[SETUP_VA_CONTRAST] - 2);
        SetHUE(setup_VA[SETUP_VA_HUE] - 2);
        //SetSaturation(SETUP_SATURATION - 2);

        run_save_sel_cmd(setup_VA[SETUP_VA_BRIGHTNESS],SETUP_VA_BRIGHTNESS);
     run_save_sel_cmd(setup_VA[SETUP_VA_CONTRAST],SETUP_VA_CONTRAST);
     run_save_sel_cmd(setup_VA[SETUP_VA_HUE],SETUP_VA_HUE);
}
#endif
//

//
#ifdef IR_KEY_SET_VIDEO_MODE
void set_video_val(BYTE video_mode)
{

        UINT8 b,c,h,s;
    //b:SETUP_BRIGHTNESS
    //c:SETUP_CONTRAST
    //h:SETUP_HUE
    UINT8 parm[6][3] = { {8,8,8},//0
                         {7,9,6},//1
                         {9,8,10},//2
#ifndef SET_4_VIDEO_MODE
                         {8,9,9},//3
                         {11,10,9},//4
                         {7,5,7},//5
#endif//SET_4_VIDEO_MODE
                       };
#ifdef SET_4_VIDEO_MODE
    if(video_mode<3)
#else//SET_4_VIDEO_MODE
    if(video_mode<6)
#endif//SET_4_VIDEO_MODE
    {
        b=parm[video_mode][0];
        c=parm[video_mode][1];
        h=parm[video_mode][2];
                s=2;
                SetBrightnessAdjust(b - 2,c);
                SetContrastAdjust(c - 2,b);
    }else
    {
        b=setup_VA[SETUP_VA_BRIGHTNESS];//SETUP_BRIGHTNESS;
        c=setup_VA[SETUP_VA_CONTRAST];//SETUP_CONTRAST;
        h=setup_VA[SETUP_VA_HUE];//SETUP_HUE;
        s=setup_VA[SETUP_VA_SATURATION];//SETUP_SATURATION;
        SetBrightness(b - 2);
        SetContrast(c - 2);

    }
    
        //SetBrightness(SETUP_BRIGHTNESS - 2);
        //SetContrast(SETUP_CONTRAST - 2);
    //SetSaturation(SETUP_SATURATION - 2);
        //SetHUE(SETUP_HUE - 2);


        //SetSaturation(SETUP_SATURATION - 2);
        SetHUE(h - 2);
        SetSaturation(s - 2);
        //if(video_mode_val==6)

}

#endif 


//for setup reengineering   //added by JS   //20040816
void set_default_value(void)
{
    int     i,j, VA;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -