📄 stprisc.c
字号:
/**********************************************************************/
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** $Modtime:: 04/06/23 3:57p $ ****************/
/*************** $Revision:: 6 $ ****************/
/*************** ****************/
/*************** Description : Setup Menu ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : ****************/
/**********************************************************************/
#include "general.h"
#include SETUP_MENU_FILE
#include "stposdfn.h"
#pragma NOAREGS
struct sLangChar
{
WORD wLangItem;
BYTE c0;
BYTE c1;
};
static code struct sLangChar rLangChar[] =
{ { EV_FRENCH, 'f', 'r' }, { EV_SPANISH, 'e', 's' }, { EV_CHINESE, 'z', 'h' },
{ EV_JAPANESE, 'j', 'a'}, { EV_GERMAN, 'd', 'e' }, { EV_SWEDISH, 's', 'v' },
{ EV_DANISH, 'd', 'a' }, { EV_NORWEGIAN, 'n', 'o' }, { EV_FINNISH, 'n', 'i' },
{ EV_DUTCH, 'n', 'l'}, { EV_ICELANDIC , 'i', 's' }, { EV_PORTUGUES, 'p', 't' },
{ EV_HEBREW, 'i', 'w' }, { EV_GREEK, 'e', 'l' }, { EV_CROATIAN, 'h', 'r' },
{ EV_TURKISH, 't', 'r' }, { EV_ITALIAN, 'i', 't' }, { EV_POLISH, 'p', 'l' },
{ EV_HUNGARIAN, 'h','u' }, { EV_CZECH, 'c','s' }, { EV_INDONESIAN, 'i', 'n'},
{ EV_THAI, 't', 'h' }, { EV_KOREAN, 'k', 'o' }, { EV_MALAY, 'm', 's' },
{ EV_IRISH, 'g','a' }, { EV_ROMANIAN, 'r','o' }, { EV_OTHER, 0, 0 },
{ EV_ENGLISH, 'e', 'n' } };
// *********************************************************************
// Function : BYTE bNormalVdo(WORD wEEPos, BYTE bValue) large
// Description :
// Parameter :
// Return : None
// *********************************************************************
BYTE bNormalVdo(WORD wEEPos, BYTE bVal) large
{
WORD wSIPos;
switch (wEEPos)
{
case TV_SYSTEM_POSITION:
vVideoTvSystem(bVal);
break;
case GAMMA_POS:
vVideoGammaLevel(bVal);
break;
case SHARP_POS:
vVideoSharpness(bVal);
break;
case EDGE_EN_POS:
vVideoEdgeEnhance(bVal);
break;
case CC_SW_POSITION:
/* note use SV_ON/OFF */
vSystemCloseCaption(bVal);
break;
case ASPECT_POSITION:
vSystemTvMode(bVal);
break;
case BLACK_LVL_POS: // composite.
vVideoPedestal(SV_SETUP,(bVal!=SV_BLACK_NONE));
vVideoPedestal(SV_CPNT_SETUP,(bVal!=SV_BLACK_NONE));
#ifdef PSCAN_EN
case TV_PSCAN_VIDEO_POS:
vSetSharedInfo(SI_PSCAN_VIDEO, bVal);
vNotifySharedInfo(SI_PSCAN_VIDEO, 0, 0);
break;
#endif
case WARMTH_FILTER_POS:
vSetSharedInfo(SI_WARMTH_LEVEL, bEepromReadByte(WARMTH_FILTER_POS));
vNotifySharedInfo(SI_WARMTH_LEVEL, 0, 0);
break;
default:
wSIPos = _rMenuRoot.prMenu[_bMenu]->prEntry[_bEntry-1]->wSIPos;
if (wSIPos)
{
vSetSharedInfo(wSIPos, bVal);
vNotifySharedInfo(wSIPos, 0, 0);
}
break;
} /* switch (wEEPos) */
#ifdef PSCAN_EN
if ((wEEPos == TV_PSCAN_EN_POS) ||
(wEEPos == TV_PSCAN_MODE_POS))
{
return (ENTRY_FUN_REDRAW);
}
#endif /* PSCAN_EN */
return (ENTRY_FUN_OK);
}
BYTE bSetVdoQlty(WORD wEEPos, BYTE bVal) large
{
switch(wEEPos)
{
case BRIGHT_POS:
cVideoGammaBright((char)_bDataCur);
break;
case HUE_POS:
#ifdef MTK_TVE
vVideoHueDegree(_bDataCur);
#else
vVideoHueDegree((char)(_bDataCur - 9) * 5);
#endif
break;
case CONTRAST_POS:
cVideoGammaContrast(_bDataCur);
break;
case TINT_POS:
vVideoHueSaturation(_bDataCur);
break;
}
return (ENTRY_FUN_OK);
}
#ifdef ENABLE_USER_LANG_CODE
BYTE bSwitchLang(WORD wEEPos, BYTE bValue) large
{
if (!_fgNotify)
{
return (ENTRY_FUN_OK);
}
_bOsdState = STPSTT_DIALOG;
_bMenu = LANG_PAGE;
_bEntry = 1;
switch(wEEPos)
{
case AUDIO_LCD_POSITION:
_bDlgId = DLG_AUDIO_LANG_CODE;
break;
case SP_LCD_POSITION:
_bDlgId = DLG_SP_LANG_CODE;
break;
case MENU_LCD_POSITION:
_bDlgId = DLG_MENU_LANG_CODE;
break;
}
return (ENTRY_FUN_REDRAW);
}
#endif
// *********************************************************************
// Function : BYTE bSetLangCd(WORD wEEPos, BYTE bValue) large
// Description :
// Parameter :
// Return : None
// *********************************************************************
BYTE bSetLangCd(WORD wEEPos, BYTE bValue) large
{
BYTE bLc0;
BYTE bLc1;
BYTE i;
if (bValue == EV_OTHER)
{
#ifdef ENABLE_USER_LANG_CODE
return (bSwitchLang(wEEPos, 0));
#endif
return (ENTRY_FUN_OK);
}
i = 0;
while ((rLangChar[i].wLangItem != 0) && (rLangChar[i].wLangItem != bValue))
i++;
if (rLangChar[i].wLangItem != 0)
{
bLc0 = rLangChar[i].c0;
bLc1 = rLangChar[i].c1;
}
else
{
bLc0 = 'e';
bLc1 = 'n';
}
//sp disable
if((bValue == EV_LANG_OFF) && (wEEPos == SP_LCD_POSITION))
{
bLc0 = 0;
bLc1 = 0;
}
switch (wEEPos)
{
case AUDIO_LCD_POSITION:
vSystemPrefAuLang(bLc0, bLc1);
break;
case SP_LCD_POSITION:
vSystemPrefSpLang(bLc0, bLc1);
break;
case MENU_LCD_POSITION:
vSystemPrefMenuLang(bLc0, bLc1);
break;
}
}
// *********************************************************************
// Function : BYTE bSetPrLvl(WORD wEEPos, BYTE bValue) large
// Description :
// Parameter :
// Return : None
// *********************************************************************
BYTE bSetPrLvl(WORD wEEPos, BYTE bValue) large
{
if (!_fgNotify)
{
return (ENTRY_FUN_OK);
}
fgEepromWriteByte(PTL_LEVEL_POSITION, bValue);
vSystemParentalLevel(bValue);
return (ENTRY_FUN_OK);
}
#if (defined(SCART_SELECTION) && !defined(MTK_TVE))
// *********************************************************************
// Function : void vScartSel(void) large
// Description :
// Parameter :
// Return : None
// *********************************************************************
BYTE bScartSel(WORD wEEPos, BYTE bValue) large
{
if (bValue == EV_RGB)
{
vTvRGBOut(TRUE);
}
else
{
vTvRGBOut(FALSE);
}
return (ENTRY_FUN_OK);
}
#endif /* SCART_SELECTION, !MTK_TVE */
#ifdef MTK_TVE
// *********************************************************************
// Function : BYTE bSetCompOut(WORD wEEPos, BYTE bValue) large
// Description :
// Parameter :
// Return : None
// *********************************************************************
BYTE bSetCompOut(WORD wEEPos, BYTE bValue) large
{
BYTE bTvOut;
BYTE bPScan;
bPScan = bEepromReadByte(TV_PSCAN_EN_POS);
bTvOut = bEepromReadByte(TV_COMP_POS);
// if ((bTvOut == SV_TVE_DIRECT) || (bTvOut == SV_TVE_SCART))
if ((bTvOut == SV_TVE_DIRECT) || (bTvOut == SV_TVE_SCART)||(bTvOut == SV_TVE_YCBCR)||(bTvOut == SV_TVE_RGB))
{
/*
if (bPScan != SV_OFF)
{
bPScan = SV_OFF;
fgEepromWriteByte(TV_PSCAN_EN_POS, SV_OFF);
}
*/
}
else if (bTvOut == SV_TVE_VGA)
{
if (bPScan != SV_ON)
{
bPScan = SV_ON;
fgEepromWriteByte(TV_PSCAN_EN_POS, SV_ON);
}
}
vVideoPScanMode(bPScan, bTvOut);
return (ENTRY_FUN_REDRAW);
}
#endif /* MTK_TVE */
#ifdef PAUSE_MODE_SWITCH
BYTE bSetPauseMode(WORD wItem, BYTE bValue) large
{
switch (bValue)
{
case EV_PM_AUTO:
vSetSharedInfo(SI_PSCAN_PAUSE_MODE, SV_PSCAN_PAUSE_AUTO);
vSetSharedInfo(SI_V2_PAUSE_SHOW_1FLD, 0);
break;
case EV_PM_FRAME:
vSetSharedInfo(SI_PSCAN_PAUSE_MODE, SV_PSCAN_PAUSE_FRAME);
vSetSharedInfo(SI_V2_PAUSE_SHOW_1FLD, 0);
break;
case EV_PM_VIDEO:
vSetSharedInfo(SI_PSCAN_PAUSE_MODE, SV_PSCAN_PAUSE_FIELD);
vSetSharedInfo(SI_V2_PAUSE_SHOW_1FLD, 1);
break;
default:
// error!
break;
}
return (ENTRY_FUN_OK);
}
#endif /* PAUSE_MODE_SWITCH */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -