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

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

?? npp.c

?? MELPe 1200 bps, fixed point
?? C
?? 第 1 頁 / 共 4 頁
字號:
/* ================================================================== */
/*                                                                    */ 
/*    Microsoft Speech coder     ANSI-C Source Code                   */
/*    SC1200 1200 bps speech coder                                    */
/*    Fixed Point Implementation      Version 7.0                     */
/*    Copyright (C) 2000, Microsoft Corp.                             */
/*    All rights reserved.                                            */
/*                                                                    */ 
/* ================================================================== */

/*---------------------------------------------------------------------
 * enh_fun.c - Speech Enhancement Functions
 *
 * Author: Rainer Martin, AT&T Labs-Research
 *
 * Last Update: $Id: enh_fun.c,v 1.2 1999/02/19 17:55:12 martinr Exp martinr $
 *
 *---------------------------------------------------------------------
 */

#include "npp.h"
#include "fs_lib.h"
#include "mat_lib.h"
#include "constant.h"
#include "dsp_sub.h"
#include "fft_lib.h"
#include "global.h"


#define X003_Q15		983                               /* 0.03 * (1 << 15) */
#define X005_Q15		1638                              /* 0.05 * (1 << 15) */
#define X006_Q15		1966                              /* 0.06 * (1 << 15) */
#define X018_Q15		5898                              /* 0.18 * (1 << 15) */
#define X065_Q15		21299                             /* 0.65 * (1 << 15) */
#define X132_Q11		2703                              /* 1.32 * (1 << 11) */
#define X15_Q13			12288                              /* 1.5 * (1 << 13) */
#define X22_Q11			4506                               /* 2.2 * (1 << 11) */
#define X44_Q11			9011                               /* 4.4 * (1 << 11) */
#define X88_Q11			18022                              /* 8.8 * (1 << 11) */

const static Shortword	sqrt_tukey_256_180[ENH_WINLEN] = {             /* Q15 */
	  677,	1354,  2030,  2705,  3380,  4053,  4724,  5393,
	 6060,  6724,  7385,  8044,  8698,  9349,  9996, 10639,
	11277, 11911, 12539, 13162, 13780, 14391, 14996, 15595,
	16188, 16773, 17351, 17922, 18485, 19040, 19587, 20126,
	20656, 21177, 21690, 22193, 22686, 23170, 23644, 24108,
	24561, 25004, 25437, 25858, 26268, 26668, 27056, 27432,
	27796, 28149, 28490, 28818, 29134, 29438, 29729, 30008,
	30273, 30526, 30766, 30992, 31205, 31405, 31592, 31765,
	31924, 32070, 32202, 32321, 32425, 32516, 32593, 32656,
	32705, 32740, 32761, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
	32767, 32767, 32767, 32767, 32761, 32740, 32705, 32656,
	32593, 32516, 32425, 32321, 32202, 32070, 31924, 31765,
	31592, 31405, 31205, 30992, 30766, 30526, 30273, 30008,
	29729, 29438, 29134, 28818, 28490, 28149, 27796, 27432,
	27056, 26668, 26268, 25858, 25437, 25004, 24561, 24108,
	23644, 23170, 22686, 22193, 21690, 21177, 20656, 20126,
	19587, 19040, 18485, 17922, 17351, 16773, 16188, 15595,
	14996, 14391, 13780, 13162, 12539, 11911, 11277, 10639,
	 9996,	9349,  8698,  8044,  7385,  6724,  6060,  5393,
	 4724,  4053,  3380,  2705,  2030,  1354,   677,     0
};

/* ====== Entities from Enhanced_Data ====== */
static Shortword	enh_i = 0;                               /* formerly D->I */
static Shortword	lambdaD[ENH_VEC_LENF];             /* overestimated noise */
                                               /* psd(noise_bias * noisespect)*/
static Shortword	lambdaD_shift[ENH_VEC_LENF];
static Shortword	SN_LT;                                   /* long term SNR */
static Shortword	SN_LT_shift;
static Shortword	n_pwr;
static Shortword	n_pwr_shift;
static Shortword    YY[ENH_VEC_LENF];  /* signal periodogram of current frame */
static Shortword	YY_shift[ENH_VEC_LENF];
static Shortword	sm_shift[ENH_VEC_LENF];
static Shortword	noise_shift[ENH_VEC_LENF];
static Shortword	noise2_shift[ENH_VEC_LENF];
static Shortword	av_shift[ENH_VEC_LENF];
static Shortword	av2_shift[ENH_VEC_LENF];
static Shortword	act_min[ENH_VEC_LENF];  /* current minimum of long window */
static Shortword	act_min_shift[ENH_VEC_LENF];
static Shortword	act_min_sub[ENH_VEC_LENF];
                                             /* current minimum of sub-window */
