亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 1574osd.c

?? MXIC旺宏液晶電視芯片MX88V44的源碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/**--------------------------------------------------------------------------
* Name          15xxOSD.c
--------------------------------------------------------------------------**/
#include	<string.h>
#include 	"..\inc\public2.h"

#define	EEPROM_WRID		0xA0
#define L44_WRID		0x28
	//--------------	OSD Reg #	------------
#define	OSD_EN			0x1C

#define	OSDADDR_L		0xA0
#define	OSDADDR_H		0xA1
#define	OSDDATA_L 		0xA2
#define	OSDDATA_H 		0xA3
#define	ORWCTRL			0xA4
	/*------	OSD External Reg. 0xA4 bit define	-------------------
	 *		bit		7 6 5 4 3 2 1 0
 	 *				| |	|	  | +--		D1-0: Internal OSD accessing select
 	 *				| | |	  |					00 - OSD control Reg.
 	 *				| | |  	  |					01 - OSD RAM Font buffer
 	 *				| | |     |					10 - OSD Display code buffer
 	 *				| | |  	  |					11 - OSD Display attr buffer
 	 *				| | |	  +----		D2: Internal OSD R/W enable
 	 *				| | |						0  - Enable OSD Reg. and buf
	 * 			 	| | |						1  - Disable
 	 *				| |	+ ---------		D5-3: Reserved
	 *				| + -----------		OSD Clear buffer bit
	 *				| 							0  - Normal
	 *				|							1  - Clear Code buffer to 0x3E
	 *				|								 Clear Attr buffer to 0x00
	 *				+ -------------		OSD Read/Write mode Select	0:R		1:W
	 *--------------------------------------------------------------------------*/
#define	SEL_OSDCTRLREG	0x00		//This Value for ORWCTRL(0xA4) Reg.
#define SEL_OSDDISPCODE	0x02
#define SEL_OSDDISPATTR	0x03
#define CLR_OSD_BUF		0x40

#define OSDCTRLREG		0x07
#define	OSDWINON		0x53
#define OSDWINOFF		0x02
/*----------------------------------------------------------
 *	OSD Display code buffer is 64 bytes format is followed
 *		bit		7 6 5 4 3 2 1 0
 *				| |	|
 *				| |	+ ---------		D5-0: Character Code
 *				| + -----------		0: ROM Font 	1: RAM Font
 *				+ -------------		0: Blink OFF 	1: Blink ON
 *
 *	OSD Display Attr buffer is 64 bytes format is followed
 *		bit		7 6 5 4 3 2 1 0
 *				| |		| |
 *				| |		| + ---		D2-0: Backgound Color index
 *				| |		+ -----		0: BG transparent 1: BG opaque
 *				| + -----------		D6-4: Foregound Color index
 *				+ -------------		0: Border OFF	  1: Border ON
 */
#define	OSD_NORMAL_C	0x7C		//Forg. Color ->Special	Back. Color ->Blue
#define OSD_HIGHL_C		0x42		//Forg. Color ->Blue,	Back. Color -> Greeen
#define OSD_TITLE_C		0x17		//Forg. Color ->Red,	Back. Color -> special

	//--------------	Button Key Define	------------
#define	ENTER	0x1E				//pressed key then pull low
#define	UP		0x1B
#define	DOWN	0x17
#define	MENU	0x0F

//----------------------------------------------------------------------------
xdata BYTE	CBSH_Value[8]		_at_ 0x0100;	//Byte	0: Brightness buffer _at_ 0x0101
												//		1: Contrast buffer	 _at_ 0x0102
												//		2: Saturation buffer _at_ 0x0103
												//		3: Hue buffer		 _at_ 0x0104
												
		// Define OSD Window Start position, size, space and other control
