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

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

?? 1574osd.c

?? MXIC旺宏液晶電視芯片MX88V44的源碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
	Write_OSDReg(buf, SEL_OSDCTRLREG, 1, OSDCTRLREG);

		//Clear the OSD Window (Display code and attribute buffer)
	I2C_WriteByte(L44_WRID, ORWCTRL, CLR_OSD_BUF);

		//write OSD Ctrl reg
		//They will define OSD window start position, size and turn OFF OSD window
	Write_OSDReg(OSDCtrlVal, SEL_OSDCTRLREG, 10, 0);	//write 10 byte

		//Write data to OSD display code and attr buffer
	Write_OSDReg(str, SEL_OSDDISPCODE, ch_no, 0);
	OSD_Attribute(0, 13, OSD_NORMAL_C);					//Set Title line attribute

		//Turn ON the OSD window after the OSD Reg. setting
	buf[0] = OSDWINON;
	Write_OSDReg(buf, SEL_OSDCTRLREG, 1, OSDCTRLREG);
}


/**--------------------------------------------------------------------------
* Name			OSD_Attribute(BYTE item, BYTE length, BYTE attr_color)
*
* Description	Write OSD Attribute Reg.
*
* Flow Chart
*
* Return
*
* DATE          Author          Description
* ===========================================================================
* 2004-07-12    K.M. Ho         This is first time implement
**/
void	OSD_Attribute(BYTE addr, BYTE length, BYTE attr_color)
{
	BYTE	buf[13], i;

	for (i=0; i<length; i++)		//make Attribute buffer
		buf[i] = attr_color;

		//Write OSD attribute buffer
	Write_OSDReg(buf, SEL_OSDDISPATTR, length, addr);
}

/**--------------------------------------------------------------------------
* Name			Read_OSDReg(BYTE *buf, BYTE rd_type
*								 BYTE ch_count, BYTE begin_addr)
*
* Description   Read data from 15xx OSD
*
* Flow Chart
*
* Return        *str 			reading data buffer
*
* DATE          Author          Description
* ===========================================================================
* 2004-07-12    K.M. Ho         This is first time implement
* 2004-10-12	KMHo			Del the OSD enable 
**/
void	Read_OSDReg(BYTE *buf, BYTE rd_type, BYTE ch_count, BYTE addr)
{
	BYTE	i;
	
//	I2C_WriteByte(L44_WRID, OSD_EN,		0xAC);	//Del by KMHo 2004-10-12
	I2C_WriteByte(L44_WRID, ORWCTRL, 	rd_type|0xA0);
	I2C_WriteByte(L44_WRID, OSDADDR_L,	addr);
	I2C_WriteByte(L44_WRID, OSDADDR_H,	0x00);
	
	for(i=0; i<ch_count; i++)
		*(buf+i) = I2C_ReadByte(L44_WRID, OSDDATA_L);
		
	I2C_WriteByte(L44_WRID, ORWCTRL, 	0x04);	//Disable OSD Reg. Read/Write
}

