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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? motest.cpp

?? 小波圖像變換
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
		pmvRef = m_rgmvRef;
	}

	CMotionVector* pmv = m_rgmv;
	CMotionVector* pmvBackward = m_rgmvBackward;
	const PixelC* ppxlcOrigY = m_pvopcOrig->pixelsBoundY ();
	const PixelC* ppxlcRef0Y = m_pvopcRefQ0->pixelsY () + m_iStartInRefToCurrRctY;
	const PixelC* ppxlcRef1Y = m_pvopcRefQ1->pixelsY () + m_iStartInRefToCurrRctY;
	Int iMBX, iMBY;
	for (iMBY = 0; iMBY < m_iNumMBY; iMBY++, y += MB_SIZE) {
		const PixelC* ppxlcOrigMBY = ppxlcOrigY;
		const PixelC* ppxlcRef0MBY = ppxlcRef0Y;
		const PixelC* ppxlcRef1MBY = ppxlcRef1Y;
		CoordI x = 0; // frame-based, always start from 0
		for (iMBX = 0; iMBX < m_iNumMBX; iMBX++, x += MB_SIZE) {
			pmbmd->m_dctMd = INTER; // B-VOP is always INTER
			pmbmd->m_bhas4MVForward = pmbmd->m_bhas4MVBackward = FALSE;  //out encoder doesn't support 4 mv in bvop (not even direct mode)
// GMC
			pmbmd->m_bMCSEL = FALSE;
// ~GMC
			// TPS FIX
			if(m_volmd.volType == ENHN_LAYER && (m_vopmd.iRefSelectCode != 3 || m_volmd.iEnhnType == 1)){
				pmbmd->m_bColocatedMBSkip= FALSE;
				copyToCurrBuffY(ppxlcOrigMBY); 
				// begin: modified by Sharp(98/3/10)
				if ( m_vopmd.iRefSelectCode == 0 )
					motionEstMB_BVOP (x, y, pmv, pmvBackward, pmbmd, ppxlcRef0MBY, ppxlcRef1MBY);
				else
					motionEstMB_BVOP (x, y, pmv, pmvBackward, pmbmd, pmbmdRef, pmvRef, ppxlcRef0MBY, ppxlcRef1MBY, TRUE);
				// end: modified by Sharp(98/3/10)
			}
			else {
// GMC
				pmbmd->m_bColocatedMBMCSEL = (pmbmdRef!=NULL) ? pmbmdRef->m_bMCSEL : FALSE;
				if(pmbmd->m_bColocatedMBMCSEL)
					pmbmd->m_bColocatedMBSkip = FALSE;
				else
// ~GMC
					pmbmd->m_bColocatedMBSkip = (pmbmdRef!=NULL) ? pmbmdRef->m_bSkip : FALSE;
				if (pmbmd->m_bColocatedMBSkip) {
					pmbmd->m_bSkip = TRUE;
					memset (pmv, 0, BVOP_MV_PER_REF_PER_MB * sizeof (CMotionVector));
					pmbmd->m_mbType = FORWARD; // can be set to FORWARD mode since the result is the same
				}
				else {
// GMC
					pmbmd->m_bSkip = FALSE;
// ~GMC
					copyToCurrBuffY (ppxlcOrigMBY);
					m_iMAD += m_vopmd.bInterlace ?
                        motionEstMB_BVOP_Interlaced (x, y, pmv, pmvBackward, pmbmd,
                                                     pmbmdRef, pmvRef, ppxlcRef0MBY, ppxlcRef1MBY, pmbmdRef!=NULL) :
                        motionEstMB_BVOP            (x, y, pmv, pmvBackward, pmbmd,
                                                     pmbmdRef, pmvRef, ppxlcRef0MBY, ppxlcRef1MBY, pmbmdRef!=NULL);
				}
			}
			pmbmd++;
			pmv         += BVOP_MV_PER_REF_PER_MB;
			pmvBackward += BVOP_MV_PER_REF_PER_MB;

			if(m_bCodedFutureRef!=FALSE)
			{	
				pmbmdRef++;
				pmvRef += PVOP_MV_PER_REF_PER_MB;
			}

			ppxlcOrigMBY += MB_SIZE;
			ppxlcRef0MBY += MB_SIZE;
			ppxlcRef1MBY += MB_SIZE;
		}
		ppxlcOrigY += m_iFrameWidthYxMBSize;
		ppxlcRef0Y += m_iFrameWidthYxMBSize;
		ppxlcRef1Y += m_iFrameWidthYxMBSize;
	}
	if (m_iMVFileUsage == 2)
		writeBVOPMVs();
}

