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

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

?? motest.cpp

?? 小波圖像變換
?? CPP
?? 第 1 頁 / 共 5 頁
字號:

	// 8x8
	iSAD8 += blockmatch8 (ppxlcCodedBlkY, pmv8, x, y, pmv, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample);
	pmv8++;
// RRV modification
	ppxlcCodedBlkY += (BLOCK_SIZE *m_iRRVScale);
//	ppxlcCodedBlkY += BLOCK_SIZE;
// ~RRV
#ifdef __TRACE_AND_STATS_
	m_pbitstrmOut->trace (iSAD8, "MB_SAD8");
#endif // __TRACE_AND_STATS_

	iSAD8 += blockmatch8 (ppxlcCodedBlkY, pmv8, blkX, y, pmv, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample);
	pmv8++;
// RRV modification
	ppxlcCodedBlkY += (BLOCK_SIZE *m_iRRVScale) *(MB_SIZE *m_iRRVScale) 
		-(BLOCK_SIZE *m_iRRVScale);
//	ppxlcCodedBlkY += BLOCK_SIZE * MB_SIZE - BLOCK_SIZE;
// ~RRV
#ifdef __TRACE_AND_STATS_
	m_pbitstrmOut->trace (iSAD8, "MB_SAD8");
#endif // __TRACE_AND_STATS_

	iSAD8 += blockmatch8 (ppxlcCodedBlkY, pmv8, x, blkY, pmv, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample);
	pmv8++;
// RRV modification
	ppxlcCodedBlkY += (BLOCK_SIZE *m_iRRVScale);
//	ppxlcCodedBlkY += BLOCK_SIZE;
// ~RRV
#ifdef __TRACE_AND_STATS_
	m_pbitstrmOut->trace (iSAD8, "MB_SAD8");
#endif // __TRACE_AND_STATS_

	iSAD8 += blockmatch8 (ppxlcCodedBlkY, pmv8, blkX, blkY, pmv, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample);
#ifdef __TRACE_AND_STATS_
	m_pbitstrmOut->trace (iSAD8, "MB_SAD8");
#endif // __TRACE_AND_STATS_
	
#endif // DISABLE_4MV_FOR_PVOP

/* NBIT: change
	iSADInter -= FAVOR_16x16;
*/
// RRV modification
	if(m_vopmd.RRVmode.iRRVOnOff == 1)
	{
		iSADInter	-= iFavor32x32;
		iSAD16x8	-= FAVOR_FIELD_RRV;
	}
	else
	{
		iSADInter	-= iFavor16x16;
		iSAD16x8	-= FAVOR_FIELD;
	}
//	iSADInter -= iFavor16x16;
//	iSAD16x8 -= FAVOR_FIELD;
// ~RRV
	if ((iSADInter <= iSAD8) && (iSADInter <= iSAD16x8)) {
/* NBIT: change
	    iSADInter += FAVOR_16x16;
*/
// RRV modification
		if(m_vopmd.RRVmode.iRRVOnOff == 1)
		{
			iSADInter += iFavor32x32;
		}
		else
		{
			iSADInter += iFavor16x16;
		}
//	    iSADInter += iFavor16x16;
// ~RRV
		pmbmd -> m_bhas4MVForward = FALSE;
		pmv -> computeTrueMV (); // compute here instead of blkmatch to save computation
		pmv -> computeMV ();     // to make pmv unique (iMVX=3+iHalfX=-1 == iMVX=2+iHalfX=+1)
		for (UInt i = 1; i < PVOP_MV_PER_REF_PER_MB; i++) {// didn't increment the last pmv
          pmv[i].m_vctTrueHalfPel = pmv->m_vctTrueHalfPel;	// Save (iMVX, iMVY) for MV file
          pmv[i].computeMV();
        }
        
        
	}
