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

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

?? gme_for_iso.cpp

?? 小波圖像變換
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
									dk = dx1 - x1;
									d1mk = 1. - dk;
									dl = dy1 - y1;
									d1ml = 1. -dl;
									dI1x1y1[0] = pref_work[iref_pel];
									dI1x1y1[1] = pref_work[iref_pel1];
									dI1x1y1[2] = pref_work[iref_pel2];
									dI1x1y1[3] = pref_work[iref_pel3];
									dI1 = d1mk*d1ml*dI1x1y1[0] + dk*d1ml*dI1x1y1[1] +
										d1mk*dl*dI1x1y1[2] + dk*dl*dI1x1y1[3];
									de = dI1 - pcurr_work[icurr_pel];
									if(iite==0)
										iperror_histgram[(Int)(fabs(de))]++;
									if(fabs(de) < ithreshold_T) {
										dI1dx = (dI1x1y1[1]-dI1x1y1[0])*d1ml + (dI1x1y1[3]-dI1x1y1[2])*dl;
										dI1dy = (dI1x1y1[2]-dI1x1y1[0])*d1mk + (dI1x1y1[3]-dI1x1y1[1])*dk;
										ddedm[0] = dI1dx;
										ddedm[1] = dI1dy;
										db[0] += -de*ddedm[0];
										db[1] += -de*ddedm[1];
										for(yj=0; yj<2; yj++)
											for(xi=0; xi<=yj; xi++)
												dA[yj*2+xi] += ddedm[yj] * ddedm[xi];
											dE2 += de*de;
									} // threshold
								} // limit of ref_luma area
							} // limit of curr_luma area
							
						} // limit of curr_alpha value
						
					} // x
					icurr_pel += icurr_offset;
				} // y
				
			}
			
			if(iite==0){
				istop = istop*90/100;
				itmp=0;
				for(xi=0;xi<256;xi++){
					itmp+=iperror_histgram[xi];
					if(itmp > istop){
						ithreshold_T = xi-1;
						break; 
					}
				}
			}
			
			dA[1] = dA[2];
			
			icheck = DeltaMP(dA, 2, db, dm);
			
			if(icheck){
				for(xi=0; xi<2; xi++)
					dTM[xi] += dm[xi];
				if(fabs(dm[0]) < 0.001 && fabs(dm[1]) < 0.001 ) break; 
			}else{
				// printf("not up to matrix\n");
				break;
			}
			
		} // iteration/

		if(ilevel){
			dTM[0] *= 2;
			dTM[1] *= 2;
			ifilter_offset = 
				icurr_width * (EXPANDY_REF_FRAME>>ilevel) + (EXPANDY_REF_FRAME>>ilevel);
			pref_work -= ifilter_offset ;
			delete [] pref_work; pref_work = NULL;
			pcurr_work -= ifilter_offset ;
			delete [] pcurr_work; pcurr_work = NULL;
			if(m_volmd.fAUsage != RECTANGLE) {
				pref_alpha_work -= ifilter_offset ;
				delete [] pref_alpha_work; pref_alpha_work = NULL;
				pcurr_alpha_work -= ifilter_offset ;
				delete [] pcurr_alpha_work; pcurr_alpha_work = NULL;
			}
		}

		icurr_width *= 2;
		icurr_height *= 2;
		icurr_left *= 2;
		icurr_top *= 2;
		icurr_right *= 2;
		icurr_bottom *= 2;
		iref_width *= 2;
		iref_height *= 2;
		iref_left *= 2;
		iref_top *= 2;
		iref_right *= 2;
		iref_bottom *= 2;


	} // level

	pparameter -> dp1 = 1.0;
	pparameter -> dp2 = 0.0;
	pparameter -> dp3 = dTM[0];
	pparameter -> dp4 = 0.0;
	pparameter -> dp5 = 1.0;
	pparameter -> dp6 = dTM[1];
	pparameter -> dp7 = 0.0;
	pparameter -> dp8 = 0.0;

	delete [] dm; dm=NULL;
	delete [] db; db= NULL;
	delete [] dA; dA= NULL;
	delete [] dTM; dTM= NULL;
	delete [] ddedm; ddedm = NULL;
	delete [] dI1x1y1; dI1x1y1 = NULL;
	delete [] iperror_histgram; iperror_histgram = NULL;

}


