亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美色图12p| 蜜臀av性久久久久蜜臀aⅴ流畅| 日本不卡视频在线| 欧美在线视频日韩| 国产精品美女久久久久av爽李琼| 99久久国产综合色|国产精品| 亚洲精品久久嫩草网站秘色| 成人av片在线观看| 国产目拍亚洲精品99久久精品| 国产中文一区二区三区| 2022国产精品视频| 国产福利一区二区| 国产美女精品一区二区三区| 亚洲第一搞黄网站| 一本大道久久a久久综合婷婷| 国产欧美日韩综合| 欧美精品aⅴ在线视频| 亚洲综合小说图片| 在线观看视频91| 亚洲第一av色| 日本一区二区三区国色天香| 91国偷自产一区二区开放时间| 亚洲自拍偷拍网站| 91精品国产91久久久久久一区二区| 久久成人免费电影| 中文字幕人成不卡一区| 日韩女优av电影在线观看| 精品污污网站免费看| 国产成人高清视频| 亚洲国产精品一区二区久久 | 亚洲一区在线播放| 欧美一级片在线| 国产精品剧情在线亚洲| 欧美成人精品二区三区99精品| 欧美视频一区二| 成人天堂资源www在线| 91亚洲国产成人精品一区二三| 99国产精品99久久久久久| 大胆欧美人体老妇| 色婷婷狠狠综合| 欧美国产日韩亚洲一区| 中文字幕第一区| 欧美精品tushy高清| 精品国产乱码久久| 亚洲视频一区在线观看| 欧美一区二区三区人| 中文一区二区完整视频在线观看| 精品久久人人做人人爽| 国产精品天干天干在观线| 色拍拍在线精品视频8848| 色婷婷亚洲综合| 国产一区二区三区免费在线观看| 久久精品国产一区二区| 日本二三区不卡| 欧美大片一区二区三区| 精品福利一二区| 久久蜜臀精品av| 久久久精品欧美丰满| 麻豆精品视频在线观看视频| 欧美亚洲综合色| 国产精品你懂的| 一区二区三区欧美在线观看| 青草av.久久免费一区| 成熟亚洲日本毛茸茸凸凹| 大尺度一区二区| 欧美日韩精品欧美日韩精品一| aaa国产一区| 国产网站一区二区三区| 麻豆精品视频在线| 3751色影院一区二区三区| 日韩伦理av电影| 成人亚洲精品久久久久软件| 欧美精品久久天天躁| 中文字幕成人网| 成人在线视频一区| 7777女厕盗摄久久久| 亚洲在线观看免费| 欧美日韩一区二区在线视频| 国产欧美日韩麻豆91| 国产精品久久久久久久久果冻传媒 | 欧美日韩在线电影| 91丨九色丨国产丨porny| 亚洲欧洲av在线| 在线看一区二区| 国产精品18久久久久久vr| 亚洲精品中文在线影院| 欧美精品一区二区三区在线播放| 波多野洁衣一区| 丁香激情综合国产| 亚洲va国产天堂va久久en| 国产亚洲欧美一区在线观看| 精品视频在线看| 国产凹凸在线观看一区二区| 三级欧美韩日大片在线看| 国产精品久久久久一区二区三区| 日韩视频在线你懂得| 色欧美88888久久久久久影院| 久久成人综合网| 亚洲成av人片在线观看无码| 国产精品久久一级| 久久久www免费人成精品| 欧美精品色综合| 一本大道久久a久久精品综合| 国产一区二区在线观看视频| 天堂va蜜桃一区二区三区漫画版| 综合久久久久久久| 国产日韩精品一区二区三区| 日韩三级高清在线| 在线播放视频一区| 欧美理论在线播放| 欧美日韩中文字幕一区二区| 色综合天天综合网天天狠天天| 国产成人午夜精品影院观看视频 | 在线看不卡av| 一本大道久久精品懂色aⅴ| aaa国产一区| 色综合一个色综合| 91色九色蝌蚪| 日本韩国一区二区三区视频| 亚洲午夜精品17c| 国产一区视频网站| av激情成人网| 国产成a人亚洲| 成人免费高清在线| 99久久国产综合精品麻豆| 99re免费视频精品全部| 在线观看亚洲a| 在线精品观看国产| 88在线观看91蜜桃国自产| 3atv一区二区三区| 2023国产精品视频| 国产精品久久久久久福利一牛影视| 国产日韩欧美一区二区三区综合| 欧美极品xxx| 亚洲色图视频网| 五月综合激情日本mⅴ| 日韩精品一区第一页| 精品一区二区三区免费毛片爱| 国产一区二区三区av电影| 成人福利视频在线| 日本韩国欧美在线| 日韩欧美电影一二三| 国产日韩欧美精品电影三级在线| 亚洲欧美在线视频观看| 亚洲一区二区欧美日韩| 男人的天堂久久精品| 国产 日韩 欧美大片| 色国产综合视频| 日韩精品综合一本久道在线视频| 欧美激情在线免费观看| 亚洲国产精品一区二区尤物区| 麻豆国产精品官网| 91亚洲精品一区二区乱码| 制服丝袜国产精品| 欧美激情中文字幕一区二区| 亚洲国产一区二区视频| 国内精品免费**视频| 91蜜桃视频在线| 欧美精品一区二区三| 亚洲精品久久久久久国产精华液| 免费精品视频在线| 91蝌蚪国产九色| 精品国产乱码久久久久久浪潮 | 26uuu亚洲综合色| 樱花影视一区二区| 国产美女在线观看一区| 欧美日韩一区二区三区四区| 久久综合狠狠综合久久激情| 亚洲国产你懂的| 成人18视频在线播放| 日韩欧美黄色影院| 亚洲综合色成人| 成人免费视频一区| 精品国一区二区三区| 亚洲国产sm捆绑调教视频| 成人黄色小视频在线观看| 日韩精品一区二区三区视频| 亚洲精品免费在线播放| 国产·精品毛片| 久久综合成人精品亚洲另类欧美| 亚洲国产视频直播| 91麻豆精东视频| 中文字幕精品一区二区精品绿巨人| 免费成人你懂的| 欧美日韩国产高清一区| 亚洲天堂成人网| 成人黄色大片在线观看| 久久精品亚洲精品国产欧美kt∨| 午夜激情综合网| 欧美系列日韩一区| 亚洲色图视频网| 成人sese在线| 国产精品欧美一区喷水| 国产成人一级电影| 26uuu色噜噜精品一区二区| 蜜臀av一区二区| 欧美一级二级在线观看| 天堂影院一区二区| 欧美日韩精品一区二区三区四区 | 欧美区一区二区三区|