// INTERLACE
	else if (iSAD16x8 <= iSAD8) { // Field-based
		pmbmd -> m_bhas4MVForward = FALSE;
		pmbmd -> m_bFieldMV = TRUE;
		Int iTempX1, iTempY1, iTempX2, iTempY2;
		if(pmbmd->m_bForwardTop) {
			pmv [6].computeTrueMV ();
            pmv [6].computeMV ();     // to make pmv unique (iMVX=3+iHalfX=-1 == iMVX=2+iHalfX=+1)
			iTempX1 = pmv[6].m_vctTrueHalfPel.x;
			iTempY1 = pmv[6].m_vctTrueHalfPel.y;
		}
		else {
			pmv [5].computeTrueMV ();
            pmv [5].computeMV ();     // to make pmv unique (iMVX=3+iHalfX=-1 == iMVX=2+iHalfX=+1)
			iTempX1 = pmv[5].m_vctTrueHalfPel.x;
			iTempY1 = pmv[5].m_vctTrueHalfPel.y;
		}
		if(pmbmd->m_bForwardBottom) {
			pmv [8].computeTrueMV ();
            pmv [8].computeMV ();     // to make pmv unique (iMVX=3+iHalfX=-1 == iMVX=2+iHalfX=+1)
			iTempX2 = pmv[8].m_vctTrueHalfPel.x;
			iTempY2 = pmv[8].m_vctTrueHalfPel.y;
		}
		else {
			pmv [7].computeTrueMV ();
            pmv [7].computeMV ();     // to make pmv unique (iMVX=3+iHalfX=-1 == iMVX=2+iHalfX=+1)
			iTempX2 = pmv[7].m_vctTrueHalfPel.x;
			iTempY2 = pmv[7].m_vctTrueHalfPel.y;
		}
		iSADInter = iSAD16x8 + FAVOR_FIELD;
		Int iTemp;
		for (UInt i = 1; i < 5; i++) {
			iTemp = iTempX1 + iTempX2;
			pmv [i].m_vctTrueHalfPel.x = (iTemp & 3) ? ((iTemp>>1) | 1) : (iTemp>>1);
			iTemp = iTempY1 + iTempY2;
			pmv [i].m_vctTrueHalfPel.y = (iTemp & 3) ? ((iTemp>>1) | 1) : (iTemp>>1);
			pmv[i].computeMV (); 
		}
	}
// ~INTERLACE
	else {
		pmv [1].computeTrueMV ();
		pmv [2].computeTrueMV ();
		pmv [3].computeTrueMV ();
		pmv [4].computeTrueMV ();
		pmv [1].computeMV ();
		pmv [2].computeMV ();
		pmv [3].computeMV ();
		pmv [4].computeMV ();
		pmbmd -> m_bhas4MVForward = TRUE;
		iSADInter = iSAD8;
	}
// GMC
	pmbmd -> m_bMCSEL = FALSE;
	if(m_uiSprite == 2 && m_vopmd.vopPredType == SPRITE){
		Int iMSADG = 4096*256;
		PixelC* ppxlcRefforgme = (PixelC*) m_pvopcRefQ0->pixelsY () ;
		iMSADG = globalme (x,y,ppxlcRefforgme);
#ifdef __TRACE_AND_STATS_
		m_pbitstrmOut->trace (iMSADG, "MB_GMC");
#endif // __TRACE_AND_STATS_
		Int ioffset, iQP=m_uiGMCQP; // GMC_V2 *m_rgiQPpred;
		if(pmbmd -> m_bhas4MVForward == TRUE)
			//ioffset = iQP*256/24;
			ioffset = iQP*256/16;
		else
		{
			if(pmbmd -> m_bFieldMV == TRUE)
			{
				ioffset = iQP*256/32;
			}else{
				if(pmv->m_vctTrueHalfPel.x == 0 && pmv->m_vctTrueHalfPel.y == 0)
					ioffset = iFavorZero*2;
				else
					ioffset = iQP*256/64;
			}
		}
		if((iMSADG - ioffset) <= iSADInter)
		{
			iSADInter = iMSADG;
			pmbmd -> m_dctMd = INTER;
			pmbmd -> m_bFieldMV = FALSE;
			pmbmd -> m_bhas4MVForward = FALSE;
			pmbmd -> m_bMCSEL = TRUE;
			Int iPmvx, iPmvy, iHalfx, iHalfy;
			globalmv (iPmvx, iPmvy, iHalfx, iHalfy,
				x,y,m_vopmd.mvInfoForward.uiRange,m_volmd.bQuarterSample);
			*pmv = CMotionVector (iPmvx, iPmvy);
			pmv -> iHalfX = iHalfx;
			pmv -> iHalfY = iHalfy;
			pmv -> computeTrueMV ();
			pmv -> computeMV ();
			for (UInt i = 1; i < PVOP_MV_PER_REF_PER_MB; i++)
				pmv[i] = *pmv;
		}
		else
		{
			pmbmd -> m_bMCSEL = FALSE;
		}
	}