Void CVideoObjectEncoder::IsotropicGME(const CVOPU8YUVBA* pvopcurr,
									   const CVOPU8YUVBA* pvopref, const CRct rctframe, const CRct rctcurr,
									   const CRct rctref, GME_para *pparameter)
{
	const CU8Image* puciRefY = pvopref -> getPlane (Y_PLANE);
	const CU8Image* puciCurrY = pvopcurr -> getPlane (Y_PLANE);
	PixelC* pref = (PixelC*) puciRefY -> pixels ();
	PixelC* pcurr = (PixelC*) puciCurrY -> pixels ();
	const CU8Image* puciRefA = (pvopref -> fAUsage () == EIGHT_BIT)?
        pvopref -> getPlaneA (0) :
	((m_volmd.fAUsage == RECTANGLE) ? (CU8Image*)NULL:pvopref -> getPlane (BY_PLANE));
	const CU8Image* puciCurrA = (pvopcurr -> fAUsage () == EIGHT_BIT)?
        pvopcurr -> getPlaneA (0) :
	((m_volmd.fAUsage == RECTANGLE) ? (CU8Image*)NULL:pvopcurr -> getPlane (BY_PLANE));
	PixelC* pref_alpha;
	PixelC* pcurr_alpha;
	
	if(m_volmd.fAUsage != RECTANGLE){
		pref_alpha = (PixelC*) puciRefA -> pixels ();
		pcurr_alpha = (PixelC*) puciCurrA -> pixels ();
	}
	
	PixelC *pref_P0=NULL, *pref_P1=NULL, *pref_P2=NULL;
	PixelC *pcurr_P0=NULL, *pcurr_P1=NULL, *pcurr_P2=NULL;
	PixelC *pref_a_P0=NULL, *pref_a_P1=NULL, *pref_a_P2=NULL;
	PixelC *pcurr_a_P0=NULL, *pcurr_a_P1=NULL, *pcurr_a_P2=NULL;
	PixelC *pref_work, *pcurr_work, *pcurr_alpha_work, *pref_alpha_work;
	Int icurr_width, icurr_height, icurr_offset;
	Int icurr_left, icurr_top, icurr_right, icurr_bottom;
	Int iref_width, iref_height;
	Int iref_left, iref_top, iref_right, iref_bottom;
	
	Int xi, yj, itmp, ibest_locationx, ibest_locationy;
	Int icurr_pel, iref_pel;
	Int iref_pel1, iref_pel2, iref_pel3;
	Double *dm = new Double [4];
	Double *db = new Double [4];
	Double *dA = new Double [16];
	Double *dTM = new Double [4];
	Double dE2 = 0;
	Int istop = 0, ilevel = 2, iite = 0;
	Int x, y, x1, y1;
	Double dx1, dy1, dx, dy;
	Double dt, du, dk, d1mk, dl, d1ml,
		dI1, de, dI1dx, dI1dy;
	Double *ddedm = new Double [4];
	Double *dI1x1y1 = new Double [4];
	Int *iperror_histgram = new Int [256];
	Int ithreshold_T=0, icheck = 1;
	
	iref_left = (rctref.left+EXPANDY_REFVOP) >> 2;
	iref_top = (rctref.top+EXPANDY_REFVOP) >> 2;
	iref_right = (rctref.right-EXPANDY_REFVOP) >> 2;
	iref_bottom = (rctref.bottom-EXPANDY_REFVOP) >> 2;
	iref_width = (rctframe.right - rctframe.left) >> 2;
	iref_height = (rctframe.bottom - rctframe.top) >> 2;
	
	icurr_left = (rctcurr.left) >> 2;
	icurr_top = (rctcurr.top) >> 2;
	icurr_right = (rctcurr.right) >> 2;
	icurr_bottom = (rctcurr.bottom) >> 2;
	icurr_width = iref_width ;
	icurr_height = iref_height ;
	
	pref_P0 = pref;
	pcurr_P0 = pcurr;
	pref_P1 = new PixelC[iref_width*iref_height*4];
	pcurr_P1 = new PixelC[icurr_width*icurr_height*4];
	pref_P2 = new PixelC[iref_width*iref_height];
	pcurr_P2 = new PixelC[icurr_width*icurr_height];
	ThreeTapFilter(pref_P1, pref_P0, iref_width*4, iref_height*4);
	ThreeTapFilter(pcurr_P1, pcurr_P0, icurr_width*4, icurr_height*4);
	ThreeTapFilter(pref_P2, pref_P1, iref_width*2, iref_height*2);
	ThreeTapFilter(pcurr_P2, pcurr_P1, icurr_width*2, icurr_height*2);
	
	if(m_volmd.fAUsage != RECTANGLE){
		pref_a_P0 = pref_alpha;
		pcurr_a_P0 = pcurr_alpha;
		pref_a_P1 = new PixelC[iref_width*iref_height*4];
		pcurr_a_P1 = new PixelC[icurr_width*icurr_height*4];
		pref_a_P2 = new PixelC[iref_width*iref_height];
		pcurr_a_P2 = new PixelC[icurr_width*icurr_height];
		ThreeTapFilter(pref_a_P1, pref_a_P0, iref_width*4, iref_height*4);
		ThreeTapFilter(pcurr_a_P1, pcurr_a_P0, icurr_width*4, icurr_height*4);
		ThreeTapFilter(pref_a_P2, pref_a_P1, iref_width*2, iref_height*2);
		ThreeTapFilter(pcurr_a_P2, pcurr_a_P1, icurr_width*2, icurr_height*2);
	}
	
	Int ifilter_offset = 
		icurr_width * (EXPANDY_REF_FRAME>>2) + (EXPANDY_REF_FRAME>>2);
	pcurr_P2 += ifilter_offset;
	pref_P2 += ifilter_offset;
	if(m_volmd.fAUsage != RECTANGLE){
		pcurr_a_P2 += ifilter_offset;
		pref_a_P2 += ifilter_offset;
	}
	ifilter_offset = 
		(icurr_width<<1) * (EXPANDY_REF_FRAME>>1) + (EXPANDY_REF_FRAME>>1);
	pcurr_P1 += ifilter_offset;
	pref_P1 += ifilter_offset;
	if(m_volmd.fAUsage != RECTANGLE){
		pcurr_a_P1 += ifilter_offset;
		pref_a_P1 += ifilter_offset;
	}
	ifilter_offset = 
		(icurr_width<<2) * EXPANDY_REF_FRAME + EXPANDY_REF_FRAME;
	pcurr_P0 += ifilter_offset;
	pref_P0 += ifilter_offset;
	if(m_volmd.fAUsage != RECTANGLE){
		pcurr_a_P0 += ifilter_offset;
		pref_a_P0 += ifilter_offset;
	}
	
	for(xi = 0; xi < 4; xi++)
		dm[xi] = 0;
	for(xi = 0; xi < 4; xi++)
		dTM[xi] = 0;
	dTM[0]=1.0;
	
	pref_work = pref_P2;
	pcurr_work = pcurr_P2;
	if(m_volmd.fAUsage != RECTANGLE){
		pref_alpha_work = pref_a_P2;
		pcurr_alpha_work = pcurr_a_P2;
	}
	
	ibest_locationx = 0;
	ibest_locationy = 0;
	
	if(pvopref -> fAUsage () == RECTANGLE){
		ModifiedThreeStepSearch(pref_work, pcurr_work, 
			icurr_width, icurr_height, iref_width, iref_height,
			icurr_left, icurr_top, icurr_right, icurr_bottom,
			iref_left, iref_top, iref_right, iref_bottom,
			&ibest_locationx, &ibest_locationy); 
	}else{
		ModifiedThreeStepSearch_WithShape(pref_work, pcurr_work, 
			pref_alpha_work, pcurr_alpha_work,
			icurr_width, icurr_height, iref_width, iref_height,
			icurr_left, icurr_top, icurr_right, icurr_bottom,
			iref_left, iref_top, iref_right, iref_bottom,
			&ibest_locationx, &ibest_locationy); 
	}
	
	dTM[2] = (Double)ibest_locationx;
	dTM[3] = (Double)ibest_locationy;
	ithreshold_T = 1000000;
	
	for(ilevel = 2; ilevel >= 0; ilevel--){
		
		if(ilevel == 0){
			pref_work = pref_P0;
			pcurr_work = pcurr_P0;
		}else if(ilevel ==1){
			pref_work = pref_P1;
			pcurr_work = pcurr_P1;
		}
		if(m_volmd.fAUsage != RECTANGLE){
			if(ilevel == 0){
				pref_alpha_work = pref_a_P0;
				pcurr_alpha_work = pcurr_a_P0;
			}else if(ilevel ==1){
				pref_alpha_work = pref_a_P1;
				pcurr_alpha_work = pcurr_a_P1;
			}
		}
		icurr_offset = icurr_width - icurr_right + icurr_left;
		
		for(xi=0;xi<256;xi++)
			iperror_histgram[xi]=0;
		
		for(iite = 0; iite < 32; iite++){
			
			dE2 = 0.;
			istop = 0;
			icurr_pel = 0;
			
			for(xi = 0; xi < 16; xi++)
				dA[xi] = 0;
			for(xi = 0; xi < 4; xi++)
				db[xi] = 0;
			
			icurr_pel = icurr_width*icurr_top + icurr_left;
			if(pvopref -> fAUsage () == RECTANGLE){
				
				for(y=icurr_top; y<icurr_bottom; y++) {
					dy = (Double)y;
					for(x=icurr_left; x<icurr_right; x++, icurr_pel++) {
						
						dx = (Double)x;
						
						dt = dTM[0] * dx + dTM[1] * dy + dTM[2];
						du = -dTM[1] * dx + dTM[0] * dy + dTM[3];
						dx1 = dt;
						dy1 = du;
						x1 = (Int) dx1;
						y1 = (Int) dy1;
						if(x1>iref_left && (x1+1)<iref_right && y1>iref_top && (y1+1)<iref_bottom) {
							iref_pel = x1 + iref_width * y1;
							iref_pel1 = x1+1 + iref_width * y1;
							iref_pel2 = x1 + iref_width * (y1+1);
							iref_pel3 = x1+1 + iref_width * (y1+1);
							istop++;
							dk = dx1 - x1;
							d1mk = 1. - dk;
							dl = dy1 - y1;
							d1ml = 1. -dl;
							dI1x1y1[0] = pref_work[iref_pel];
							dI1x1y1[1] = pref_work[iref_pel1];
							dI1x1y1[2] = pref_work[iref_pel2];
							dI1x1y1[3] = pref_work[iref_pel3];
							dI1 = d1mk*d1ml*dI1x1y1[0] + dk*d1ml*dI1x1y1[1] +
								d1mk*dl*dI1x1y1[2] + dk*dl*dI1x1y1[3];
							de = dI1 - pcurr_work[icurr_pel];
							if(iite==0)
								iperror_histgram[(Int)(fabs(de))]++;
							if(fabs(de) < ithreshold_T) {
								dI1dx = (dI1x1y1[1]-dI1x1y1[0])*d1ml + (dI1x1y1[3]-dI1x1y1[2])*dl;
								dI1dy = (dI1x1y1[2]-dI1x1y1[0])*d1mk + (dI1x1y1[3]-dI1x1y1[1])*dk;
								ddedm[0] = dx * dI1dx + dy * dI1dy;
								ddedm[1] = dy * dI1dx - dx * dI1dy;
								ddedm[2] = dI1dx;
								ddedm[3] = dI1dy;
								db[0] += -de*ddedm[0];
								db[1] += -de*ddedm[1];
								db[2] += -de*ddedm[2];
								db[3] += -de*ddedm[3];
								for(yj=0; yj<4; yj++)
									for(xi=0; xi<=yj; xi++)
										dA[yj*4+xi] += ddedm[yj] * ddedm[xi];
									dE2 += de*de;
							} // threshold
						} // limit of ref_luma area
						
					} // x
					icurr_pel += icurr_offset;
				} // y
				
			}else{
				
				for(y=icurr_top; y<icurr_bottom; y++) {
					dy = (Double)y;
					for(x=icurr_left; x<icurr_right; x++, icurr_pel++) {
						
						if(pcurr_alpha_work[icurr_pel]) {
							dx = (Double)x;
							
							dt = dTM[0] * dx + dTM[1] * dy + dTM[2];
							du = -dTM[1] * dx + dTM[0] * dy + dTM[3];
							dx1 = dt;
							dy1 = du;
							x1 = (Int) dx1;
							y1 = (Int) dy1;
							if(x1>iref_left && (x1+1)<iref_right && y1>iref_top && (y1+1)<iref_bottom) {
								iref_pel = x1 + iref_width * y1;
								iref_pel1 = x1+1 + iref_width * y1;
								iref_pel2 = x1 + iref_width * (y1+1);
								iref_pel3 = x1+1 + iref_width * (y1+1);
								if(pref_alpha_work[iref_pel] && pref_alpha_work[iref_pel1] &&
									pref_alpha_work[iref_pel2] && pref_alpha_work[iref_pel3]) {
									istop++;
									dk = dx1 - x1;
									d1mk = 1. - dk;
									dl = dy1 - y1;
									d1ml = 1. -dl;
									dI1x1y1[0] = pref_work[iref_pel];
									dI1x1y1[1] = pref_work[iref_pel1];
									dI1x1y1[2] = pref_work[iref_pel2];
									dI1x1y1[3] = pref_work[iref_pel3];
									dI1 = d1mk*d1ml*dI1x1y1[0] + dk*d1ml*dI1x1y1[1] +

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本午夜一本久久久综合| 国产成人精品亚洲日本在线桃色| 视频一区二区不卡| 国产麻豆成人精品| 欧美日本精品一区二区三区| 久久蜜桃香蕉精品一区二区三区| 亚洲精品成人精品456| 国产精品12区| 日韩亚洲欧美一区二区三区| 亚洲欧美一区二区三区久本道91| 久久av中文字幕片| 欧美日韩精品欧美日韩精品一| 日本一区二区三区在线观看| 免费人成黄页网站在线一区二区| 99精品国产热久久91蜜凸| 欧美一级高清片| 五月开心婷婷久久| 日韩精品91亚洲二区在线观看 | 884aa四虎影成人精品一区| 中文字幕 久热精品 视频在线| 日韩不卡一二三区| 欧美日韩国产精选| 一区二区三区国产精品| 色综合一个色综合| 亚洲视频香蕉人妖| 国产精品中文欧美| 久久伊99综合婷婷久久伊| 日韩精品三区四区| 欧美色视频在线| 亚洲成人自拍网| 欧美天堂亚洲电影院在线播放| 亚洲三级在线观看| 日本高清不卡aⅴ免费网站| 亚洲色图欧洲色图婷婷| 东方欧美亚洲色图在线| 欧美经典一区二区| 成人免费视频一区二区| 国产精品区一区二区三区| 成人激情小说网站| 中文字幕中文字幕一区| a级高清视频欧美日韩| 国产日产亚洲精品系列| 成人黄色777网| 国产精品久久久久久久久动漫 | 亚洲欧洲韩国日本视频| av高清不卡在线| 一区二区三区精品视频| 欧美日韩国产一区| 麻豆91在线观看| 久久九九久精品国产免费直播| 懂色av一区二区三区免费观看| 国产精品麻豆久久久| 色综合久久综合网| 免费国产亚洲视频| 国产免费成人在线视频| 色国产精品一区在线观看| 天堂一区二区在线| 久久亚洲综合色| 色婷婷国产精品| 毛片av一区二区三区| 国产视频一区在线观看| 欧美这里有精品| 久久精品国产99国产| 中文在线资源观看网站视频免费不卡 | 国产成人av电影在线播放| 中文字幕日韩精品一区 | 久久综合久色欧美综合狠狠| www.亚洲在线| 人人精品人人爱| 自拍av一区二区三区| 欧美一区二区人人喊爽| 粉嫩av一区二区三区| 亚洲成a人片综合在线| 久久久精品国产免大香伊| 一本色道**综合亚洲精品蜜桃冫| 免费成人av资源网| 中文字幕一区二区在线播放| 91精品国产欧美一区二区18| 99久久精品国产导航| 日韩av在线发布| 一区二区三区视频在线看| 精品国内二区三区| 欧美日韩国产成人在线免费| 国产精品18久久久久久vr| 亚洲午夜激情网页| 国产欧美日韩在线看| 欧美老人xxxx18| 91色|porny| 大胆亚洲人体视频| 美国欧美日韩国产在线播放| 亚洲精品亚洲人成人网| 国产欧美日韩精品a在线观看| 欧美精品一级二级| 欧美综合一区二区三区| jvid福利写真一区二区三区| 韩国中文字幕2020精品| 亚洲无人区一区| 亚洲欧美日韩综合aⅴ视频| 久久久91精品国产一区二区三区| 91.xcao| 欧美午夜免费电影| 99国产精品国产精品久久| 国产米奇在线777精品观看| 免费不卡在线观看| 午夜电影网亚洲视频| 夜夜夜精品看看| 亚洲欧洲国产专区| 亚洲图片欧美激情| 国产精品乱码一区二区三区软件 | 在线观看视频一区二区| 99精品久久久久久| 99久久精品免费看| 99久久免费视频.com| 成人高清av在线| av在线播放一区二区三区| 成人一区在线观看| 成人免费毛片app| 99精品视频一区| 91亚洲精华国产精华精华液| 色婷婷精品大在线视频| 色综合天天综合网国产成人综合天| 9人人澡人人爽人人精品| av在线不卡电影| 日本精品裸体写真集在线观看| 色婷婷亚洲婷婷| 欧美日韩高清影院| 91精品福利在线一区二区三区 | 久久不见久久见免费视频7| 久久精品99国产国产精| 国产精品中文字幕日韩精品| 高清成人在线观看| 91免费国产在线观看| 欧美调教femdomvk| 欧美成人video| 欧美国产精品一区二区三区| 国产精品美女久久久久高潮| 亚洲精品你懂的| 天涯成人国产亚洲精品一区av| 日韩国产欧美三级| 国内一区二区视频| 99久久久精品| 91精品国产aⅴ一区二区| 国产日韩精品一区二区浪潮av| 中文字幕日本不卡| 天天综合色天天综合| 久久国产成人午夜av影院| 成人听书哪个软件好| 欧美色爱综合网| 久久在线免费观看| 国产精品电影院| 亚洲精品免费在线播放| 麻豆国产欧美日韩综合精品二区 | 麻豆91在线观看| 白白色 亚洲乱淫| 欧美另类变人与禽xxxxx| 国产三级精品在线| 亚洲18影院在线观看| 国产suv精品一区二区三区| 色成人在线视频| 亚洲丝袜精品丝袜在线| 日本大胆欧美人术艺术动态| 国产不卡在线播放| 欧美老肥妇做.爰bbww视频| 国产无一区二区| 丝袜脚交一区二区| 91在线视频在线| 欧美精品一区二区三| 亚洲国产日韩av| 国产黄色成人av| 日韩午夜在线观看视频| 亚洲精品中文字幕在线观看| 国模少妇一区二区三区| 欧美日本视频在线| 亚洲日本在线观看| 国产成人精品aa毛片| 日韩精品一区二区三区视频在线观看| 亚洲美女视频在线| 国产成+人+日韩+欧美+亚洲| 欧美tickling网站挠脚心| 夜夜嗨av一区二区三区网页 | 欧美色图片你懂的| 亚洲丝袜美腿综合| 成人免费观看男女羞羞视频| 日韩精品综合一本久道在线视频| 亚洲精品成人天堂一二三| 丁香亚洲综合激情啪啪综合| 精品久久久久香蕉网| 日韩不卡在线观看日韩不卡视频| 91视视频在线直接观看在线看网页在线看| 欧美不卡在线视频| 免费在线成人网| 欧美精品乱码久久久久久 | 国产精品少妇自拍| 久99久精品视频免费观看| 91精品国产综合久久精品图片| 一区二区三区在线免费视频| 91麻豆.com| 亚洲欧美日韩中文字幕一区二区三区 | 欧亚洲嫩模精品一区三区| 亚洲免费观看高清完整版在线|