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

📄 tidtv_menuvideoproc.c

📁 ti的数字电视芯片 tvp9000的源码
💻 C
📖 第 1 页 / 共 2 页
字号:

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 + -