/**--------------------------------------------------------------------------
* Name          Write_OSDReg(BYTE *buf, BYTE wr_type
*								 , BYTE ch_count, BYTE begin_addr)
*
* Description   Write data buffer to 15xx OSD Reg
*
* Flow Chart
*
* Return        None
*
* DATE          Author          Description
* ===========================================================================
* 2004-07-12    K.M. Ho         This is first time implement
* 2004-10-12	KMHo			Del the OSD enable 
**/
void	Write_OSDReg(BYTE buf[], BYTE wr_type, BYTE count, BYTE addr)
{
	BYTE	i,j;
	BYTE	wr_byte;
	int		offset;

//	I2C_WriteByte(L44_WRID, OSD_EN,		0xAC);		//Del by KMHo 2004-10-12
	I2C_WriteByte(L44_WRID, ORWCTRL, 	wr_type|0x80);
	I2C_WriteByte(L44_WRID, OSDADDR_L,	addr);
	I2C_WriteByte(L44_WRID, OSDADDR_H,	0x00);

	switch(wr_type)
	{
		case 0x01:						//0x01 OSD Font table RAM
			for (i=0; i<count; i++)		//character count
			{
				offset = (int)(i*36);
				for (j=0; j<18; j++)	//Write a character to 15xx Font Table RAM
				{
					I2C_WriteByte(L44_WRID, OSDDATA_L, buf[offset]);
					I2C_WriteByte(L44_WRID, OSDDATA_H, buf[offset+1]);
					offset += 2;
				}
			}
			break;
		case 0x02:						//0x02 OSD Display code buffer
			if (count == 1)
				I2C_WriteByte(L44_WRID, OSDDATA_L, buf[0]);
			else
				for (i=0; i<count; i++)	//Write number of byte to select
				{						//Convert ASCII code to 15xx ROM Font code
					wr_byte = ASCII_OSDFont(buf[i]);
					I2C_WriteByte(L44_WRID, OSDDATA_L, wr_byte);
				}
			break;
		case 0x00:						//0x00 OSD Control Reg.
		case 0x03:						//0x03 OSD Display attribute buffer
			for (i=0; i<count; i++)		//Write data to OSD Control Reg or Attribute
				I2C_WriteByte(L44_WRID, OSDDATA_L, buf[i]);
			break;
	}
	I2C_WriteByte(L44_WRID, ORWCTRL, 	0x04);	//Disable OSD Reg. Read/Write
}

/**--------------------------------------------------------------------------
* Name          BYTE	ASCII_OSDFont(BYTE ascii_code)
*
* Description	convert the ASCII code to the 15xx ROM font code
*				There are 64 char. font in 15xx ROM font
*					0 1 2 3 4 5 6 7 8 9 A B C D E F
*					G H I J K L M N O P Q R S T U V
*					W X Y Z a b c d e f g h i j k l
*					m n o p q r s t u v w x y z   /
* Flow Chart
*
* Return		osd font code
*
* DATE          Author          Description
* ===========================================================================
* 2004-07-10	K.M. Ho         This is first time implement
*/
BYTE	ASCII_OSDFont(BYTE ascii_code)
{
	BYTE	osd_font_code;

	osd_font_code = 0x3E;	//default convert to space Font index

	if (ascii_code>=0x20 && ascii_code<=0x2F)	osd_font_code = (ascii_code-0x20)|0x40;
	
	if (ascii_code>=0x30 && ascii_code<=0x39)	osd_font_code = ascii_code-0x30;
	if (ascii_code>=0x41 && ascii_code<=0x5A)	osd_font_code = ascii_code-0x41+10;
	if (ascii_code>=0x61 && ascii_code<=0x7A)	osd_font_code = ascii_code-0x61+36;

	return (osd_font_code);
}

/**--------------------------------------------------------------------------
* Name          void	Value_ASCII(BYTE value, BYTE *val_str, BYTE signed_bit)
*
* Description	convert the pass-in value to ASCII code
*
* Flow Chart
*
* Return		value string buffer
*
* DATE          Author          Description
* ===========================================================================
* 2004-07-21	K.M. Ho         This is first time implement
*/
void	Value_ASCII(BYTE value, BYTE *val_str, BYTE item)
{
	BYTE	i, tmp_div, tmp_val;
	
	*val_str = 0x20;
	if (item==0x04 || item==0x05)
	{
		if (value & 0x20)	value = value - 0x20;		//value is plus
		else 	{			value = 0x20 - value;		//value is minus
							*val_str = 0x2D;
				}
	}

	tmp_div = 10;

	for (i=0; i<2; i++)
	{
		tmp_val = value / tmp_div;
		value 	= value % tmp_div;		//get the new value

		*(val_str+i+1) = tmp_val|0x30;	//save the ASCII code to string buffer

		tmp_div = tmp_div / 10;			//get the divide 10 or 1
	}
}

/**--------------------------------------------------------------------------
* Name          void	Adj_LRUD(BYTE value)
*
* Description
*
* Flow Chart 
*
* Return		
*
* DATE          Author          Description
* ===========================================================================
* 2004-11-23	K.M. Ho         This is first time implement
*/
void	Adj_LRUD(BYTE set_val)
{
	BYTE	rd_val;
		
	rd_val  = I2C_ReadByte(L44_WRID, 0x30);
	set_val = (set_val<<6) | (rd_val&0x3F);
	
	I2C_WriteByte(L44_WRID, 0x30, set_val);
}

