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

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

?? driv0299.c

?? ZORAN 962/966 SOURCE CODE,DVD chip
?? C
?? 第 1 頁 / 共 3 頁
字號:
			{
				NextDerotStep--;
			}
		
			if (NextDerotStep)
			{
				FieldSetVal(handle, DEROTATORFREQUENCYMSB, (INT16)MSB(DerotFreq));
				FieldSetVal(handle, DEROTATORFREQUENCYLSB, (INT16)LSB(DerotFreq));   
				RegSetRegisters(handle, R_CFRM, 2);			/*	Set the derotator frequency	*/
			}
		}
	
		pParams->Direction = -pParams->Direction;			/*	Change the zigzag direction	*/    
	}
	while ((pParams->State != TIMINGOK) && NextDerotStep);
	
	if (pParams->State == TIMINGOK)
	{
		RegGetRegisters(handle, R_CFRM, 2);					/*	Get the derotator frequency	*/ 
		pParams->DerotFreq = pParams->TunerIQ*((short int) MAKEWORD(FieldGetVal(handle,DEROTATORFREQUENCYMSB),FieldGetVal(handle,DEROTATORFREQUENCYLSB)));
		pResult->SymbolRate = RegGetSymbolRate(handle);
	}
	
	return pParams->State;
}

/*****************************************************
--FUNCTION	::	SearchCarrier
--ACTION	::	Search a QPSK carrier with the derotator
--PARAMS IN	::	
--PARAMS OUT::	NONE
--RETURN	::	NOCARRIER if no carrier had been found, CARRIEROK otherwise 
--***************************************************/
SIGNALTYPE SearchCarrier(DEMOD_HANDLE handle, SEARCHPARAMS *pParams, SEARCHRESULT *pResult)
{
	long DerotFreq = 0;
	long LastDerotFreq = 0;
	long DerotLimit;
	long NextLoop = 3;
	INT32 index = 0;

	pParams->State = NOCARRIER;

	DerotLimit = (pParams->SubRange / 2L) / pParams->Mclk;
	DerotFreq = pParams->DerotFreq;
	
	RegSetField(handle, CFD_ALGO, 1);
	
	do
	{	
		if (CheckCarrier(handle, pParams) == NOCARRIER)
		{
			index++;
			LastDerotFreq = DerotFreq;
			DerotFreq += index*pParams->Direction*pParams->TunerIQ*pParams->DerotStep;	/*	Compute the next derotator position for the zig zag	*/    
		
			if (ABS(DerotFreq) > DerotLimit)
			{
				NextLoop--;
			}
				
			if (NextLoop)
			{
				RegSetField(handle,CFD_ALGO, 1);
				FieldSetVal(handle,DEROTATORFREQUENCYMSB,(INT16)MSB(DerotFreq));
				FieldSetVal(handle,DEROTATORFREQUENCYLSB,(INT16)LSB(DerotFreq));   
				RegSetRegisters(handle,R_CFRM, 2); 			/*	Set the derotator frequency	*/
			}
		}
		else
		{
			pResult->SymbolRate = pParams->SymbolRate;
		}
		
		pParams->Direction = -pParams->Direction;			/*	Change the zigzag direction	*/    
	}
	while ((pParams->State != CARRIEROK) && NextLoop);
	
	
	if (pParams->State == CARRIEROK)
	{
		pParams->DerotFreq = DerotFreq;
	}
	else
	{
		pParams->DerotFreq = LastDerotFreq;	
	}
	
	return pParams->State;
}


/****************************************************
--FUNCTION	::	SearchLock
--ACTION	::	Search for lock indicator
--PARAMS IN	::	pParams->Tdata	=>	Time to wait for data
--PARAMS OUT::	pParams->State	=>	Result of the search
--RETURN	::	NODATA if data not founded, DATAOK otherwise 
--**************************************************/
#pragma argsused
SIGNALTYPE SearchLock(DEMOD_HANDLE handle, SEARCHPARAMS *pParams, SEARCHRESULT *pResult)
{
	if (CheckData(handle, pParams) == NODATA)		/* Check for data */   
	{
		IQInvertion(handle);						/* Invert I and Q */
		if (CheckData(handle, pParams) == NODATA)	/* Check for data */
			IQInvertion(handle);					/* Invert I and Q */ 
	}

	return pParams->State;
}