xdata BYTE	OSDCtrlVal[16] = {
				0x79,	//H Start 							(4*0x4C+12 = 396 pixel)
				0x08,	//V Start 							(4*0x20+1  = 21 line)
				0x0C,	//H Width   	  					(  0x0C+1  = 13 char)
				0x00,	//D7-4	V Space Start position		(  			 0  char)
						//D3-0	V Heigth   					(  0x00+1  = 1	char)
				0x00,	//H Space Start	  					(  0x00	   = 0	char)
				0x00,	//H Space Width	  					(  0x00	   = 0	pixel)
				0x00,	//V Space Heigth  					(  0x00	   = 0	line)
				0x02,	//Ctrl. Reg	D7-6 Vert. scaling		(Vert. enlarged x1)
						// 			D5-4 Horz. scaling		(Horz. enlarged x3)
						//			D1 Type of Char. border	(bottom-right)
						//			D0	0: OSD window OFF	(OSD OFF)
						//				1: OSD window ON
				0x10,	//Misc. Ctrl
				0x00,
				0x00, 0x00, 0x00, 0x00, 0x00, 0x00};	//Reserved

xdata char	MainMenuStr[104] = {
// Char#	0	 1	  2	   3	4	 5	  6	   7	8	 9	  10   11	12
			' ', ' ', 'L', '/', 'R', ' ', 'U', '/', 'D', ' ', ' ', ' ', ' ',	//Item	0
			'B', 'R', 'I', 'G', 'H', 'T', 'N', 'E', 'S', 'S', ' ', ' ', ' ',	//Item	1
			' ', 'C', 'O', 'N', 'T', 'R', 'A', 'S', 'T', ' ', ' ', ' ', ' ',	//		2
			'S', 'A', 'T', 'U', 'R', 'A', 'T', 'I', 'O', 'N', ' ', ' ', ' ',	//		3
			' ', ' ', ' ', 'H', 'U', 'E', ' ', ' ', ' ', ' ', ' ', ' ', ' ',	//		4
			'E', 'D', 'G', 'E', ' ', 'F', 'I', 'L', 'T', 'E', 'R', ' ', ' ',	//		5
			' ', ' ', 'S', 'H', 'A', 'R', 'P', 'E', 'N', ' ', ' ', ' ', ' ',	//		6
			'D', 'I', 'S', 'P', ' ', 'M', 'O', 'D', 'E', ' ', ' ', ' ', ' '	};	//		7

xdata char	OSD_Color[24] = {	0x00, 0x00, 0x00,		//OSD Color 0
								0xFF, 0x00, 0x00,		//OSD Color 1
								0x00, 0xFF, 0x00,		//OSD Color 2
								0xFF, 0xFF, 0x00,		//OSD Color 3
								0x00, 0x00, 0xFF,		//OSD Color 4
								0xFF, 0x00, 0xFF,		//OSD Color 5
								0x00, 0xFF, 0xFF,		//OSD Color 6
								0xFF, 0xFF, 0xFF};		//OSD Color 7
/***---------------------------------------------------------------------------***/			
#ifdef	CPT_PANEL	//---------------------------------------------------------
code BYTE	Mode_4by3[30] = {
 // Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x08, 0x90,		0x0A, 0x47,		0x0B, 0x13,		0x4D, 0x53,		0x53, 0x18,
	0x55, 0x17,		0x57, 0x18,		0x59, 0x17,		0x69, 0x35,		0x6A, 0x01,
	0x70, 0x06,		0x8A, 0x80,		0x8B, 0x46,		0x45, 0xC1,		0x47, 0xC2	
	};
code BYTE	Mode_Full[30] = {
 // Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x08, 0x00,		0x0A, 0x00,		0x0B, 0x10,		0x4D, 0x12,		0x53, 0x18,
	0x55, 0x17,		0x57, 0x18,		0x59, 0x17,		0x69, 0x20,		0x6A, 0x00,
	0x70, 0x00,		0x8A, 0x58,		0x8B, 0x09,		0x45, 0xC1,		0x47, 0xC2	
	};	
code BYTE	Mode_Zoom1[12] = {
 // Reg.#	Vaule	Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x53,	0x1F,	0x55, 0x1D,		0x57, 0x1F,		0x59, 0x1D,		0x45, 0xC1,		
	0x47,   0xC2};
code BYTE	Mode_Zoom2[12] = {
 // Reg.#	Vaule	Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x53,	0x24,	0x55, 0x22,		0x57, 0x24,		0x59, 0x22,		0x45, 0xC1,		
	0x47,   0xC2};