// ~GMC
/* NBIT: change
	if (iSumDev < (iSADInter - FAVOR_INTER)) {
*/
// GMC
	Int iIntraOffset;
	if(m_uiSprite == 2 && m_vopmd.vopPredType == SPRITE)
		iIntraOffset = iFavorInter;
		//iIntraOffset = iFavorInter/2;
	else
		iIntraOffset = iFavorInter;
// ~GMC
	if (iSumDev < (iSADInter - iIntraOffset)) { // GMC
		pmbmd -> m_bSkip = FALSE;
		pmbmd -> m_dctMd = INTRA;
		pmbmd -> m_bFieldMV = FALSE;
// GMC
		pmbmd -> m_bMCSEL = FALSE;
// ~GMC
		memset (pmv, 0, PVOP_MV_PER_REF_PER_MB * sizeof (CMotionVector));
		return ((m_uiRateControl==RC_MPEG4) ? sumAbsCurrMB () : 0);
	}
	else {
		pmbmd -> m_dctMd = INTER;
		if (pmbmd->m_bhas4MVForward == FALSE
			&& pmbmd -> m_bFieldMV == FALSE
// GMC
			&& pmbmd -> m_bMCSEL == FALSE
// ~GMC
			&& pmv->m_vctTrueHalfPel.x == 0 && pmv->m_vctTrueHalfPel.y == 0)
/* NBIT: change
			return (iSADInter + FAVORZERO);
*/
			return (iSADInter + iFavorZero);
		else 
			return iSADInter;
	}
}