/*****************************************************
--FUNCTION	::	SearchData
--ACTION	::	Search a QPSK carrier with the derotator, if there is a false lock 
--PARAMS IN	::	
--PARAMS OUT::	NONE
--RETURN	::	NOCARRIER if no carrier had been found, CARRIEROK otherwise 
--***************************************************/
SIGNALTYPE SearchData(DEMOD_HANDLE handle, SEARCHPARAMS *pParams, SEARCHRESULT *pResult)
{
	long DerotFreq;
	long DerotStep;
	long DerotLimit;
	long DerotOffset;
	INT32 NextLoop = 3;
	INT32 index = 1;
	long CurrentFreq;
	
	CurrentFreq = pParams->Frequency;
	DerotStep = (pParams->SymbolRate/4L)/pParams->Mclk; 
	DerotLimit = (pParams->SubRange/2L)/pParams->Mclk;      
	DerotFreq = pParams->DerotFreq;
	
	do
	{
		if ((pParams->State != CARRIEROK) || (SearchLock(handle,pParams,pResult) != DATAOK))
		{
			/* Compute the next derotator position for the zig zag	*/
			DerotFreq += index*pParams->Direction*pParams->TunerIQ*DerotStep;
			CurrentFreq = pParams->Frequency + (DerotFreq*pParams->Mclk)/1000;
		
			if (ABS(DerotFreq) > DerotLimit)
			{
				NextLoop--;
			}
			
			if (NextLoop)
			{	
				/* If the False Lock is outside the derotator capture range	*/
				DerotOffset = ((CurrentFreq - (TunerSetFrequency(handle,CurrentFreq))) * pParams->Mclk )/1000; /* Move the tuner */
				WaitTuner(handle, 100);									/* Is tuner Locked? */ 
			
				RegSetField(handle, CFD_ALGO, 1);
			
				FieldSetVal(handle, DEROTATORFREQUENCYMSB, (INT16)MSB(DerotOffset));
				FieldSetVal(handle, DEROTATORFREQUENCYLSB, (INT16)LSB(DerotOffset)); 
				RegSetRegisters(handle, R_CFRM, 2);  /*	Reset the derotator frequency */
				
				CheckCarrier(handle, pParams);
				
				index++;
			}
		}
		
		pParams->Direction = -pParams->Direction;			/* Change the zigzag direction */
	}
	while ((pParams->State != DATAOK) && NextLoop);
	
	if (pParams->State == DATAOK)
	{
		/* Get the derotator frequency	*/
		pParams->DerotFreq = pParams->TunerIQ*(INT32)(MAKEWORD(FieldGetVal(handle,DEROTATORFREQUENCYMSB),FieldGetVal(handle,DEROTATORFREQUENCYLSB)));
		pParams->Frequency = CurrentFreq;
	}	

	return pParams->State;
}


/****************************************************
--FUNCTION	::	CheckRange
--ACTION	::	Check if the founded frequency is in the correct range
--PARAMS IN	::	pParams->BaseFreq =>	
--PARAMS OUT::	pParams->State	=>	Result of the check
--RETURN	::	RANGEOK if check success, OUTOFRANGE otherwise 
--***************************************************/
#pragma argsused
SIGNALTYPE CheckRange(SEARCHPARAMS *pParams, SEARCHRESULT *pResult) 
{
	INT32 RangeOffset;
	INT32 TransponderFrequency;

	RangeOffset = pParams->SearchRange / 2000L;  
	TransponderFrequency = pParams->Frequency + (pParams->DerotFreq * pParams->Mclk) / 1000L;
	
	if ( (TransponderFrequency >= (pParams->BaseFreq - RangeOffset) )
		 && (TransponderFrequency <= (pParams->BaseFreq + RangeOffset)) )
	{
		pParams->State = RANGEOK;
	}
	else
	{
		pParams->State = OUTOFRANGE;
	}

	return pParams->State;
}