/**--------------------------------------------------------------------------
* Name          void	Adj_Brightness(BYTE value)
*
* Description
*
* Flow Chart 
*
* Return		
*
* DATE          Author          Description
* ===========================================================================
* 2004-07-22	K.M. Ho         This is first time implement
*/
void	Adj_Brightness(BYTE value)
{
	char	i;
	
	for (i=0; i<3; i++)
		I2C_WriteByte(L44_WRID, i+0x15, value);
}

/**--------------------------------------------------------------------------
* Name          void	Adj_Contrast(BYTE value)
*
* Description
*
* Flow Chart
*
* Return		
*
* DATE          Author          Description
* ===========================================================================
* 2004-07-22	K.M. Ho         This is first time implement
*/
void	Adj_Contrast(BYTE value)
{
	char	i;
	
	for (i=0; i<3; i++)
		I2C_WriteByte(L44_WRID, i+0x12, value);
}

/**--------------------------------------------------------------------------
* Name          void	Adj_Saturation(BYTE value)
*
* Description
*
* Flow Chart
*
* Return	
*
* DATE          Author          Description
* ===========================================================================
* 2004-07-22	K.M. Ho         This is first time implement
*/
void	Adj_Saturation(BYTE value)
{
	I2C_WriteByte(L44_WRID, 0x18, value);
}

/**--------------------------------------------------------------------------
* Name          void	Adj_Hue(BYTE value)
*
* Description
*
* Flow Chart
*
* Return		
*
* DATE          Author          Description
* ===========================================================================
* 2004-07-22	K.M. Ho         This is first time implement
*/
void	Adj_Hue(char value)
{
	value -= 0x80;
	I2C_WriteByte(L44_WRID, 0x19, value);
}

/**--------------------------------------------------------------------------
* Name          void	Adj_Sharpen(BYTE value)
*
* Description
*
* Flow Chart
*
* Return		
*
* DATE          Author          Description
* ===========================================================================
* 2004-19-19	K.M. Ho         This is first time implement
*/
void	Adj_Sharpen(char value)
{
	BYTE	va, vb;
	
	if (value & 0x40)
	{	
		value = (value - 0x40) << 1;		//value is plus
		va = 0xFF - value + 1;		
		vb = value + 64;
	}
	else
	{ 	
		value = 0x40 - value;				//value is minus
		va = value;
		vb = 64 - value;
	}

	I2C_WriteByte(L44_WRID, 0x24, va);
	I2C_WriteByte(L44_WRID, 0x25, vb);
	I2C_WriteByte(L44_WRID, 0x26, va);
}

/**--------------------------------------------------------------------------
* Name          void	Adj_Edge(BYTE value)
*
* Description
*
* Flow Chart
*
* Return		
*
* DATE          Author          Description
* ===========================================================================
* 2004-11-19	K.M. Ho         This is first time implement
*/
void	Adj_Edge(char value)
{
	BYTE	reg01_val,reg80_val;
		
	reg01_val = CVD1_ReadWrite(0x00, 0x01, 0x00);
	reg80_val = CVD1_ReadWrite(0x00, 0x80, 0x00);
	if (value)
	{
		reg01_val |= 0x08;		
		reg80_val |= 0x01;
	}
	else
	{
		reg01_val &= 0xF7;
		reg80_val &= 0xFE;
	}
	
	CVD1_ReadWrite(0x01, 0x01, reg01_val);
	CVD1_ReadWrite(0x01, 0x80, reg80_val);
}

/**--------------------------------------------------------------------------
* Name          void	Adj_DisplayMode(BYTE value)
*
* Description
*
* Flow Chart
*
* Return		
*
* DATE          Author          Description
* ===========================================================================
* 2004-12-10	K.M. Ho         This is first time implement
*/
void	Adj_DisplayMode(BYTE value)
{
	BYTE	offset, i;
	
	if (value)
	{
		for (i=0; i<15; i++)				//download Full mode Reg. value
		{
			offset = i<<1;
			I2C_WriteByte(L44_WRID, Mode_Full[offset], Mode_Full[offset+1]);
		}
		
//		I2C_WriteByte(L44_WRID, 0x3B, 0x0D);
		if (NTSC_PAL && value>1)
		{
			I2C_WriteByte(L44_WRID, 0x3B, 0x11);
			if (value == 2)
				for (i=0; i<6; i++)			//download Zoom1 mode Reg. value
				{
					offset = i<<1;
					I2C_WriteByte(L44_WRID, Mode_Zoom1[offset], Mode_Zoom1[offset+1]);
				}
			if (value == 3)
				for (i=0; i<6; i++)			//download Zoom2 mode Reg. value
				{	
					offset = i<<1;
					I2C_WriteByte(L44_WRID, Mode_Zoom2[offset], Mode_Zoom2[offset+1]);
				}
		}
		if (NTSC_PAL)	I2C_WriteByte(L44_WRID, 0x68, 0x74);
		else			I2C_WriteByte(L44_WRID, 0x68, 0x10);
	}
	else
	{
		for (i=0; i<15; i++)				//download 4by3 mode Reg. value
		{
			offset = i<<1;
			I2C_WriteByte(L44_WRID, Mode_4by3[offset], Mode_4by3[offset+1]);
		}
		if (NTSC_PAL)	I2C_WriteByte(L44_WRID, 0x68, 0x7E);
		else			I2C_WriteByte(L44_WRID, 0x68, 0x1A);	
		
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美一区二区三区沐欲| 亚洲永久免费av| 亚洲精品视频在线观看免费| 丝袜美腿高跟呻吟高潮一区| 国产精品香蕉一区二区三区| 欧美影院一区二区三区| 久久久精品tv| 婷婷成人激情在线网| 成人av网址在线| 欧美不卡在线视频| 亚洲一区在线观看免费观看电影高清| 狠狠网亚洲精品| 欧美电影在线免费观看| 亚洲视频在线一区| 国产91精品在线观看| 91麻豆精品国产自产在线观看一区| 久久先锋影音av鲁色资源网| 午夜日韩在线观看| 色伊人久久综合中文字幕| 一区二区三区欧美| 高清shemale亚洲人妖| 日韩一区二区三区免费观看| 一区二区不卡在线播放 | 亚洲男人的天堂在线观看| 国产麻豆精品久久一二三| 91精品久久久久久久久99蜜臂| 亚洲男同性恋视频| 不卡的av网站| 国产精品久久久久久久久图文区| 精品亚洲免费视频| 精品日韩av一区二区| 日本91福利区| 日韩网站在线看片你懂的| 日韩精品免费视频人成| 91.麻豆视频| 午夜欧美一区二区三区在线播放| 日本高清视频一区二区| 中文字幕一区二区三区蜜月| caoporn国产精品| 18涩涩午夜精品.www| 成人黄色在线网站| 亚洲欧美区自拍先锋| 91麻豆文化传媒在线观看| 亚洲另类色综合网站| 91美女蜜桃在线| 亚洲精品国产高清久久伦理二区| 成人午夜激情视频| 国产精品国产三级国产aⅴ入口 | 亚洲成人动漫在线观看| 欧美日韩亚洲国产综合| 日韩不卡一二三区| 欧美成人aa大片| 国产成人在线网站| 亚洲欧美一区二区三区国产精品| 91免费版在线看| 亚洲尤物在线视频观看| 日韩欧美激情一区| 国产风韵犹存在线视精品| 国产精品久久久久久一区二区三区| 99精品视频一区二区三区| 一区二区三区四区在线免费观看| 国产日产欧美精品一区二区三区| 国产成人午夜精品5599| 中文字幕综合网| 欧美日韩mp4| 国产一区二区免费视频| 日韩毛片精品高清免费| 91精品国产综合久久久久久久| 久久91精品久久久久久秒播| 国产精品私房写真福利视频| 91麻豆swag| 久久国产精品99精品国产| 国产精品丝袜久久久久久app| 91浏览器在线视频| 麻豆精品精品国产自在97香蕉| 国产片一区二区三区| 欧美色网站导航| 韩国精品在线观看| 亚洲午夜三级在线| 亚洲精品一区二区三区在线观看| 99天天综合性| 麻豆精品新av中文字幕| 亚洲精品少妇30p| 欧美一区二区三区精品| 99精品视频中文字幕| 玖玖九九国产精品| 一二三区精品福利视频| 久久精品免费在线观看| 欧美三级中文字幕在线观看| 国产a级毛片一区| 偷窥少妇高潮呻吟av久久免费 | 欧美日韩黄色一区二区| 国产精品1024| 日韩二区三区四区| 一区二区三区精品在线| 国产欧美一区二区在线| 欧美一区二区视频在线观看2022 | 中文字幕在线播放不卡一区| 欧美一级久久久| 欧美亚洲动漫制服丝袜| 成人精品亚洲人成在线| 国内精品免费在线观看| 午夜欧美一区二区三区在线播放| 日韩一区中文字幕| 国产精品美女久久久久久久久 | 久久免费视频一区| 欧美片网站yy| 日本福利一区二区| 97精品超碰一区二区三区| 国产大陆a不卡| 看片网站欧美日韩| 日本免费新一区视频| 亚洲第一精品在线| 亚洲免费在线视频一区 二区| 国产欧美精品一区二区色综合朱莉 | 综合久久给合久久狠狠狠97色| 久久亚洲综合av| 日韩区在线观看| 欧美一二区视频| 精品区一区二区| 精品国一区二区三区| 欧美电影免费观看高清完整版在线 | 日韩欧美国产综合| 日韩亚洲欧美在线| www亚洲一区| 国产亚洲欧美在线| 日本一区二区综合亚洲| 国产精品久久午夜| 有码一区二区三区| 亚洲国产综合色| 三级影片在线观看欧美日韩一区二区| 亚洲综合另类小说| 蜜桃av噜噜一区| 国产在线不卡一区| 成人精品一区二区三区四区| 91麻豆swag| 91精品国产色综合久久| 欧美白人最猛性xxxxx69交| 国产色91在线| 亚洲欧美一区二区三区国产精品| 亚洲午夜久久久久| 久久er精品视频| 99久久国产综合色|国产精品| 91福利在线导航| 91麻豆精品国产自产在线观看一区 | 国产精品人妖ts系列视频| 欧美激情在线免费观看| 国产精品三级av| 欧美激情综合五月色丁香小说| 日韩理论片在线| 一区二区三区美女| 午夜精品在线看| 久久精品国产第一区二区三区| 国产99精品视频| 波多野结衣在线aⅴ中文字幕不卡| 99热在这里有精品免费| 欧洲精品在线观看| 欧美在线观看一区| 欧美美女黄视频| 精品国产免费一区二区三区四区| 91精选在线观看| 久久日一线二线三线suv| 中文字幕欧美国产| ㊣最新国产の精品bt伙计久久| 三级精品在线观看| 国产精品主播直播| 91麻豆国产精品久久| 在线一区二区视频| 久久蜜桃一区二区| 亚洲综合在线视频| 久久国产尿小便嘘嘘尿| 久久不见久久见免费视频1| 91久久久免费一区二区| 日韩欧美亚洲另类制服综合在线| 中文字幕免费在线观看视频一区| 亚洲综合另类小说| 国产成人午夜精品5599| 欧美日韩一卡二卡三卡 | 1000部国产精品成人观看| 久久91精品久久久久久秒播| 成人美女视频在线看| 制服丝袜国产精品| 亚洲色图清纯唯美| 成人性生交大片免费看中文| 欧美体内she精高潮| 国产女同性恋一区二区| 偷窥少妇高潮呻吟av久久免费| 97se亚洲国产综合在线| 欧美zozo另类异族| 亚洲一区二区三区四区在线免费观看| 国产一区二区久久| 欧美成人激情免费网| 亚洲午夜在线电影| 成人av影视在线观看| 4438x成人网最大色成网站| 亚洲在线视频免费观看| 成人精品亚洲人成在线| 欧美不卡一区二区三区| 激情欧美日韩一区二区| 91麻豆精品国产91久久久资源速度 |