Void CVideoObjectEncoder::motionEstBVOP_WithShape ()
{
	m_iMAD = 0;
	CoordI y = m_rctCurrVOPY.top; 
	CMBMode* pmbmd = m_rgmbmd;
	CMotionVector* pmv = m_rgmv;
	CMotionVector* pmvBackward = m_rgmvBackward;

	Bool bColocatedMBExist;
	const PixelC* ppxlcOrigY = m_pvopcOrig->pixelsBoundY ();
	const PixelC* ppxlcOrigBY = m_pvopcOrig->pixelsBoundBY ();
//OBSS_SAIT_991015 //_SONY_SS_ 
	//Here, shuld be better to use reconstructed image insted of original image.
	// This is same as rectanguler case. See motionEstBVOP .
	// Maybe, Motion Estimation using Original Picture cannot be used for all BVOP (not only scalable) in microsoft. 
	const PixelC* ppxlcRef0Y = m_pvopcRefQ0->pixelsY () + m_iStartInRefToCurrRctY; 
	const PixelC* ppxlcRef1Y = m_pvopcRefQ1->pixelsY () + m_iStartInRefToCurrRctY; 
//~OBSS_SAIT_991015

	Int iMBX, iMBY;

	if (m_iMVFileUsage == 1)
		readBVOPMVs();		//讀取VOP的運動向量

	for (iMBY = 0; iMBY < m_iNumMBY; iMBY++, y += MB_SIZE) {
		const PixelC* ppxlcOrigMBY = ppxlcOrigY;
		const PixelC* ppxlcOrigMBBY = ppxlcOrigBY;
		const PixelC* ppxlcRef0MBY = ppxlcRef0Y;
		const PixelC* ppxlcRef1MBY = ppxlcRef1Y;
		CoordI x = m_rctCurrVOPY.left;
		for (iMBX = 0; iMBX < m_iNumMBX; iMBX++, x += MB_SIZE) {
			pmbmd->m_dctMd = INTER; // B-VOP is always INTER
			pmbmd->m_bhas4MVForward = pmbmd->m_bhas4MVBackward = FALSE;
// GMC
			pmbmd->m_bMCSEL = FALSE;
// ~GMC
			//獲取VOP中象素的亮度分量
			copyToCurrBuffWithShapeY (ppxlcOrigMBY, ppxlcOrigMBBY);
			//VOP中的象素是否透明
			decideTransparencyStatus (pmbmd, m_ppxlcCurrMBBY);
			if (pmbmd->m_rgTranspStatus [0] != ALL) {
				const CMBMode* pmbmdRef;
				const CMotionVector* pmvRef;
				findColocatedMB (iMBX, iMBY, pmbmdRef, pmvRef);
// GMC
				pmbmd->m_bColocatedMBMCSEL = (pmbmdRef!=NULL && pmbmdRef->m_bMCSEL);
				if(pmbmd->m_bColocatedMBMCSEL)
					pmbmd->m_bColocatedMBSkip = FALSE;
				else
// ~GMC
					pmbmd->m_bColocatedMBSkip = (pmbmdRef!=NULL && pmbmdRef->m_bSkip);
				// TPS FIX
				if(m_volmd.volType == ENHN_LAYER && (m_vopmd.iRefSelectCode != 3 || m_volmd.iEnhnType == 1)) {
					pmbmd->m_bColocatedMBSkip= FALSE;
					bColocatedMBExist = (pmbmdRef!=NULL);
//OBSS_SAIT_991015
					if (m_vopmd.iRefSelectCode == 0) {
						if (pmbmd->m_rgTranspStatus [0] == NONE) 
							m_iMAD += motionEstMB_BVOP (
								x, y, pmv, pmvBackward,	pmbmd, ppxlcRef0MBY, ppxlcRef1MBY);
						else if (pmbmd->m_rgTranspStatus [0] == PARTIAL) {
							m_iMAD += motionEstMB_BVOP_WithShape (
								x, y, pmv, pmvBackward,	pmbmd, ppxlcRef0MBY, ppxlcRef1MBY);
						}
					}
					else {
						if (pmbmd->m_rgTranspStatus [0] == NONE) 
							m_iMAD += motionEstMB_BVOP (
								x, y, pmv, pmvBackward, pmbmd, pmbmdRef, pmvRef, ppxlcRef0MBY, ppxlcRef1MBY, bColocatedMBExist );
						else if (pmbmd->m_rgTranspStatus [0] == PARTIAL) {
							m_iMAD += motionEstMB_BVOP_WithShape (
								x, y, pmv, pmvBackward,	pmbmd, pmbmdRef, pmvRef, ppxlcRef0MBY, ppxlcRef1MBY, bColocatedMBExist );
						}
					}
//~OBSS_SAIT_991015
				} 
				else {
					if (pmbmd->m_bColocatedMBSkip) {
						pmbmd->m_bSkip = TRUE;
						memset (pmv, 0, BVOP_MV_PER_REF_PER_MB * sizeof (CMotionVector));
						m_statsMB.nDirectMB++;
						pmbmd->m_mbType = FORWARD;
					}
					else {
						bColocatedMBExist = (pmbmdRef!=NULL);
						if (pmbmd->m_rgTranspStatus [0] == NONE) {
// new changes
						m_iMAD += m_vopmd.bInterlace ?
							motionEstMB_BVOP_Interlaced (x, y, pmv, pmvBackward, pmbmd,
                                                     pmbmdRef, pmvRef, ppxlcRef0MBY, 
													 ppxlcRef1MBY
													 ,bColocatedMBExist) :
// end of new changes
						motionEstMB_BVOP (
								x, y, 
								pmv, pmvBackward,
								pmbmd, 
								pmbmdRef, pmvRef,
								ppxlcRef0MBY, ppxlcRef1MBY,
								bColocatedMBExist
							);
						}
						else if (pmbmd->m_rgTranspStatus [0] == PARTIAL) {
// new changes
					m_iMAD += m_vopmd.bInterlace ?
                        motionEstMB_BVOP_InterlacedWithShape (x, y, pmv, pmvBackward, pmbmd,
                                                     pmbmdRef, pmvRef, ppxlcRef0MBY, 
													 ppxlcRef1MBY
													 ,bColocatedMBExist) :
// end of new changes
					motionEstMB_BVOP_WithShape (
								x, y, 
								pmv, pmvBackward,
								pmbmd, 
								pmbmdRef, pmvRef,
								ppxlcRef0MBY, ppxlcRef1MBY,
								bColocatedMBExist
							);
						}
					}
				}
			}
			ppxlcOrigMBBY += MB_SIZE;
			pmbmd++;
			pmv         += BVOP_MV_PER_REF_PER_MB;
			pmvBackward += BVOP_MV_PER_REF_PER_MB;
			ppxlcOrigMBY += MB_SIZE;
			ppxlcRef0MBY += MB_SIZE;
			ppxlcRef1MBY += MB_SIZE;
		}
		ppxlcOrigY += m_iFrameWidthYxMBSize;
		ppxlcOrigBY += m_iFrameWidthYxMBSize;
		ppxlcRef0Y += m_iFrameWidthYxMBSize;
		ppxlcRef1Y += m_iFrameWidthYxMBSize;
	}
	if (m_iMVFileUsage == 2)
		writeBVOPMVs();
}