Int CVideoObjectEncoder::motionEstMB_PVOP_WithShape (
	CoordI x, CoordI y, 
	CMotionVector* pmv, CMBMode* pmbmd, 
	const PixelC* ppxlcRefMBY
)
{
	assert (pmbmd->m_rgTranspStatus [0] == PARTIAL);
	UInt nBits = m_volmd.nBits; // NBIT
	Int iFavorZero = FAVORZERO;
	Int iFavor16x16 = (pmbmd->m_rgNumNonTranspPixels [0] >> 1) + 1; // NBIT
	Int iFavorInter = pmbmd->m_rgNumNonTranspPixels [0] << 1; // NBIT
	// NBIT: addjust mode selection thresholds
	if (nBits > 8) {
		iFavor16x16 <<= (nBits-8);
		iFavorInter <<= (nBits-8);
		iFavorZero <<= (nBits-8);
	} else if (nBits < 8) {
		iFavor16x16 >>= (8-nBits);
		iFavorInter >>= (8-nBits);
		iFavorZero >>= (8-nBits);
	}

	Int iInitSAD = sad16x16At0WithShape (ppxlcRefMBY, pmbmd);
	Int iSADInter = blkmatch16WithShape (pmv, x, y, x, y, iInitSAD, ppxlcRefMBY, m_puciRefQZoom0, pmbmd, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample,0);
	Int iSumDev = sumDevWithShape (pmbmd -> m_rgNumNonTranspPixels [0]);
#ifdef __TRACE_AND_STATS_
	m_pbitstrmOut->trace (iSADInter, "MB_SAD16");
#endif // __TRACE_AND_STATS_
// INTERLACE
// New Changes
	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 = blkmatch16x8WithShape (pmv16x8, x, y, 0, ppxlcRefMBY,
			ppxlcHalfPelRef, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample,0);
		pmv16x8++;
		// bot to top
		Int iSAD16x8bot = blkmatch16x8WithShape (pmv16x8, x, y, 0, ppxlcRefMBY + m_iFrameWidthY,
			ppxlcHalfPelRef + m_iFrameWidthY, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample,0);

		iSAD16x8=(iSAD16x8top<iSAD16x8bot) ? iSAD16x8top : iSAD16x8bot;
		pmbmd->m_bForwardTop = (iSAD16x8top<iSAD16x8bot) ? 0 : 1;
		pmv16x8++;
		// top to bot
		iSAD16x8top = blkmatch16x8WithShape (pmv16x8, x, y, MB_SIZE, ppxlcRefMBY,
			ppxlcHalfPelRef, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample,0);
		pmv16x8++;
		// bot to bot
		iSAD16x8bot = blkmatch16x8WithShape (pmv16x8, x, y, MB_SIZE, ppxlcRefMBY + m_iFrameWidthY,
			ppxlcHalfPelRef + m_iFrameWidthY, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample,0);
		iSAD16x8 += (iSAD16x8top<iSAD16x8bot) ? iSAD16x8top : iSAD16x8bot;
		pmbmd->m_bForwardBottom = (iSAD16x8top<iSAD16x8bot) ? 0 : 1;
	} else {
		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_
// end of New changes
// ~INTERLACE

	CoordI blkX, blkY;
	Int iSAD8 = 0;
	CMotionVector* pmv8 = pmv + 1;
	blkX = x + BLOCK_SIZE;
	blkY = y + BLOCK_SIZE;
	const PixelC* ppxlcCodedBlkY = m_ppxlcCurrMBY;
	const PixelC* ppxlcCodedBlkBY = m_ppxlcCurrMBBY;

	// 8 x 8
	iSAD8 += 
		(pmbmd->m_rgTranspStatus [1] == PARTIAL) ? blockmatch8WithShape (ppxlcCodedBlkY, ppxlcCodedBlkBY, pmv8, x, y, pmv, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample,0) :
		(pmbmd->m_rgTranspStatus [1] == NONE) ? blockmatch8 (ppxlcCodedBlkY, pmv8, x, y, pmv, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample) : 0;
	pmv8++;
	ppxlcCodedBlkY += BLOCK_SIZE;
	ppxlcCodedBlkBY += BLOCK_SIZE;
#ifdef __TRACE_AND_STATS_
	m_pbitstrmOut->trace (iSAD8, "MB_SAD8");
#endif // __TRACE_AND_STATS_

	iSAD8 += 
		(pmbmd->m_rgTranspStatus [2] == PARTIAL) ? blockmatch8WithShape (ppxlcCodedBlkY, ppxlcCodedBlkBY, pmv8, blkX, y, pmv, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample,0) :
		(pmbmd->m_rgTranspStatus [2] == NONE)	? blockmatch8 (ppxlcCodedBlkY, pmv8, blkX, y, pmv, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample) : 0;
	pmv8++;
	ppxlcCodedBlkY += BLOCK_SIZE * MB_SIZE - BLOCK_SIZE;
	ppxlcCodedBlkBY += BLOCK_SIZE * MB_SIZE - BLOCK_SIZE;
#ifdef __TRACE_AND_STATS_
	m_pbitstrmOut->trace (iSAD8, "MB_SAD8");
#endif // __TRACE_AND_STATS_
	
	iSAD8 += 
		(pmbmd->m_rgTranspStatus [3] == PARTIAL) ? blockmatch8WithShape (ppxlcCodedBlkY, ppxlcCodedBlkBY, pmv8, x, blkY, pmv, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample,0) :
		(pmbmd->m_rgTranspStatus [3] == NONE)	? blockmatch8 (ppxlcCodedBlkY, pmv8, x, blkY, pmv, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample) : 0;
	pmv8++;
	ppxlcCodedBlkY += BLOCK_SIZE;
	ppxlcCodedBlkBY += BLOCK_SIZE;
#ifdef __TRACE_AND_STATS_
	m_pbitstrmOut->trace (iSAD8, "MB_SAD8");
#endif // __TRACE_AND_STATS_
	
	iSAD8 += 
		(pmbmd->m_rgTranspStatus [4] == PARTIAL) ? blockmatch8WithShape (ppxlcCodedBlkY, ppxlcCodedBlkBY, pmv8, blkX, blkY, pmv, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample,0) :
		(pmbmd->m_rgTranspStatus [4] == NONE)	? blockmatch8 (ppxlcCodedBlkY, pmv8, blkX, blkY, pmv, m_vopmd.iSearchRangeForward, m_volmd.bQuarterSample) : 0;
#ifdef __TRACE_AND_STATS_
	m_pbitstrmOut->trace (iSAD8, "MB_SAD8");
#endif // __TRACE_AND_STATS_

	// begin added by Sharp (98/9/10) prevents inter4v with one transp block
	if (( pmbmd->m_rgTranspStatus [1] != ALL && pmbmd->m_rgTranspStatus [2] == ALL
		&& pmbmd->m_rgTranspStatus [3] == ALL && pmbmd->m_rgTranspStatus [4] == ALL	)||
		( pmbmd->m_rgTranspStatus [1] == ALL && pmbmd->m_rgTranspStatus [2] != ALL
		&& pmbmd->m_rgTranspStatus [3] == ALL && pmbmd->m_rgTranspStatus [4] == ALL	)||
		( pmbmd->m_rgTranspStatus [1] == ALL && pmbmd->m_rgTranspStatus [2] == ALL
		&& pmbmd->m_rgTranspStatus [3] != ALL && pmbmd->m_rgTranspStatus [4] == ALL	)||
		( pmbmd->m_rgTranspStatus [1] == ALL && pmbmd->m_rgTranspStatus [2] == ALL
		&& pmbmd->m_rgTranspStatus [3] == ALL && pmbmd->m_rgTranspStatus [4] != ALL ))
		iSAD8 = 256 * 4096;
	// end added by Sharp (98/9/10)

#ifdef __TRACE_AND_STATS_
	m_pbitstrmOut->trace (iSAD8, "MB_SAD8");
#endif // __TRACE_AND_STATS_

/* NBIT: change
	if ((iSADInter - ((pmbmd->m_rgNumNonTranspPixels [0] >> 1) + 1)) <= iSAD8) {
*/
// new changes
	iSADInter -= iFavor16x16;
	iSAD16x8 -= FAVOR_FIELD;
	if ((iSADInter <= iSAD8)&&(iSADInter <= iSAD16x8)) {
		iSADInter += iFavor16x16;
// end of new changes
		pmbmd -> m_bhas4MVForward = FALSE;
		pmv -> computeTrueMV (); // compute here instead of blkmatch to save computation
		pmv -> computeMV ();     // to make pmv unique (iMVX=3+iHalfX=-1 == iMVX=2+iHalfX=+1)
		for (UInt i = 1; i < PVOP_MV_PER_REF_PER_MB; i++) // didn't increment the last pmv
			pmv [i] = *pmv;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产日韩91久久久久久| 亚洲一区在线看| 国产黄色精品网站| 国产偷v国产偷v亚洲高清| 成人自拍视频在线| 中文字幕中文字幕在线一区| 色综合 综合色| 亚洲成人免费av| 日韩欧美一级二级三级久久久| 麻豆精品在线看| 久久久久久久久久久久久夜| 成人网页在线观看| 一区二区不卡在线视频 午夜欧美不卡在| 成人毛片视频在线观看| 精品国产一二三区| 国产在线乱码一区二区三区| 精品福利一区二区三区免费视频| 国产成人午夜高潮毛片| 亚洲精品视频观看| 欧美大片日本大片免费观看| 91在线porny国产在线看| 日韩va欧美va亚洲va久久| 欧美激情资源网| 欧美视频完全免费看| 国产一区二区三区国产| 亚洲黄色录像片| 精品国产免费人成在线观看| 91偷拍与自偷拍精品| 秋霞午夜鲁丝一区二区老狼| 日韩一区有码在线| 精品剧情v国产在线观看在线| 色综合天天狠狠| 久久精品99国产国产精| 亚洲精品中文在线影院| 久久中文娱乐网| 欧美亚洲愉拍一区二区| 国产精品资源站在线| 91久久精品一区二区三区| 91黄色免费网站| 中文字幕中文字幕中文字幕亚洲无线| 久久久精品一品道一区| 在线亚洲一区二区| 国产精品伊人色| 午夜久久久久久| 亚洲免费在线观看| 国产免费成人在线视频| 日韩无一区二区| 色呦呦国产精品| 成人黄色av电影| 国产激情一区二区三区四区| 欧美a一区二区| 午夜婷婷国产麻豆精品| **性色生活片久久毛片| 国产喷白浆一区二区三区| 欧美一区二区三区喷汁尤物| 欧美视频日韩视频在线观看| 91免费观看在线| a级精品国产片在线观看| 色就色 综合激情| 波多野结衣91| 亚洲精品成人在线| 日韩免费一区二区| 91精品免费观看| 国产91在线观看| 91蜜桃视频在线| 国产91在线观看丝袜| 视频一区二区三区中文字幕| 中文字幕精品综合| 久久尤物电影视频在线观看| 欧美美女喷水视频| 久久久久久久久伊人| 欧美午夜在线一二页| 国产精品99久久久久久久女警| 成人免费观看av| 国产一区91精品张津瑜| 久久精品国产99国产精品| 奇米影视一区二区三区| 成人av网址在线| jizz一区二区| 国产精品素人一区二区| 欧美亚洲另类激情小说| 欧美日韩一区二区在线视频| 欧美性大战xxxxx久久久| 欧美午夜片在线观看| 欧美日韩精品三区| 欧美一区午夜视频在线观看| 日韩视频在线永久播放| 久久综合色婷婷| 国产精品网站导航| 亚洲欧美一区二区三区孕妇| 亚洲成人在线免费| 男男gaygay亚洲| 狠狠色丁香九九婷婷综合五月| 国产精选一区二区三区| 成人性色生活片免费看爆迷你毛片| aaa欧美大片| 欧美日本国产视频| 日韩精品一区二区三区老鸭窝| 久久亚洲一区二区三区四区| 中文字幕亚洲区| 亚洲成人黄色影院| 精品亚洲成a人在线观看| 成人一级视频在线观看| 国产午夜精品福利| 亚洲无人区一区| 亚洲欧美日韩一区| 亚洲一区电影777| 日本亚洲天堂网| 国产福利一区二区三区视频在线| 波多野结衣中文字幕一区二区三区| 色婷婷亚洲精品| 日韩美女天天操| 亚洲天堂av一区| 免费亚洲电影在线| 9i在线看片成人免费| 欧美日韩夫妻久久| 国产欧美va欧美不卡在线| 亚洲日本护士毛茸茸| 欧美aa在线视频| 91无套直看片红桃| 精品国产凹凸成av人网站| 国产精品人妖ts系列视频| 日韩在线一区二区三区| 成人激情动漫在线观看| 制服丝袜日韩国产| 日韩美女视频一区二区| 久久91精品国产91久久小草| 一本一道久久a久久精品| 久久人人爽人人爽| 午夜亚洲国产au精品一区二区| 成人一级黄色片| 在线观看免费视频综合| 国产精品福利影院| 日本一区二区三区四区| 五月天一区二区三区| 97久久超碰国产精品| 欧美变态凌虐bdsm| 日一区二区三区| 在线视频你懂得一区二区三区| 精品成a人在线观看| 午夜精品一区在线观看| 欧洲一区二区三区免费视频| 中文字幕精品综合| 99久久免费精品| 国产视频一区在线观看| 麻豆精品视频在线观看视频| 欧美午夜一区二区三区免费大片| 国产精品青草久久| 丁香一区二区三区| 国产亚洲欧美日韩日本| 黑人精品欧美一区二区蜜桃| 91精品麻豆日日躁夜夜躁| 亚洲h精品动漫在线观看| 色综合天天视频在线观看| 国产精品伦一区| 成人激情午夜影院| 中文字幕av资源一区| 大白屁股一区二区视频| 国产精品日产欧美久久久久| 国产成人av在线影院| 不卡视频在线观看| 懂色av一区二区三区蜜臀| 国产成人高清视频| 色一情一乱一乱一91av| 亚洲人成网站影音先锋播放| 成人国产电影网| 亚洲欧美色一区| 91年精品国产| 亚洲国产精品久久久久秋霞影院| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美在线不卡视频| 亚洲精品亚洲人成人网| 91啪在线观看| 一二三四区精品视频| 欧美日韩精品专区| 日韩二区在线观看| 精品久久久久一区| 国产伦精品一区二区三区在线观看| 久久久久久一二三区| 国产东北露脸精品视频| 亚洲欧美自拍偷拍| 欧美日韩一区二区三区高清| 日本aⅴ免费视频一区二区三区| 91精品久久久久久久91蜜桃| 精品一区二区久久| 中文字幕一区二区三区av| 国产麻豆精品在线观看| 日韩黄色小视频| 精品国产乱码久久久久久图片 | 经典三级视频一区| 精品精品欲导航| 丁香婷婷综合五月| 美女网站色91| 国产精品久久久爽爽爽麻豆色哟哟| 97se亚洲国产综合自在线观| 五月天中文字幕一区二区| 久久精子c满五个校花| 色8久久人人97超碰香蕉987| 日韩福利电影在线观看| 国产精品网友自拍|