/****************************************************
--FUNCTION	::	TunerCentering
--ACTION	::	Optimisation of the tuner position to allow frequency variations
--PARAMS IN	::	pParams	
				AllowedOffset
--PARAMS OUT::	pResult
--RETURN	::	DATAOK if success 
--**************************************************/
SIGNALTYPE TunerCentering(DEMOD_HANDLE handle, SEARCHPARAMS *pParams, SEARCHRESULT *pResult, long AllowedOffset)    
{
	INT32 DerotFreq;
	INT32 MinOffset;
	INT32 MaxOffset;
	INT32 CentringFrequency;
	INT32 TransponderFrequency;
	INT32 Fs;
	INT32 sign;
	
	Fs = CarrierWidth(pParams->SymbolRate, pParams->RollOff);
	DerotFreq = ABS(pParams->DerotFreq * pParams->Mclk); 
	
	if ((pParams->TunerIF == 0) && (Fs < 4000000L))
	{
		MinOffset = 2000000L;
	}
	else
	{
		MinOffset = 0;
	}
	
	MaxOffset = MAX(pParams->TunerBW/2 - Fs/2 - AllowedOffset, MinOffset + pParams->TunerStep);   
	
	if (!INRANGE(MinOffset, DerotFreq, MaxOffset) || (CheckData(handle, pParams) == NODATA))
	{
		sign = (pParams->DerotFreq > 0) ? 1 : -1; 
		TransponderFrequency = pParams->Frequency + (pParams->DerotFreq * pParams->Mclk) / 1000;
		CentringFrequency = TransponderFrequency + (sign * MinOffset) / 1000;
	
		CentringFrequency = TunerSetFrequency(handle, CentringFrequency);	/*	Move the tuner	*/   
		WaitTuner(handle, 100);		/* Is tuner Locked? (wait 100 ms maxi) */     
	
		/* Reset Derotator */
		pParams->DerotFreq = pParams->TunerIQ*(((TransponderFrequency - CentringFrequency)*1000L)/pParams->Mclk);
		pParams->Frequency = CentringFrequency;
		pParams->Direction = 1;
		FieldSetVal(handle, DEROTATORFREQUENCYMSB, MSB(pParams->DerotFreq));
		FieldSetVal(handle, DEROTATORFREQUENCYLSB, LSB(pParams->DerotFreq));   
		RegSetRegisters(handle, R_CFRM, 2);
		
		/* Wait for agc1, agc2 and timing loop */
		Ker_SleepUs(1000UL * pParams->Tagc1 + pParams->Tagc2 + pParams->Ttiming);	
	
		/* Search for carrier */
		if (SearchCarrier(handle, pParams, pResult) == CARRIEROK)
		{
			/* Search for data */
			SearchData(handle, pParams, pResult);
		}
	}
	
	return pParams->State;
}

/****************************************************
--FUNCTION	::	FirstSubRange
--ACTION	::	Compute the first SubRange of the search 
--PARAMS IN	::	pParams->SearchRange
--PARAMS OUT::	pParams->SubRange
--RETURN	::	NONE
--***************************************************/
void FirstSubRange(SEARCHPARAMS *pParams)
{
	long maxsubrange;
	
	maxsubrange = pParams->TunerBW - CarrierWidth(pParams->SymbolRate,pParams->RollOff)/2;
	
	if (maxsubrange > 0)
	{
		pParams->SubRange = MIN(pParams->SearchRange,maxsubrange);
	}
	else
	{
		pParams->SubRange = 0;
	}

	pParams->Frequency = pParams->BaseFreq;
	pParams->TunerOffset = 0L;
	pParams->SubDir = 1;
}
  
/****************************************************
--FUNCTION	::	NextSubRange
--ACTION	::	Compute the next SubRange of the search 
--PARAMS IN	::	Frequency	->	Start frequency
--				pParams->SearchRange
--PARAMS OUT::	pParams->SubRange
--RETURN	::	NONE
--***************************************************/
void NextSubRange(SEARCHPARAMS *pParams)
{
	long OldSubRange;
	
	if (pParams->SubDir > 0)
	{
		OldSubRange = pParams->SubRange;
		pParams->SubRange = MIN((pParams->SearchRange/2) - (pParams->TunerOffset + pParams->SubRange/2),pParams->SubRange);
		pParams->TunerOffset += (OldSubRange + pParams->SubRange)/2;
	}
	
	pParams->Frequency = pParams->BaseFreq + (pParams->SubDir * pParams->TunerOffset)/1000;    
	pParams->SubDir = -pParams->SubDir;
}