static Shortword	act_min_sub_shift[ENH_VEC_LENF];
static Shortword	vk[ENH_VEC_LENF];
static Shortword	vk_shift[ENH_VEC_LENF];
static Shortword	ksi[ENH_VEC_LENF];                        /* a priori SNR */
static Shortword	ksi_shift[ENH_VEC_LENF];

static Shortword	var_rel[ENH_VEC_LENF];
                                       /* est. relative var. of smoothedspect */
static Shortword	var_rel_av;     /* average relative var. of smoothedspect */

/* only for minimum statistics */

static Shortword	smoothedspect[ENH_VEC_LENF];  /* smoothed signal spectrum */
static Shortword    var_sp_av[ENH_VEC_LENF];
                                           /* estimated mean of smoothedspect */
static Shortword    var_sp_2[ENH_VEC_LENF];
                                     /* esitmated 2nd moment of smoothedspect */
static Shortword	noisespect[ENH_VEC_LENF];          /* estimated noise psd */
static Shortword	noisespect2[ENH_VEC_LENF];
static Shortword	alphacorr;        /* correction factor for alpha_var, Q15 */
static Shortword	alpha_var[ENH_VEC_LENF];            /* variable smoothing */
                                                         /* parameter for psd */
static Shortword	circb[NUM_MINWIN][ENH_VEC_LENF];           /* ring buffer */
static Shortword	circb_shift[NUM_MINWIN][ENH_VEC_LENF];

static Shortword	initial_noise[ENH_WINLEN];            /* look ahead noise */
                                                              /* samples (Q0) */
static Shortword	speech_in_npp[ENH_WINLEN];          /* input of one frame */
static Shortword	ybuf[2*ENH_WINLEN + 2];
                                 /* buffer for FFT, this can be eliminated if */
						    /* we can write a better real-FFT program for DSP */
static Longword		temp_yy[ENH_WINLEN + 2];

/* ====== Prototypes ====== */

static void		smoothing_win(Shortword initial_noise[]);
static void		compute_qk(Shortword qk[], Shortword gamaK[],
						   Shortword gamaK_shift[], Shortword GammaQ_TH);
static void		gain_log_mmse(Shortword qk[], Shortword Gain[],
							  Shortword gamaK[], Shortword gamaK_shift[],
							  Shortword m);
static Shortword	ksi_min_adapt(BOOLEAN n_flag, Shortword ksi_min,
                                  Shortword sn_lt, Shortword sn_lt_shift);
static void		smoothed_periodogram(Shortword YY_av, Shortword yy_shift);
static void		bias_compensation(Shortword biased_spect[],
								  Shortword bias_shift[],
								  Shortword biased_spect_sub[],
								  Shortword bias_sub_shift[]);
static Shortword	noise_slope();
static Shortword	comp_data_shift(Shortword num1, Shortword shift1,
									Shortword num2, Shortword shift2);
static void		min_search(Shortword biased_spect[], Shortword bias_shift[],
						   Shortword biased_spect_sub[],
						   Shortword bias_sub_shift[]);
void			enh_init();
static void		minstat_init();
static void		process_frame(Shortword inspeech[], Shortword outspeech[]);
static void		gain_mod(Shortword qk[], Shortword GainD[], Shortword m);