#endif
#ifdef	HYDIS_PANEL	//---------------------------------------------------------
code BYTE	Mode_4by3[30] = {
 // Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x08, 0x90,		0x0A, 0x47,		0x0B, 0x13,		0x4D, 0x53,		0x53, 0x18,
	0x55, 0x17,		0x57, 0x18,		0x59, 0x17,		0x69, 0x35,		0x6A, 0x01,
	0x70, 0x06,		0x8A, 0x80,		0x8B, 0x46,		0x45, 0xBF,		0x47, 0xC1
	};
code BYTE	Mode_Full[30] = {
 // Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x08, 0x00,		0x0A, 0x00,		0x0B, 0x10,		0x4D, 0x12,		0x53, 0x18,
	0x55, 0x17,		0x57, 0x18,		0x59, 0x17,		0x69, 0x20,		0x6A, 0x00,
	0x70, 0x00,		0x8A, 0x58,		0x8B, 0x09,		0x45, 0xBF,		0x47, 0xC1
	};	
code BYTE	Mode_Zoom1[12] = {
 // Reg.#	Vaule	Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x53,	0x1F,	0x55, 0x1D,		0x57, 0x1F,		0x59, 0x1D,		0x45, 0xBF,
	0x47,	0xC1};
code BYTE	Mode_Zoom2[12] = {
 // Reg.#	Vaule	Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x53,	0x24,	0x55, 0x22,		0x57, 0x24,		0x59, 0x22,		0x45, 0xBF,
	0x47,	0xC1};
#endif
#ifdef	LG_PANEL	//---------------------------------------------------------
code BYTE	Mode_4by3[30] = {
 // Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x08, 0x8C,		0x0A, 0x28,		0x0B, 0x13,		0x4D, 0x53,		0x53, 0x15,
	0x55, 0x14,		0x57, 0x15,		0x59, 0x14,		0x69, 0x35,		0x6A, 0x01,
	0x70, 0x05,		0x8A, 0x80,		0x8B, 0x44,		0x45, 0xB3,		0x47, 0xB5	
	};
code BYTE	Mode_Full[30] = {
 // Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x08, 0x00,		0x0A, 0x00,		0x0B, 0x10,		0x4D, 0x12,		0x53, 0x15,
	0x55, 0x14,		0x57, 0x15,		0x59, 0x14,		0x69, 0x20,		0x6A, 0x00,
	0x70, 0x00,		0x8A, 0x59,		0x8B, 0x09,		0x45, 0xC1,		0x47, 0xC2	
	};	
code BYTE	Mode_Zoom1[12] = {
 // Reg.#	Vaule	Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x53,	0x1C,	0x55, 0x1B,		0x57, 0x1C,		0x59, 0x1B,		0x45, 0xC1,
	0x47,	0xC2};
code BYTE	Mode_Zoom2[12] = {
 // Reg.#	Vaule	Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x53,	0x22,	0x55, 0x21,		0x57, 0x22,		0x59, 0x21,		0x45, 0xC1,
	0x47,	0xC2};
#endif
#ifdef	PVI_PANEL	//---------------------------------------------------------
code BYTE	Mode_4by3[30] = {
 // Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x08, 0x90,		0x0A, 0x47,		0x0B, 0x13,		0x4D, 0x53,		0x53, 0x19,
	0x55, 0x17,		0x57, 0x19,		0x59, 0x17,		0x69, 0x35,		0x6A, 0x01,
	0x70, 0x06,		0x8A, 0x80,		0x8B, 0x46,		0x45, 0xC3,		0x47, 0xC5	
	};
code BYTE	Mode_Full[30] = {
 // Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x08, 0x00,		0x0A, 0x00,		0x0B, 0x10,		0x4D, 0x12,		0x53, 0x19,
	0x55, 0x17,		0x57, 0x19,		0x59, 0x17,		0x69, 0x20,		0x6A, 0x00,
	0x70, 0x00,		0x8A, 0x58,		0x8B, 0x09,		0x45, 0xC3,		0x47, 0xC5	
	};	
code BYTE	Mode_Zoom1[12] = {
 // Reg.#	Vaule	Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x53,	0x1F,	0x55, 0x1D,		0x57, 0x1F,		0x59, 0x1D,		0x45, 0xC3,
	0x47, 0xC5};
code BYTE	Mode_Zoom2[12] = {
 // Reg.#	Vaule	Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x53,	0x24,	0x55, 0x22,		0x57, 0x24,		0x59, 0x22,		0x45, 0xC3,
	0x47, 0xC5};