Void CVideoObjectEncoder::copyToCurrBuffWithShapeY (const PixelC* ppxlcCurrY, const PixelC* ppxlcCurrBY)
{
	Int iUnit = sizeof(PixelC); // NBIT: for memcpy
	PixelC* ppxlcCurrMBY = m_ppxlcCurrMBY;
	PixelC* ppxlcCurrMBBY = m_ppxlcCurrMBBY;
	Int ic;
	for (ic = 0; ic < MB_SIZE; ic++) {
		memcpy (ppxlcCurrMBY, ppxlcCurrY, MB_SIZE*iUnit);
		memcpy (ppxlcCurrMBBY, ppxlcCurrBY, MB_SIZE*iUnit);
		ppxlcCurrMBY += MB_SIZE; ppxlcCurrY += m_iFrameWidthY;
		ppxlcCurrMBBY += MB_SIZE; ppxlcCurrBY += m_iFrameWidthY;
	}
}

Void CVideoObjectEncoder::copyToCurrBuffY (const PixelC* ppxlcCurrY)
{
	Int iUnit = sizeof(PixelC); // NBIT: for memcpy
	PixelC* ppxlcCurrMBY = m_ppxlcCurrMBY;
	Int ic;
// RRV modification
	for(ic = 0; ic < (MB_SIZE *m_iRRVScale); ic++)
	{
		memcpy(ppxlcCurrMBY, ppxlcCurrY, (MB_SIZE *m_iRRVScale *iUnit));
		ppxlcCurrMBY += (MB_SIZE *m_iRRVScale); ppxlcCurrY += m_iFrameWidthY;
	}
//	for (ic = 0; ic < MB_SIZE; ic++) {
//		memcpy (ppxlcCurrMBY, ppxlcCurrY, MB_SIZE*iUnit);
//		ppxlcCurrMBY += MB_SIZE; ppxlcCurrY += m_iFrameWidthY;
//	}
// ~RRV
}

