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

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

?? map.c

?? ezw程序
?? C
字號:
#include "map.h"
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/* 
 * Mow-Song, Ng 2/9/2002
 * msng@mmu.edu.my
 * http://www.pesona.mmu.edu.my/~msng
 *
 * I do not claim copyright to the code, but if you use them or modify them,
 * please drop me a mail.
 *
 */
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------*/	
/*----------------------------------------------------------------------------*/	
MAP *MapAlloc(int hsize, int vsize, int nsteps)
{
	MAP *map;
	int i;
	int *lowHSize, *lowVSize, *highHSize, *highVSize;

	assert(nsteps > 0);

	if ((map = (MAP *)malloc(sizeof(MAP)))==NULL){
		MapError("Fail to allocate map.\n");
	}

	map->hsize = hsize;
	map->vsize = vsize;
	map->nsteps = nsteps;

	/* ensure that all status starts with value 0 */
	map->symbol = (int *)calloc(map->hsize*map->vsize, sizeof(int));
	
	map->nSubbands		= 3*map->nsteps+1;
	map->subbandSize	= (int *)calloc(map->nSubbands, sizeof(int));
	map->subbandHSize = (int *)calloc(map->nSubbands, sizeof(int));
	map->subbandVSize = (int *)calloc(map->nSubbands, sizeof(int));
	map->subbandPtr	= (int **)calloc(map->nSubbands, sizeof(int *));

	lowHSize = (int *)calloc(map->nsteps, sizeof(int));
	lowVSize = (int *)calloc(map->nsteps, sizeof(int));
	highHSize = (int *)calloc(map->nsteps, sizeof(int));
	highVSize = (int *)calloc(map->nsteps, sizeof(int));

	lowHSize[map->nsteps-1] = (map->hsize+1)/2;
	lowVSize[map->nsteps-1] = (map->vsize+1)/2;
	highHSize[map->nsteps-1] = map->hsize/2; 
	highVSize[map->nsteps-1] = map->vsize/2;
	
	/* set the sizes for each blocks */
	for (i = map->nsteps-2; i >= 0; i--) {
		lowHSize[i] = (lowHSize[i+1]+1)/2;
		lowVSize[i] = (lowVSize[i+1]+1)/2;
		highHSize[i] = lowHSize[i+1]/2;
		highVSize[i] = lowVSize[i+1]/2; 
	}
	
	/* subband[0] */
	map->subbandPtr[0] = map->symbol;
	map->subbandHSize[0] = lowHSize[0];
	map->subbandVSize[0] = lowVSize[0];
	map->subbandSize[0] = map->subbandHSize[0]*map->subbandVSize[0];
	
	/* all other high pass subbands, do each scale at once */
	for (i = 0; i < map->nsteps; i++) {
		map->subbandHSize[3*i+1] = highHSize[i];
		map->subbandVSize[3*i+1] = lowVSize[i];
		map->subbandHSize[3*i+2] = lowHSize[i];
		map->subbandVSize[3*i+2] = highVSize[i];
		map->subbandHSize[3*i+3] = highHSize[i];
		map->subbandVSize[3*i+3] = highVSize[i];
	}
	
	/* set the data pointers */
	for (i = 1; i < map->nSubbands; i++) {
		map->subbandSize[i] = map->subbandHSize[i]*map->subbandVSize[i];
		map->subbandPtr[i] = map->subbandPtr[i-1] + map->subbandSize[i-1];
	}
	
	/* release allocated memory */
	free(lowHSize);
	free(lowVSize);
	free(highHSize);
	free(highVSize);
	
	return map;
}

/*----------------------------------------------------------------------------*/	
/*----------------------------------------------------------------------------*/	
void MapDealloc(MAP *map)
{
	if (map!=NULL){
		free(map->symbol);
		free(map->subbandSize);
		free(map->subbandHSize);
		free(map->subbandVSize);
		free(map->subbandPtr);
		free(map);
	}
}

