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

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

?? rtcodeccomm.cpp

?? freesacle mx21下的聲卡alc5620的驅動程序
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
			break;		  default:			bRetVal=FALSE;		}		}	return 	bRetVal;}//*****************************************************************************////function:Setting the main I2S sample rate clock ////Intel MainstoneII's I2S_SYSCLK generate a frequency between 2MHz~12.2MHz//So the MCLK equal 256 fs////*****************************************************************************BOOL RT_CodecComm::I2S_Codec_SR_Ctrl(void){	BOOL bRetVal=FALSE;				//256fs	//Set DA WCLK div 64	//Set AD WCLK div 64,div1 equal to 8,div2 equal to 8	//Set SCLK div 4,div1 equal to 1,div2 equal to 4	bRetVal=WriteCodecRegMask(RT_STEREO_DAC_CLK_CTRL1,							  (STEREO_DA_WCLK_DIV_64  	|							   STEREO_AD_WCLK_DIV2_8	|							   STEREO_AD_WCLK_DIV1_8  |										  							   STEREO_SCLK_DIV2_4		|							   STEREO_SCLK_DIV1_1									),							  (STEREO_DA_WCLK_DIV_MASK 	|							   STEREO_AD_WCLK_DIV2_MASK |							   STEREO_AD_WCLK_DIV1_MASK |										   STEREO_SCLK_DIV2_MASK	|							   STEREO_SCLK_DIV1_MASK	   										)								);		//256fs	//Stereo AD filter Select 128x	//Set AD filter div 2,div1 equal to 1,div2 equal to 2	//Stereo DA filter Select 128x	//Set DA filter div 2,div1 equal to 1,div2 equal to 2	bRetVal=WriteCodecRegMask(RT_STEREO_DAC_CLK_CTRL2,							  (STEREO_AD_64OSR_SEL_128X  	|															   STEREO_AD_FILTER_DIV2_2		|			   				   STEREO_AD_FILTER_DIV1_1		|					   				   STEREO_DA_64OSR_SEL_128X		|			   				   STEREO_DA_FILTER_DIV2_2		|							   STEREO_DA_FILTER_DIV1_1																	),			  				  (STEREO_AD_64OSR_SEL_MASK	 	|				   				   STEREO_AD_FILTER_DIV2_MASK	|			   				   STEREO_AD_FILTER_DIV1_MASK	|			   				   STEREO_DA_64OSR_SEL_MASK		|							   STEREO_DA_FILTER_DIV2_MASK	|								   STEREO_DA_FILTER_DIV1_MASK			   				   )								);				return bRetVal;}//*****************************************************************************////function:Depop of HP Out////*****************************************************************************BOOL RT_CodecComm::DepopForHP(){	BOOL bRetVal=FALSE;		ShadowWriteCodec(RT_POWERDOWN_CTRL_STAT, 0,CodecDevId);//power on all PR bit	bRetVal=WriteCodecRegMask(RT_PWR_MANAG_ADD1,PWR_MAIN_BIAS,PWR_MAIN_BIAS);//enable main BIAS	bRetVal=WriteCodecRegMask(RT_PWR_MANAG_ADD2,PWR_MIXER_VREF,PWR_MIXER_VREF);//enable Vref	bRetVal=WriteCodecRegMask(RT_PWR_MANAG_ADD3,PWR_HP_L_OUT | PWR_HP_R_OUT,PWR_HP_L_OUT | PWR_HP_R_OUT);//enable Amp of HP_R and HP_L 	DelayMSTime(2000);//delay 2 seconds	bRetVal=WriteCodecRegMask(RT_PWR_MANAG_ADD1,PWR_HI_R_LOAD_HP,PWR_HI_R_LOAD_HP);	//De-pop Disable	return bRetVal;}//*****************************************************************************////function:hardware EQ configuration////*****************************************************************************BOOL RT_CodecComm::EnableHwEq(HW_EQ_PRESET_TYPE Hw_Eq_Type,BOOL HwEqEnable){	BOOL bRetVal=TRUE;	int HwEqIndex;		if(m_WaveOutSampleRate==KHZ48_000)	{		HwEq_Preset=HwEq_Preset_48k;	}	else 	{		HwEq_Preset=HwEq_Preset_44k;	}		if(HwEqEnable)	{		//Disable HW EQ setting		bRetVal=WriteCodecAdvanceMask(HW_EQ_CONTROL,0,ENABLE_HW_EQ_BLOCK | ENABLE_HW_EQ_HPF | ENABLE_HW_EQ_BP3 | ENABLE_HW_EQ_BP2 | ENABLE_HW_EQ_BP1 | ENABLE_HW_EQ_LPF);			//setting HW EQ Coefficient		for(HwEqIndex=HW_EQ_LP0_A1;HwEqIndex<=HW_EQ_HP4_H0;HwEqIndex++)		{						if(!WriteCodecAdvance((EXT_CODEC_INDEX)HwEqIndex,HwEq_Preset[Hw_Eq_Type].EqValue[HwEqIndex]))			{				bRetVal=FALSE;				return bRetVal;			}			}		//enable Hardware EQ setting		if(!WriteCodecAdvance(HW_EQ_CONTROL,HwEq_Preset[Hw_Eq_Type].HwEQCtrl))			{				bRetVal=FALSE;				return bRetVal;			}		return bRetVal;		}	else	{		//Disable HW EQ setting		bRetVal=WriteCodecAdvanceMask(HW_EQ_CONTROL,0,ENABLE_HW_EQ_BLOCK | ENABLE_HW_EQ_HPF | ENABLE_HW_EQ_BP3 | ENABLE_HW_EQ_BP2 | ENABLE_HW_EQ_BP1 | ENABLE_HW_EQ_LPF);					return bRetVal;	}}BOOL RT_CodecComm::SetAudioOutputGain(WAVOUT_PATH WavOutPath,DWORD dwGain){	BOOL bRetVal=FALSE;	m_dwOutputGain = dwGain;    UINT32  ac97volL, ac97volR;     UINT32 volL = m_dwOutputGain & 0x0000FFFF ;     UINT32 volR = (m_dwOutputGain & 0xFFFF0000)>>16 ;     UINT16 usRegVal;    ac97volL = 0x1f -( volL*0x1f)/0xffff ;     ac97volR = 0x1f -( volR*0x1f)/0xffff ;     ac97volL = ac97volL << 8 ;     usRegVal = ac97volL | ac97volR ; 		switch(WavOutPath)		{			case RT_WAVOUT_PATH_ALL:				bRetVal=WriteCodecRegMask(RT_SPEAKER_OUT_VOL,usRegVal,0x1f1f);					//set Speaker output volume gain				bRetVal=WriteCodecRegMask(RT_HP_OUT_VOL,usRegVal,0x1f1f);						//set HP output volume gain				bRetVal=WriteCodecRegMask(RT_PHONEIN_MONO_OUT_VOL,(ac97volL+ac97volR)/2,0x1f);//set Mono output volume gain				break;					case RT_WAVOUT_PATH_HP:				bRetVal=WriteCodecRegMask(RT_HP_OUT_VOL,usRegVal,0x1f1f);						//set HP output volume gain								break;			case RT_WAVOUT_PATH_SPK:								bRetVal=WriteCodecRegMask(RT_SPEAKER_OUT_VOL,usRegVal,0x1f1f);					//set Speaker output volume gain				break;						case RT_WAVOUT_PATH_MONO:				bRetVal=WriteCodecRegMask(RT_PHONEIN_MONO_OUT_VOL,(ac97volL+ac97volR)/2,0x1f);//set Mono output volume gain			break;			default:				return FALSE;		}		return	bRetVal;}//*****************************************************************************////function AudioOutEnable:Mute/Unmute audio out channel//							WavOutPath:output channel//							Mute :Mute/Unmute output channel											////*****************************************************************************BOOL RT_CodecComm::AudioOutEnable(WAVOUT_PATH WavOutPath,BOOL Mute){	BOOL RetVal=FALSE;		if(Mute)	{		switch(WavOutPath)		{			case RT_WAVOUT_PATH_ALL:				RetVal=WriteCodecRegMask(RT_SPEAKER_OUT_VOL,RT_L_MUTE|RT_R_MUTE,RT_L_MUTE|RT_R_MUTE);	//Mute Speaker right/left channel				RetVal=WriteCodecRegMask(RT_HP_OUT_VOL,RT_L_MUTE|RT_R_MUTE,RT_L_MUTE|RT_R_MUTE);	//Mute headphone right/left channel				RetVal=WriteCodecRegMask(RT_PHONEIN_MONO_OUT_VOL,RT_R_MUTE,RT_R_MUTE);				//Mute Mono channel				RetVal=WriteCodecRegMask(RT_STEREO_DAC_VOL,RT_M_HP_MIXER|RT_M_SPK_MIXER|RT_M_MONO_MIXER															  ,RT_M_HP_MIXER|RT_M_SPK_MIXER|RT_M_MONO_MIXER);	//Mute DAC to HP,Speaker,Mono Mixer					break;					case RT_WAVOUT_PATH_HP:				RetVal=WriteCodecRegMask(RT_HP_OUT_VOL,RT_L_MUTE|RT_R_MUTE,RT_L_MUTE|RT_R_MUTE);	//Mute headphone right/left channel								break;			case RT_WAVOUT_PATH_SPK:								RetVal=WriteCodecRegMask(RT_SPEAKER_OUT_VOL,RT_L_MUTE|RT_R_MUTE,RT_L_MUTE|RT_R_MUTE);	//Mute Speaker right/left channel						break;						case RT_WAVOUT_PATH_MONO:				RetVal=WriteCodecRegMask(RT_PHONEIN_MONO_OUT_VOL,RT_R_MUTE,RT_R_MUTE);	//Mute MonoOut channel					break;			case RT_WAVOUT_PATH_DAC:				RetVal=WriteCodecRegMask(RT_STEREO_DAC_VOL,RT_M_HP_MIXER|RT_M_SPK_MIXER|RT_M_MONO_MIXER															  ,RT_M_HP_MIXER|RT_M_SPK_MIXER|RT_M_MONO_MIXER);	//Mute DAC to HP,Speaker,Mono Mixer							break;			default:				return FALSE;		}	}	else	{		switch(WavOutPath)		{			case RT_WAVOUT_PATH_ALL:				RetVal=WriteCodecRegMask(RT_SPEAKER_OUT_VOL		,0,RT_L_MUTE|RT_R_MUTE);	//Mute Speaker right/left channel				RetVal=WriteCodecRegMask(RT_HP_OUT_VOL 		,0,RT_L_MUTE|RT_R_MUTE);	//Mute headphone right/left channel				RetVal=WriteCodecRegMask(RT_PHONEIN_MONO_OUT_VOL,0,RT_L_MUTE|RT_R_MUTE);	//Mute Mono channel				RetVal=WriteCodecRegMask(RT_STEREO_DAC_VOL	,0,RT_M_HP_MIXER|RT_M_SPK_MIXER|RT_M_MONO_MIXER);	//Mute DAC to HP,Speaker,Mono Mixer					break;					case RT_WAVOUT_PATH_HP:				RetVal=WriteCodecRegMask(RT_HP_OUT_VOL,0,RT_L_MUTE|RT_R_MUTE);	//unMute headphone right/left channel								break;			case RT_WAVOUT_PATH_SPK:								RetVal=WriteCodecRegMask(RT_SPEAKER_OUT_VOL,0,RT_L_MUTE|RT_R_MUTE);	//unMute Speaker right/left channel						break;						case RT_WAVOUT_PATH_MONO:				RetVal=WriteCodecRegMask(RT_PHONEIN_MONO_OUT_VOL,0,RT_R_MUTE);	//unMute MonoOut channel					break;			case RT_WAVOUT_PATH_DAC:				RetVal=WriteCodecRegMask(RT_STEREO_DAC_VOL,0,RT_M_HP_MIXER|RT_M_SPK_MIXER|RT_M_MONO_MIXER);	//unMute DAC to HP,Speaker,Mono Mixer			default:				return FALSE;		}	}		return RetVal;}//*****************************************************************************////function:Change audio codec power status////*****************************************************************************BOOL RT_CodecComm::ChangeCodecPowerStatus(POWER_STATE power_state){	unsigned short int PowerDownState=0;	switch(power_state)	{		case POWER_STATE_D0:			//FULL ON-----power on all power			ShadowWriteCodec(RT_POWERDOWN_CTRL_STAT,PowerDownState,DEV_AUDIO);			ShadowWriteCodec(RT_PWR_MANAG_ADD1,~PowerDownState,DEV_AUDIO);			ShadowWriteCodec(RT_PWR_MANAG_ADD2,~PowerDownState,DEV_AUDIO);			ShadowWriteCodec(RT_PWR_MANAG_ADD3,~PowerDownState,DEV_AUDIO);		break;			case POWER_STATE_D1:		//LOW ON-----																																						WriteCodecRegMask(RT_PWR_MANAG_ADD1,PWR_DAC_REF | PWR_MAIN_BIAS | PWR_MIC_BIAS1 | PWR_ZC_DET_PD | PWR_HI_R_LOAD_HP | PWR_MAIN_I2S											   ,PWR_DAC_REF | PWR_MAIN_BIAS | PWR_MIC_BIAS1 | PWR_ZC_DET_PD | PWR_HI_R_LOAD_HP | PWR_MAIN_I2S);										 														WriteCodecRegMask(RT_PWR_MANAG_ADD2,PWR_R_ADC_REC_MIXER | PWR_L_ADC_REC_MIXER | PWR_R_HP_MIXER | PWR_L_HP_MIXER | PWR_R_ADC_CLK_GAIN | PWR_L_ADC_CLK_GAIN | 												PWR_R_DAC_CLK | PWR_L_DAC_CLK | PWR_MIXER_VREF | PWR_CLASS_AB											   ,PWR_R_ADC_REC_MIXER | PWR_L_ADC_REC_MIXER | PWR_R_HP_MIXER | PWR_L_HP_MIXER | PWR_R_ADC_CLK_GAIN | PWR_L_ADC_CLK_GAIN | 												PWR_R_DAC_CLK | PWR_L_DAC_CLK | PWR_MIXER_VREF | PWR_CLASS_AB);			WriteCodecRegMask(RT_PWR_MANAG_ADD3,PWR_MIC1_BOOST | PWR_MIC1_VOL_CTRL | PWR_SPK_R_OUT | PWR_SPK_L_OUT |PWR_HP_R_OUT | PWR_HP_L_OUT |											    PWR_SPK_RN_OUT | PWR_SPK_LN_OUT											   ,PWR_MIC1_BOOST | PWR_MIC1_VOL_CTRL | PWR_SPK_R_OUT | PWR_SPK_L_OUT |PWR_HP_R_OUT | PWR_HP_L_OUT	|											    PWR_SPK_RN_OUT | PWR_SPK_LN_OUT);										break;		case POWER_STATE_D1_PLAYBACK:	//Low on of Playback			WriteCodecRegMask(RT_PWR_MANAG_ADD1,PWR_DAC_REF | PWR_HI_R_LOAD_HP | PWR_MAIN_BIAS | PWR_MAIN_I2S,PWR_DAC_REF | PWR_HI_R_LOAD_HP | PWR_MAIN_BIAS | PWR_MAIN_I2S);														WriteCodecRegMask(RT_PWR_MANAG_ADD2,PWR_R_HP_MIXER | PWR_L_HP_MIXER | PWR_R_DAC_CLK | PWR_L_DAC_CLK  | PWR_CLASS_AB | PWR_MIXER_VREF											   ,PWR_R_HP_MIXER | PWR_L_HP_MIXER | PWR_R_DAC_CLK | PWR_L_DAC_CLK  | PWR_CLASS_AB | PWR_MIXER_VREF);			WriteCodecRegMask(RT_PWR_MANAG_ADD3,PWR_SPK_R_OUT | PWR_SPK_L_OUT | PWR_HP_R_OUT | PWR_HP_L_OUT	|											    PWR_SPK_RN_OUT | PWR_SPK_LN_OUT											   ,PWR_SPK_R_OUT | PWR_SPK_L_OUT | PWR_HP_R_OUT | PWR_HP_L_OUT	|											    PWR_SPK_RN_OUT | PWR_SPK_LN_OUT);			break;		case POWER_STATE_D1_RECORD:	//Low on of Record			WriteCodecRegMask(RT_PWR_MANAG_ADD1,PWR_MIC_BIAS1 | PWR_MAIN_BIAS | PWR_MAIN_I2S,PWR_MIC_BIAS1 | PWR_MAIN_BIAS | PWR_MAIN_I2S);											//			WriteCodecRegMask(RT_PWR_MANAG_ADD2,PWR_R_ADC_REC_MIXER | PWR_L_ADC_REC_MIXER | PWR_R_ADC_CLK_GAIN | PWR_L_ADC_CLK_GAIN	| PWR_MIXER_VREF																						   ,PWR_R_ADC_REC_MIXER | PWR_L_ADC_REC_MIXER | PWR_R_ADC_CLK_GAIN | PWR_L_ADC_CLK_GAIN | PWR_MIXER_VREF);			WriteCodecRegMask(RT_PWR_MANAG_ADD3,PWR_MIC1_BOOST | PWR_MIC1_VOL_CTRL,PWR_MIC1_BOOST | PWR_MIC1_VOL_CTRL);					break;		case POWER_STATE_D2:		//STANDBY----											//			WriteCodecRegMask(RT_PWR_MANAG_ADD1,PWR_MAIN_BIAS,PWR_MAIN_BIAS);			WriteCodecRegMask(RT_PWR_MANAG_ADD2,PWR_MIXER_VREF,PWR_MIXER_VREF);																											WriteCodecRegMask(RT_PWR_MANAG_ADD1,0,PWR_DAC_REF | PWR_MIC_BIAS1 | PWR_HI_R_LOAD_HP);											//			WriteCodecRegMask(RT_PWR_MANAG_ADD2,0,PWR_R_ADC_REC_MIXER | PWR_L_ADC_REC_MIXER | PWR_R_HP_MIXER | PWR_L_HP_MIXER | PWR_R_ADC_CLK_GAIN | PWR_L_ADC_CLK_GAIN | 												PWR_R_DAC_CLK | PWR_L_DAC_CLK /* | PWR_CLASS_AB*/);			WriteCodecRegMask(RT_PWR_MANAG_ADD3,0,PWR_MIC1_BOOST | PWR_MIC1_VOL_CTRL | PWR_SPK_R_OUT | PWR_SPK_L_OUT |PWR_HP_R_OUT | PWR_HP_L_OUT |											    PWR_SPK_RN_OUT | PWR_SPK_LN_OUT);							break;		case POWER_STATE_D2_PLAYBACK:	//STANDBY of playback			WriteCodecRegMask(RT_PWR_MANAG_ADD1,0,PWR_DAC_REF | PWR_HI_R_LOAD_HP);											//			WriteCodecRegMask(RT_PWR_MANAG_ADD2,0,PWR_R_HP_MIXER | PWR_L_HP_MIXER | PWR_R_DAC_CLK | PWR_L_DAC_CLK  /*| PWR_CLASS_AB*/);//			WriteCodecRegMask(RT_PWR_MANAG_ADD3,0,PWR_SPK_R_OUT | PWR_SPK_L_OUT | PWR_HP_R_OUT | PWR_HP_L_OUT |//											    PWR_SPK_RN_OUT | PWR_SPK_LN_OUT);		break;		case POWER_STATE_D2_RECORD:		//STANDBY of record			WriteCodecRegMask(RT_PWR_MANAG_ADD1,0,PWR_MIC_BIAS1);											//			WriteCodecRegMask(RT_PWR_MANAG_ADD2,0,PWR_R_ADC_REC_MIXER | PWR_L_ADC_REC_MIXER | PWR_R_ADC_CLK_GAIN | PWR_L_ADC_CLK_GAIN);			WriteCodecRegMask(RT_PWR_MANAG_ADD3,0,PWR_MIC1_BOOST | PWR_MIC1_VOL_CTRL);			break;				case POWER_STATE_D3:		//SLEEP		case POWER_STATE_D4:		//OFF----power off all power,include PR0,PR1,PR3,PR4,PR5,PR6,EAPD,and addition power managment			ShadowWriteCodec(RT_PWR_MANAG_ADD1,0,DEV_AUDIO);			ShadowWriteCodec(RT_PWR_MANAG_ADD2,0,DEV_AUDIO);			ShadowWriteCodec(RT_PWR_MANAG_ADD3,0,DEV_AUDIO);			PowerDownState=RT_PWR_PR0 | RT_PWR_PR1 | RT_PWR_PR2 | RT_PWR_PR3 /*| RT_PWR_PR4*/ | RT_PWR_PR5 | RT_PWR_PR6 | RT_PWR_PR7; 					ShadowWriteCodec(RT_POWERDOWN_CTRL_STAT,PowerDownState,DEV_AUDIO);								break;			default:		break;	}	return TRUE;	}//*****************************************************************************////function:Process private message of codec////*****************************************************************************DWORD RT_CodecComm::ProcessAudioMessage(UINT uMsg,DWORD dwParam1,DWORD dwParam2){	unsigned short int MyData=0;	S_3D_SPATIAL s3d;   switch (uMsg)    {		        case WPDM_PRIVATE_WRITE_CODEC:             if (!ShadowWriteCodec( (BYTE) dwParam1,(unsigned short int)dwParam2 , DEV_AUDIO ))                return(MMSYSERR_ERROR);            DEBUGMSG(ZONE_ERROR, (TEXT( "write %x %x \r\n" ),dwParam1,dwParam2 ) );		            return (MMSYSERR_NOERROR);            break;        case WPDM_PRIVATE_READ_CODEC:	            if (!ShadowReadCodec( (BYTE) dwParam1, &MyData , DEV_AUDIO ))                return(MMSYSERR_ERROR);            DEBUGMSG(ZONE_ERROR, (TEXT( "read %x %x \r\n" ),dwParam1,MyData ));            if (dwParam2 != (unsigned short int) NULL)                * (unsigned short int *) dwParam2 =  MyData;            return (MMSYSERR_NOERROR);            break;				//To enable/Disable and config HW EQ        case WPDM_PRIVATE_CONFIG_HW_EQ:					if(!EnableHwEq((HW_EQ_PRESET_TYPE)dwParam1,(BYTE)dwParam2))				return(MMSYSERR_ERROR);            return (MMSYSERR_NOERROR);            break;		//To enable 3D Spatial function	   case WPDM_PRIVATE_ENABLE_3D:						s3d.bEnable3D=TRUE;			s3d.b3D_Gain=(BYTE)dwParam1;			s3d.b3D_Ratio=(BYTE)dwParam2;						if(!Enable_3D_Spatial(s3d))				return(MMSYSERR_ERROR);            return (MMSYSERR_NOERROR);					break;				//To disable 3D Spatial	function	   case WPDM_PRIVATE_DISABLE_3D:						s3d.bEnable3D=FALSE;			s3d.b3D_Gain=(BYTE)dwParam1;			s3d.b3D_Ratio=(BYTE)dwParam2;							if(!Enable_3D_Spatial(s3d))				return(MMSYSERR_ERROR);            return (MMSYSERR_NOERROR);					break;		//To enable/disable pseudo stereo function		   case WPDM_PRIVATE_CONFIG_PSEUDO:						if(!Enable_Pseudo_Stereo((BYTE)dwParam1))				return(MMSYSERR_ERROR);            return (MMSYSERR_NOERROR);			break;				//To enable/disable Auto volume control	function	   case WPDM_PRIVATE_CONFIG_AVC:							if(!EnableAVC((BYTE)dwParam1))				return(MMSYSERR_ERROR);            return (MMSYSERR_NOERROR);			break;	}		return(MMSYSERR_NOTSUPPORTED);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二三区| 日本美女视频一区二区| 欧美日韩不卡视频| 另类小说色综合网站| 综合av第一页| 久久精品视频网| 欧美一卡二卡三卡| 色哟哟欧美精品| 国产成人在线视频免费播放| 午夜成人免费视频| 亚洲欧美另类综合偷拍| 久久精品一区四区| 欧美成人精品福利| 欧美日韩国产三级| 在线视频中文字幕一区二区| 成人小视频在线| 国产在线精品国自产拍免费| 麻豆精品在线播放| 视频一区二区国产| 一区二区三区av电影 | 欧美成人一区二区三区片免费| 99国产精品国产精品毛片| 精品在线播放免费| 日韩中文字幕区一区有砖一区 | 欧美撒尿777hd撒尿| 99国产精品99久久久久久| 丰满少妇在线播放bd日韩电影| 久久99日本精品| 日韩成人免费在线| 视频一区二区不卡| 偷拍一区二区三区| 亚洲成在线观看| 亚洲第一电影网| 亚洲国产精品久久人人爱 | 亚洲国产cao| 亚洲日本va在线观看| 国产精品黄色在线观看| 国产精品欧美一区二区三区| 国产欧美精品一区| 中文文精品字幕一区二区| 国产亚洲欧美在线| 欧美经典一区二区三区| 国产亚洲一本大道中文在线| 国产目拍亚洲精品99久久精品| 久久综合九色综合97婷婷| 精品福利一二区| 久久色.com| 欧美国产一区二区在线观看| 国产农村妇女精品| 亚洲视频电影在线| 亚洲国产aⅴ天堂久久| 天堂一区二区在线| 免费成人结看片| 精品写真视频在线观看| 国产精品影音先锋| 国产91丝袜在线播放0| hitomi一区二区三区精品| 91在线国产观看| 欧美日韩在线三级| 日韩欧美www| 中文在线资源观看网站视频免费不卡 | 成人精品在线视频观看| 97se亚洲国产综合自在线观| 在线观看视频一区二区欧美日韩| 欧美日韩国产不卡| 国产亚洲午夜高清国产拍精品| 国产精品久久午夜| 天堂av在线一区| 国产资源精品在线观看| 成人app软件下载大全免费| 欧美性大战久久久| 日韩精品一区二区三区在线观看| 久久久久久一二三区| 亚洲欧洲av色图| 亚洲成a人片在线不卡一二三区 | 91美女在线看| 制服丝袜中文字幕一区| 久久久精品综合| 一区二区高清视频在线观看| 久久99久久99小草精品免视看| 成人综合日日夜夜| 欧美日韩高清一区二区不卡| 久久夜色精品一区| 综合久久一区二区三区| 日本欧美大码aⅴ在线播放| 成人在线视频首页| 欧美美女黄视频| 中文一区在线播放| 免费在线观看一区二区三区| 成人av电影在线播放| 欧美一级日韩不卡播放免费| 1区2区3区欧美| 麻豆国产精品官网| 在线视频中文字幕一区二区| 久久精品亚洲一区二区三区浴池| 亚洲福利一二三区| 成人app下载| 2欧美一区二区三区在线观看视频| 一区二区三区不卡视频| 国产成人免费在线观看| 欧美一卡2卡3卡4卡| 一区二区三区欧美久久| 国产激情一区二区三区四区 | 亚洲精品成人精品456| 韩国一区二区在线观看| 欧美日高清视频| 中文字幕亚洲区| 国产在线国偷精品免费看| 欧美日韩免费电影| 一区二区三区在线观看动漫| 成人精品国产一区二区4080| 亚洲精品一区二区三区蜜桃下载 | 国产日韩成人精品| 久久99精品久久久久| 欧美人与性动xxxx| 亚洲精品免费播放| 成人综合婷婷国产精品久久蜜臀 | 国产精品美女久久久久久久久久久 | 欧美丝袜丝交足nylons图片| 国产精品网站一区| 国产裸体歌舞团一区二区| 日韩一区二区三区精品视频 | 一区二区三区在线播放| 91免费版pro下载短视频| 欧美国产日韩精品免费观看| 黑人巨大精品欧美一区| 日韩欧美三级在线| 蜜臀av一区二区在线观看| 在线综合视频播放| 蜜臀99久久精品久久久久久软件| 欧美日韩电影在线| 亚洲国产精品久久不卡毛片| 欧美丝袜丝nylons| 视频一区视频二区在线观看| 欧美肥大bbwbbw高潮| 日韩精品五月天| 欧美一区二区免费视频| 免费人成在线不卡| 日韩视频在线永久播放| 狠狠色丁香婷婷综合| 久久午夜老司机| 粗大黑人巨茎大战欧美成人| 中文字幕一区二区三区在线播放 | 精品国产sm最大网站| 国产另类ts人妖一区二区| 久久精品人人做人人爽人人 | 日韩免费在线观看| 国产一区激情在线| 国产精品看片你懂得| 99精品视频在线观看免费| 亚洲激情校园春色| 欧美伦理影视网| 奇米777欧美一区二区| 久久婷婷一区二区三区| 成人黄色a**站在线观看| 一区二区在线观看不卡| 欧美精品视频www在线观看| 美腿丝袜一区二区三区| 国产农村妇女毛片精品久久麻豆 | www日韩大片| aaa欧美色吧激情视频| 亚洲国产精品久久久久秋霞影院 | 欧美大片在线观看| 大陆成人av片| 亚洲午夜在线视频| 2020国产精品久久精品美国| 972aa.com艺术欧美| 日韩va欧美va亚洲va久久| 国产亚洲制服色| 欧美中文字幕一区二区三区| 麻豆高清免费国产一区| 亚洲欧洲日韩女同| 欧美一级片免费看| av激情成人网| 男男视频亚洲欧美| 国产精品久久免费看| 欧美二区三区91| 波多野结衣一区二区三区 | 91丨九色丨蝌蚪富婆spa| 五月综合激情网| 国产精品污网站| 717成人午夜免费福利电影| 国产激情视频一区二区三区欧美 | 亚洲一区二区偷拍精品| 精品美女被调教视频大全网站| 91在线观看一区二区| 日韩成人一级大片| 综合在线观看色| 欧美mv和日韩mv国产网站| 日本韩国欧美三级| 国产一区二区三区不卡在线观看| 一区二区免费在线| 欧美经典一区二区| 在线播放中文一区| 一本色道久久综合狠狠躁的推荐 | 久久av中文字幕片| 一区二区激情视频| 国产精品蜜臀av| 2欧美一区二区三区在线观看视频| 欧美影视一区二区三区|