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

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

?? jas_image.c

?? JPEG2000是以小波變換為基礎
?? C
?? 第 1 頁 / 共 3 頁
字號:
/***********************************************/int jas_image_readcmpt2(jas_image_t *image, int cmptno, jas_image_coord_t x,  jas_image_coord_t y, jas_image_coord_t width, jas_image_coord_t height,  long *buf){	jas_image_cmpt_t *cmpt;	jas_image_coord_t i;	jas_image_coord_t j;	long v;	long *bufptr;	if (cmptno < 0 || cmptno >= image->numcmpts_)		goto error;	cmpt = image->cmpts_[cmptno];	if (x < 0 || x >= cmpt->width_ || y < 0 || y >= cmpt->height_ ||	  width < 0 || height < 0 || x + width > cmpt->width_ ||	  y + height > cmpt->height_)		goto error;	bufptr = buf;	for (i = 0; i < height; ++i) {		if (jas_stream_seek(cmpt->stream_, (cmpt->width_ * (y + i) + x)		  * cmpt->cps_, SEEK_SET) < 0)			goto error;		for (j = 0; j < width; ++j) {			if (getint(cmpt->stream_, cmpt->sgnd_, cmpt->prec_, &v))				goto error;			*bufptr++ = v;		}	}	return 0;error:	return -1;}int jas_image_writecmpt2(jas_image_t *image, int cmptno, jas_image_coord_t x,  jas_image_coord_t y, jas_image_coord_t width, jas_image_coord_t height,  long *buf){	jas_image_cmpt_t *cmpt;	jas_image_coord_t i;	jas_image_coord_t j;	long v;	long *bufptr;	if (cmptno < 0 || cmptno >= image->numcmpts_)		goto error;	cmpt = image->cmpts_[cmptno];	if (x < 0 || x >= cmpt->width_ || y < 0 || y >= cmpt->height_ ||	  width < 0 || height < 0 || x + width > cmpt->width_ ||	  y + height > cmpt->height_)		goto error;	bufptr = buf;	for (i = 0; i < height; ++i) {		if (jas_stream_seek(cmpt->stream_, (cmpt->width_ * (y + i) + x)		  * cmpt->cps_, SEEK_SET) < 0)			goto error;		for (j = 0; j < width; ++j) {			v = *bufptr++;			if (putint(cmpt->stream_, cmpt->sgnd_, cmpt->prec_, v))				goto error;		}	}	return 0;error:	return -1;}int jas_image_sampcmpt(jas_image_t *image, int cmptno, int newcmptno,  jas_image_coord_t ho, jas_image_coord_t vo, jas_image_coord_t hs,  jas_image_coord_t vs, int sgnd, int prec){	jas_image_cmpt_t *oldcmpt;	jas_image_cmpt_t *newcmpt;	int width;	int height;	jas_image_coord_t tlx;	jas_image_coord_t tly;	jas_image_coord_t brx;	jas_image_coord_t bry;	int i;	int j;	jas_image_cmptparm_t cmptparm;	jas_image_coord_t ax;	jas_image_coord_t ay;	jas_image_coord_t bx;	jas_image_coord_t by;	jas_image_coord_t d0;	jas_image_coord_t d1;	jas_image_coord_t d2;	jas_image_coord_t d3;	jas_image_coord_t oldx;	jas_image_coord_t oldy;	jas_image_coord_t x;	jas_image_coord_t y;	long v;	jas_image_coord_t cmptbrx;	jas_image_coord_t cmptbry;	assert(cmptno >= 0 && cmptno < image->numcmpts_);	oldcmpt = image->cmpts_[cmptno];	assert(oldcmpt->tlx_ == 0 && oldcmpt->tly_ == 0);	jas_image_calcbbox2(image, &tlx, &tly, &brx, &bry);	width = FLOORDIV(brx - ho + hs, hs);	height = FLOORDIV(bry - vo + vs, vs);	cmptparm.tlx = ho;	cmptparm.tly = vo;	cmptparm.hstep = hs;	cmptparm.vstep = vs;	cmptparm.width = width;	cmptparm.height = height;	cmptparm.prec = prec;	cmptparm.sgnd = sgnd;	if (jas_image_addcmpt(image, newcmptno, &cmptparm))		goto error;cmptbrx = oldcmpt->tlx_ + (oldcmpt->width_ - 1) * oldcmpt->hstep_;cmptbry = oldcmpt->tly_ + (oldcmpt->height_ - 1) * oldcmpt->vstep_;	newcmpt = image->cmpts_[newcmptno];	jas_stream_rewind(newcmpt->stream_);	for (i = 0; i < height; ++i) {		y = newcmpt->tly_ + newcmpt->vstep_ * i;		for (j = 0; j < width; ++j) {			x = newcmpt->tlx_ + newcmpt->hstep_ * j;			ax = downtomult(x - oldcmpt->tlx_, oldcmpt->hstep_) + oldcmpt->tlx_;			ay = downtomult(y - oldcmpt->tly_, oldcmpt->vstep_) + oldcmpt->tly_;			bx = uptomult(x - oldcmpt->tlx_, oldcmpt->hstep_) + oldcmpt->tlx_;			if (bx > cmptbrx)				bx = cmptbrx;			by = uptomult(y - oldcmpt->tly_, oldcmpt->vstep_) + oldcmpt->tly_;			if (by > cmptbry)				by = cmptbry;			d0 = (ax - x) * (ax - x) + (ay - y) * (ay - y);			d1 = (bx - x) * (bx - x) + (ay - y) * (ay - y);			d2 = (bx - x) * (bx - x) + (by - y) * (by - y);			d3 = (ax - x) * (ax - x) + (by - y) * (by - y);			if (d0 <= d1 && d0 <= d2 && d0 <= d3) {				oldx = (ax - oldcmpt->tlx_) / oldcmpt->hstep_;				oldy = (ay - oldcmpt->tly_) / oldcmpt->vstep_;			} else if (d1 <= d0 && d1 <= d2 && d1 <= d3) {				oldx = (bx - oldcmpt->tlx_) / oldcmpt->hstep_;				oldy = (ay - oldcmpt->tly_) / oldcmpt->vstep_;			} else if (d2 <= d0 && d2 <= d1 && d1 <= d3) {				oldx = (bx - oldcmpt->tlx_) / oldcmpt->hstep_;				oldy = (by - oldcmpt->tly_) / oldcmpt->vstep_;			} else {				oldx = (ax - oldcmpt->tlx_) / oldcmpt->hstep_;				oldy = (by - oldcmpt->tly_) / oldcmpt->vstep_;			}			assert(oldx >= 0 && oldx < oldcmpt->width_ &&			  oldy >= 0 && oldy < oldcmpt->height_);			if (jas_stream_seek(oldcmpt->stream_, oldcmpt->cps_ *			  (oldy * oldcmpt->width_ + oldx), SEEK_SET) < 0)				goto error;			if (getint(oldcmpt->stream_, oldcmpt->sgnd_,			  oldcmpt->prec_, &v))				goto error;			if (newcmpt->prec_ != oldcmpt->prec_ ||			  newcmpt->sgnd_ != oldcmpt->sgnd_) {				v = convert(v, oldcmpt->sgnd_, oldcmpt->prec_,				  newcmpt->sgnd_, newcmpt->prec_);			}			if (putint(newcmpt->stream_, newcmpt->sgnd_,			  newcmpt->prec_, v))				goto error;		}	}	return 0;error:	return -1;}int jas_image_ishomosamp(jas_image_t *image){	jas_image_coord_t hstep;	jas_image_coord_t vstep;	int result;	int i;	hstep = jas_image_cmpthstep(image, 0);	vstep = jas_image_cmptvstep(image, 0);	result = 1;	for (i = 0; i < image->numcmpts_; ++i) {		if (jas_image_cmpthstep(image, i) != hstep ||		  jas_image_cmptvstep(image, i) != vstep) {			result = 0;			break;		}	}	return result;}/* Note: This function defines a bounding box differently. */static void jas_image_calcbbox2(jas_image_t *image, jas_image_coord_t *tlx,  jas_image_coord_t *tly, jas_image_coord_t *brx, jas_image_coord_t *bry){	jas_image_cmpt_t *cmpt;	jas_image_coord_t tmptlx;	jas_image_coord_t tmptly;	jas_image_coord_t tmpbrx;	jas_image_coord_t tmpbry;	jas_image_coord_t t;	int i;	if (image->numcmpts_ > 0) {		cmpt = image->cmpts_[0];		tmptlx = cmpt->tlx_;		tmptly = cmpt->tly_;		tmpbrx = cmpt->tlx_ + cmpt->hstep_ * (cmpt->width_ - 1);		tmpbry = cmpt->tly_ + cmpt->vstep_ * (cmpt->height_ - 1);		for (i = 0; i < image->numcmpts_; ++i) {			cmpt = image->cmpts_[i];			if (cmpt->tlx_ < tmptlx)				tmptlx = cmpt->tlx_;			if (cmpt->tly_ < tmptly)				tmptly = cmpt->tly_;			t = cmpt->tlx_ + cmpt->hstep_ * (cmpt->width_ - 1);			if (t > tmpbrx)				tmpbrx = t;			t = cmpt->tly_ + cmpt->vstep_ * (cmpt->height_ - 1);			if (t > tmpbry)				tmpbry = t;		}	} else {		tmptlx = 0;		tmptly = 0;		tmpbrx = -1;		tmpbry = -1;	}	*tlx = tmptlx;	*tly = tmptly;	*brx = tmpbrx;	*bry = tmpbry;}static int getint(jas_stream_t *in, int sgnd, int prec, long *val){	long v;	int n;	int c;	n = (prec + 7) / 8;	v = 0;	while (--n >= 0) {		if ((c = jas_stream_getc(in)) == EOF)			return -1;		v = (v << 8) | c;	}	v &= ((1 << prec) - 1);	if (sgnd) {		/* XXX - Do something here. */		abort();	} else {		*val = v;	}	return 0;}static int putint(jas_stream_t *out, int sgnd, int prec, long val){	int n;	int c;	if (sgnd) {		/* XXX - Do something here. */		abort();	}	val &= (1 << prec) - 1;	n = (prec + 7) / 8;	while (--n >= 0) {		c = (val >> (n * 8)) & 0xff;		if (jas_stream_putc(out, c) != c)			return -1;	}	return 0;}static long convert(long val, int oldsgnd, int oldprec, int newsgnd,  int newprec){	if (newsgnd != oldsgnd) {	}	if (newprec != oldprec) {		if (newprec > oldprec) {			val <<= newprec - oldprec;		} else if (oldprec > newprec) {			val >>= oldprec - newprec;		}	}	return val;}static long downtomult(long x, long y){	assert(x >= 0);	return (x / y) * y;}static long uptomult(long x, long y){	assert(x >= 0);	return ((x + y - 1) / y) * y;}jas_image_t *jas_image_chclrspc(jas_image_t *image, jas_cmprof_t *outprof,  int intent){	jas_image_t *inimage;	int minhstep;	int minvstep;	int i;	int j;	int k;	int n;	int hstep;	int vstep;	int numinauxchans;	int numoutauxchans;	int numinclrchans;	int numoutclrchans;	int prec;	jas_image_t *outimage;	int cmpttype;	int numoutchans;	jas_cmprof_t *inprof;	jas_cmprof_t *tmpprof;	jas_image_cmptparm_t cmptparm;	int width;	int height;	jas_cmxform_t *xform;	jas_cmpixmap_t inpixmap;	jas_cmpixmap_t outpixmap;	jas_cmcmptfmt_t *incmptfmts;	jas_cmcmptfmt_t *outcmptfmts;#if 0jas_eprintf("IMAGE\n");jas_image_dump(image, stderr);#endif	if (!(inimage = jas_image_copy(image)))		goto error;	image = 0;	if (!jas_image_ishomosamp(inimage)) {		minhstep = jas_image_cmpthstep(inimage, 0);		minvstep = jas_image_cmptvstep(inimage, 0);		for (i = 1; i < jas_image_numcmpts(inimage); ++i) {			hstep = jas_image_cmpthstep(inimage, i);			vstep = jas_image_cmptvstep(inimage, i);			if (hstep < minhstep)				minhstep = hstep;			if (vstep < minvstep)				minvstep = vstep;		}		n = jas_image_numcmpts(inimage);		for (i = 0; i < n; ++i) {			cmpttype = jas_image_cmpttype(inimage, i);			if (jas_image_sampcmpt(inimage, i, i + 1, 0, 0, minhstep, minvstep, jas_image_cmptsgnd(inimage, i), jas_image_cmptprec(inimage, i)))				goto error;			jas_image_setcmpttype(inimage, i + 1, cmpttype);			jas_image_delcmpt(inimage, i);		}	}	width = jas_image_cmptwidth(inimage, 0);	height = jas_image_cmptheight(inimage, 0);	hstep = jas_image_cmpthstep(inimage, 0);	vstep = jas_image_cmptvstep(inimage, 0);	inprof = jas_image_cmprof(inimage);	assert(inprof);	numinclrchans = jas_clrspc_numchans(jas_cmprof_clrspc(inprof));	numinauxchans = jas_image_numcmpts(inimage) - numinclrchans;	numoutclrchans = jas_clrspc_numchans(jas_cmprof_clrspc(outprof));	numoutauxchans = 0;	numoutchans = numoutclrchans + numoutauxchans;	prec = 8;	if (!(outimage = jas_image_create0()))		goto error;	/* Create a component for each of the colorants. */	for (i = 0; i < numoutclrchans; ++i) {		cmptparm.tlx = 0;		cmptparm.tly = 0;		cmptparm.hstep = hstep;		cmptparm.vstep = vstep;		cmptparm.width = width;		cmptparm.height = height;		cmptparm.prec = prec;		cmptparm.sgnd = 0;		if (jas_image_addcmpt(outimage, -1, &cmptparm))			goto error;		jas_image_setcmpttype(outimage, i, JAS_IMAGE_CT_COLOR(i));	}#if 0	/* Copy the auxiliary components without modification. */	for (i = 0; i < jas_image_numcmpts(inimage); ++i) {		if (!ISCOLOR(jas_image_cmpttype(inimage, i))) {			jas_image_copycmpt(outimage, -1, inimage, i);/* XXX - need to specify laydown of component on ref. grid */		}	}#endif	if (!(tmpprof = jas_cmprof_copy(outprof)))		goto error;	assert(!jas_image_cmprof(outimage));	jas_image_setcmprof(outimage, tmpprof);	tmpprof = 0;	jas_image_setclrspc(outimage, jas_cmprof_clrspc(outprof));	if (!(xform = jas_cmxform_create(inprof, outprof, 0, JAS_CMXFORM_OP_FWD, intent, 0)))		goto error;	inpixmap.numcmpts = numinclrchans;	incmptfmts = malloc(numinclrchans * sizeof(jas_cmcmptfmt_t));	assert(incmptfmts);	inpixmap.cmptfmts = incmptfmts;	for (i = 0; i < numinclrchans; ++i) {		j = jas_image_getcmptbytype(inimage, JAS_IMAGE_CT_COLOR(i));		assert(j >= 0);		if (!(incmptfmts[i].buf = malloc(width * sizeof(long))))			goto error;		incmptfmts[i].prec = jas_image_cmptprec(inimage, j);		incmptfmts[i].sgnd = jas_image_cmptsgnd(inimage, j);		incmptfmts[i].width = width;		incmptfmts[i].height = 1;	}	outpixmap.numcmpts = numoutclrchans;	outcmptfmts = malloc(numoutclrchans * sizeof(jas_cmcmptfmt_t));	assert(outcmptfmts);	outpixmap.cmptfmts = outcmptfmts;	for (i = 0; i < numoutclrchans; ++i) {		j = jas_image_getcmptbytype(outimage, JAS_IMAGE_CT_COLOR(i));		assert(j >= 0);		if (!(outcmptfmts[i].buf = malloc(width * sizeof(long))))			goto error;		outcmptfmts[i].prec = jas_image_cmptprec(outimage, j);		outcmptfmts[i].sgnd = jas_image_cmptsgnd(outimage, j);		outcmptfmts[i].width = width;		outcmptfmts[i].height = 1;	}	for (i = 0; i < height; ++i) {		for (j = 0; j < numinclrchans; ++j) {			k = jas_image_getcmptbytype(inimage, JAS_IMAGE_CT_COLOR(j));			if (jas_image_readcmpt2(inimage, k, 0, i, width, 1, incmptfmts[j].buf))				goto error;		}		jas_cmxform_apply(xform, &inpixmap, &outpixmap);		for (j = 0; j < numoutclrchans; ++j) {			k = jas_image_getcmptbytype(outimage, JAS_IMAGE_CT_COLOR(j));			if (jas_image_writecmpt2(outimage, k, 0, i, width, 1, outcmptfmts[j].buf))				goto error;		}	}	for (i = 0; i < numoutclrchans; ++i)		jas_free(outcmptfmts[i].buf);	jas_free(outcmptfmts);	for (i = 0; i < numinclrchans; ++i)		jas_free(incmptfmts[i].buf);	jas_free(incmptfmts);	jas_cmxform_destroy(xform);	jas_image_destroy(inimage);#if 0jas_eprintf("INIMAGE\n");jas_image_dump(inimage, stderr);jas_eprintf("OUTIMAGE\n");jas_image_dump(outimage, stderr);#endif	return outimage;error:	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产999精品久久| 91麻豆精品91久久久久同性| 国产在线一区观看| 日韩成人精品在线| 青青草国产精品亚洲专区无| 亚洲成av人片在线观看无码| 亚洲一区在线视频| 午夜精品一区二区三区三上悠亚| 亚洲国产一区视频| 日本不卡一二三| 久久91精品久久久久久秒播| 麻豆精品视频在线| 韩国中文字幕2020精品| 国产一区999| 懂色一区二区三区免费观看| 成人avav在线| 欧美亚洲一区二区三区四区| 欧美在线观看你懂的| 777奇米四色成人影色区| 欧美一级生活片| 久久亚区不卡日本| 中文字幕制服丝袜一区二区三区| 18涩涩午夜精品.www| 亚洲线精品一区二区三区| 日韩精品一级中文字幕精品视频免费观看 | 日韩中文字幕区一区有砖一区| 亚洲bt欧美bt精品| 久久电影网电视剧免费观看| 国产成人无遮挡在线视频| 成人黄动漫网站免费app| 91黄色在线观看| 777午夜精品免费视频| 久久在线免费观看| 中文字幕视频一区二区三区久| 亚洲精品大片www| 日本不卡免费在线视频| 国产激情一区二区三区桃花岛亚洲| 99视频热这里只有精品免费| 在线观看av一区| 久久综合久久综合亚洲| 亚洲欧美综合另类在线卡通| 亚洲成人自拍偷拍| 国产精品一区二区三区乱码| 色婷婷综合在线| 欧美一区二区三区四区高清| 中文字幕av一区 二区| 亚洲一区在线看| 国产中文一区二区三区| 91小视频在线观看| 日韩精品一区二区三区三区免费| 国产精品久久久久久久久快鸭| 日韩经典一区二区| 99久久伊人网影院| 日韩亚洲电影在线| 亚洲免费观看在线观看| 久久不见久久见免费视频7| 91婷婷韩国欧美一区二区| 91精品国产综合久久久久久| 国产精品久久久一本精品| 蜜桃久久久久久| 色综合天天综合给合国产| 欧美tickle裸体挠脚心vk| 亚洲一卡二卡三卡四卡无卡久久| 国产精品一区二区久久不卡| 8x8x8国产精品| 亚洲精品国产一区二区精华液 | 亚洲韩国精品一区| 成人av午夜影院| 欧美xxxxx牲另类人与| 一区二区三区在线看| 国产一区二区毛片| 日韩一区二区高清| 亚洲电影中文字幕在线观看| 成人黄色大片在线观看| 久久久午夜电影| 老司机精品视频导航| 欧美日韩在线播放一区| 国产精品视频看| 国产一区二区久久| 日韩欧美色综合| 亚洲成a人v欧美综合天堂| 成人v精品蜜桃久久一区| 欧美v国产在线一区二区三区| 亚洲国产视频a| 91美女视频网站| 国产精品福利av| 粉嫩一区二区三区在线看| 精品国产一区二区三区忘忧草| 午夜电影一区二区三区| 色噜噜夜夜夜综合网| 国产精品免费免费| 成人午夜免费视频| 国产精品久久毛片| 不卡影院免费观看| 中文一区二区完整视频在线观看| 韩国欧美国产一区| 亚洲精品在线免费播放| 老司机精品视频线观看86| 日韩欧美亚洲另类制服综合在线| 日韩电影在线一区| 欧美一级免费观看| 美女一区二区三区| 91精品国产日韩91久久久久久| 亚洲丶国产丶欧美一区二区三区| 色成人在线视频| 亚洲综合色网站| 91久久一区二区| 亚洲成人免费电影| 在线不卡a资源高清| 男人操女人的视频在线观看欧美| 日韩一区二区电影网| 日韩高清在线不卡| 欧美三区免费完整视频在线观看| 亚洲地区一二三色| 宅男噜噜噜66一区二区66| 日本欧美一区二区| 欧美tk—视频vk| 国产精品一区免费在线观看| 国产欧美一区二区精品忘忧草| 成人亚洲一区二区一| 亚洲日本韩国一区| 欧美三级欧美一级| 老司机精品视频导航| 久久综合九色综合欧美98| 成人黄色软件下载| 精品一区二区在线观看| 亚洲国产经典视频| 91国偷自产一区二区三区观看| 亚洲蜜臀av乱码久久精品| 欧美日本在线播放| 久久99久久99| 国产精品久久777777| 在线欧美日韩精品| 午夜激情一区二区三区| 精品国产不卡一区二区三区| 国产精品456露脸| 亚洲精品视频一区二区| 91精品婷婷国产综合久久性色| 在线观看亚洲一区| 老司机精品视频导航| 国产精品盗摄一区二区三区| 欧美天堂一区二区三区| 精品制服美女丁香| 亚洲日本在线视频观看| 欧美一区二区福利在线| 不卡的看片网站| 日韩二区在线观看| 亚洲国产精品成人综合| 欧美区视频在线观看| 国产一区二区导航在线播放| 最新高清无码专区| 日韩欧美在线观看一区二区三区| 成人免费视频caoporn| 日韩在线卡一卡二| 亚洲人xxxx| 亚洲精品一区二区三区精华液 | 国产精品毛片久久久久久久| 欧美视频三区在线播放| 韩国成人精品a∨在线观看| 专区另类欧美日韩| 欧美videossexotv100| 一本到不卡免费一区二区| 韩国欧美国产一区| 肉肉av福利一精品导航| 国产精品国产馆在线真实露脸| 日韩精品一区二区三区在线播放 | 欧美亚洲日本一区| 国产成人免费视| 日韩影视精彩在线| 亚洲美女区一区| 国产色综合久久| 日韩一区二区三区电影在线观看 | 欧美xxxxxxxx| 欧美日本一区二区三区四区| 成人h版在线观看| 九九久久精品视频| 日日夜夜精品视频天天综合网| 国产精品乱人伦| 久久久一区二区三区捆绑**| 欧美日韩中文国产| av电影天堂一区二区在线| 精品一区在线看| 免费人成网站在线观看欧美高清| 亚洲精品国产a| **网站欧美大片在线观看| 久久综合九色综合欧美就去吻| 欧美一区在线视频| 欧美日韩一区二区欧美激情| 91丨国产丨九色丨pron| 国产传媒日韩欧美成人| 麻豆成人免费电影| 日本中文字幕不卡| 亚洲成人福利片| 亚洲动漫第一页| 亚洲图片有声小说| 一区二区三区不卡视频| 亚洲你懂的在线视频| 成人免费在线视频观看| 国产女人18毛片水真多成人如厕| www激情久久|