#endif
#ifdef	SAMSUNG_PANEL	//---------------------------------------------------------
code BYTE	Mode_4by3[30] = {
 // Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x08, 0x90,		0x0A, 0x4F,		0x0B, 0x13,		0x4D, 0x8A,		0x53, 0x15,
	0x55, 0x13,		0x57, 0x15,		0x59, 0x13,		0x69, 0x32,		0x6A, 0x01,
	0x70, 0x06,		0x8A, 0x80,		0x8B, 0x40,		0x45, 0x99,		0x47, 0x9B
	};
code BYTE	Mode_Full[30] = {
 // Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x08, 0x00,		0x0A, 0x00,		0x0B, 0x10,		0x4D, 0x12,		0x53, 0x16,
	0x55, 0x14,		0x57, 0x16,		0x59, 0x14,		0x69, 0x20,		0x6A, 0x00,
	0x70, 0x00,		0x8A, 0x58,		0x8B, 0x09,		0x45, 0xC1,		0x47, 0xC3	
	};	
code BYTE	Mode_Zoom1[12] = {
 // Reg.#	Vaule	Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x53,	0x1F,	0x55, 0x1D,		0x57, 0x1F,		0x59, 0x1D,		0x45, 0xC1,
	0x47,	0xC3};
code BYTE	Mode_Zoom2[12] = {
 // Reg.#	Vaule	Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x53,	0x24,	0x55, 0x22,		0x57, 0x24,		0x59, 0x22,		0x45, 0xC1,
	0x47,	0xC3};
#endif
#ifdef	TOSHIBA_PANEL	//---------------------------------------------------------
code BYTE	Mode_4by3[30] = {
 // Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x08, 0x90,		0x0A, 0x4F,		0x0B, 0x13,		0x4D, 0x8A,		0x53, 0x15,
	0x55, 0x13,		0x57, 0x15,		0x59, 0x13,		0x69, 0x32,		0x6A, 0x01,
	0x70, 0x06,		0x8A, 0x80,		0x8B, 0x40,		0x45, 0x99,		0x47, 0x9B
	};
code BYTE	Mode_Full[30] = {
 // Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x08, 0x00,		0x0A, 0x00,		0x0B, 0x10,		0x4D, 0x12,		0x53, 0x16,
	0x55, 0x14,		0x57, 0x16,		0x59, 0x14,		0x69, 0x20,		0x6A, 0x00,
	0x70, 0x00,		0x8A, 0x58,		0x8B, 0x09,		0x45, 0xC1,		0x47, 0xC3	
	};	
code BYTE	Mode_Zoom1[12] = {
 // Reg.#	Vaule	Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x53,	0x1F,	0x55, 0x1D,		0x57, 0x1F,		0x59, 0x1D,		0x45, 0xC1,
	0x47,	0xC3};
code BYTE	Mode_Zoom2[12] = {
 // Reg.#	Vaule	Reg.# Vaule		Reg.# Vaule		Reg.# Vaule		Reg.# Vaule
	0x53,	0x24,	0x55, 0x22,		0x57, 0x24,		0x59, 0x22,		0x45, 0xC1,
	0x47,	0xC3};
#endif
/***---------------------------------------------------------------------------***/	

#define	OSD_LINEOFFSET			13

#define OSD_HSTART_BUF_INDEX	0
#define OSD_VSTART_BUF_INDEX	1
#define	OSD_WIDTH_BUF_INDEX		2
#define	OSD_HEIGHT_BUF_INDEX	3

extern int	T0_0Interval;
extern BYTE T0_0Service;
extern BYTE	NTSC_PAL;

extern BYTE	WaitKey(void);
extern BYTE	CVD1_ReadWrite(BYTE, BYTE, BYTE);

	//--------------	Function Prototype 	----------------
void	OSD_Init(void);
void	Adj_CBSH(void);
void	OSD_ShowTitle(char *, char);
void	OSD_Attribute(BYTE, BYTE, BYTE);
void	 Read_OSDRegD(BYTE *, BYTE, BYTE, BYTE);
void	Write_OSDReg(BYTE [], BYTE, BYTE, BYTE);
BYTE	ASCII_OSDFont(BYTE);
void	Value_ASCII(BYTE, BYTE *, BYTE);
void	Adj_LRUD(BYTE);
void	Adj_Brightness(BYTE);
void	Adj_Contrast(BYTE);
void	Adj_Saturation(BYTE);
void	Adj_Hue(char);
void	Adj_Sharpen(char);
void	Adj_Edge(char);
void	Adj_DisplayMode(char);