//for spatial sclability: basically set every mv to zero
Void CVideoObjectEncoder::motionEstMB_PVOP (CoordI x, CoordI y, 
											CMotionVector* pmv, CMBMode* pmbmd)
{
	pmbmd -> m_bhas4MVForward = FALSE;
	pmbmd-> m_dctMd = INTER;
	memset (pmv, 0, sizeof (CMotionVector) * PVOP_MV_PER_REF_PER_MB);
	for (UInt i = 0; i < PVOP_MV_PER_REF_PER_MB; i++)  {
		pmv -> computeTrueMV (); 
		pmv++;
	}
}

Int CVideoObjectEncoder::motionEstMB_PVOP (
	CoordI x, CoordI y, 
	CMotionVector* pmv, CMBMode* pmbmd, 
	const PixelC* ppxlcRefMBY
)
{
// RRV modification/insertion
	Int iFavorZero, iFavorInter;

	Int nBits = m_volmd.nBits;	// NBIT
	if(m_vopmd.RRVmode.iRRVOnOff == 1)
	{
		iFavorZero	= FAVORZERO_RRV;	// NBIT
		iFavorInter	= FAVOR_INTER_RRV;	// NBIT
	}
	else
	{
		iFavorZero	= FAVORZERO;	// NBIT
		iFavorInter	= FAVOR_INTER;	// NBIT
	}
	Int iFavor16x16 = FAVOR_16x16; // NBIT
	Int iFavor32x32 = FAVOR_32x32; // NBIT
//	Int nBits = m_volmd.nBits; // NBIT
//	Int iFavorZero = FAVORZERO; // NBIT
//	Int iFavorInter = FAVOR_INTER; // NBIT
//	Int iFavor16x16 = FAVOR_16x16; // NBIT
// ~RRV
	// NBIT: addjust mode selection thresholds
	if (nBits > 8) {
		iFavorZero <<= (nBits-8);
		iFavorInter <<= (nBits-8);
		iFavor16x16 <<= (nBits-8);
	} else if (nBits < 8) {
		iFavorZero >>= (8-nBits);
		iFavorInter >>= (8-nBits);
		iFavor16x16 >>= (8-nBits);
	}

	Int iInitSAD = sad16x16At0 (ppxlcRefMBY);
	Int iSADInter = blkmatch16 (pmv, x, y, x, y, iInitSAD, ppxlcRefMBY, m_puciRefQZoom0, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample);
	Int iSumDev = sumDev ();
#ifdef __TRACE_AND_STATS_
	m_pbitstrmOut->trace (iSADInter, "MB_SAD16");
#endif // __TRACE_AND_STATS_

// INTERLACE
/* NBIT: change to a bigger number
	Int iSAD16x8 = 256*256;
*/
	Int iSAD16x8 = 4096*256;
	pmbmd -> m_bFieldMV = FALSE;
	if(m_vopmd.bInterlace) {
		// Field-Based Estimation
		CMotionVector* pmv16x8 = pmv + 5;
		const PixelC *ppxlcHalfPelRef = m_pvopcRefQ0->pixelsY()
			+EXPANDY_REF_FRAME*m_iFrameWidthY + EXPANDY_REF_FRAME+ x + y * m_iFrameWidthY; // 1.31.99 changes

		// top to top
		Int iSAD16x8top = blkmatch16x8 (pmv16x8, x, y, 0, ppxlcRefMBY,
			ppxlcHalfPelRef, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample);
		pmv16x8++;
		// bot to top
		Int iSAD16x8bot = blkmatch16x8 (pmv16x8, x, y, 0, ppxlcRefMBY + m_iFrameWidthY,
			ppxlcHalfPelRef + m_iFrameWidthY, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample);

		iSAD16x8=(iSAD16x8top<iSAD16x8bot) ? iSAD16x8top : iSAD16x8bot;
		pmbmd->m_bForwardTop = (iSAD16x8top<iSAD16x8bot) ? 0 : 1;
		pmv16x8++;
		// top to bot
		iSAD16x8top = blkmatch16x8 (pmv16x8, x, y, MB_SIZE, ppxlcRefMBY,
			ppxlcHalfPelRef, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample);
		pmv16x8++;
		// bot to bot
		iSAD16x8bot = blkmatch16x8 (pmv16x8, x, y, MB_SIZE, ppxlcRefMBY + m_iFrameWidthY,
			ppxlcHalfPelRef + m_iFrameWidthY, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample);
		iSAD16x8 += (iSAD16x8top<iSAD16x8bot) ? iSAD16x8top : iSAD16x8bot;
		pmbmd->m_bForwardBottom = (iSAD16x8top<iSAD16x8bot) ? 0 : 1;
	} else {
/* NBIT: change to a bigger number
		iSAD16x8 = 256*256;
*/
		iSAD16x8 = 4096*256;

		for (Int iBlk = 5; iBlk <= 8; iBlk++) {  // 04/28/99 david ruhoff
			pmv [iBlk] = pmv [0];   // fill in field info to make mv file deterministic
		}
	}
#ifdef __TRACE_AND_STATS_
	m_pbitstrmOut->trace (iSAD16x8, "MB_SAD16x8");
#endif // __TRACE_AND_STATS_
// ~INTERLACE

	CoordI blkX, blkY;
	Int iSAD8 = 0;
	CMotionVector* pmv8 = pmv + 1;
// RRV modification
	blkX = x + (BLOCK_SIZE *m_iRRVScale);
	blkY = y + (BLOCK_SIZE *m_iRRVScale);
//	blkX = x + BLOCK_SIZE;
//	blkY = y + BLOCK_SIZE;
// ~RRV
	const PixelC* ppxlcCodedBlkY = m_ppxlcCurrMBY;
	
#ifdef __DISABLE_4MV_FOR_PVOP_
	iSAD8 = 4096*4096; // big number to disable 8x8 mode
#else

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产一二三| 亚洲国产成人自拍| 丝袜亚洲另类欧美综合| 欧美日韩激情一区二区| 亚洲超碰精品一区二区| 日韩午夜在线观看视频| 精品在线观看免费| 久久嫩草精品久久久精品一| 国产成人精品午夜视频免费| 国产精品视频一二三区| 色综合久久久久久久| 一区二区三区免费网站| 欧美久久婷婷综合色| 奇米一区二区三区| 国产日韩在线不卡| 91视频在线观看免费| 亚洲国产欧美在线人成| 日韩一区二区在线看| 国产一区二区三区综合| 一区在线播放视频| 欧美精品欧美精品系列| 国产一区二区三区高清播放| 成人欧美一区二区三区视频网页| 91视频国产资源| 婷婷夜色潮精品综合在线| 精品国产伦一区二区三区观看方式| 国产成人亚洲综合a∨婷婷| 亚洲精品国产精品乱码不99| 欧美一区二区在线看| 懂色av一区二区三区免费观看| 亚洲老妇xxxxxx| 精品国产麻豆免费人成网站| 91麻豆蜜桃一区二区三区| 图片区小说区区亚洲影院| 久久久久成人黄色影片| 欧美性生交片4| 国产精品亚洲午夜一区二区三区| 一区二区三区日韩| 久久九九久久九九| 欧美日韩不卡视频| 成人毛片视频在线观看| 蜜臀av国产精品久久久久 | 午夜精品久久久久久久久久| 精品国产乱码久久| 欧美在线色视频| 粉嫩av亚洲一区二区图片| 日本女人一区二区三区| 一区二区三区精品| 中国色在线观看另类| 精品日韩一区二区三区| 欧美性极品少妇| 99精品视频在线播放观看| 国产精选一区二区三区| 日韩精品电影在线| 亚洲成人av福利| 亚洲精选一二三| 国产精品日韩精品欧美在线| 日韩小视频在线观看专区| 欧美日韩视频不卡| 91蜜桃传媒精品久久久一区二区 | 国产成人综合亚洲91猫咪| 午夜视频在线观看一区二区| 亚洲同性同志一二三专区| 久久久噜噜噜久久中文字幕色伊伊| 欧美美女黄视频| 欧美综合在线视频| 日本高清不卡一区| www.欧美.com| 岛国精品在线观看| 国产精品一区二区果冻传媒| 久久精品国产一区二区三| 日日欢夜夜爽一区| 日韩精品亚洲专区| 五月激情综合网| 日韩在线一二三区| 日韩精品欧美精品| 视频一区视频二区中文字幕| 午夜精品一区二区三区电影天堂| 亚洲一区在线观看视频| 亚洲午夜一二三区视频| 亚洲成人精品一区二区| 亚洲va天堂va国产va久| 亚洲一区二区三区在线播放| 亚洲一级二级三级在线免费观看| 亚洲精品视频在线观看免费| 亚洲欧洲中文日韩久久av乱码| 亚洲男帅同性gay1069| 亚洲视频图片小说| 亚洲一区视频在线| 免费成人av在线播放| 激情综合网最新| 成人免费毛片片v| 99视频精品在线| 色婷婷一区二区| 欧美日韩视频在线一区二区 | 天堂va蜜桃一区二区三区 | 在线观看国产日韩| 在线不卡欧美精品一区二区三区| 亚洲精品福利视频网站| 亚洲一区二区不卡免费| 久久免费看少妇高潮| 国产精品麻豆欧美日韩ww| 亚洲老妇xxxxxx| 免费成人在线播放| 国产一区二区按摩在线观看| 成人免费精品视频| 欧美日韩成人一区| 久久午夜羞羞影院免费观看| 国产精品久久久久久久久免费丝袜 | 亚洲视频一区二区在线观看| 亚洲一区二区黄色| 国产乱码一区二区三区| 色老汉一区二区三区| 日韩一区二区在线看| 18涩涩午夜精品.www| 日韩av电影免费观看高清完整版 | 亚洲成人先锋电影| 国产精品一二三| 欧美视频一二三区| 久久亚洲精品小早川怜子| 亚洲精品成人精品456| 久久综合综合久久综合| 一本久久综合亚洲鲁鲁五月天| 欧美一级理论性理论a| 国产精品福利一区| 免费人成在线不卡| 欧美亚洲国产bt| 国产午夜亚洲精品不卡| 日韩精品久久理论片| 99re免费视频精品全部| 精品国产免费人成电影在线观看四季 | 91理论电影在线观看| 日韩精品中文字幕在线不卡尤物| 中文字幕一区二区三区蜜月| 美国一区二区三区在线播放| 色综合视频在线观看| 久久久久九九视频| 日韩精品色哟哟| 欧美在线小视频| 中文字幕一区视频| 国模大尺度一区二区三区| 精品视频免费在线| 国产精品麻豆视频| 国产精品亚洲一区二区三区在线 | 国内成人自拍视频| 欧美日韩免费一区二区三区视频| 国产精品免费视频观看| 麻豆成人91精品二区三区| 欧美亚洲高清一区| 亚洲裸体在线观看| 成人永久看片免费视频天堂| 精品福利av导航| 青青草精品视频| 欧美丰满少妇xxxxx高潮对白| 亚洲卡通欧美制服中文| 99久久99久久久精品齐齐| 中文字幕不卡的av| 成人免费毛片高清视频| 国产亚洲va综合人人澡精品| 国产另类ts人妖一区二区| 精品欧美一区二区在线观看| 免费成人性网站| 日韩欧美中文字幕精品| 免费高清不卡av| 欧美哺乳videos| 激情五月播播久久久精品| 精品奇米国产一区二区三区| 久久国产人妖系列| 精品日韩在线观看| 国产一区二区剧情av在线| 久久久不卡影院| 成人一区二区三区视频| 1区2区3区国产精品| 91免费看`日韩一区二区| 日韩毛片一二三区| 欧美午夜电影网| 日韩中文字幕区一区有砖一区 | 亚洲视频一区二区在线| 色综合天天综合网天天看片| 一区二区欧美在线观看| 在线免费观看不卡av| 性感美女极品91精品| 6080国产精品一区二区| 日本不卡一二三| 26uuu另类欧美亚洲曰本| 国产激情偷乱视频一区二区三区| 欧美国产禁国产网站cc| 91一区二区三区在线观看| 亚洲精品欧美专区| 制服丝袜日韩国产| 国产专区欧美精品| 国产精品福利一区| 欧美日韩中文国产| 国产一区二区伦理片| 亚洲人成网站在线| 欧美日韩精品欧美日韩精品一综合| 免费在线观看一区| 国产精品日韩精品欧美在线| 欧美性xxxxxx少妇| 青青草精品视频|