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

📄 globals.c

📁 GM5621原代码
💻 C
字号:
/*
	$Workfile:   globals.c  $
	$Revision:   1.47  $
	$Date:   Aug 23 2006 23:20:12  $
*/

//******************************************************************
//
//          Copyright (C) 2002. GENESIS MICROCHIP INC.
//  All rights reserved.  No part of this program may be reproduced.
//
//	Genesis Microchip Corp., 2150 Gold Street
//			Alviso, CA 95002	USA
//  Genesis Microchip Inc., 165 Commerce Valley Dr. West
//          Thornhill, Ontario, Canada, L3T 7V8
//
//================================================================
//
//  MODULE: globals.c
//
//************************************************************************
#include "..\inc\all.h"

// define timer array used for custom timers
gmt_Timer TIMER_MEMSPACE UserTimers[Num10mstimers + Num100mstimers];

//temp buffer used for decompession purpose (including Osd Bitmap & Gamma data)
BYTE DecompBuf[768];

/////////////////////////////////////////////////////////////////
BYTE B_SyncState;

WORD gmvw_InputHStart[NUM_CHANNELS];
WORD gmvw_InputWidth[NUM_CHANNELS];
WORD gmvw_InputVStart[NUM_CHANNELS];
WORD gmvw_InputHeight[NUM_CHANNELS];
WORD gmvw_InputHFreq[NUM_CHANNELS];  	// Input H. frequency in 100Hz unit
WORD gmvw_InputVFreq[NUM_CHANNELS];  	// Input V. frequency in 1/10Hz unit
WORD gmvw_InputVTotal[NUM_CHANNELS];  	// Input V. total in line unit
WORD gmvw_InputHTotal[NUM_CHANNELS];  	// Input H. total in Sclk
WORD gmvw_InputHPeriod[NUM_CHANNELS];	// input H. total in Tclk
WORD gmvw_InputHSyncPulse[NUM_CHANNELS];		// Input H. sync pulse width in TCLK
WORD gmvw_InputVSyncPulse[NUM_CHANNELS];		// input V sync pulse width in line
gmt_MODE_TYPE gmvw_InputModeFlags[NUM_CHANNELS]; 	// Input H/V sync polarities, interlaced flag
BYTE gmvb_InputSamplingPhase[NUM_CHANNELS];		// Input horizontal phase
BYTE B_InputSaveIndex;	// Number of saved mode index
WORD gmvw_InputPhaseSkew[NUM_CHANNELS];
WORD gmvw_InputFilter[NUM_CHANNELS];
BYTE gmvb_InputIBDThresh[NUM_CHANNELS];

// output window format 
WORD gmvw_OutputHStart[NUM_CHANNELS];
WORD gmvw_OutputWidth[NUM_CHANNELS];
WORD gmvw_OutputHTotal[NUM_CHANNELS];
WORD gmvw_OutputVStart[NUM_CHANNELS];
WORD gmvw_OutputHeight[NUM_CHANNELS];
WORD gmvw_OutputVTotal[NUM_CHANNELS];
WORD gmvw_OutputVFreq[NUM_CHANNELS];
gmt_DISPLAY_MODE gmvb_OutputModeFlags[NUM_CHANNELS];

gmt_EXT_CUSTOM_FLAG gmvb_ExtCustomFlags[NUM_CHANNELS];

WORD gmvw_InputStdHTotal[NUM_CHANNELS];		// HTotal in the standard mode table

BYTE gmvb_SOGSensitivity[NUM_CHANNELS];

WORD W_SrcModeWidth; // Used to display input width in OSD main menu.
//BYTE PHEG, EGPRO;
BYTE preCableConnection;
BOOL FirstPowerUp=0;
#if !defined(TUCSON) && HDCP_ENABLE_4TH && USE_SPLASH_SCREEN
BOOL AC_ON=gmd_TRUE;
#endif


PowerUpFlagType PowerUpFlag;

SystemFlagsType SystemFlags;

#if UPDATE_BW_BY_MODE
BYTE gmvb_Input_ADC_BW;
#endif

#if USE_AUDIO && USE_GSEL_DRVR_MODEL
BYTE Set_AudioMute=0;
#endif

#ifdef UserPrefMonitorOnTime
xdata DWORD prevOnTime;
#endif

#ifndef UserPrefMHAutoScanMode
	BYTE	UserPrefMHAutoScanMode = ENABLE_AUTOSCAN;
#endif


void GlobalVariablesInit(void)
{
#if USING_PANEL_ARRAY
	B_PanelIndex = PANEL;
#endif	
	gmvw_OutputHTotalMain = PanelMinHTotal;	// remove later if necessary
	gmvw_OutputWidthMain =  PanelWidth;		// remove later
	gmvw_OutputHStartMain = PanelHActiveStart;	// remove later
	gmvw_OutputVTotalMain = PanelTypVTotal;
	gmvw_OutputHeightMain = PanelHeight;
	gmvw_OutputVStartMain = PanelVActiveStart;
	PowerUpFlag.PowerOnState = gmd_TRUE;
	PowerUpFlag.SoftPowerOnState = gmd_TRUE;
	SystemFlags.SyncDetect = gmd_TRUE;
	SystemFlags.CableDetect = gmd_TRUE;
	SystemFlags.SplashScreen = gmd_FALSE;
	SystemFlags.TestPatternRunning = gmd_FALSE;
	SystemFlags.MH_SleepMode = gmd_FALSE;
#ifdef PHOENIX_U
	SystemFlags.DVI_Sleep = gmd_FALSE;	// Add for DVI DPMS issue
#endif

   gmvb_SogSensitivity = SOG_SENSITIVITY;

   #ifdef UserPrefMonitorOnTime
   prevOnTime=0;
   #endif
   
	gm_DecompressInit(DecompBuf);
   ST_RAMBuffer.Address = (DWORD) W_Stackinit;
   ST_RAMBuffer.Size    = TOPOSDMEM - W_Stackinit;
}

   // auto adjust
	BYTE gmvb_AutoGeometryMode[NUM_CHANNELS];
	BYTE lastSyncType = gmd_NO_SYNC_STATE;
	BYTE  Auto_adjust_OK;
	BYTE preCableConnection;

   #ifdef USE_PIXCR_DATAINVIDEO
	WORD DIVControl;
   #endif

⌨️ 快捷键说明

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