//----------------------------------------------------------------------------------------------------
// ID Code      : Scaler.h No.0002
// Update Note  :
//
//----------------------------------------------------------------------------------------------------

//--------------------------------------------------
// Definitions of Scaler
//--------------------------------------------------

//----------------------------------------------------------------------------------------------------

#ifdef __SCALER__

//--------------------------------------------------
// Global Variables
//--------------------------------------------------
BYTE data ucVLDCnt, ucVLDTemp;
BYTE code *pvldarray;


//--------------------------------------------------
// Function Prototypes
//--------------------------------------------------
void CScalerInitial(void);
void CScalerResetInForResetIn(void);
void CScalerReset(void);
void CScalerInitialDisplayInterface(void);
void CScalerInitialDisplayOutput(void);
void CScalerEnableDisplayOutput(void);
void CScalerDisableDisplayOutput(void);

//xyw
void CScalerSetOsdPosition(DWORD usOsdActWidth, DWORD usOsdActHeight, BYTE ucHPos, BYTE ucVPos, BYTE ucPar);

void CScalerGetDataPortByte(BYTE ucAddr, BYTE ucValue, BYTE ucLength, BYTE *pArray, BIT bAutoInc);

#if(_NONLINEAR_SCALING)
#if 1//eric 0713
void CScalerDisableNonlinearScaleUp(void);
void CScalerDisableNonlinearScaleDown(void);
#endif
void CScalerNonlinearScaleUp(BYTE Option);
void CScalerNonlinearScaleDown(BYTE Option);
#endif
//731301***
#if((_TMDS_SUPPORT == _ON) || (_HDMI_SUPPORT == _ON))//V402 modify
//void CScalerDigitalPortSwitch(void);
//731301###
#endif
#else

//--------------------------------------------------
// Extern Global Variables
//--------------------------------------------------
extern BYTE data ucVLDCnt, ucVLDTemp;
extern BYTE code *pvldarray;


//--------------------------------------------------
// Extern Function Prototypes
//--------------------------------------------------
extern void CScalerInitial(void);
extern void CScalerResetInForResetIn(void);
extern void CScalerEnableDisplayOutput(void);
extern void CScalerDisableDisplayOutput(void);
extern void CScalerReset(void);

//xyw
extern void CScalerSetOsdPosition(DWORD usOsdActWidth, DWORD usOsdActHeight, BYTE ucHPos, BYTE ucVPos, BYTE ucPar);

extern void CScalerGetDataPortByte(BYTE ucAddr, BYTE ucValue, BYTE ucLength, BYTE *pArray, BIT bAutoInc);

#if(_NONLINEAR_SCALING)
#if 1//eric 0713
extern void CScalerDisableNonlinearScaleUp(void);
extern void CScalerDisableNonlinearScaleDown(void);
#endif
extern void CScalerNonlinearScaleUp(BYTE Option);
extern void CScalerNonlinearScaleDown(BYTE Option);
#endif
//731301***
#if((_TMDS_SUPPORT == _ON) || (_HDMI_SUPPORT == _ON))//V402 modify
//extern void CScalerDigitalPortSwitch(void);
//731301###
#endif
#endif


//----------------------------------------------------------------------------------------------------

//--------------------------------------------------
// Macro of Scaler.c
//--------------------------------------------------
#define SETSCALERSCLK()             (bSCALERSCLK = _TRUE)
#define CLRSCALERSCLK()             (bSCALERSCLK = _FALSE)

#define SETSCALERSCSB()             (bSCALERSCSB = _TRUE)
#define CLRSCALERSCSB()             (bSCALERSCSB = _FALSE)

#define SETSCALERSDIO3(x)           (bSCALERSDIO3 = x)
#define GETSCALERSDIO3()            (bSCALERSDIO3)

#if(_HOST_INTERFACE == _PARALLEL_PORT)
#define SETSCALERSDIO0(x)           (bSCALERSDIO0 = x)
#define GETSCALERSDIO0()            (bSCALERSDIO0)

#define SETSCALERSDIO1(x)           (bSCALERSDIO1 = x)
#define GETSCALERSDIO1()            (bSCALERSDIO1)

#define SETSCALERSDIO2(x)           (bSCALERSDIO2 = x)
#define GETSCALERSDIO2()            (bSCALERSDIO2)
#endif






