//video.h

#define EPROM_REGION		0x4
#define EPROM_REGION_COUNT	0x5
#define EPROM_PARENTAL		0x6
#define EPROM_BOARDTYPE		0x7
#define EPROM_CLOCKTYPE		0x8
#define EPROM_I2S			0x9
#define EPROM_SPDIF_CH		0xa
#define EPROM_SPDIF_ONOFF	0xb
#define EPROM_TVOUT			0xc
#define EPROM_LEFT_CH_POL	0xf		// new add

#define DISC_TYPE_DVD		0x00	// DVD
#define DISC_TYPE_VCD		0x01	// Video CD
#define DISC_TYPE_CDDA		0x02	// Audio CD
#define DISC_TYPE_PCD		0x03	// Program CD
#define DISC_TYPE_CD		0x04	// all other formatted discs
#define DISC_TYPE_BLANK		0xFD	// blank disc
#define DISC_TYPE_BAD		0xFE	// bad disc
#define DISC_TYPE_NODISC	0xFF	// no disc

#define	S3_VGA					0x0
#define CIRRUS_VGA				0x1
#define CIRRUS_VGA_5465			0x2
#define ATI_VGA					0x3
#define	NVIDIA_RIVA128			0x5
#define TRIDENT975				0x6
#define LYNX_VGA				0x7

#define CCIR656_VGA				0x8
#define VMI_VGA					0x9
#define HH_VL_VGA				0xa
#define HH_VH_VGA				0xb
#define HH_VL_16_VGA			0xc


#define PAL_VIDEO				0x0
#define NTSC_VIDEO				0x1
#define MONITOR_VIDEO			0x2


DWORD DDiv(DWORD a, DWORD b, DWORD dv);
void LUXInit(DWORD base);
void LUXVideoVarInit();
BOOL LUXVideoWritePTS(DWORD pts);
DWORD LUXSendData(BYTE *pdata, BYTE *p, DWORD dwsize, DWORD pts, BOOL b_scr);
void LUXVideoSetXY(WORD x,WORD y);
void LUXVideoSetVideo();
void LUXVideoResetChip();
void LUXVideoInit(BOOL mpeg1);
void LUXVideoCleanScreen();
void LUXVideoClose();
void LUXVideoPlayStill();
void LUXVideoPlay(int speed);
void LUXVideoStop();
void LUXVideoPause();
DWORD LUXVideoGet_STC();
void LUXVideoFFward();
void LUXVideoContinue();
void LUXVideoReset();
void LUXVideoAfterSeek();
void LUXVideoSetLetter(BYTE onoff);
void LUXVideoSetMV7(BYTE mode);
void LUXVideoSetMode();
void LUXVideoSetSpeed(int speed);
void LUXVideoSetVPM(BOOL onoff, int type);
void LUXVideoStep();
void LUXVideoSetGamma(int idx);
void LUXVideoMenu(BOOL menu);
BOOL LUXVideoSetFullScreen(BOOL val);
void LUXVideoSeq_end();
void LUXVideoTurn_Off_TV(BOOL off);
DWORD LUXVideoGet_STC();
DWORD *LUXVideoUserData();
void LUXChngDSP(int audio_type, int vga_type);
void LUXVideoSet_Fcode(BYTE fcode);
void LUXVideoFlush();
void LUXVideoSetChroma(int );
BOOL LUXVideoSetZoom(DWORD dwlt, DWORD dwrb);
void LUXVideoSetForMenu(BOOL menu);
void LUXVideoSetPanScan(BOOL on);
void LUXVideoPan(int pos);

int LuxVideoGetGamma();
int LuxVideoGetChroma();

#ifdef LS240
void LUXVideoZVEnableTriState();
#endif