/*****************************************************
--FUNCTION	::	AutoSearchAlgo
--ACTION	::	Search for Signal, Timing, Carrier and then data at a given Frequency, 
--				in a given range
--PARAMS IN	::	NONE
--PARAMS OUT::	NONE
--RETURN	::	Type of the founded signal (if any)
--***************************************************/
SIGNALTYPE AutoSearchAlgo(DEMOD_HANDLE handle)
{
	UINT8 sn, to, hy, errorrate;

	DEMOD_SAT_DATA *sDemodData = (DEMOD_SAT_DATA*)handle;			

	SEARCHPARAMS *pParams;
	SEARCHRESULT *pResult;
	
	pParams = &(sDemodData->Params);
	pResult = &(sDemodData->Result);
	
	pParams->Frequency = pParams->BaseFreq;
	pParams->Direction = 1;
	
	RegTriggerOn(handle);
	RegSetSymbolRate(handle,pParams->SymbolRate);	/*	Set the symbol rate	*/
	RegGetOneRegister(handle,R_PR);
	RegGetOneRegister(handle,R_VSEARCH);  
	
	/* Get fields value	*/
	sn = FieldGetVal(handle,SN);  
	to = FieldGetVal(handle,TO);  
	hy = FieldGetVal(handle,H);  
	errorrate = FieldGetVal(handle,RATE);
	RegTriggerOff(handle);
	
	/* Initial calculations	*/
	RegTriggerOn(handle);
	pParams->DerotStep = pParams->DerotPercent*(pParams->SymbolRate/1000L)/pParams->Mclk;	/*	saut de DerotStep/1000 * Fsymbol	*/     
	pParams->Ttiming = CalcTimingTimeConstant(pParams->SymbolRate);
	pParams->Tderot = 2L + CalcDerotTimeConstant(pParams->SymbolRate);
	pParams->Tdata = 2L + CalcDataTimeConstant(handle,errorrate,sn,to,hy,pParams->SymbolRate);
	RegTriggerOff(handle);
	
	FirstSubRange(pParams);
	
	do
	{
		/* Handle any exceptions - abort */
		if (Exception_catchAndRethrow(EXCEPTION_MEDIUM_EJECTED | EXCEPTION_POWER_DOWN_REQUEST | EXCEPTION_ABORT_FTA_CH_PLAY | EXCEPTION_ABORT_FTA_SCAN)) 
		{
			sDemodData->Result.SignalType = NOAGC1;

			tr_printf(("AutoSearchAlgo: Exception_catchAndRethrow()\n"));

			return FALSE;
		}

		/* Initialisations	*/
		FieldSetVal(handle, DEROTATORFREQUENCYMSB, 0); 
		FieldSetVal(handle, DEROTATORFREQUENCYLSB, 0);   
		RegSetRegisters(handle, R_CFRM, 2); 		/* Reset of the derotator frequency */
		RegSetField(handle, RTF, 0);
		RegSetField(handle, CFD_ALGO, 1);
	
		pParams->DerotFreq = 0;
		pParams->State = NOAGC1;
		
		RegTriggerOn(handle);
		pParams->Frequency = TunerSetFrequency(handle, pParams->Frequency);	/*	Move the tuner	*/ 
		RegTriggerOff(handle);
		
		/* Temporisations */
		RegTriggerOn(handle);
		Ker_SleepUs(1000UL * pParams->Tagc1 + pParams->Tagc2 + pParams->Ttiming);	/* Wait for agc1,agc2 and timing loop */
		WaitTuner(handle, 100L);		/*	Is tuner Locked	? (wait 100 ms maxi) */
		RegTriggerOff(handle);
		
		RegTriggerOn(handle);
		
		if (CheckAgc1(handle,pParams) >= AGC1SATURATION)
		{
			/* There is signal in the band */
			if (pParams->SymbolRate <= pParams->TunerBW/2)
			{
				/* For low rates (SCPC)	*/
				SearchTiming(handle, pParams, pResult);
			}
			else
			{
				/* For high rates (MCPC) */
				CheckTiming(handle,pParams);
			}

			if (pParams->State != NOTIMING)
			{
				/* Search for carrier */
				if (SearchCarrier(handle, pParams, pResult) == CARRIEROK)
				{
					/* Check for data */
					if (SearchData(handle, pParams, pResult) == DATAOK)
					{
						if (pParams->ScanMode != DRV_SCAN)
						{
							TunerCentering(handle, pParams, pResult, 2000000L);
						}

						if (CheckRange(pParams, pResult) == RANGEOK)
						{
							pResult->Frequency = pParams->Frequency + (pParams->DerotFreq*(pParams->Mclk)/1000); 
							pResult->PunctureRate = RegGetField(handle, CPR); 							
						}
					}
				}
			}
		}
		
		if (pParams->State != RANGEOK)
		{
			NextSubRange(pParams);
		}
		
		RegTriggerOff(handle);
	}	  
	while (pParams->SubRange && (pParams->State != RANGEOK));
	
	pResult->SignalType = pParams->State;
	
	return pParams->State;
}