/*----------------------------------------------------------------------------*/	
/*----------------------------------------------------------------------------*/	
int MapGetNodeSymbol(MAP *map, int scale, int orientation, int x, int y)
{
	int idx;

	if (scale==0){
		idx = 0;	
	}
	else{
		idx = 3*scale - 2 + orientation;
	}
	
	return (map->subbandPtr[idx][y*map->subbandHSize[idx] + x]);
}

/*----------------------------------------------------------------------------*/	
/*----------------------------------------------------------------------------*/	
void MapSetNodeSymbol(MAP *map, int scale, int orientation, int x, int y, 
							 int symbol)
{
	int idx;

	if (scale==0){
		idx = 0;
	}
	else{
		idx = 3*scale - 2 + orientation;
	}

	map->subbandPtr[idx][y*map->subbandHSize[idx] + x] = symbol;

	return;
}

/*----------------------------------------------------------------------------*/	
/*----------------------------------------------------------------------------*/	
void MapError(char *fmt, ...)
{
	va_list argptr;
	
	va_start( argptr, fmt );
	fprintf(stderr, "MapError: " );
	vprintf( fmt, argptr );
	va_end( argptr );
	exit( -1 );
}

/*----------------------------------------------------------------------------*/	
/*----------------------------------------------------------------------------*/	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产成人一区二区三区| 亚洲人成网站影音先锋播放| 99r国产精品| 七七婷婷婷婷精品国产| 国产拍揄自揄精品视频麻豆| 555夜色666亚洲国产免| 99国产精品久久久久| 激情综合网最新| 亚瑟在线精品视频| 亚洲女子a中天字幕| 国产无人区一区二区三区| 欧美日韩国产首页| 91久久国产综合久久| 国产精品99久| 国产一本一道久久香蕉| 日本亚洲视频在线| 性做久久久久久久免费看| 亚洲三级在线看| 国产精品超碰97尤物18| 久久久久久99久久久精品网站| 欧美日韩免费一区二区三区视频 | 一区二区在线电影| 久久久久久久久久久黄色| 欧美一区二区黄色| 欧美男男青年gay1069videost| 91蜜桃网址入口| 91丝袜呻吟高潮美腿白嫩在线观看| 国产一区在线观看麻豆| 国产中文字幕一区| 韩国一区二区在线观看| 精品制服美女久久| 久久精品国产第一区二区三区| 日韩电影在线一区二区三区| 香蕉久久夜色精品国产使用方法 | 欧美精品一区二区蜜臀亚洲| 欧美精品久久久久久久多人混战 | 亚洲精品一区二区三区在线观看 | 欧美亚洲国产bt| 色婷婷国产精品| 色综合久久久网| 在线一区二区三区做爰视频网站| 91在线观看美女| 91黄色免费版| 欧美日本免费一区二区三区| 欧美日韩1区2区| 日韩精品在线一区二区| 欧美电影免费观看高清完整版在线 | 成人免费电影视频| 粉嫩av一区二区三区在线播放 | 亚洲人成精品久久久久久| 亚洲男人的天堂一区二区| 亚洲综合在线观看视频| 亚洲成人一区在线| 看片的网站亚洲| 国内偷窥港台综合视频在线播放| 国产一区二区视频在线| 成人激情视频网站| 91久久精品一区二区三区| 欧美午夜精品理论片a级按摩| 欧美日韩国产影片| 精品国产乱子伦一区| 国产欧美精品一区二区色综合 | 欧美日韩精品高清| 欧美高清视频一二三区| 亚洲午夜影视影院在线观看| 91国产免费看| 婷婷国产在线综合| 日本欧美一区二区三区| 久久99精品久久久久婷婷| 成人深夜福利app| 欧美日韩国产免费一区二区 | 91蜜桃网址入口| 欧美日韩三级一区二区| 精品人伦一区二区色婷婷| 国产精品欧美久久久久无广告 | 在线视频你懂得一区| 6080日韩午夜伦伦午夜伦| 久久久久99精品一区| 亚洲黄色小视频| 寂寞少妇一区二区三区| 欧美综合亚洲图片综合区| 欧美电视剧在线观看完整版| 日韩美女精品在线| 经典一区二区三区| 在线日韩一区二区| 国产免费久久精品| 午夜精品福利一区二区三区av | 国产高清无密码一区二区三区| 色综合天天天天做夜夜夜夜做| 91麻豆精品国产无毒不卡在线观看| 久久久久国产精品厨房| 亚洲国产一二三| 丁香一区二区三区| 欧美一卡2卡3卡4卡| 亚洲欧美视频在线观看| 精品午夜一区二区三区在线观看| 在线观看区一区二| 国产精品久久久久一区二区三区| 日韩在线一区二区| 91国偷自产一区二区开放时间 | www.成人在线| 欧美一级欧美三级| 亚洲国产美女搞黄色| 成人精品一区二区三区四区| 91精品国产色综合久久不卡电影| 中文字幕中文乱码欧美一区二区| 久久不见久久见免费视频1| 欧洲精品一区二区| 亚洲欧美影音先锋| 国产成人亚洲精品青草天美| 在线播放91灌醉迷j高跟美女| 中文字幕中文字幕一区二区| 国产精品亚洲一区二区三区妖精 | 亚洲精品国产精华液| 成人一道本在线| 久久久三级国产网站| 久久精品国产999大香线蕉| 在线电影欧美成精品| 亚洲一区精品在线| 色婷婷综合久久久中文字幕| 国产精品乱码一区二三区小蝌蚪| 国产在线不卡一卡二卡三卡四卡| 91精品婷婷国产综合久久性色| 亚洲激情综合网| 91成人免费在线视频| 亚洲女与黑人做爰| 色狠狠av一区二区三区| 亚洲精品网站在线观看| 一本一道综合狠狠老| 亚洲色图制服诱惑 | 99天天综合性| 日韩久久一区二区| 色婷婷久久99综合精品jk白丝| 亚洲欧美日韩久久精品| 91黄色免费看| 亚洲成人在线免费| 91精品国产品国语在线不卡| 免费的国产精品| 日韩精品最新网址| 国产精品亚洲视频| 国产精品久久久久影院色老大 | 国产经典欧美精品| 国产精品第四页| 日本精品一区二区三区高清| 亚洲影视在线观看| 欧美精品欧美精品系列| 久久精品72免费观看| 精品噜噜噜噜久久久久久久久试看 | 一区精品在线播放| 一本大道久久精品懂色aⅴ| 一区二区在线观看av| 欧美日韩mp4| 狠狠色狠狠色综合| 国产精品久久777777| 色婷婷精品久久二区二区蜜臂av| 亚洲成a人在线观看| 日韩欧美国产一区在线观看| 国产成人在线视频网站| 中文字幕在线观看一区二区| 欧美在线免费播放| 看片网站欧美日韩| 国产精品护士白丝一区av| 在线国产电影不卡| 精品一区二区三区免费视频| 国产精品二区一区二区aⅴ污介绍| 色噜噜夜夜夜综合网| 全国精品久久少妇| 国产欧美一区视频| 91成人在线精品| 狠狠色丁香婷婷综合久久片| 亚洲视频一区二区在线| 日韩一区二区电影网| 成人午夜av影视| 五月天丁香久久| 国产精品久久久99| 欧美一级日韩免费不卡| 高清在线观看日韩| 日韩二区三区在线观看| 国产日韩av一区二区| 欧美精品乱码久久久久久按摩| 国产高清一区日本| 日韩专区欧美专区| 成人欧美一区二区三区1314| 欧美放荡的少妇| av不卡一区二区三区| 麻豆极品一区二区三区| 欧美日本乱大交xxxxx| 波多野结衣亚洲| 蜜桃av噜噜一区二区三区小说| 亚洲视频在线一区二区| 精品国产一区二区三区不卡| 色综合天天狠狠| 国产成人精品一区二区三区网站观看| 亚洲美女精品一区| 欧美经典一区二区三区| 91精品国产91久久综合桃花| 91在线视频18| 国产91丝袜在线播放0| 蜜乳av一区二区| 午夜在线成人av|