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

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

?? quantize.c

?? mp3解碼程序vc++環境下運行
?? C
字號:
/* quantize.c, 量化和逆量化                        */

#include <stdio.h>#include "global.h"

// 下面的這些常量將用在與MMX相關的代碼中
static short PACKED_0xFF00[4] = { 0xff00U, 0xff00U, 0xff00U, 0xff00U };
static unsigned short PACKED_32768[4] = { 32768, 32768, 32768, 32768 };
static unsigned short PACKED_30720[4] = { 30720, 30720, 30720, 30720 };
static unsigned short PACKED_61440[4] = { 61440, 61440, 61440, 61440 };
static unsigned short PACKED_2048[4] = { 2048, 2048, 2048, 2048 };
/* 該量化器在趨近于0時采用1/8的步長(DC系數除外) *  */int quant_intra(src,dst,dc_prec,quant_mat,recip_quant_mat,mquant)short *src, *dst;int dc_prec;unsigned char *quant_mat;
unsigned short *recip_quant_mat;int mquant;{	int i;	int x, y, d;
	static short mquantm3p2div4[4];
	static unsigned short recip_mquant[4];
    /*下面的代碼是針對MMX處理器或快速量化的*/
	if(cpu_MMX && fastQuantization)
	{
		mquantm3p2div4[0] = ((mquant*3)+2)>>2;
		mquantm3p2div4[1] = mquantm3p2div4[0];
		mquantm3p2div4[2] = mquantm3p2div4[0];
		mquantm3p2div4[3] = mquantm3p2div4[0];	
		recip_mquant[0] = (unsigned short)((16384.0 + (double) mquant/2.0)/mquant);
		recip_mquant[1] = recip_mquant[0];
		recip_mquant[2] = recip_mquant[0];
		recip_mquant[3] = recip_mquant[0];

		x = src[0];
		_asm
		{
			mov esi, src				;// esi = src
			mov edx, recip_quant_mat	;// edx = recip_quant_mat
			mov edi, dst				;// edi = dst
			mov ecx, 8					;// ecx = 8
quant_intra__l1:
			movq mm0, [esi]				;// mm0 = 4 words into esi[0..7]
			movq mm1, [esi+8]			;// mm1 = 4 words into esi[8..15]
			movq mm2, mm0
			movq mm3, mm1
			psraw mm2, 15				;// copy sign of mm0 into mm2
			psraw mm3, 15				;// copy sign of mm3 into mm3
			pxor mm0, mm2
			pxor mm1, mm3
			psubw mm0, mm2				;// mm0 = abs(mm0)
			psubw mm1, mm3				;// mm1 = abs(mm1)
			psllw mm0, 5				;// mm0 *= 32
			psllw mm1, 5				;// mm1 *= 32
			movq mm4, mm0
			movq mm6, [edx]				;// mm6 = 4 words into edx[0..7]
			movq mm5, mm1
			pmullw mm0, mm6				;// mm0 = LSW(mm0 * mm6)
			pmulhw mm4, mm6				;// mm4 = MSW(mm0 * mm6)
			psrlw mm0, 14				;// shift LSW
			psllw mm4, 2				;// shift MSW
			movq mm6, [edx+8]			;// mm6 = 4 words into edx[8..11]
			por mm0, mm4				;// combine mm0 and mm4 to get result
			pmullw mm1, mm6				;// mm1 = LSW(mm1 * mm6)
			pmulhw mm5, mm6				;// mm5 = MSW(mm5 * mm6)
			psrlw mm1, 14				;// shift LSW
			psllw mm5, 2				;// shift MSW
			por mm1, mm5				;// combine mm1 and mm5 to get result
			paddw mm0, mquantm3p2div4	;// mm0 += (2 * mquant + 2) >> 2
			paddw mm1, mquantm3p2div4	;// mm1 += (2 * mquant + 2) >> 2
			movq mm4, mm0
			movq mm6, recip_mquant		;// mm6 = recip_mquant
			movq mm5, mm1
			pmullw mm0, mm6				;// mm0 = LSW(mm0 * mm6)
			pmulhw mm4, mm6				;// mm4 = MSW(mm0 * mm6)
			psrlw mm0, 15				;// shift LSW
			psllw mm4, 1				;// shift MSW
			por mm0, mm4				;// combine mm0 and mm4 to get result
			pmullw mm1, mm6				;// mm1 = LSW(mm1 * mm6)
			pmulhw mm5, mm6				;// mm5 = MSW(mm5 * mm6)
			psrlw mm1, 15				;// shift LSW
			psllw mm5, 1				;// shift MSW
			movq mm6, PACKED_0xFF00		;// mm6 = (0xff00, 0xff00, 0xff00, 0xff00)
			por mm1, mm5				;// combine mm1 and mm5 to get result
			paddusw mm0, mm6
			paddusw mm1, mm6
			psubusw mm0, mm6			;// clip each word in mm0 to [0..255]
			psubusw mm1, mm6			;// clip each word in mm1 to [0..255]
			paddw mm0, mm2
			paddw mm1, mm3
			pxor mm0, mm2				;// restore original sign of mm0
			pxor mm1, mm3				;// restore original sign of mm1
			movq [edi], mm0				;// store mm0 into edi[0..7]
			movq [edi+8], mm1			;// store mm1 into edi[8..15]
			add esi, 16					;// esi += 16
			add edx, 16					;// edx += 16
			add edi, 16					;// edi += 16
			dec ecx						;// decrement ecx
			jnz quant_intra__l1			;// loop while not zero
			emms						;// empty MMX state
		}

		d = 8>>dc_prec; 
		dst[0] = (x>=0) ? (x+(d>>1))/d : -((-x+(d>>1))/d); // 將 (x/d) 四舍五入	
	}
	else
	{
		x = src[0];		d = 8>>dc_prec; /* intra_dc_mult */		dst[0] = (x>=0) ? (x+(d>>1))/d : -((-x+(d>>1))/d); /* 將 (x/d) 四舍五入 */		for (i=1; i<64; i++)		{
			x = src[i];
			d = quant_mat[i];			y = (32*(x>=0 ? x : -x) + (d>>1))/d; /* 將(32*x/quant_mat) 四舍五入 */
						d = (3*mquant+2)>>2;
			y = (y+d)/(2*mquant); 						if (y > 255)			{				y = 255;			}

			dst[i] = (x>=0) ? y : -y;			#if 0			if (x<0)			x = -x;			d = mquant*quant_mat[i];			y = (16*x + ((3*d)>>3)) / d;			dst[i] = (src[i]<0) ? -y : y;			#endif		}
	}	return 1;}

int quant_non_intra(src,dst,quant_mat, recip_quant_mat,mquant)short *src, *dst;
unsigned char *quant_mat;unsigned short *recip_quant_mat;int mquant;{	int i;	int x, y, d;	int nzflag;
	short recip_mquant[4];

	nzflag = 0;

	if(cpu_MMX && fastQuantization)
	{
		recip_mquant[0] = (unsigned short)((16384.0 + (double) mquant/2.0)/mquant);
		recip_mquant[1] = recip_mquant[0];
		recip_mquant[2] = recip_mquant[0];
		recip_mquant[3] = recip_mquant[0];

		_asm
		{
			mov esi, src				;// esi = src
			mov edx, recip_quant_mat	;// edx = recip_quant_mat
			mov edi, dst				;// edi = dst
			mov ecx, 8					;// ecx = 8
			pxor mm7, mm7				;// mm7 = nzflag
quant_non_intra__l1:
			movq mm0, [esi]				;// mm0 = 4 words into src[0..7]
			movq mm1, [esi+8]			;// mm1 = 4 words into src[8..15]
			movq mm2, mm0
			movq mm3, mm1
			psraw mm2, 15				;// copy sign of mm0 into mm2
			psraw mm3, 15				;// copy sign of mm3 into mm3
			pxor mm0, mm2
			pxor mm1, mm3
			psubw mm0, mm2				;// mm0 = abs(mm0)
			psubw mm1, mm3				;// mm1 = abs(mm1)
			psllw mm0, 5				;// mm0 *= 32
			psllw mm1, 5				;// mm1 *= 32
			movq mm4, mm0
			movq mm6, [edx]				;// mm6 = 4 words into edx[0..7]
			movq mm5, mm1
			pmullw mm0, mm6				;// mm0 = LSW(mm0 * mm6)
			pmulhw mm4, mm6				;// mm4 = MSW(mm0 * mm6)
			psrlw mm0, 14				;// shift LSW
			psllw mm4, 2				;// shift MSW
			movq mm6, [edx+8]			;// mm6 = 4 words into edx[8..15]
			por mm0, mm4				;// combine mm0 and mm4 to get result
			pmullw mm1, mm6				;// mm1 = LSW(mm1 * mm6)
			pmulhw mm5, mm6				;// mm5 = MSW(mm1 * mm6)
			psrlw mm1, 14				;// shift LSW
			psllw mm5, 2				;// shift MSW
			por mm1, mm5				;// combine mm1 and mm5 to get result
			movq mm4, mm0
			movq mm6, recip_mquant		;// mm6 = recip_mquant
			movq mm5, mm1
			pmullw mm0, mm6				;// mm0 = LSW(mm0 * mm6)
			pmulhw mm4, mm6				;// mm4 = MSW(mm0 * mm6)
			psrlw mm0, 15				;// shift LSW
			psllw mm4, 1				;// shift MSW
			por mm0, mm4				;// combine mm0 and mm4 to get result
			pmullw mm1, mm6				;// mm1 = LSW(mm1 * mm6)
			pmulhw mm5, mm6				;// mm5 = MSW(mm1 * mm6)
			psrlw mm1, 15				;// shift LSW
			psllw mm5, 1				;// shift MSW
			movq mm6, PACKED_0xFF00		;// mm6 = (0xff00, 0xff00, 0xff00, 0xff00)
			por mm1, mm5				;// combine mm1 and mm5 to get result
			paddusw mm0, mm6
			paddusw mm1, mm6
			psubusw mm0, mm6			;// clip each word in mm0 to [0..255]
			psubusw mm1, mm6			;// clip each word in mm1 to [0..255]
			paddw mm0, mm2
			paddw mm1, mm3
			pxor mm0, mm2				;// restore original sign of mm0
			pxor mm1, mm3				;// restore original sign of mm1
			por mm7, mm0				;// update nzflag
			movq [edi], mm0				;// store mm0 into dst[0..7]
			por mm7, mm1				;// update nzflag
			movq [edi+8], mm1			;// store mm1 into dst[8..15]
			add esi, 16					;// esi += 16
			add edx, 16					;// edx += 16
			add edi, 16					;// edi += 16
			dec ecx						;// decrement ecx
			jnz quant_non_intra__l1		;// loop while not zero
			movd eax, mm7				;// load the lower dword of mm7 into eax
			psrlq mm7, 32				;// shift mm7 to get upper dword
			movd ebx, mm7				;// load the lower dword of mm7 into ebx
			or eax, ebx					;// update nzflag
			setnz byte ptr nzflag		;// generate nzflag
			emms						;// empty MMX state
		}

	}
	else
	{
		for (i=0; i<64; i++)		{
			x = src[i];			d = quant_mat[i];			y = (32*(x>=0 ? x : -x) + (d>>1))/d; 			y /= (2*mquant);
						if (y > 255)			{				y = 255;			}

			if ((dst[i] = (x>=0 ? y : -y)) != 0)				nzflag=1;		}
	}

	return nzflag;
}/* MPEG-1 逆量化,針對I幀*/extern void iquant_intra(src,dst,dc_prec,quant_mat,mquant)short *src, *dst;int dc_prec;unsigned char *quant_mat;int mquant;{
	int x, i, val;
	unsigned short PACKED_MQUANT[4];

	if(cpu_MMX && fastQuantization)
	{
		PACKED_MQUANT[0] = mquant;
		PACKED_MQUANT[1] = mquant;
		PACKED_MQUANT[2] = mquant;
		PACKED_MQUANT[3] = mquant;

		x = src[0];
		_asm
		{
			mov esi, src			;// esi = src
			mov edx, quant_mat		;// edx = quant_mat
			mov edi, dst			;// edi = dst
			mov ecx, 8				;// ecx = 8
			pxor mm7, mm7			;// mm7 = 0
iquant_intra__l1:
			movq mm0, [esi]			;// mm0 = 4 words into esi[0..7]
			movq mm2, [esi+8]		;// mm2 = 4 words into esi[8..15]
			movq mm4, [edx]			;// mm4 = 4 words into edx[0..7]
			movq mm1, mm0
			movq mm3, mm2
			movq mm5, mm4
			psraw mm1, 15			;// copy sign of mm0 into mm1
			psraw mm3, 15			;// copy sign of mm2 into mm3
			pxor mm0, mm1
			pxor mm2, mm3
			psubw mm0, mm1			;// mm0 = abs(mm0)
			psubw mm2, mm3			;// mm2 = abs(mm2)
			punpcklbw mm4, mm7		;// unpack the lower 4 bytes into mm4
			punpckhbw mm5, mm7		;// unpack the lower 4 bytes into mm5
			pmullw mm0, mm4			;// mm0 *= mm4
			pmullw mm2, mm5			;// mm2 *= mm5
			movq mm4, mm0
			movq mm6, PACKED_MQUANT	;// mm6 = (mquant, mquant, mquant, mquant)
			movq mm5, mm2
			pmullw mm0, mm6			;// mm0 = LSW(mm0 * mm6)
			pmulhw mm4, mm6			;// mm4 = MSW(mm4 * mm6)
			pmullw mm2, mm6			;// mm2 = LSW(mm2 * mm6)
			pmulhw mm5, mm6			;// mm5 = MSW(mm5 * mm6)
			psrlw mm0, 4			;// shift LSW
			psllw mm4, 12			;// shift MSW
			psrlw mm2, 4			;// shift LSW
			psllw mm5, 12			;// shift MSW
			por mm0, mm4			;// combine mm0 and mm4 to get result
			por mm2, mm5			;// combine mm2 and mm5 to get result
			paddw mm0, mm1
			paddw mm2, mm3
			pxor mm0, mm1			;// restore original sign of mm0
			pxor mm2, mm3			;// restore original sign of mm2
			paddw mm0, PACKED_32768
			paddw mm2, PACKED_32768
			paddusw mm0, PACKED_30720
			paddusw mm2, PACKED_30720
			psubusw mm0, PACKED_61440
			psubusw mm2, PACKED_61440
			psubw mm0, PACKED_2048	;// clip each words into mm0 to [-2048..2047]
			psubw mm2, PACKED_2048	;// clip each words into mm2 to [-2048..2047]
			movq [edi], mm0			;// store mm0 into edi[0..7]
			movq [edi+8], mm2		;// store mm2 into edi[8..15]
			add esi, 16				;// esi += 16
			add edx, 8				;// edx += 8
			add edi, 16				;// edi += 16
			dec ecx					;// decrement ecx
			jnz iquant_intra__l1	;// loop while not zero
			emms					;// empty MMX state
		}
		dst[0] = x << (3-dc_prec);
	}
	else
	{		dst[0] = src[0] << (3-dc_prec);		for (i=1; i<64; i++)		{			val = (int)(src[i]*quant_mat[i]*mquant)/16;

			/* 如果不匹配則進行如下操作 */			if ((val&1)==0 && val!=0)				val+= (val>0) ? -1 : 1;			/* 色飽和 */			dst[i] = (val>2047) ? 2047 : ((val<-2048) ? -2048 : val);		}
	}}
/*逆量化針對非I幀圖像*/extern void iquant_non_intra(src,dst,quant_mat,mquant)short *src, *dst;unsigned char *quant_mat;int mquant;{
	int i, val;
	unsigned short PACKED_MQUANT[4];

	if(cpu_MMX && fastQuantization)
	{
		PACKED_MQUANT[0] = mquant;
		PACKED_MQUANT[1] = mquant;
		PACKED_MQUANT[2] = mquant;
		PACKED_MQUANT[3] = mquant;

		_asm
		{
			mov esi, src			;// esi = src
			mov edx, quant_mat		;// edx = quant_mat
			mov edi, dst			;// edi = dst
			mov ecx, 8				;// ecx = 8
			pxor mm7, mm7			;// mm7 = 0
iquant_non_intra__l1:
			movq mm0, [esi]			;// mm0 = 4 words into esi[0..7]
			movq mm2, [esi+8]		;// mm2 = 4 words into esi[8..15]
			movq mm4, [edx]			;// mm4 = 4 words into edx[0..7]
			movq mm1, mm0
			movq mm3, mm2
			movq mm5, mm4
			psraw mm1, 15			;// copy sign of mm0 into mm1
			psraw mm3, 15			;// copy sign of mm2 into mm3
			pxor mm0, mm1
			pxor mm2, mm3
			psubw mm0, mm1			;// mm0 = abs(mm0)
			psubw mm2, mm3			;// mm2 = abs(mm2)
			psllw mm0, 1			;// mm0 *= 2
			psllw mm2, 1			;// mm2 *= 2
			punpcklbw mm4, mm7		;// unpack the lower 4 bytes into mm4
			punpckhbw mm5, mm7		;// unpack the lower 4 bytes into mm5
			pmullw mm0, mm4			;// mm0 *= mm4
			pmullw mm2, mm5			;// mm2 *= mm5
			movq mm4, mm0
			movq mm6, PACKED_MQUANT	;// mm6 = (mquant, mquant, mquant, mquant)
			movq mm5, mm2
			pmullw mm0, mm6			;// mm0 = LSW(mm0 * mm6)
			pmulhw mm4, mm6			;// mm4 = MSW(mm4 * mm6)
			pmullw mm2, mm6			;// mm2 = LSW(mm2 * mm6)
			pmulhw mm5, mm6			;// mm5 = MSW(mm5 * mm6)
			psrlw mm0, 5			;// shift LSW
			psllw mm4, 11			;// shift MSW
			psrlw mm2, 5			;// shift LSW
			psllw mm5, 11			;// shift MSW
			por mm0, mm4			;// combine mm0 and mm4 to get result
			por mm2, mm5			;// combine mm2 and mm5 to get result
			paddw mm0, mm1
			paddw mm2, mm3
			pxor mm0, mm1			;// restore original sign of mm0
			pxor mm2, mm3			;// restore original sign of mm2
			paddw mm0, PACKED_32768
			paddw mm2, PACKED_32768
			paddusw mm0, PACKED_30720
			paddusw mm2, PACKED_30720
			psubusw mm0, PACKED_61440
			psubusw mm2, PACKED_61440
			psubw mm0, PACKED_2048	;// clip each words into mm0 to [-2048..2047]
			psubw mm2, PACKED_2048	;// clip each words into mm2 to [-2048..2047]
			movq [edi], mm0			;// store mm0 into edi[0..7]
			movq [edi+8], mm2		;// store mm2 into edi[8..15]
			add esi, 16				;// esi += 16
			add edx, 8				;// edx += 8
			add edi, 16				;// edi += 16
			dec ecx					;// decrement ecx
			jnz iquant_non_intra__l1;// loop while not zero
			emms					;// empty MMX state
		}
	}
	else
	{
		for (i=0; i<64; i++)		{			val = src[i];			if (val!=0)			{				val = (int)((2*val+(val>0 ? 1 : -1))*quant_mat[i]*mquant)/32;				/* 如果不匹配則進行如下操作 */				if ((val&1)==0 && val!=0)				val+= (val>0) ? -1 : 1;			}			/* 色飽和 */			dst[i] = (val>2047) ? 2047 : ((val<-2048) ? -2048 : val);		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区**美女毛片| 欧美日韩成人在线| 国产欧美日韩精品一区| 国产精品白丝jk黑袜喷水| 日韩欧美不卡一区| 国产一区三区三区| 久久久无码精品亚洲日韩按摩| 国内精品久久久久影院一蜜桃| 精品国产免费视频| 成人污视频在线观看| 国产精品乱人伦中文| 99久久夜色精品国产网站| 亚洲蜜臀av乱码久久精品蜜桃| 色噜噜狠狠色综合中国| 婷婷激情综合网| 欧美成人性福生活免费看| 国产成人亚洲综合色影视| 国产精品国产三级国产aⅴ无密码| 99视频有精品| 首页欧美精品中文字幕| 欧美成人国产一区二区| 成人免费视频视频在线观看免费| 国产精品网站在线观看| 欧美日韩在线播放三区四区| 免费欧美日韩国产三级电影| 国产香蕉久久精品综合网| 色婷婷精品久久二区二区蜜臀av| 日韩国产在线一| 国产欧美一区二区精品性色超碰 | 日本系列欧美系列| 久久夜色精品一区| 欧美中文字幕一区二区三区亚洲| 石原莉奈在线亚洲三区| 国产午夜精品美女毛片视频| 色综合天天综合网天天狠天天| 日韩在线一二三区| 国产精品无码永久免费888| 欧美日本一区二区| 国产成人av资源| 日韩电影在线一区二区三区| 国产午夜亚洲精品羞羞网站| 欧美日韩高清一区二区三区| 国产美女av一区二区三区| 亚洲自拍另类综合| 久久久久久免费网| 91精品在线观看入口| 99久久婷婷国产| 国产精品综合一区二区| 亚洲va天堂va国产va久| 亚洲国产成人在线| 日韩一区国产二区欧美三区| 91麻豆精东视频| 国产成人8x视频一区二区| 日韩综合在线视频| 伊人性伊人情综合网| 国产日韩精品一区二区三区在线| 51午夜精品国产| 欧美性猛交xxxxxx富婆| 国产成人免费9x9x人网站视频| 日本成人超碰在线观看| 一区二区在线电影| 国产精品国产自产拍高清av王其| 日韩精品资源二区在线| 777xxx欧美| 欧美日韩在线不卡| 91高清视频免费看| 成人av网站免费观看| 国产伦理精品不卡| 久久99久久精品| 免费精品99久久国产综合精品| 一区二区三区不卡视频 | 日韩欧美精品在线视频| 欧美日韩日日骚| 欧美无砖砖区免费| 欧美主播一区二区三区美女| 一本到一区二区三区| 色诱亚洲精品久久久久久| av高清不卡在线| 成人福利视频在线| 成人avav在线| 色综合一区二区| 色综合欧美在线视频区| 在线视频你懂得一区| 欧美无人高清视频在线观看| 在线影院国内精品| 欧美老肥妇做.爰bbww视频| 欧美中文字幕一区二区三区| 欧美日韩午夜影院| 日韩女优视频免费观看| 精品国免费一区二区三区| 精品国产一二三| 国产偷国产偷精品高清尤物| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 久久久精品综合| 国产亚洲综合性久久久影院| 国产精品久久久久毛片软件| 亚洲三级久久久| 亚洲电影一级片| 久久69国产一区二区蜜臀| 国产精品一区二区黑丝| 99久久久久久99| 制服丝袜激情欧洲亚洲| 欧美精品一区二区高清在线观看| 中日韩免费视频中文字幕| 亚洲蜜臀av乱码久久精品| 亚洲电影在线播放| 精品无码三级在线观看视频| 成人avav影音| 91精品免费在线观看| 久久色.com| 一区二区日韩av| 久久精品国产第一区二区三区| 福利91精品一区二区三区| 日本福利一区二区| 日韩视频一区二区三区在线播放| 国产精品第五页| 日本不卡高清视频| 成人小视频免费在线观看| 欧美另类z0zxhd电影| 亚洲国产精品ⅴa在线观看| 亚洲成av人片在线| 成人丝袜高跟foot| 日韩一区二区三区高清免费看看| 欧美高清在线一区二区| 天天影视色香欲综合网老头| 国产大片一区二区| 欧美日韩夫妻久久| 国产欧美视频一区二区三区| 亚洲成人黄色影院| 成人av电影在线网| 欧美变态口味重另类| 亚洲男人的天堂av| 国产一区二区伦理| 欧美私模裸体表演在线观看| 欧美极品另类videosde| 丝瓜av网站精品一区二区| 91农村精品一区二区在线| 精品国产成人系列| 午夜精品视频一区| av在线一区二区| 久久只精品国产| 日韩高清不卡一区二区| 色老汉一区二区三区| 国产精品久久久久aaaa樱花| 精品午夜久久福利影院| 欧美一区二区在线视频| 亚洲精选视频在线| 成人av免费网站| 国产亚洲一区二区三区在线观看| 日韩精品视频网| 91久久香蕉国产日韩欧美9色| 久久精品男人天堂av| 国产呦萝稀缺另类资源| 精品欧美久久久| 另类专区欧美蜜桃臀第一页| 欧美日韩一二区| 香蕉久久夜色精品国产使用方法 | 麻豆精品一区二区综合av| 欧美日韩电影一区| 亚洲一区二区三区激情| 91国产福利在线| 一区二区三区国产精华| 91精品福利在线| 一区二区国产视频| 91色|porny| 亚洲日本在线观看| 色综合视频在线观看| 亚洲桃色在线一区| 不卡一区二区在线| 亚洲欧洲精品一区二区三区不卡| 成人中文字幕合集| 国产精品萝li| 色婷婷激情综合| 亚洲成人久久影院| 日韩午夜精品视频| 精品一区在线看| 久久品道一品道久久精品| 国产美女久久久久| 亚洲国产激情av| 色94色欧美sute亚洲线路一久| 亚洲视频1区2区| 欧美影片第一页| 人人精品人人爱| 久久久久九九视频| 99久久精品国产网站| 亚洲欧美一区二区不卡| 欧美视频中文字幕| 久久国产精品区| 国产午夜精品美女毛片视频| 99精品热视频| 日韩激情中文字幕| 欧美精品一区二区久久婷婷 | 一区二区三区四区不卡视频| 欧美在线999| 日本vs亚洲vs韩国一区三区二区 | 成人综合在线网站| 亚洲欧美另类综合偷拍| 在线不卡免费欧美| 久久国产福利国产秒拍| 国产精品美女一区二区三区|