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

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

?? mot_est_mb.c

?? < VC++視頻音頻開發>> 這本書的源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
		{
			check_pts=total_check_pts;
			do
			{
				check_pt_x = diamond[d_type].point[pt_nmbr].x + d_centre_x;
				check_pt_y = diamond[d_type].point[pt_nmbr].y + d_centre_y;
				
				if ( check_pt_x < int_mv_x_min || check_pt_x > int_mv_x_max || check_pt_y < int_mv_y_min || check_pt_y > int_mv_y_max)
				{
					sad = MV_MAX_ERROR;
				}
				else
				{
					sad=SAD_Macroblock(prev+INDEX_BIG(x_curr+check_pt_x+rel_ori_x,
						y_curr+check_pt_y+rel_ori_y), act_block, 
						(vop_width), sad_min);
					#ifdef _SAD_EXHAUS_
					fprintf(stdout,"+o+ [%2d,%2d] sad16(%3d,%3d)=%4d\n",i,j,x,y,sad);
					#endif
				}
				if (sad<sad_min)
				{
					sad_min=sad;
					mv_x=check_pt_x;
					mv_y=check_pt_y;
					mot_dirn=pt_nmbr;
				}
				else if (sad==sad_min)
				if((ABS(check_pt_x)+ABS(check_pt_y)) < (ABS(mv_x)+ABS(mv_y)))
				{
					sad_min=sad;
					mv_x=check_pt_x;
					mv_y=check_pt_y;
					mot_dirn=pt_nmbr;
				}
				pt_nmbr+=1;
				if((pt_nmbr)>= 8) pt_nmbr-=8;
				check_pts-=1;
			}
			while(check_pts>0);
			if( d_type == 0)
			{
				stop_flag = 1;
			}
			else
			{
				if( (mv_x == d_centre_x) && (mv_y == d_centre_y) )
				{
					d_type=0;
					pt_nmbr=0;
					total_check_pts = 4;
				}
				else
				{
					if((mv_x==d_centre_x) ||(mv_y==d_centre_y))
						total_check_pts=5;
					else
						total_check_pts=3;
					pt_nmbr=diamond[d_type].point[mot_dirn].start_nmbr;
					d_centre_x = mv_x;
					d_centre_y = mv_y;
				}
			}
		}
		while(stop_flag!=1);
		#endif
		flags[0]=flags[0] && (mv_x==int_mv_x_min);
		flags[1]=flags[1] && (mv_x==int_mv_x_max);
		flags[2]=flags[2] && (mv_y==int_mv_y_min);
		flags[3]=flags[3] && (mv_y==int_mv_y_max);
	}
	else
	{
		mv_x=mv_y=0;
		sad_min=MV_MAX_ERROR;
	}
	
	out |=((mv_x==2000)||(mv_y==2000));
	if(out)
	{
		mv_x=mv_y=0;
		sad_min=MV_MAX_ERROR;
	}
	pos16=2*j*2*mvm_width + 2*i;
	mv16_w[pos16]=   mv_x; mv16_h[pos16]=   mv_y;
	mv16_w[pos16+1]= mv_x; mv16_h[pos16+1]= mv_y;
	pos16+=2*mvm_width;
	mv16_w[pos16]=   mv_x; mv16_h[pos16]=   mv_y;
	mv16_w[pos16+1]= mv_x; mv16_h[pos16+1]= mv_y;
	min_error16 = sad_min;
	*min_error = min_error16;
	
	if(enable_8x8_mv==1)
	{
		if(!out)
		{
			for (block=0;block<4;block++)
			{
				
				if(block==0)
				{
					hb=vb=0;
				}
				else if (block==1)
				{
					hb=1;vb=0;
				}
				else if (block==2)
				{
					hb=0;vb=1;
				}
				else
				{
					hb=vb=1;
				}
				
				pmv_x=mv16_w[pos16]; pmv_y=mv16_h[pos16];
											  
				Obtain_Range(f_code, sr, MBM_INTER8,
					pmv_x, pmv_y, &mv_x_min,
											  
					&mv_x_max, &mv_y_min, &mv_y_max, 0 );
				RangeInSearchArea(i,j, block+1, prev_x, prev_y,
					vop_width, vop_height, br_x, br_y, edge,f_code,
											  
					&mv_x_min, &mv_x_max, &mv_y_min,&mv_y_max,&out);
				if(!out)
				{
					int_mv_x_min=(int)ceil((double)mv_x_min);
					int_mv_y_min=(int)ceil((double)mv_y_min);
					int_mv_x_max=(int)floor((double)mv_x_max);
					int_mv_y_max=(int)floor((double)mv_y_max);
					flags[4+block*4]=ARE_EQUAL(int_mv_x_min,mv_x_min);
					flags[4+block*4+1]=ARE_EQUAL(int_mv_x_max,mv_x_max);
					flags[4+block*4+2]=ARE_EQUAL(int_mv_y_min,mv_y_min);
					flags[4+block*4+3]=ARE_EQUAL(int_mv_y_max,mv_y_max);
					sad_min=MV_MAX_ERROR;
					mv_x = mv_y = 2000;		  
					for (y=int_mv_y_min; y<=int_mv_y_max; y++)
						for (x=int_mv_x_min; x<=int_mv_x_max; x++)
					{
						sad=SAD_Block(prev+
							INDEX_BIG(x_curr + x + 8*(block==1||block==3)+rel_ori_x,
							y_curr + y + 8*(block==2||block==3)+rel_ori_y),
							act_block+INDEX_NOR(8*(block==1||block==3),
							8*(block==2||block==3)),
							(vop_width ), sad_min);
						if (sad<sad_min)
						{
							sad_min=sad;
							mv_x=x;
							mv_y=y;
						}
						else if (sad==sad_min)
						if((ABS(x)+ABS(y)) < (ABS(mv_x)+ABS(mv_y)))
						{
							sad_min=sad;
							mv_x=x;
							mv_y=y;
						}
					}						  
					flags[4+block*4]   = flags[4+block*4]   && (mv_x==int_mv_x_min);
					flags[4+block*4+1] = flags[4+block*4+1] && (mv_x==int_mv_x_max);
					flags[4+block*4+2] = flags[4+block*4+2] && (mv_y==int_mv_y_min);
					flags[4+block*4+3] = flags[4+block*4+3] && (mv_y==int_mv_y_max);
				}
				else
				{
					mv_x=mv_y=0;
					sad_min=MV_MAX_ERROR;
					
				}
				
				if(block==0)
				{
					pos8=2*j*2*mvm_width + 2*i;
					min_error8 += sad_min;
				}
				else if (block==1)
				{
					pos8=2*j*2*mvm_width + 2*i+1;
					min_error8 += sad_min;
				}
				else if (block==2)
				{
					pos8=(2*j+1)*2*mvm_width + 2*i;
					min_error8 += sad_min;
				}
				else
				{
					pos8=(2*j+1)*2*mvm_width + 2*i+1;
					min_error8 += sad_min;
				}
				
				mv8_w[pos8]=mv_x;
				mv8_h[pos8]=mv_y;
			}									  
			if (min_error8 < *min_error)
				*min_error = min_error8;
		}
		else
		{										  
			pos8=2*j*2*mvm_width + 2*i;      mv8_w[pos8]=mv8_h[pos8]=0.0;
			pos8=2*j*2*mvm_width + 2*i+1;    mv8_w[pos8]=mv8_h[pos8]=0.0;
			pos8=(2*j+1)*2*mvm_width + 2*i;  mv8_w[pos8]=mv8_h[pos8]=0.0;
			pos8=(2*j+1)*2*mvm_width + 2*i+1;mv8_w[pos8]=mv8_h[pos8]=0.0;
			min_error8 = MV_MAX_ERROR;
		}
	}											  
}
Void
FindSubPel(
Int    x,										  
Int    y,										  
SInt   *prev,                                     
SInt   *curr,                                	  											  
Int    bs_x,              						  
Int    bs_y,									  
Int    comp,									  
Int    rel_x,									  
Int    rel_y,									  
Int    pels,									  
Int    lines,									  
Int    edge,									  
SInt   *flags,									  
SInt   *curr_comp_mb,                             
Float  *mvx,									  
Float  *mvy,									  
Int    *min_error								  
)
{
	static PixPoint	search[9] = 
	{	
		{0, 0}, {-1, -1}, {0, -1}, {1, -1},
		{-1, 0}, {1, 0}, {-1, 1}, {0, 1}, {1, 1}
	};
	
	Int			i, m, n;
	Int			new_x, new_y,
				lx, size_x;								  
	Int			min_pos;
	Int			AE, AE_min;
	Int			flag_pos;
	SInt		*pRef, *pComp;
	int flag_search[9] = {1, 1, 1, 1, 1, 1, 1, 1, 1};
	Int SubDimension = 2;
	lx = 2*(pels );
	new_x = (Int)((x + *mvx + rel_x)*(SubDimension));
	new_y = (Int)((y + *mvy + rel_y)*(SubDimension));
	new_x += ((comp&1)<<3)*SubDimension;
	new_y += ((comp&2)<<2)*SubDimension;
	size_x=16;
	
	
	
	
	
	if (bs_x==8)								  
		flag_pos=4+comp*4;
	else										  
		flag_pos=0;
	if (((new_x/SubDimension) <= 0) || *(flags+flag_pos)) {
		flag_search[1] = flag_search[4] = flag_search[6] = 0;
	} else if  (((new_x/SubDimension) >= (pels - bs_x )) || *(flags+flag_pos+1)) {
		flag_search[3] = flag_search[5] = flag_search[8] = 0;
	};
	if (((new_y/SubDimension) <= 0) || *(flags+flag_pos+2)) {
		flag_search[1] = flag_search[2] = flag_search[3] = 0;
	} else if  (((new_y/SubDimension) >= (lines- bs_y )) || *(flags+flag_pos+3)) {
		flag_search[6] = flag_search[7] = flag_search[8] = 0;
	};
	AE_min = MV_MAX_ERROR;
	min_pos = 0;
	for (i = 0; i < 9; i++)
	{
		if (flag_search[i])
		{
			AE = 0;
			
			pRef = prev + new_x + search[i].x + (new_y + search[i].y) * lx;
			pComp = curr;
			n = bs_y;
			while (n--) {
				m = bs_x;
				while (m--) {
					AE += abs((Int)*pRef - (Int)*pComp);
					pRef += 2;
					pComp ++;
				}
				pRef += 2 * lx - 2 * bs_x;
				pComp += size_x - bs_x;
			}
			if (i==0 && bs_y==16 && *mvx==0 && *mvy==0)
				AE -= (128 + 1);
			if (AE < AE_min)
			{
				AE_min = AE;
				min_pos = i;
			}
		}
		
	}
	
	*min_error = AE_min;
	*mvx += ((Float)search[min_pos].x)/(Float)(SubDimension);
	*mvy += ((Float)search[min_pos].y)/(Float)(SubDimension);
	
	pRef = prev + new_x + search[min_pos].x + (new_y + search[min_pos].y) * lx;
	pComp = curr_comp_mb;
	n = bs_y;
	while (n--) {
		m = bs_x;
		while (m--) {
			*(pComp ++) = *pRef;
			pRef += 2;
		}
		pRef += 2 * lx - 2 * bs_x;
		pComp += 16 - bs_x;
	}
	return;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品亚洲人成人网在线播放| 91蜜桃传媒精品久久久一区二区| 精品嫩草影院久久| 成人精品gif动图一区| 亚洲午夜精品网| 欧美精品一区二区高清在线观看 | 国产性色一区二区| 在线一区二区三区| 国产精品69毛片高清亚洲| 亚洲综合色婷婷| 久久精品视频网| 欧美日韩免费在线视频| 成人av电影在线网| 国产一区二区三区不卡在线观看 | 欧美日韩亚洲另类| 99国产精品久久久久久久久久久 | 久久久一区二区三区| 欧美天堂一区二区三区| 97精品电影院| 91成人免费在线视频| 一本大道久久a久久综合婷婷| 成人免费高清在线| 成人性生交大片免费看视频在线| 蜜臀精品久久久久久蜜臀| 亚洲成a天堂v人片| 亚洲综合色自拍一区| 一区二区三区在线观看视频| 国产精品色噜噜| 国产精品丝袜一区| 国产精品色哟哟| 一区二区三区欧美久久| 亚洲色图19p| 亚洲一区二区三区精品在线| 亚洲精品国产精华液| 亚洲.国产.中文慕字在线| 午夜成人免费视频| 久久疯狂做爰流白浆xx| 99久久婷婷国产综合精品电影 | 国产精品亚洲人在线观看| 狠狠色伊人亚洲综合成人| 精品一区二区三区视频| 国产成人av在线影院| 国产成人鲁色资源国产91色综 | 视频一区二区三区在线| 日本vs亚洲vs韩国一区三区 | 久久在线观看免费| 久久久久久久久蜜桃| 国产亚洲精品资源在线26u| 国产精品婷婷午夜在线观看| 中文字幕永久在线不卡| 亚洲国产精品欧美一二99| 久久电影国产免费久久电影| 91视视频在线观看入口直接观看www| 欧美日韩国产美女| 国产婷婷色一区二区三区四区| 亚洲同性gay激情无套| 亚洲一二三四区不卡| 韩国av一区二区| 欧美亚洲国产bt| 国产精品久久看| 久久99久久99精品免视看婷婷 | 91视频国产观看| 91精品国产一区二区三区蜜臀| 亚洲欧洲三级电影| 国产一区二区三区在线观看免费| 6080国产精品一区二区| 亚洲欧美日韩成人高清在线一区| 免费精品视频在线| 欧美人伦禁忌dvd放荡欲情| 中文字幕一区二| 99久久国产免费看| 国产亚洲欧美一区在线观看| 国产精品亲子乱子伦xxxx裸| 亚洲女同ⅹxx女同tv| 日韩毛片在线免费观看| 成人黄色片在线观看| 亚洲精品va在线观看| 91精品国产入口在线| www.日韩在线| 亚洲一区二区欧美激情| 久久久国产精品午夜一区ai换脸| 白白色亚洲国产精品| 三级不卡在线观看| 日本一区二区三区四区 | 欧美日韩中文一区| 图片区小说区区亚洲影院| 91视视频在线观看入口直接观看www| 日本亚洲最大的色成网站www| 精品99999| 91麻豆精品国产91久久久资源速度| 韩国欧美一区二区| 香蕉成人伊视频在线观看| 欧美精品一区二区三区视频| 欧美丰满美乳xxx高潮www| 成人免费高清视频在线观看| |精品福利一区二区三区| 欧美一区二区三区视频免费 | 成人av在线播放网址| 亚洲午夜电影在线| 日韩一区在线免费观看| 欧美成人aa大片| 日韩一级完整毛片| 色综合久久综合中文综合网| www.欧美亚洲| 国产精品一区二区黑丝| 美腿丝袜一区二区三区| 亚洲精品视频观看| 亚洲人精品一区| 中文一区二区完整视频在线观看| 欧美va亚洲va国产综合| 欧美人狂配大交3d怪物一区| 国产99久久久久久免费看农村| 麻豆久久久久久| 亚洲嫩草精品久久| 亚洲欧美日韩一区二区三区在线观看| 久久综合五月天婷婷伊人| 欧美大尺度电影在线| 6080日韩午夜伦伦午夜伦| 日韩一区二区精品在线观看| 欧美日韩免费视频| 欧美日韩亚洲高清一区二区| 91蝌蚪porny九色| 欧美日韩中字一区| 欧美亚洲一区二区在线| 欧美精品一卡两卡| 欧美日本一道本在线视频| 777亚洲妇女| 欧美蜜桃一区二区三区| 欧美久久久久免费| 欧美精品xxxxbbbb| 日韩写真欧美这视频| 日韩免费高清视频| 欧美男男青年gay1069videost| 91黄视频在线| av在线不卡免费看| 欧美亚一区二区| 欧美吻胸吃奶大尺度电影| 在线播放/欧美激情| 在线不卡免费av| 国产午夜精品久久久久久免费视 | 国产精品无码永久免费888| 中文字幕亚洲一区二区av在线| 中文字幕乱码一区二区免费| 亚洲男同1069视频| 亚洲国产aⅴ成人精品无吗| 九一九一国产精品| 国产一区二区免费看| 国产999精品久久久久久绿帽| 成av人片一区二区| 在线视频一区二区三| 欧美日韩精品电影| 日韩欧美一区二区不卡| 日本一区二区三区国色天香| 日韩理论在线观看| 久久99九九99精品| 国产精品1024| 欧美日韩精品欧美日韩精品一| 欧美一区2区视频在线观看| 中文字幕在线不卡视频| 亚洲大片免费看| 成人a级免费电影| 欧美日韩免费一区二区三区视频| 国产日韩欧美亚洲| 亚洲一卡二卡三卡四卡| 成人综合在线观看| 欧美日韩国产经典色站一区二区三区| 欧美激情一二三区| 蜜桃视频第一区免费观看| 97国产一区二区| 精品欧美乱码久久久久久1区2区| 亚洲激情男女视频| 精品一区二区三区香蕉蜜桃| 色婷婷av一区二区三区大白胸| 欧美一区二区精品久久911| 夜夜夜精品看看| 国产乱人伦偷精品视频免下载| 91麻豆精品国产91久久久久 | 国产不卡在线一区| 欧美成人精精品一区二区频| 一区二区三区波多野结衣在线观看| 日本不卡一区二区三区| 色婷婷国产精品| 久久久不卡网国产精品二区| 奇米777欧美一区二区| 白白色 亚洲乱淫| 国产精品网曝门| 久草在线在线精品观看| 欧美一个色资源| 亚洲国产视频直播| 日本高清不卡在线观看| 久久九九久精品国产免费直播| 久久国产精品一区二区| 欧美日韩久久一区二区| 洋洋av久久久久久久一区| 高清在线不卡av| 国产精品伦一区二区三级视频| 成人精品高清在线| 国产精品久久久久影院老司| 成人涩涩免费视频| 国产精品欧美久久久久无广告 |