📄 tidtv_menuvideoproc.c
字号:
int DtvVideoNoiseRuctActFuct(void)
{
short * UserPreferOffset;
// USHORT String_Index;
// TI_DTV_MENU_NODE_NAVIGATION *Navigation;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURENOISEREDUCTION_INDEX));
TiDTV_MenuRadioBoxActFuct(&DtvMainMenu, pCurDtvMenu->pCurItem, UserPreferOffset, (USHORT *) TiDTV_NoiseRecDisp);
/* String_Index = PICTURENOISEREDUCTIONINFO_INDEX;
Navigation = &TiDTV_Basic_Navigation;
TiDTV_UpdateAccessory(String_Index, Navigation);
*/
return ROK;
}
/*******************************************************************************
* @RoutineName:: DtvVideoStatusBarActFuct
*
* @Description:: Video brightness,contrast,saturation,tint,sharpness message process function
*
* @Input ::None
*
*
* @Output :: none
*
* @Return :: ROK or RERROR
*******************************************************************************/
int DtvVideoStatusBarActFuct(void)
{
TI_DTV_MENU_ITEM *pNextItem;
switch (TiDTV_KeyBuf.CurKeyCodeMenu) {
case TI_DTV_IR_KEY_UP:
if(gTISubMenuLevel == SUBMENU_FIRST_LEVEL)
{
pNextItem = pCurDtvMenu->pCurItem->pUpItem;
if(pNextItem !=NULL)
{
DtvVideoSelectItem(pNextItem);
}
else
{
// Erase the Cursor (previous position)
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_BACKCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
// Move to previous Menu
pCurDtvMenu = pCurDtvMenu->pPrevMenu;
}
}
break;
case TI_DTV_IR_KEY_DOWN:
if(gTISubMenuLevel == SUBMENU_FIRST_LEVEL)
{
pNextItem = pCurDtvMenu->pCurItem->pDownItem;
DtvVideoSelectItem(pNextItem);
}
break;
case TI_DTV_IR_KEY_LEFT:
case TI_DTV_IR_KEY_RIGHT:
if(gTISubMenuLevel == SUBMENU_FIRST_LEVEL)
{
switch(pCurDtvMenu->pCurItem->MsgIndex)
{
case BRIGHTNESS_INDEX:
case CONTRAST_INDEX:
case SATURATION_INDEX:
case TINT_INDEX:
case SHARPNESS_INDEX:
DtvPictureStatusBarUpdate();
break;
}
}
break;
default:
pNextItem = NULL;
break;
}
return ROK;
}
/*******************************************************************************
* @RoutineName:: DtvPictureStatusBarUpdate
*
* @Description:: Video parameters update
*
* @Input ::None
*
*
* @Output :: none
*
* @Return :: None
*******************************************************************************/
void DtvPictureStatusBarUpdate(void)
{
USHORT xPos, yPos;
short * UserPreferOffset;
// USHORT String_Index;
// TI_DTV_MENU_NODE_NAVIGATION *Navigation;
int k = ((long) pCurDtvMenu->pCurItem - (long) TiDtvMenuVideo.pItemList) / sizeof(TI_DTV_MENU_ITEM);
if (TiDTV_KeyBuf.CurKeyCodeMenu == TI_DTV_IR_KEY_LEFT || TiDTV_KeyBuf.CurKeyCodeMenu == TI_DTV_IR_KEY_RIGHT)
{
TiDTV_KeyRptScan(OS_TICKS_PER_SEC, OS_TICKS_PER_SEC / 10);
switch (k)
{
case 1:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTUREBRIGHTNESS_INDEX));
if (TiDTV_KeyBuf.CurKeyCodeMenu == TI_DTV_IR_KEY_LEFT)
{
if(*UserPreferOffset > TIDTV_VIDEO_BRIGHTNESS_MIN)
{
(*UserPreferOffset)--;
VideoCtrl[k] -= LVL_STEP;
tvpBckBrightness((VideoCtrl[k] - 30)*17, (Vid_MIN[k] - 30)*17, (Vid_MAX[k] - 30)*17);
}
}
if (TiDTV_KeyBuf.CurKeyCodeMenu == TI_DTV_IR_KEY_RIGHT)
{
if(*UserPreferOffset < TIDTV_VIDEO_BRIGHTNESS_MAX)
{
(*UserPreferOffset)++;
VideoCtrl[k] += LVL_STEP;
tvpBckBrightness((VideoCtrl[k] - 30)*17, (Vid_MIN[k] - 30)*17, (Vid_MAX[k] - 30)*17);
}
}
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pCurDtvMenu->pCurItem->MsgY;;
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_BRIGHTNESS_MIN,
TIDTV_VIDEO_BRIGHTNESS_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
/* String_Index = PICTUREBRIGHTNESSINFO_INDEX;
Navigation = &TiDTV_Guage_Navigation;
TiDTV_UpdateAccessory(String_Index, Navigation);
*/
break;
case 2:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURECONTRAST_INDEX));
if (TiDTV_KeyBuf.CurKeyCodeMenu == TI_DTV_IR_KEY_LEFT)
{
if(*UserPreferOffset > TIDTV_VIDEO_CONTRAST_MIN)
{
(*UserPreferOffset)--;
VideoCtrl[k] -= LVL_STEP;
tvpBckContrast(VideoCtrl[k] * 20, Vid_MIN[k], Vid_MAX[k] * 20);
}
}
if (TiDTV_KeyBuf.CurKeyCodeMenu == TI_DTV_IR_KEY_RIGHT)
{
if(*UserPreferOffset < TIDTV_VIDEO_CONTRAST_MAX)
{
(*UserPreferOffset)++;
VideoCtrl[k] += LVL_STEP;
tvpBckContrast(VideoCtrl[k] * 20, Vid_MIN[k], Vid_MAX[k] * 20);
}
}
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pCurDtvMenu->pCurItem->MsgY;;
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_CONTRAST_MIN,
TIDTV_VIDEO_CONTRAST_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
/* String_Index = PICTURECONTRASTINFO_INDEX;
Navigation = &TiDTV_Guage_Navigation;
TiDTV_UpdateAccessory(String_Index, Navigation);
*/ break;
case 3:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURESATURATION_INDEX));
if (TiDTV_KeyBuf.CurKeyCodeMenu == TI_DTV_IR_KEY_LEFT)
{
if(*UserPreferOffset > TIDTV_VIDEO_SATURATION_MIN)
{
(*UserPreferOffset)--;
VideoCtrl[k] -= LVL_STEP;
tvpBckSaturation(VideoCtrl[k] * 20, Vid_MIN[k], Vid_MAX[k] * 20);
}
}
if (TiDTV_KeyBuf.CurKeyCodeMenu == TI_DTV_IR_KEY_RIGHT)
{
if(*UserPreferOffset < TIDTV_VIDEO_SATURATION_MAX)
{
(*UserPreferOffset)++;
VideoCtrl[k] += LVL_STEP;
tvpBckSaturation(VideoCtrl[k] * 20, Vid_MIN[k], Vid_MAX[k] * 20);
}
}
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pCurDtvMenu->pCurItem->MsgY;;
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_SATURATION_MIN,
TIDTV_VIDEO_SATURATION_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
/* String_Index = PICTURESATURATIONINFO_INDEX;
Navigation = &TiDTV_Guage_Navigation;
TiDTV_UpdateAccessory(String_Index, Navigation);
*/ break;
case 4:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURETINT_INDEX));
if (TiDTV_KeyBuf.CurKeyCodeMenu == TI_DTV_IR_KEY_LEFT)
{
if(*UserPreferOffset > TIDTV_VIDEO_TINT_MIN)
{
(*UserPreferOffset)--;
VideoCtrl[k] -= LVL_STEP;
tvpBckHue((VideoCtrl[k] - 30)*17, (Vid_MIN[k] - 30)*17, (Vid_MAX[k] - 30)*17);
}
}
if (TiDTV_KeyBuf.CurKeyCodeMenu == TI_DTV_IR_KEY_RIGHT)
{
if(*UserPreferOffset < TIDTV_VIDEO_TINT_MAX)
{
(*UserPreferOffset)++;
VideoCtrl[k] += LVL_STEP;
tvpBckHue((VideoCtrl[k] - 30)*17, (Vid_MIN[k] - 30)*17, (Vid_MAX[k] - 30)*17);
}
}
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pCurDtvMenu->pCurItem->MsgY;;
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_TINT_MIN,
TIDTV_VIDEO_TINT_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
/* String_Index = PICTURETINTINFO_INDEX;
Navigation = &TiDTV_Guage_Navigation;
TiDTV_UpdateAccessory(String_Index, Navigation);
*/ break;
case 5:
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_PICTURESHARPNESS_INDEX));
if (TiDTV_KeyBuf.CurKeyCodeMenu == TI_DTV_IR_KEY_LEFT)
{
if(*UserPreferOffset > TIDTV_VIDEO_SHARPNESS_MIN)
{
(*UserPreferOffset)--;
}
}
if (TiDTV_KeyBuf.CurKeyCodeMenu == TI_DTV_IR_KEY_RIGHT)
{
if(*UserPreferOffset < TIDTV_VIDEO_SHARPNESS_MAX)
{
(*UserPreferOffset)++;
}
}
xPos = SUB_MENU_GUAGE_XPOSITION;
yPos = pCurDtvMenu->pCurItem->MsgY;;
TiDTV_DrawGuage( TIDTV_GUAGE_HIGHLIGHT, xPos, yPos, SUB_MENU_GUAGE_LENGTH, TIDTV_VIDEO_SHARPNESS_MIN,
TIDTV_VIDEO_SHARPNESS_MAX, (short)*UserPreferOffset, 0, SUB_MENU_CHARACTER_UNSEL_FRONTCOLOR);
/* String_Index = PICTURESHARPNESSINFO_INDEX;
Navigation = &TiDTV_Guage_Navigation;
TiDTV_UpdateAccessory(String_Index, Navigation);
*/
break;
}
}
TiDTV_OsdSetCharColor(&TiDTV_OsdScreenMain, TI_DTV_COLOR_BLACK, TI_DTV_COLOR_BLUE);
}
/*******************************************************************************
* @RoutineName:: DtvVideoMenuInit
*
* @Description:: Init function for the video Menu
*
* @Input ::
* TI_DTV_MENU *pMenu : pointer to the Menu
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvVideoMenuInit(TI_DTV_MENU *pMenu)
{
gTISubMenuLevel = SUBMENU_FIRST_LEVEL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -