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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gx1101.c

?? 做STB的朋友接好了,國芯調協器軟件包說明介紹.
?? C
?? 第 1 頁 / 共 4 頁
字號:
GX1101_STATUS gx1101_Open_FD(bool8 OnOff)
{
	GX1101_STATUS	status = GX1101_NO_ERROR;
	u8			buffer[2];

	if ((status = gx1101_Read_Registers(GX1101_DEROT, buffer, 1, FALSE)) != GX1101_NO_ERROR)
    	return status;
	buffer[0] &= 0xbf;
	if(OnOff)
	{
		buffer[0] = buffer[0] | 0x40;
	}
	else
	{
		buffer[0] = buffer[0] | 0x00;
	}
	if((status = gx1101_Write_Registers(GX1101_DEROT, buffer, 1, FALSE)) != GX1101_NO_ERROR)
		return status;
	/*Hot reset*/
	if ((status = gx1101_Read_Registers(GX1101_GLB_CTRL, buffer, 1, FALSE)) != GX1101_NO_ERROR)
		return status;
	buffer[0] = buffer[0] |0x02;
	status = gx1101_Write_Registers(GX1101_GLB_CTRL, buffer, 1, FALSE);
		return status;

}
/*******************************************************************************************
Function    : gx1101_Freq_Modify()
Description	: Modify Carrier Frequency Error
Input       : KBd_rate
Return      : GX1101_STATUS code
*******************************************************************************************/
GX1101_STATUS gx1101_Freq_Modify(u32 KBd_rate)
{
	GX1101_STATUS			status;
	u8						buffer[2];
	s32						value1,value2,value3;
	s32				s32FreLimit=0;
	s32				s32Temp;
	if ((status = gx1101_Read_Registers(GX1101_ERR1_L, buffer, 2, FALSE)) != GX1101_NO_ERROR)
    		return status;
	value1 = ((s32)buffer[1]) *256 + (s32)buffer[0];
	if (buffer[1]&0x80) value1-=0x10000;
	
	if ((status = gx1101_Read_Registers(GX1101_ERR2_L, buffer, 2, FALSE)) != GX1101_NO_ERROR)
    		return status;
	value2 = ((s32)buffer[1]) *256 + (s32)buffer[0];
	if (buffer[1]&0x80) value2-=0x10000;
	value3 = value1*GX1101_SYSCLK_KHZ + value2*(s32)KBd_rate;
	if(KBd_rate < 5000)
		s32FreLimit = 3000;
	
	#if 0
	printf("\n11gx1101_Freq_Modify	KBd_rate = %d\n",(int)KBd_rate);
	s32Temp = 5000+s32FreLimit;
	printf("\n11gx1101_Freq_Modify	s32Temp = %d\n",(int)s32Temp);
	s32Temp = -5000+s32FreLimit;
	printf("\n22gx1101_Freq_Modify	s32Temp = %d\n",(int)s32Temp);
	s32Temp = value3/65536;
	printf("\n33gx1101_Freq_Modify	s32Temp = %d\n",(int)s32Temp);
	#endif
	
	if(((value3/65536)>(5000+s32FreLimit)) || ((value3/65536)<(-5000+s32FreLimit)))
	{
		s32Temp = (s32FreLimit*65536)/GX1101_SYSCLK_KHZ;
		buffer[0] = (u8)(s32Temp&0xff);
		buffer[1] = (u8)(s32Temp>>8);
		gx1101_Write_Registers(GX1101_ERR1_L, buffer, 2, FALSE);
		gx1101_Open_FD(FALSE);
		gx1101_Hot_Reset();
		return FALSE;	
	}
	value3 = value3/GX1101_SYSCLK_KHZ;
	//printf("\ngx1101_Freq_Modify	value3 = %ld\n",value3);
	buffer[0] = (u8)(value3 & 0x000000ff);
	buffer[1] = (u8)(value3>>8);
	status = gx1101_Write_Registers(GX1101_ERR1_L, buffer, 2, FALSE);
		return status;
}
/*******************************************************************************************
Function    : gx1101_Test_FD()
Description	: Open or Close FD and Read Chip State 
Input       : KBd_rate,On or Off
Return      : GX1101_STATUS code
*******************************************************************************************/
GX1101_STATUS gx1101_Test_FD(u32 KBd_rate,bool8 OnOff)
{
	u32		check_delay;
	u8		buffer[2];
	u16		i;
	u8		temp;
	gx1101_Open_FD(OnOff);
	gx1101_Read_Registers(GX1101_CHIP_STATE, buffer, 1, FALSE);
	
	for (check_delay=0; ((check_delay<100) ||((check_delay<200)&&((buffer[0]&0xe0)==0xe0))) ; check_delay++)//375ms+375ms
	{
		gx1101_delay_ms(5);
		gx1101_Read_Registers(GX1101_CHIP_STATE, buffer, 1, FALSE);
			
		//printf("\ngx1101_Test_FD  buffer[0]=%d",(int)buffer[0]);
		if((buffer[0] & 0xf0) == 0xf0)
		{
			gx1101_Read_Registers(GX1101_VIT_RAT_CUR, buffer, 1, FALSE);
			temp = buffer[0];
			gx1101_Freq_Modify(KBd_rate);
			if((temp & 0xe0) == 0)
			{
				buffer[0] = 0x50; 
				gx1101_Write_Registers(0x66, buffer, 1, FALSE);
			}
			gx1101_Open_FD(FALSE);
			for(i = 0; i< 300;i++)
			{
				gx1101_Read_Registers(GX1101_CHIP_STATE, buffer, 1, FALSE);
				if((buffer[0] & 0xf5) == 0xf5)
					break;				
			}
			gx1101_Read_Registers(GX1101_STBY, buffer, 1, FALSE);
			buffer[0] = buffer[0] & 0xbf;
			gx1101_Write_Registers(GX1101_STBY, buffer, 1, FALSE);//open TS output
			gx1101_Read_Registers(GX1101_DEROT, buffer, 1, FALSE);
    			buffer[0] &= 0xbf;
			buffer[0] = buffer[0] | 0x40;
			gx1101_Write_Registers(GX1101_DEROT, buffer, 1, FALSE);	
			return GX1101_LOCK;  
		}
		else
		{
			//printf("\n>>>>>>>>>>>>gx1101_Test_FD fail");
			//return GX1101_NO_LOCK;
		}
	}
	gx1101_Read_Registers(GX1101_STBY, buffer, 1, FALSE);
	buffer[0] = buffer[0] & 0xbf;
	gx1101_Write_Registers(GX1101_STBY, buffer, 1, FALSE);//open TS output
	gx1101_Read_Registers(GX1101_CHIP_STATE, buffer, 1, FALSE);
	if((buffer[0]&0xe0)==0xe0)
		return GX1101_LOCK;
	return GX1101_NO_LOCK;
}

/*******************************************************************************************/
GX1101_STATUS gx1101_Test_FD_Few(u32 KBd_rate,bool8 OnOff)
{
	u16						check_delay;
//    GX1101_LNB_PARAMS       lnb_params;
	u8						buffer[2];
	u16 i;
	u8 temp;
	gx1101_Open_FD(OnOff);

	// for interrupt    		
	for (check_delay=0; check_delay<40; check_delay++)//循環完耗時200ms
	{		
		gx1101_delay_ms(5);
		gx1101_Read_Registers(GX1101_CHIP_STATE, buffer, 1, FALSE);
			
		//printf("\ngx1101_Test_FD  buffer[0]=%d",(int)buffer[0]);
		if((buffer[0] & 0xf0) == 0xf0)
		{
			//printf("\n>>>>>>>>>>>>gx1101_Test_FD  success");
			gx1101_Read_Registers(GX1101_VIT_RAT_CUR, buffer, 1, FALSE);
			temp = buffer[0];
			//if(gx1101_Freq_Modify(KBd_rate) == FALSE)
			//	break;
			if((temp & 0xe0) == 0)
			{
				buffer[0] = 0x50;
   	                    gx1101_Write_Registers(0x66, buffer, 1, FALSE);
			}

			//gx1101_Open_FD(FALSE);
			//for(i = 0; i< 300;i++)
			//{
			//	gx1101_Read_Registers(GX1101_CHIP_STATE, buffer, 1, FALSE);
			//	if((buffer[0] & 0xf5) == 0xf5)
			//		break;				
			//}
			gx1101_Read_Registers(GX1101_STBY, buffer, 1, FALSE);
			buffer[0] = buffer[0] & 0xbf;
			gx1101_Write_Registers(GX1101_STBY, buffer, 1, FALSE);//open TS output//hongg
			
			//gx1101_Read_Registers(GX1101_DEROT, buffer, 1, FALSE);
    			//buffer[0] &= 0xbf;
			//buffer[0] = buffer[0] | 0x40;
			//gx1101_Write_Registers(GX1101_DEROT, buffer, 1, FALSE);	//open FD
			return GX1101_LOCK;  
		}
		else
		{
			//printf("\n>>>>>>>>>>>>gx1101_Test_FD fail");
			//return GX1101_NO_LOCK;
		}
	}
//printf("\n30s stop");

	gx1101_Read_Registers(GX1101_STBY, buffer, 1, FALSE);
	buffer[0] = buffer[0] & 0xbf;
	gx1101_Write_Registers(GX1101_STBY, buffer, 1, FALSE);//open TS output//hongg
		
	return GX1101_NO_LOCK;
}
/*******************************************************************************************
Function    : gx1101_Try_Test_FD()
Description	: Try to Test FD 
Input       : lnb_params,On or Off
Return      : GX1101_STATUS code
*******************************************************************************************/
GX1101_STATUS	gx1101_Try_Test_FD(GX1101_LNB_PARAMS lnb_params,bool8 OnOff)
{
    GX1101_STATUS			status;

	gx1101_Set_Symbol_Rate_Reg(lnb_params.KBd_rate);
    	if ((status = gx1101_Program_Tuner(lnb_params)) != GX1101_NO_ERROR)
		return status;
	//printf("\ngx1101_Try_Test_FD lnb_params.KHz_tuner_freq=%ld",lnb_params.KHz_tuner_freq);
	if((status = gx1101_Test_FD(lnb_params.KBd_rate,OnOff)) == GX1101_NO_LOCK)
	{
		if((status = gx1101_Test_FD(lnb_params.KBd_rate,!OnOff)) == GX1101_NO_LOCK)
		{
			status = gx1101_Test_FD(lnb_params.KBd_rate,OnOff);
			return status;
		}
		else
			return status;
	}
	else
	{
		return status;
	}
	return GX1101_NO_LOCK;
}
/*******************************************************************************************
Function    : gx1101_Set_Program()
Description	: Set Program
Input       : lnb_params
Return      : TRUE or FALSE
*******************************************************************************************/
bool8 gx1101_Set_Program(GX1101_LNB_PARAMS  *lnb_params)
{
	GX1101_STATUS		status;
   	u8 					buffer[2];
	u16					iTry = 0;
	int 					offset = -1;
	u32					tunerfreq;
	u32					iTemp;
	
	Baud = (u16)lnb_params->KBd_rate;
	gx1101_Set_Polar(lnb_params->enPolar);
	gx1101_Read_Registers(GX1101_STBY, buffer, 1, FALSE);
	buffer[0] = buffer[0] | 0x40;
	gx1101_Write_Registers(GX1101_STBY, buffer, 1, FALSE);//close TS output
	buffer[0] = 0x72;
	gx1101_Write_Registers(0x66, buffer, 1, FALSE);
		
	gx1101_Set_Blind_Enable(GX1101_SET_BLIND_DISABLE);

   	if(lnb_params->KBd_rate >= 5000)
   	{
		buffer[0] = 0;
		buffer[1] = 0;
   	}
	else
	{//如果符號率小于5M,則先置FD為正3M,然后把L波段的頻率減3M
		iTemp = (3000*65536)/GX1101_SYSCLK_KHZ;
		buffer[0] = (u8)(iTemp&0xff);
		buffer[1] = (u8)(iTemp>>8);
		lnb_params->KHz_tuner_freq -= 3000;
	}
	gx1101_Write_Registers(GX1101_ERR1_L, buffer, 2, FALSE);
	
	//if(gx1101_Set_Symbol_Rate_Reg(lnb_params->KBd_rate) != GX1101_NO_ERROR )
    	//	return FALSE;
	//	if ((status = gx1101_Program_Tuner(*lnb_params)) != GX1101_NO_ERROR)
	//	return FALSE;

	if(lnb_params->KBd_rate == 0)
	{
		gx1101_Program_Tuner(*lnb_params);
			return FALSE;
	}
	if((lnb_params->KBd_rate >= 7994 && lnb_params->KBd_rate <= 8006) &&
		(lnb_params->KHz_tuner_freq >= 1674000 && lnb_params->KHz_tuner_freq <= 1680000))
	{//掃頻方式
		tunerfreq = lnb_params->KHz_tuner_freq;
		do
		{
			buffer[0] = 0;
			buffer[1] = 0;
   			gx1101_Write_Registers(GX1101_ERR1_L, buffer, 2, FALSE);
			lnb_params->KHz_tuner_freq = (u32)((s32)tunerfreq + offset*(s32)iTry);
			gx1101_Program_Tuner(*lnb_params);
			if(gx1101_Test_FD_Few(lnb_params->KBd_rate,FALSE) == GX1101_LOCK)
         			return TRUE;
			if (offset<0)
				iTry+=1000;
			offset*=-1;
		}
		while(iTry<=3000);
		return FALSE;
	}
	else if(lnb_params->KBd_rate >= 25000L)
	{
		if((status = gx1101_Try_Test_FD(*lnb_params,FALSE)) == GX1101_NO_LOCK)
		{
			return FALSE;
		}
		else if(status == GX1101_LOCK)
		{
			return TRUE;
		}
		else
			return FALSE;
	}
	else
	{
		if((status = gx1101_Try_Test_FD(*lnb_params,TRUE)) == GX1101_NO_LOCK) 
		{	
			if(lnb_params->KBd_rate < 2000)
			{	
				lnb_params->KHz_tuner_freq = lnb_params->KHz_tuner_freq - 2000;
				if((status = gx1101_Try_Test_FD(*lnb_params,TRUE)) == GX1101_NO_LOCK) 
				{	
					lnb_params->KHz_tuner_freq = lnb_params->KHz_tuner_freq + 4000;
					if((status = gx1101_Try_Test_FD(*lnb_params,TRUE)) == GX1101_NO_LOCK)
					{
						lnb_params->KHz_tuner_freq = lnb_params->KHz_tuner_freq - 2000;
						if((status = gx1101_Try_Test_FD(*lnb_params,TRUE)) == GX1101_NO_LOCK)
						{
							return FALSE;
						}
						else if(status == GX1101_LOCK)
						{
							return TRUE;				
						}
						else
							return FALSE;
					}
					else if(status == GX1101_LOCK)
					{
						return TRUE;				
					}
					else
						return FALSE;
				}
				else if(status == GX1101_LOCK)
				{
					return TRUE;
				}
				else
					return FALSE;
			}
			else
			{
				return FALSE;
			}
		}
		else if(status == GX1101_LOCK)
		{
			return TRUE;
		}
		else
			return FALSE;
	}
	return FALSE;
}
/*******************************************************************************************
Function    : gx1101_Test_Program()
Description	: In the Blind Search Mode,Test Program to make sure the signal is existed
Input       : *channel_params
Return      : GX1101_STATUS code
*******************************************************************************************/
GX1101_STATUS gx1101_Test_Program(GX1101_CHANNEL_PARAMS *channel_params)
{
	GX1101_LNB_PARAMS		lnb_params;
	u16				    	check_delay;
	u8						buffer[2];
	GX1101_STATUS 			status;
	
	if((status = gx1101_Set_Symbol_Rate_Reg(channel_params->KBd_rate)) != GX1101_NO_ERROR )
		return status;

	lnb_params.KHz_tuner_freq = channel_params->KHz_center_freq;
	lnb_params.KBd_rate = channel_params->KBd_rate;
 	if(gx1101_Set_Program(&lnb_params) == FALSE)
			return GX1101_NO_LOCK;	
	return GX1101_LOCK;
#if 0
	if ((status = gx1101_Program_Tuner(lnb_params)) != GX1101_NO_ERROR)
		return status;
	for (check_delay=0; check_delay<1000; check_delay++)
	{
		if ((status = gx1101_Read_Registers(GX1101_CHIP_STATE, buffer, 1, FALSE)) != GX1101_NO_ERROR)
			return status;
		if((buffer[0] & 0xf0) == 0xf0)
		{
			//if((status = gx1101_Freq_Modify(channel_params->KBd_rate)) != GX1101_NO_ERROR)
			//	return status;
			//printf("\n>>gx1101_try_find_FEC_OK GX1101_LOCK");
			//printf("\n>>gx1101_try_find_FEC_OK channel_params->KHz_center_freq=%ld\n",channel_params->KHz_center_freq );
			return GX1101_LOCK;
		}
		else
		{
			//printf("\n>>gx1101_try_find_FEC_OK GX1101_NO_LOCK");
			//printf("\n>>gx1101_try_find_FEC_OK channel_params->KHz_center_freq=%ld\n",channel_params->KHz_center_freq );
		}
	}
	return GX1101_NO_LOCK;
#endif
}
/*******************************************************************************************
Function    : gx1101_Try_Find_FEC_OK()
Description	: In the Blind Search Mode,Try to Find FEC_OK
Input       : *channel_params
Return      : GX1101_STATUS code
*******************************************************************************************/
bool8 gx1101_Try_Find_FEC_OK(GX1101_CHANNEL_PARAMS *channel_params)
{
	GX1101_STATUS status;
	
	//KHz_tuner_freq = channel_params->KHz_tuner_freq;
	if(channel_params->KBd_rate > 11250)
	{	
		if(gx1101_Open_FD(FALSE) != GX1101_NO_ERROR)
			return FALSE;
	}
	else
	{	
		if(gx1101_Open_FD(TRUE) != GX1101_NO_ERROR)
			return FALSE;
	}
	if((status = gx1101_Test_Program(channel_params)) == GX1101_NO_LOCK)
	{
		if(channel_params->KBd_rate <= 11250)
			return FALSE;
		channel_params->KHz_center_freq -= channel_params->KBd_rate/4;
		//printf("\n>>gx1101_Try_Find_FEC_OK channel_params->KHz_center_freq=%ld\n",channel_params->KHz_center_freq );
		if((status = gx1101_Test_Program(channel_params)) == GX1101_NO_LOCK)
		{
			channel_params->KHz_center_freq += channel_params->KBd_rate/2;	
			if((status = gx1101_Test_Program(channel_params)) == GX1101_NO_LOCK)
			{
				channel_params->KHz_center_freq -= channel_params->KBd_rate/4;	
				return FALSE;
			}
			else if(status == GX1101_LOCK)
				return TRUE;
			else
				return FALSE;
		}
		else if(status == GX1101_LOCK)
			return TRUE;
		else
			return FALSE;
	}
	else if(status == GX1101_LOCK)
		return TRUE;
	else
		return FALSE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草原综合久久大伊人精品| 91久久精品国产91性色tv | 国产成人aaa| 欧日韩精品视频| 欧美极品另类videosde| 亚洲va天堂va国产va久| 成人黄色综合网站| 精品福利av导航| 午夜激情一区二区| 91视频在线看| 日本一区二区三区国色天香| 日韩高清不卡一区二区三区| 日本高清不卡一区| 国产精品视频yy9299一区| 久久99精品国产麻豆婷婷| 欧美性大战久久| 亚洲人妖av一区二区| 成人免费视频视频在线观看免费 | 久久国产精品免费| 伊人婷婷欧美激情| 中文字幕亚洲不卡| 成人高清在线视频| 国产欧美久久久精品影院| 免费成人av资源网| 在线观看一区日韩| 亚洲综合在线视频| 一本大道综合伊人精品热热| 欧美国产精品劲爆| 高清成人免费视频| 国产精品美女久久久久久久久 | 青草国产精品久久久久久| 91搞黄在线观看| 亚洲欧洲国产日韩| 波多野结衣在线一区| 欧美国产精品中文字幕| 国产成人亚洲综合a∨婷婷图片| 精品美女一区二区| 激情综合五月天| 久久日韩精品一区二区五区| 国产成人自拍高清视频在线免费播放| 91精品国产黑色紧身裤美女| 青椒成人免费视频| 久久精品亚洲一区二区三区浴池| 丁香五精品蜜臀久久久久99网站 | 免费观看一级欧美片| 日韩精品一区二区在线| 精品一区二区免费在线观看| 久久久不卡影院| 成人app在线| 亚洲福利国产精品| 日韩免费性生活视频播放| 国产福利一区二区三区| 亚洲欧美日韩中文字幕一区二区三区 | 欧美在线观看一区| 日本人妖一区二区| 欧美激情一区二区三区不卡| 色视频成人在线观看免| 日韩和的一区二区| 国产日韩欧美高清| 日本精品视频一区二区三区| 天天免费综合色| 久久精品人人做人人综合| 一本在线高清不卡dvd| 日本女人一区二区三区| 国产精品久久久久久久久免费相片 | 国产在线一区二区综合免费视频| 国产精品日产欧美久久久久| 欧美综合在线视频| 国产综合久久久久久久久久久久| ㊣最新国产の精品bt伙计久久| 欧美视频在线观看一区| 欧美日韩国产综合视频在线观看 | 五月婷婷综合激情| 国产欧美1区2区3区| 欧美日本视频在线| 北条麻妃一区二区三区| 毛片av一区二区| 一区二区三区影院| 中文一区一区三区高中清不卡| 欧美日韩视频专区在线播放| 国产成人精品免费视频网站| 婷婷国产在线综合| 亚洲美女偷拍久久| 国产欧美综合色| 欧美一二三区精品| 欧美三级在线看| 本田岬高潮一区二区三区| 国产在线精品视频| 免费成人av在线播放| 一区二区三区日韩精品| 国产精品久久久久aaaa| 久久久精品免费观看| 欧美一级免费大片| 精品婷婷伊人一区三区三| www.久久久久久久久| 精品一区二区久久久| 日本午夜精品一区二区三区电影 | 欧美在线播放高清精品| 国产高清久久久久| 蓝色福利精品导航| 男人的天堂久久精品| 午夜精品福利一区二区蜜股av | 亚洲欧美激情一区二区| 中文字幕精品一区| 国产欧美精品在线观看| 久久久久久久久久久久久久久99| 日韩一二三四区| 日韩欧美国产一区二区三区 | 国产综合色视频| 麻豆久久一区二区| 免费成人在线观看| 蜜臀精品一区二区三区在线观看 | 亚洲国产欧美一区二区三区丁香婷| 国产精品久久久久9999吃药| 国产精品乱码人人做人人爱| 久久久久久久久久看片| 国产日产欧美一区二区三区| 国产视频一区二区三区在线观看| 国产亚洲精品aa| 中文字幕精品综合| 亚洲乱码日产精品bd| 亚洲综合视频网| 亚洲成av人综合在线观看| 高潮精品一区videoshd| 国产精品综合久久| 国产一区二区女| 成人av影视在线观看| 91一区二区在线| 欧美三级日韩三级| 欧美一区二区视频在线观看 | 欧美午夜寂寞影院| 欧美在线视频不卡| 欧美大片在线观看| 欧美大片日本大片免费观看| 国产欧美久久久精品影院| 亚洲色大成网站www久久九九| 一区二区三区在线免费观看| 五月激情综合婷婷| 国产在线国偷精品产拍免费yy| 成人免费av在线| 欧美日韩激情在线| 国产欧美1区2区3区| 亚洲午夜一二三区视频| 国产专区综合网| 一本久久a久久免费精品不卡| 51精品视频一区二区三区| 久久先锋影音av鲁色资源网| 亚洲欧美日韩一区| 男男gaygay亚洲| 91原创在线视频| 精品99久久久久久| 亚洲主播在线观看| 国产成人精品亚洲日本在线桃色| 欧美在线一二三四区| 久久久精品中文字幕麻豆发布| 亚洲免费在线视频| 久久国产剧场电影| 欧美性猛交xxxx乱大交退制版| 久久精品亚洲麻豆av一区二区| 亚洲影院免费观看| 成人午夜激情在线| 91精品蜜臀在线一区尤物| 亚洲日韩欧美一区二区在线| 老司机精品视频线观看86 | 2024国产精品视频| 一二三区精品视频| 国产精品系列在线播放| 91精品在线免费| 亚洲免费大片在线观看| 国产成人精品综合在线观看| 日韩欧美国产小视频| 亚洲国产美女搞黄色| 99久久er热在这里只有精品66| 日韩精品一区二| 丝瓜av网站精品一区二区| 91麻豆福利精品推荐| 国产亚洲视频系列| 久久精品免费观看| 91精品国产综合久久蜜臀| 亚洲精品乱码久久久久久久久| 丁香婷婷综合激情五月色| 欧美岛国在线观看| 麻豆国产精品一区二区三区| 欧美日韩成人综合天天影院 | 亚洲人成影院在线观看| 国产99久久久国产精品| 精品美女一区二区| 麻豆成人在线观看| 日韩免费观看2025年上映的电影| 午夜视频一区在线观看| 欧美吞精做爰啪啪高潮| 亚洲综合激情小说| 欧美私模裸体表演在线观看| 亚洲激情六月丁香| 欧洲精品在线观看| 亚洲曰韩产成在线| 精品视频在线看| 日韩精品免费专区| 欧美一区二区三区视频免费播放 | 欧美激情综合五月色丁香小说|