/****************************************************************************
**
** Function:		npp
**
** Description: 	The noise pre-processor
**
** Arguments:
**
**	Shortword	sp_in[]  ---- input speech data buffer (Q0)
**	Shortword	sp_out[] ---- output speech data buffer (Q0)
**
** Return value:	None
**
*****************************************************************************/
void	npp(Shortword sp_in[], Shortword sp_out[])
{
	static Shortword	speech_overlap[ENH_OVERLAP_LEN];
	static BOOLEAN	first_time = TRUE;
	Shortword   speech_out_npp[ENH_WINLEN];            /* output of one frame */


	if (first_time){
	
		if (rate == RATE1200)
			v_equ(initial_noise, sp_in, ENH_WINLEN);
		else {
			v_zap(initial_noise, ENH_OVERLAP_LEN);
			v_equ(&initial_noise[ENH_OVERLAP_LEN], sp_in, ENH_WIN_SHIFT);
		}
		enh_init();                         /* Initialize enhancement routine */
		v_zap(speech_in_npp, ENH_WINLEN);

		first_time = FALSE;
	}

	/* Shift input buffer from the previous frame */
	v_equ(speech_in_npp, &(speech_in_npp[ENH_WIN_SHIFT]), ENH_OVERLAP_LEN);
	v_equ(&(speech_in_npp[ENH_OVERLAP_LEN]), sp_in, ENH_WIN_SHIFT); 

	/* ======== Process one frame ======== */
	process_frame(speech_in_npp, speech_out_npp);

	/* Overlap-add the output buffer. */
	v_add(speech_out_npp, speech_overlap, ENH_OVERLAP_LEN);
	v_equ(speech_overlap, &(speech_out_npp[ENH_WIN_SHIFT]), ENH_OVERLAP_LEN);

	/* ======== Output enhanced speech ======== */
	v_equ(sp_out, speech_out_npp, ENH_WIN_SHIFT);
}


/*****************************************************************************/
/*	  Subroutine gain_mod: compute gain modification factor based on		 */
/*		 signal absence probabilities qk									 */
/*****************************************************************************/
static void		gain_mod(Shortword qk[], Shortword GainD[], Shortword m)
{
	register Shortword	i;
	Shortword	temp, temp1, temp2, temp3, temp4, shift;
	Shortword	temp_shift, temp2_shift;
	Longword	L_sum, L_tmp;


	for (i = 0; i < m; i++){
		/*	temp = 1.0 - qk[i]; */
		temp = sub(ONE_Q15, qk[i]);                                    /* Q15 */
		if (temp == 0)
			temp = 1;
		shift = norm_s(temp);
		temp = shl(temp, shift);
		temp_shift = negate(shift);

		/*	temp2 = temp*temp; */
		L_sum = L_mult(temp, temp);
		shift = norm_l(L_sum);
		temp2 = extract_h(L_shl(L_sum, shift));
		temp2_shift = sub(shl(temp_shift, 1), shift);

		/*	GM[i] = temp2 / (temp2 + (temp + ksi[i])*qk[i]*exp(-vk[i])) */

		/*	exp(-vk) = 2^(2*vk*(-0.5*log2(e))), and -23637 is -0.5*log2(e).   */
		L_sum = L_mult(vk[i], -23637);              /* vk*(-0.5*log2(e)), Q15 */
		shift = add(vk_shift[i], 1);
		L_sum = L_shr(L_sum, sub(15, shift));                    /* 2^x x Q16 */

		/*	temp + ksi[i] */
		shift = sub(ksi_shift[i], temp_shift);
		if (shift > 0){
			temp4 = add(ksi_shift[i], 1);
			temp3 = add(shr(temp, add(shift, 1)), shr(ksi[i], 1));
		} else {
			temp4 = add(temp_shift, 1);
			temp3 = add(shr(temp, 1), shl(ksi[i], sub(shift, 1)));
		}
		/*	(temp + ksi[i])*qk[i] */
		L_tmp = L_mult(temp3, qk[i]);

		/*	temp + ksi[i])*qk[i]*exp(-vk[i] */
		L_sum = L_add(L_sum, L_deposit_h(temp4));                  /* add exp */
		shift = extract_h(L_sum);                         /* this is exp part */

		temp4 = (Shortword) (extract_l(L_shr(L_sum, 1)) & 0x7fff);
		temp1 = shr(mult(temp4, 9864), 3);           /* change to base 10 Q12 */
		temp1 = pow10_fxp(temp1, 14);                              /* out Q14 */
		L_tmp = L_mpy_ls(L_tmp, temp1);                                /* Q30 */
		temp3 = norm_l(L_tmp);
		temp1 = extract_h(L_shl(L_tmp, temp3));
		shift = add(shift, sub(1, temp3));                  /* make L_tmp Q31 */

		/*	temp2 + (temp + ksi[i])*qk[i]*exp(-vk[i]) */
		temp1 = shr(temp1, 1);
		temp2 = shr(temp2, 1);
		temp = sub(shift, temp2_shift);
		if (temp > 0){
			temp3 = add(temp1, shr(temp2, temp));
			temp4 = shr(temp2, temp);
		} else {
			temp3 = add(shl(temp1, temp), temp2);
			temp4 = temp2;
		}

		temp = divide_s(temp4, temp3);   /* temp is previously known as GM[]. */

		/* limit lowest GM value */
		if (temp < GM_MIN)
			temp = GM_MIN;                                             /* Q15 */
		GainD[i] = mult(GainD[i], temp);                     /* modified gain */
	}
}