/**--------------------------------------------------------------------------
* Name			OSD_Init(void)
*
* Description	The OSD all Menu string and T0_0Service Initialized
*
* Flow Chart 
*
* Return
*
* DATE          Author          Description
* ===========================================================================
* 2004-07-12    K.M. Ho         This is first time implement
* 2004-10-12	KMHo			Add write 15xx Reg. 0x1C Enable the OSD 
**/
void	OSD_Init(void)
{
	T0_0Service = 0;			//Turn OFF the timer 0 service

#ifdef	CPT_PANEL	//-------------------------------------------------------	
	CBSH_Value[0] = 0x01;		//Left/Rigth and Up/Down	LG: 0x03	-----
#endif								
#ifdef	LG_PANEL
	CBSH_Value[0] = 0x03;		//Left/Rigth and Up/Down	LG: 0x03	-----
#endif
#ifdef	SAMSUNG_PANEL	
	CBSH_Value[0] = 0x01;		//Left/Rigth and Up/Down	LG: 0x03	-----
#endif				//-------------------------------------------------------
	CBSH_Value[1] = 0x20;		//Brighness
	CBSH_Value[2] = 0x20;		//Contrast
	CBSH_Value[3] = 0x20;		//Saturation
	CBSH_Value[4] = 0x20;		//Hue
	CBSH_Value[5] = 0x20;		//Sharpen
	CBSH_Value[6] = 0x00;		//Edge Filter ON/OFF default is OFF
	CBSH_Value[7] = 0x01;		//Display Mode 	0: 4:3
								//				1: Full
								//				2: Zoom 1
								//				3: Zoom 2
	
	I2C_WriteByte(L44_WRID, OSD_EN,	0xAC);		//2004-10-12 Added by KMHo

	Write_OSDReg(OSD_Color, SEL_OSDCTRLREG, 24, 0x0C);	//Init. the OSD color index
	Write_OSDReg(Font12x18, 0x01, 16, 0x00);
	
	I2C_WriteByte(L44_WRID, 0x11, 0xF2);		//Turn ON the Adj Enable bit
}

/**--------------------------------------------------------------------------
* Name			Adj_CBSH(void)
*
* Description	Enter the OSD main menu wait user press key for service.
*				if user not press key over 10sec. that will auto Turn OFF OSD.
*
* Flow Chart
*
* Return
*
* DATE          Author          Description
* ===========================================================================
* 2004-07-12    K.M. Ho         This is first time implement
**/
void	Adj_CBSH(void)
{
	BYTE	press_key, item;
	BYTE	buf[2];
	BYTE	value, val_str[3];

	T0_0Interval = 500;			//set timer 0 interval = 20ms x 500 = 10sec.
	T0_0Service  = 1;			//turn on timer 0 service flag
	item = 1;					//cancel item0:ud/lr

	OSD_ShowTitle(&MainMenuStr[item*OSD_LINEOFFSET], OSD_LINEOFFSET);
	
	value = CBSH_Value[item];
	Value_ASCII(value, val_str, item);				//Convert current value to Str.
	Write_OSDReg(val_str, SEL_OSDDISPCODE, 3, 10);	//write value to OSD code buf

	while (T0_0Service)
	{
		press_key = WaitKey();
		if (press_key)				//have pressed key
		{
			switch (press_key)
			{
				case ENTER:
					T0_0Service = 0;	//Exit OSD function
					break;
					
				case DOWN:
					if (++value >= 0x3F)	value = 0x3F;
					break;

				case UP:
					if (--value == 0xFF)	value = 0x00;
					break;

				case MENU:
					CBSH_Value[item] = value;			//store old item value
					if (++item > 7)	item = 1;			//chang select item
														//cancel item0:ud/lr
//					OSD_ShowTitle(&MainMenuStr[item*OSD_LINEOFFSET], OSD_LINEOFFSET);
					Write_OSDReg(&MainMenuStr[item*OSD_LINEOFFSET], SEL_OSDDISPCODE, 13, 0);
					value = CBSH_Value[item];			//restore new item value
					break;
			}

			switch (item)	//set new value to Brightness, Contrast, Saturation or Hue
			{
				case 0: Adj_LRUD(value&0x03);		break;
				case 1:	Adj_Brightness(value<<2);	break;
				case 2:	Adj_Contrast(value<<2);		break;
				case 3:	Adj_Saturation(value<<2);	break;
				case 4:	Adj_Hue(value<<2);			break;
				case 5: Adj_Sharpen(value<<1);		break;
				case 6:	value &= 0x01;
						Adj_Edge(value); 			break;
				case 7:	value &= 0x03;
						Adj_DisplayMode(value);		break;
			}
			if (item)
				Value_ASCII(value, val_str, item);		//Convert current value to Str.
			else
				Value_ASCII(value&0x03, val_str, item);
				
			Write_OSDReg(val_str, SEL_OSDDISPCODE, 3, 10);	//Show current value
		}
	}
	CBSH_Value[item] = value;

//	I2C_Write(EEPROM_WRID, 0, 4 , value_temp);
		//Turn OFF OSD window befor exit the OSD function
	buf[0] = OSDWINOFF;
	Write_OSDReg(buf, SEL_OSDCTRLREG, 1, OSDCTRLREG);	//write one byte
}