/*****************************************************
--FUNCTION	::	SimpleSearch
--ACTION	::	only set parameters and Search for Signal
--PARAMS IN	::	NONE
--PARAMS OUT::	NONE
--RETURN	::	Type of the founded signal (if any)
--***************************************************/
SIGNALTYPE SimpleSearch(DEMOD_HANDLE handle)
{
	UINT8 errorrate,sn,to,hy;
	DEMOD_SAT_DATA *sDemodData = (DEMOD_SAT_DATA*)handle;			

	SEARCHPARAMS *pParams;
	SEARCHRESULT *pResult;
	
	pParams = &(sDemodData->Params);
	pResult = &(sDemodData->Result);
	
	pParams->Frequency = pParams->BaseFreq;
	pParams->Direction = 1;
	
	RegTriggerOn(handle);
	RegSetSymbolRate(handle,pParams->SymbolRate);	/*	Set the symbol rate	*/
	RegGetOneRegister(handle,R_PR);
	RegGetOneRegister(handle,R_VSEARCH);  
	
	/* Get fields value	*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久免费看| 不卡在线视频中文字幕| 777奇米成人网| 五月婷婷综合网| 欧美一级一区二区| 国产一区二区在线视频| 国产亚洲精品福利| 97精品视频在线观看自产线路二| 亚洲图片欧美激情| 欧美日韩精品一区二区在线播放| 日韩av一二三| 国产人妖乱国产精品人妖| 91在线观看成人| 亚洲成人精品一区| 久久久久99精品国产片| 91女人视频在线观看| 亚洲超丰满肉感bbw| 欧美精品一区二区三区高清aⅴ | 免费在线观看一区二区三区| 久久亚洲欧美国产精品乐播| 91在线播放网址| 日本怡春院一区二区| 国产欧美精品在线观看| 日本道精品一区二区三区| 奇米色一区二区| 中文一区二区完整视频在线观看| 欧美日韩一区二区不卡| 国产呦精品一区二区三区网站| 自拍偷在线精品自拍偷无码专区| 欧美高清www午色夜在线视频| 国产精品夜夜嗨| 天天色综合成人网| 中文字幕欧美一区| 日韩欧美国产精品一区| 色偷偷成人一区二区三区91| 久久99在线观看| 亚洲线精品一区二区三区八戒| 精品国产伦一区二区三区观看方式| 97国产一区二区| 精品一二线国产| 午夜亚洲福利老司机| 日本一区二区三区在线观看| 91麻豆精品国产91久久久久久久久 | 欧美α欧美αv大片| 日本道色综合久久| 日本成人在线不卡视频| 中文字幕一区二| 日韩欧美电影一区| 欧美在线|欧美| 成人午夜视频福利| 久久精品国产色蜜蜜麻豆| 亚洲一二三四在线| 亚洲欧洲日韩在线| 欧美极品少妇xxxxⅹ高跟鞋 | 国产精品全国免费观看高清| 日韩三级精品电影久久久 | 欧美va在线播放| 欧美在线观看一区| 色综合天天性综合| 99综合电影在线视频| 国产一二精品视频| 看电视剧不卡顿的网站| 日本在线播放一区二区三区| 亚洲成av人在线观看| 曰韩精品一区二区| 国产精品久久久久一区二区三区共| 精品久久久影院| 欧美精品一区二区在线播放| 日韩精品在线看片z| 欧美一级二级三级乱码| 制服丝袜中文字幕亚洲| 制服视频三区第一页精品| 欧美久久久影院| 欧美日韩精品综合在线| 欧美日韩精品专区| 51午夜精品国产| 日韩视频在线观看一区二区| 日韩三级视频在线观看| 日韩免费视频一区| 337p日本欧洲亚洲大胆色噜噜| 精品久久一二三区| 国产性天天综合网| 国产精品久久久久久久久免费樱桃| 国产精品视频麻豆| 亚洲欧美日韩一区二区三区在线观看 | 日本韩国一区二区三区视频| 在线影视一区二区三区| 欧美日韩国产天堂| 日韩午夜激情av| 久久嫩草精品久久久久| 国产亚洲成av人在线观看导航| 中文久久乱码一区二区| 樱桃视频在线观看一区| 青青草国产成人99久久| 9i在线看片成人免费| 在线观看免费亚洲| 日韩一区二区视频| 国产性色一区二区| 夜夜嗨av一区二区三区| 午夜电影网一区| 精品一区二区在线观看| 成人sese在线| 欧美日韩大陆在线| 久久久久久久免费视频了| 国产精品你懂的在线欣赏| 亚洲猫色日本管| 免费观看91视频大全| 国产美女久久久久| 欧美最猛黑人xxxxx猛交| 51精品国自产在线| 国产三级精品视频| 亚洲国产精品欧美一二99| 久久99久久久欧美国产| 色综合欧美在线| 日韩一区二区免费在线观看| 亚洲国产精品成人综合| 午夜精品久久久久久久久久久| 国模一区二区三区白浆| 91黄色免费观看| ww亚洲ww在线观看国产| 一区二区三区在线看| 加勒比av一区二区| 欧美无砖专区一中文字| 2022国产精品视频| 亚洲va天堂va国产va久| 丁香网亚洲国际| 日韩一区二区三区三四区视频在线观看| 国产精品区一区二区三区| 美国三级日本三级久久99| 色婷婷精品久久二区二区蜜臀av | 欧美午夜精品理论片a级按摩| 欧美xingq一区二区| 亚洲综合色视频| 成人午夜大片免费观看| 欧美不卡视频一区| 亚洲午夜精品17c| 99精品在线观看视频| 久久精品夜色噜噜亚洲aⅴ| 丝袜a∨在线一区二区三区不卡| 成人sese在线| 国产午夜亚洲精品午夜鲁丝片 | 欧美韩国一区二区| 久99久精品视频免费观看| 在线免费av一区| 国产精品剧情在线亚洲| 国产在线播放一区三区四| 欧美乱妇20p| 亚洲国产精品自拍| 91麻豆免费看| 中文字幕亚洲不卡| 国产超碰在线一区| 国产日韩欧美一区二区三区综合| 久久97超碰色| 欧美一级欧美一级在线播放| 亚洲国产欧美日韩另类综合| 91在线你懂得| 136国产福利精品导航| 国产69精品久久久久777| 亚洲精品在线三区| 精一区二区三区| 欧美成人猛片aaaaaaa| 天涯成人国产亚洲精品一区av| 日本久久一区二区| 一区二区三区日本| 欧美揉bbbbb揉bbbbb| 亚洲福利电影网| 欧美精品第1页| 日本怡春院一区二区| 日韩天堂在线观看| 国模套图日韩精品一区二区 | av电影在线观看完整版一区二区| 亚洲高清不卡在线| 欧美日韩精品三区| 欧美aaaaa成人免费观看视频| 欧美精品色综合| 免费在线观看日韩欧美| 日韩精品一区二区三区老鸭窝| 精品影视av免费| 国产精品嫩草影院av蜜臀| 91免费在线看| 天天综合天天做天天综合| 欧美精品日韩一区| 国产在线精品免费av| 国产精品全国免费观看高清 | 欧美国产日本视频| 91麻豆自制传媒国产之光| 亚洲一区电影777| 日韩欧美国产精品一区| 粉嫩蜜臀av国产精品网站| 专区另类欧美日韩| 欧美怡红院视频| 精品一区二区三区免费| 中文字幕乱码亚洲精品一区| 91免费版在线| 日韩电影在线免费观看| 国产精品一区二区91| 精品99久久久久久| 成人久久久精品乱码一区二区三区| 国产精品蜜臀av| 在线视频国产一区|