/*****************************************************************************/
/*	  Subroutine compute_qk: compute the probability of speech absence       */
/*		This uses an harddecision approach due to Malah (ICASSP 1999).		 */
/*****************************************************************************/
static void		compute_qk(Shortword qk[], Shortword gamaK[],
						   Shortword gamaK_shift[], Shortword GammaQ_TH)
{
	register Shortword	i;
	static BOOLEAN		first_time = TRUE;
	static Shortword	qla[ENH_VEC_LENF];


	/* Initializing qla[] */
	if (first_time){
		fill(qla, X05_Q15, ENH_VEC_LENF);
		first_time = FALSE;
	}

	/*	qla[] = alphaq * qla[]; */
	v_scale(qla, ENH_ALPHAQ, ENH_VEC_LENF);
	for (i = 0; i < ENH_VEC_LENF; i++){

		/*	if (gamaK[i] < GammaQ_TH) */
		if (comp_data_shift(gamaK[i], gamaK_shift[i], GammaQ_TH, 0) < 0)
			/*	qla[] += betaq; */
			qla[i] = add(qla[i], ENH_BETAQ);
	}
	v_equ(qk, qla, ENH_VEC_LENF);
}


/*****************************************************************************/
/*	  Subroutine gain_log_mmse: compute the gain factor and the auxiliary	 */
/*		variable vk for the Ephraim&Malah 1985 log spectral estimator.		 */
/*	  Approximation of the exponential integral due to Malah, 1996			 */
/*****************************************************************************/
static void		gain_log_mmse(Shortword qk[], Shortword Gain[],
							  Shortword gamaK[], Shortword gamaK_shift[],
							  Shortword m)
{
	register Shortword	i;
	Shortword	ksi_vq, temp1, temp2, shift;
	Longword	L_sum;


	for (i = 0; i < m; i++){

		/*	1.0 - qk[] */
		temp1 = sub(ONE_Q15, qk[i]);
		shift = norm_s(temp1);
		temp1 = shl(temp1, shift);
		temp2 = sub(ksi_shift[i], (Shortword) (-shift));
		/*	ksi[] + 1.0 - qk[] */
		if (temp2 > 0){
			temp1 = shr(temp1, add(temp2, 1));
			temp1 = add(temp1, shr(ksi[i], 1));
			temp2 = shr(ksi[i], 1);
		} else {
			temp1 = add(shr(temp1,1), shl(ksi[i], sub(temp2, 1)));
			temp2 = shl(ksi[i], sub(temp2, 1));
		}

		/*	ksi_vq = ksi[i] / (ksi[i] + 1.0 - qk[i]); */
		ksi_vq = divide_s(temp2, temp1);                               /* Q15 */

		/*	vk[i] = ksi_vq * gamaK[i]; */
		L_sum = L_mult(ksi_vq, gamaK[i]);
		shift = norm_l(L_sum);
		vk[i] = extract_h(L_shl(L_sum, shift));
		vk_shift[i] = sub(gamaK_shift[i], shift);

		/* The original floating version compares vk[] against 2^{-52} ==     */
		/* 2.220446049250313e-16.  Tian uses 32767*2^{-52} instead.           */
		if (comp_data_shift(vk[i], vk_shift[i], 32767, -52) < 0){
			vk[i] = 32767;                                      /* MATLAB eps */
			vk_shift[i] = -52;
		}

		if (comp_data_shift(vk[i], vk_shift[i], 26214, -3) < 0){
			/* eiv = -2.31 * log10(vk[i]) - 0.6; */
			temp1 = log10_fxp(vk[i], 15);                              /* Q12 */
			L_sum = L_shl(L_deposit_l(temp1), 14);                     /* Q26 */
			L_sum = L_add(L_sum, L_shl(L_mult(vk_shift[i], 9864), 10));
			L_sum = L_mpy_ls(L_sum, -18923);
                                             /* -18923 = -2.31 (Q13). out Q24 */
			L_sum = L_sub(L_sum, 10066330L);    /* 10066330L = 0.6 (Q24), Q24 */
		} else if (comp_data_shift(vk[i], vk_shift[i], 25600, 8) > 0){
			/*	eiv = pow(10, -0.52 * 200 - 0.26); */
			L_sum = 1;                                                 /* Q24 */

			/*	vk[] = 200; */
			vk[i] = 25600;
			vk_shift[i] = 8;
		} else if (comp_data_shift(vk[i], vk_shift[i], 32767, 0) > 0){
			/*	eiv = pow(10, -0.52 * vk[i] - 0.26); */
			L_sum = L_mult(vk[i], -17039);             /* -17039 == -0.52 Q15 */
			L_sum = L_sub(L_sum, L_shr(L_deposit_h(8520), vk_shift[i]));
                                                          /* 8520 == 0.26 Q15 */
			L_sum = L_shr(L_sum, sub(14, vk_shift[i]));
			L_sum = L_mpy_ls(L_sum, 27213);                  /* Q15 to base 2 */
			shift = extract_h(L_shl(L_sum, 1));               /* integer part */
			temp1 = (Shortword) (extract_l(L_sum) & 0x7fff);
			temp1 = shr(mult(temp1, 9864), 3);              /* Q12 to base 10 */
			temp1 = pow10_fxp(temp1, 14);                       /* output Q14 */
			L_sum = L_shl(L_deposit_l(temp1), 10);                 /* Q24 now */
			L_sum = L_shl(L_sum, shift);                    /* shift must < 0 */
		} else {
			/* eiv = -1.544 * log10(vk[i]) + 0.166; */
			temp1 = vk[i];
			if (vk_shift[i] != 0)
				temp1 = shl(temp1, vk_shift[i]);
			temp1 = log10_fxp(temp1, 15);                              /* Q12 */
			L_sum = L_shl(L_deposit_l(temp1), 13);                     /* Q25 */
			L_sum = L_mpy_ls(L_sum, -25297);     /* -25297 = -1.544, Q14. Q24 */
			L_sum = L_add(L_sum, 2785018L);         /* 2785018L == 0.166, Q24 */
		}

		/* Now "eiv" is kept in L_sum. */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性大战久久| 成人天堂资源www在线| 欧美性色黄大片手机版| 亚洲激情第一区| 欧亚一区二区三区| 水蜜桃久久夜色精品一区的特点| 欧美亚洲动漫另类| 亚洲午夜免费视频| 9191久久久久久久久久久| 三级在线观看一区二区| 91精品国产综合久久蜜臀| 美女脱光内衣内裤视频久久网站| 日韩视频在线你懂得| 激情图片小说一区| 亚洲国产精品黑人久久久| va亚洲va日韩不卡在线观看| 亚洲精品老司机| 欧美三级电影网站| 精品一区二区三区久久久| 久久亚洲综合色一区二区三区| 国产成人在线观看| 一区二区三区av电影| 91精品久久久久久久久99蜜臂| 另类成人小视频在线| 国产精品免费久久| 欧美日韩一区二区三区不卡 | 97国产一区二区| 亚洲一区二区三区四区在线观看 | 国产女同互慰高潮91漫画| 99re这里只有精品视频首页| 一区二区成人在线观看| 欧美精品一级二级| 国产成人免费视频精品含羞草妖精 | 亚洲色图制服诱惑| 91精品婷婷国产综合久久性色| 国产成人精品亚洲午夜麻豆| 亚洲第一会所有码转帖| 中文字幕欧美日本乱码一线二线| 欧美日韩日日骚| 成人av网站在线观看| 免费人成精品欧美精品| 亚洲免费观看在线视频| 精品国产乱码久久久久久牛牛| 日本高清成人免费播放| 国产一区二区三区免费| 偷拍亚洲欧洲综合| 中文字幕在线不卡国产视频| 日韩一区和二区| 欧美性做爰猛烈叫床潮| 91婷婷韩国欧美一区二区| 国产一区在线看| 奇米色一区二区| 亚洲午夜激情网站| 国产精品美女www爽爽爽| 69堂成人精品免费视频| 一本一道久久a久久精品 | 国产成人精品三级麻豆| 久久成人久久鬼色| 午夜亚洲国产au精品一区二区| 国产精品久久免费看| 久久综合久久久久88| 911精品国产一区二区在线| 波波电影院一区二区三区| 麻豆精品国产91久久久久久| 亚洲一区二区三区四区五区中文 | 色久综合一二码| 成人av在线影院| 国产xxx精品视频大全| 国模无码大尺度一区二区三区| 日本中文在线一区| 婷婷开心激情综合| 亚洲成人高清在线| 午夜精品久久久久久久久久久| 亚洲一区在线播放| 亚洲午夜精品17c| 亚洲国产中文字幕在线视频综合| 一区二区三区国产精品| 亚洲天堂av老司机| 亚洲精选视频在线| 一卡二卡欧美日韩| 亚洲国产日韩a在线播放| 亚洲成人动漫在线免费观看| 亚洲不卡av一区二区三区| 亚洲成a人v欧美综合天堂| 亚洲一区精品在线| 亚洲亚洲精品在线观看| 亚洲国产欧美在线| 日韩在线卡一卡二| 日韩1区2区日韩1区2区| 国产综合久久久久久鬼色 | 欧美日韩免费一区二区三区| 欧美色精品天天在线观看视频| 色综合色狠狠综合色| 91亚洲精品久久久蜜桃| 色欲综合视频天天天| 日本乱码高清不卡字幕| 欧美日韩中文另类| 欧美xxxx老人做受| 久久久精品tv| 亚洲女女做受ⅹxx高潮| 丝袜美腿一区二区三区| 国产乱子伦一区二区三区国色天香 | 91精品国产综合久久香蕉麻豆| 337p亚洲精品色噜噜噜| 日韩精品一区二区三区视频| 国产欧美日韩麻豆91| 亚洲欧美综合色| 亚洲一二三专区| 美女视频一区在线观看| 成人精品鲁一区一区二区| 欧美午夜精品一区二区三区| 欧美成人女星排名| 《视频一区视频二区| 日韩福利视频导航| 国产白丝精品91爽爽久久| 精品视频123区在线观看| 日韩色在线观看| 亚洲婷婷综合色高清在线| 日本免费在线视频不卡一不卡二| 国产精品自拍av| 欧美视频中文字幕| 欧美精品一区二区三| 亚洲精品视频在线看| 久久精品国产久精国产爱| 91丨porny丨首页| 日韩欧美在线网站| 亚洲天堂a在线| 国产一区999| 欧美疯狂性受xxxxx喷水图片| 欧美激情一区二区三区全黄| 午夜精品福利久久久| 本田岬高潮一区二区三区| 欧美日韩国产免费| 国产精品美日韩| 老司机免费视频一区二区三区| 91香蕉视频黄| 欧美成人激情免费网| 亚洲欧美成aⅴ人在线观看 | 国产精选一区二区三区| 色狠狠色噜噜噜综合网| 久久精品综合网| 日韩高清电影一区| 欧美自拍偷拍一区| 亚洲国产激情av| 国产麻豆精品在线观看| 日韩午夜激情免费电影| 偷拍自拍另类欧美| 欧美三级日韩三级| 一区二区三区日韩在线观看| 国产精品一线二线三线| 91久久精品一区二区三| 国产清纯在线一区二区www| 蜜桃av一区二区| 欧美三级欧美一级| 亚洲一区二区三区激情| 99re6这里只有精品视频在线观看| 日韩一卡二卡三卡| 亚洲妇女屁股眼交7| 一本在线高清不卡dvd| 中文字幕在线观看一区二区| 国产69精品久久99不卡| 日韩精品一区二区三区视频播放 | 2021久久国产精品不只是精品| 亚洲一区二区三区四区在线观看 | 麻豆精品新av中文字幕| 欧美日韩精品电影| 午夜不卡av在线| 欧美在线观看一区| 亚洲电影第三页| 欧美午夜影院一区| 亚洲小说欧美激情另类| 欧美性一级生活| 肉色丝袜一区二区| 在线观看视频一区二区欧美日韩| 亚洲日本免费电影| 在线视频你懂得一区| 亚洲国产裸拍裸体视频在线观看乱了| 日本高清不卡视频| 亚洲国产精品久久久男人的天堂| 欧美日韩亚洲另类| 亚洲成a人片在线观看中文| 538在线一区二区精品国产| 蜜桃av一区二区| 日韩手机在线导航| 国产精品99久久久久久宅男| 国产亚洲一区二区三区在线观看| 国产剧情av麻豆香蕉精品| 国产欧美一区二区三区在线老狼| 国内精品自线一区二区三区视频| 日韩一级片在线播放| 七七婷婷婷婷精品国产| 欧美va在线播放| 国产成人免费视频网站| 中文字幕一区在线观看视频| 欧美午夜精品电影| 一区二区三区四区不卡在线| 在线观看一区不卡| 老司机精品视频一区二区三区| 久久久久久久久久久电影| voyeur盗摄精品|