/**--------------------------------------------------------------------------
* Name			OSD_ShowTitle(BYTE *str, char ch_no)
*
* Description	Show Title on screen
*
* Flow Chart
*
* Return
*
* DATE          Author          Description
* ===========================================================================
* 2004-07-12    K.M. Ho         This is first time implement
**/
void	OSD_ShowTitle(char *str, char ch_no)
{
	BYTE	buf[2];

		//Turn OFF the OSD window before show OSD menu
	buf[0] = OSDWINOFF;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区免费看| 久久综合九色综合欧美亚洲| 国产激情91久久精品导航| 亚洲欧美一区二区三区国产精品 | 成人免费视频app| 国产麻豆视频一区二区| 国产一区二三区好的| 国产一区二三区好的| 国内成人免费视频| 国产99久久久国产精品潘金| 成人午夜伦理影院| 99re这里只有精品6| 91福利小视频| 91精品国产欧美日韩| 精品久久久久久久久久久院品网 | 中文字幕一区二区在线播放| 亚洲精品一区二区精华| 久久理论电影网| 国产精品久久久久久久久快鸭| 国产精品国产三级国产有无不卡| 亚洲天堂久久久久久久| 亚洲成av人片一区二区三区| 男女男精品视频网| 国产成人综合网| 91日韩一区二区三区| 欧美一区二区三区小说| 国产亚洲精品bt天堂精选| 成人免费一区二区三区在线观看| 亚洲国产精品一区二区久久| 狠狠色综合日日| 色婷婷久久综合| 精品福利视频一区二区三区| 婷婷六月综合亚洲| 国产一区二区女| 欧美做爰猛烈大尺度电影无法无天| 欧美日韩国产中文| 国产精品久久久久久久久久久免费看 | 2023国产一二三区日本精品2022| 欧美国产一区在线| 亚洲va欧美va人人爽| 国产露脸91国语对白| 欧美伊人久久大香线蕉综合69| 久久综合给合久久狠狠狠97色69| 亚洲女女做受ⅹxx高潮| 裸体在线国模精品偷拍| 色婷婷av一区二区三区大白胸| 欧美一区二区三区影视| 亚洲欧美日本在线| 国产精品一区二区视频| 91成人免费在线| 中文字幕国产一区二区| 三级在线观看一区二区 | 亚洲精品福利视频网站| 狠狠色综合播放一区二区| 欧美亚洲一区二区三区四区| 久久久777精品电影网影网| 日韩专区一卡二卡| 欧美在线视频日韩| 亚洲欧美综合在线精品| 国产一区在线看| 日韩欧美一二区| 天天色天天爱天天射综合| 一本大道av一区二区在线播放| 国产亚洲一区二区三区| 麻豆精品久久精品色综合| 欧美日韩情趣电影| 一区二区三区视频在线看| 成人在线视频一区二区| 精品久久人人做人人爰| 日本欧美一区二区三区乱码 | 久久丁香综合五月国产三级网站| 欧美在线综合视频| 亚洲精品一卡二卡| 99riav久久精品riav| 国产欧美精品区一区二区三区| 欧美aa在线视频| 欧美一级电影网站| 毛片av一区二区| 精品剧情在线观看| 国产精一区二区三区| 久久久亚洲精品石原莉奈 | 亚洲精品videosex极品| 99re视频精品| 亚洲乱码中文字幕综合| 色88888久久久久久影院按摩 | 精品国产青草久久久久福利| 日韩在线一二三区| 欧美一级二级三级蜜桃| 激情都市一区二区| 国产精品视频第一区| 不卡av在线免费观看| 一区二区在线观看av| 欧美电影一区二区三区| 看电视剧不卡顿的网站| 久久精品视频一区二区三区| 成人综合在线观看| 亚洲精品中文字幕在线观看| 在线播放日韩导航| 国产精品1024| 亚洲在线成人精品| 精品国产免费一区二区三区四区| 国产成人精品网址| 亚洲综合图片区| 日韩欧美视频在线| 99国产精品99久久久久久| 丝袜诱惑亚洲看片| 欧美韩国日本综合| 在线视频国内自拍亚洲视频| 理论片日本一区| 中文字幕日韩精品一区| 91麻豆精品国产自产在线| 精品一区二区影视| 一区二区三区四区国产精品| 日韩免费看的电影| 一本一道波多野结衣一区二区| 日韩av电影天堂| 中文文精品字幕一区二区| 欧美日韩电影一区| 成人av资源在线观看| 青青草91视频| 综合精品久久久| 久久久久久久久久久电影| 欧美亚洲动漫另类| 国产91丝袜在线观看| 日韩黄色免费电影| 亚洲视频 欧洲视频| 日韩欧美亚洲国产另类| 欧美日韩黄色影视| 91网站在线观看视频| 韩国av一区二区三区在线观看| 依依成人精品视频| 国产精品高潮呻吟| 久久香蕉国产线看观看99| 欧美日韩在线电影| 91网址在线看| 成人福利在线看| 国产一区二区不卡| 麻豆精品久久精品色综合| 亚洲韩国一区二区三区| 亚洲另类春色国产| 中文字幕日本不卡| 国产精品丝袜一区| 久久中文娱乐网| 精品日韩欧美一区二区| 欧美一卡2卡三卡4卡5免费| 欧美亚洲综合久久| 色婷婷激情综合| 欧美成人精品福利| 欧美一卡二卡在线观看| 欧美精品久久久久久久多人混战| 欧美在线不卡视频| 色哟哟亚洲精品| 91亚洲国产成人精品一区二三| 91亚洲国产成人精品一区二区三| 成人福利在线看| 99久久精品国产一区二区三区 | 欧美一区二区三区免费视频| 欧美日韩在线直播| 在线播放日韩导航| 日韩午夜在线播放| 欧美精品一区二区三区蜜桃| 久久亚洲综合色| 久久精品免视看| 国产精品美女视频| 亚洲综合激情另类小说区| 一区二区三区免费观看| 亚洲二区在线观看| 日韩成人午夜精品| 国产精品一区在线观看你懂的| 国产剧情一区二区| 成人永久aaa| 91成人免费在线视频| 欧美一区二区三区四区高清| 精品欧美久久久| 国产精品蜜臀av| 亚洲高清不卡在线| 国产伦精一区二区三区| 波多野结衣亚洲| 欧美色综合影院| 精品久久久久香蕉网| 中文字幕欧美一| 青青青爽久久午夜综合久久午夜 | 亚洲尤物在线视频观看| 日本va欧美va瓶| 床上的激情91.| 欧美美女bb生活片| 国产欧美一区视频| 亚洲国产乱码最新视频| 韩国欧美国产1区| 欧美午夜精品久久久久久孕妇| 日韩欧美一区电影| 樱花影视一区二区| 高清成人免费视频| 欧美久久久久免费| 国产精品色噜噜| 日韩精品高清不卡| 91亚洲国产成人精品一区二三 | 亚洲一卡二卡三卡四卡| 国产在线精品一区二区不卡了| 91丨porny丨中文|