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

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

?? tif_dirinfo.c

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? C
?? 第 1 頁 / 共 3 頁
字號:
}void_TIFFMergeFieldInfo(TIFF* tif, const TIFFFieldInfo info[], int n){	TIFFFieldInfo** tp;	int i;        tif->tif_foundfield = NULL;	if (tif->tif_nfields > 0) {		tif->tif_fieldinfo = (TIFFFieldInfo**)		    _TIFFrealloc(tif->tif_fieldinfo,			(tif->tif_nfields+n) * sizeof (TIFFFieldInfo*));	} else {		tif->tif_fieldinfo = (TIFFFieldInfo**)		    _TIFFmalloc(n * sizeof (TIFFFieldInfo*));	}	assert(tif->tif_fieldinfo != NULL);	tp = tif->tif_fieldinfo + tif->tif_nfields;	for (i = 0; i < n; i++)		*tp++ = (TIFFFieldInfo*) (info + i);	/* XXX */        /* Sort the field info by tag number */        qsort(tif->tif_fieldinfo, tif->tif_nfields += n,	      sizeof (TIFFFieldInfo*), tagCompare);}void_TIFFPrintFieldInfo(TIFF* tif, FILE* fd){	size_t i;	fprintf(fd, "%s: \n", tif->tif_name);	for (i = 0; i < tif->tif_nfields; i++) {		const TIFFFieldInfo* fip = tif->tif_fieldinfo[i];		fprintf(fd, "field[%2d] %5lu, %2d, %2d, %d, %2d, %5s, %5s, %s\n"			, (int)i			, (unsigned long) fip->field_tag			, fip->field_readcount, fip->field_writecount			, fip->field_type			, fip->field_bit			, fip->field_oktochange ? "TRUE" : "FALSE"			, fip->field_passcount ? "TRUE" : "FALSE"			, fip->field_name		);	}}/* * Return size of TIFFDataType in bytes */intTIFFDataWidth(TIFFDataType type){	switch(type)	{	case 0:  /* nothing */	case 1:  /* TIFF_BYTE */	case 2:  /* TIFF_ASCII */	case 6:  /* TIFF_SBYTE */	case 7:  /* TIFF_UNDEFINED */		return 1;	case 3:  /* TIFF_SHORT */	case 8:  /* TIFF_SSHORT */		return 2;	case 4:  /* TIFF_LONG */	case 9:  /* TIFF_SLONG */	case 11: /* TIFF_FLOAT */        case 13: /* TIFF_IFD */		return 4;	case 5:  /* TIFF_RATIONAL */	case 10: /* TIFF_SRATIONAL */	case 12: /* TIFF_DOUBLE */		return 8;	default:		return 0; /* will return 0 for unknown types */	}}/* * Return size of TIFFDataType in bytes. * * XXX: We need a separate function to determine the space needed * to store the value. For TIFF_RATIONAL values TIFFDataWidth() returns 8, * but we use 4-byte float to represent rationals. */int_TIFFDataSize(TIFFDataType type){	switch (type) {		case TIFF_BYTE:		case TIFF_SBYTE:		case TIFF_ASCII:		case TIFF_UNDEFINED:		    return 1;		case TIFF_SHORT:		case TIFF_SSHORT:		    return 2;		case TIFF_LONG:		case TIFF_SLONG:		case TIFF_FLOAT:		case TIFF_IFD:		case TIFF_RATIONAL:		case TIFF_SRATIONAL:		    return 4;		case TIFF_DOUBLE:		    return 8;		default:		    return 0;	}}/* * Return nearest TIFFDataType to the sample type of an image. */TIFFDataType_TIFFSampleToTagType(TIFF* tif){	uint32 bps = TIFFhowmany8(tif->tif_dir.td_bitspersample);	switch (tif->tif_dir.td_sampleformat) {	case SAMPLEFORMAT_IEEEFP:		return (bps == 4 ? TIFF_FLOAT : TIFF_DOUBLE);	case SAMPLEFORMAT_INT:		return (bps <= 1 ? TIFF_SBYTE :		    bps <= 2 ? TIFF_SSHORT : TIFF_SLONG);	case SAMPLEFORMAT_UINT:		return (bps <= 1 ? TIFF_BYTE :		    bps <= 2 ? TIFF_SHORT : TIFF_LONG);	case SAMPLEFORMAT_VOID:		return (TIFF_UNDEFINED);	}	/*NOTREACHED*/	return (TIFF_UNDEFINED);}const TIFFFieldInfo*_TIFFFindFieldInfo(TIFF* tif, ttag_t tag, TIFFDataType dt){	int i, n;	if (tif->tif_foundfield && tif->tif_foundfield->field_tag == tag &&	    (dt == TIFF_ANY || dt == tif->tif_foundfield->field_type))		return (tif->tif_foundfield);	/* NB: use sorted search (e.g. binary search) */	if(dt != TIFF_ANY) {            TIFFFieldInfo key = {0, 0, 0, TIFF_NOTYPE, 0, 0, 0, 0};	    TIFFFieldInfo* pkey = &key;	    const TIFFFieldInfo **ret;	    key.field_tag = tag;            key.field_type = dt;	    ret = (const TIFFFieldInfo **) bsearch(&pkey,						   tif->tif_fieldinfo, 						   tif->tif_nfields,						   sizeof(TIFFFieldInfo *), 						   tagCompare);	    return (ret) ? (*ret) : NULL;        } else for (i = 0, n = tif->tif_nfields; i < n; i++) {		const TIFFFieldInfo* fip = tif->tif_fieldinfo[i];		if (fip->field_tag == tag &&		    (dt == TIFF_ANY || fip->field_type == dt))			return (tif->tif_foundfield = fip);	}	return ((const TIFFFieldInfo *)0);}const TIFFFieldInfo*_TIFFFindFieldInfoByName(TIFF* tif, const char *field_name, TIFFDataType dt){	int i, n;	if (tif->tif_foundfield	    && streq(tif->tif_foundfield->field_name, field_name)	    && (dt == TIFF_ANY || dt == tif->tif_foundfield->field_type))		return (tif->tif_foundfield);	/* NB: use sorted search (e.g. binary search) */	if(dt != TIFF_ANY) {            TIFFFieldInfo key = {0, 0, 0, TIFF_NOTYPE, 0, 0, 0, 0};	    TIFFFieldInfo* pkey = &key;	    const TIFFFieldInfo **ret;            key.field_name = (char *)field_name;            key.field_type = dt;            ret = (const TIFFFieldInfo **) lfind(&pkey,						 tif->tif_fieldinfo, 						 &tif->tif_nfields,						 sizeof(TIFFFieldInfo *),						 tagNameCompare);	    return (ret) ? (*ret) : NULL;        } else		for (i = 0, n = tif->tif_nfields; i < n; i++) {			const TIFFFieldInfo* fip = tif->tif_fieldinfo[i];			if (streq(fip->field_name, field_name) &&			    (dt == TIFF_ANY || fip->field_type == dt))				return (tif->tif_foundfield = fip);		}	return ((const TIFFFieldInfo *)0);}const TIFFFieldInfo*_TIFFFieldWithTag(TIFF* tif, ttag_t tag){	const TIFFFieldInfo* fip = _TIFFFindFieldInfo(tif, tag, TIFF_ANY);	if (!fip) {		TIFFErrorExt(tif->tif_clientdata, "TIFFFieldWithTag",			  "Internal error, unknown tag 0x%x",                          (unsigned int) tag);		assert(fip != NULL);		/*NOTREACHED*/	}	return (fip);}const TIFFFieldInfo*_TIFFFieldWithName(TIFF* tif, const char *field_name){	const TIFFFieldInfo* fip =		_TIFFFindFieldInfoByName(tif, field_name, TIFF_ANY);	if (!fip) {		TIFFErrorExt(tif->tif_clientdata, "TIFFFieldWithName",			  "Internal error, unknown tag %s", field_name);		assert(fip != NULL);		/*NOTREACHED*/	}	return (fip);}const TIFFFieldInfo*_TIFFFindOrRegisterFieldInfo( TIFF *tif, ttag_t tag, TIFFDataType dt ){    const TIFFFieldInfo *fld;    fld = _TIFFFindFieldInfo( tif, tag, dt );    if( fld == NULL )    {        fld = _TIFFCreateAnonFieldInfo( tif, tag, dt );        _TIFFMergeFieldInfo( tif, fld, 1 );    }    return fld;}TIFFFieldInfo*_TIFFCreateAnonFieldInfo(TIFF *tif, ttag_t tag, TIFFDataType field_type){	TIFFFieldInfo *fld;	(void) tif;	fld = (TIFFFieldInfo *) _TIFFmalloc(sizeof (TIFFFieldInfo));	if (fld == NULL)	    return NULL;	_TIFFmemset( fld, 0, sizeof(TIFFFieldInfo) );	fld->field_tag = tag;	fld->field_readcount = TIFF_VARIABLE2;	fld->field_writecount = TIFF_VARIABLE2;	fld->field_type = field_type;	fld->field_bit = FIELD_CUSTOM;	fld->field_oktochange = TRUE;	fld->field_passcount = TRUE;	fld->field_name = (char *) _TIFFmalloc(32);	if (fld->field_name == NULL) {	    _TIFFfree(fld);	    return NULL;	}	/* 	 * note that this name is a special sign to TIFFClose() and	 * _TIFFSetupFieldInfo() to free the field	 */	sprintf(fld->field_name, "Tag %d", (int) tag);	return fld;    }/* vim: set ts=8 sts=8 sw=8 noet: */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美videos中文字幕| 亚洲国产综合色| 高清av一区二区| 久久久99免费| 成人app下载| 亚洲蜜臀av乱码久久精品 | 久久国产综合精品| 国产午夜一区二区三区| 成人免费av资源| 日韩美女视频一区| 国产色一区二区| 色综合久久中文字幕| 亚洲综合精品久久| 亚洲黄网站在线观看| 精品国产乱码久久久久久1区2区| 国产一区二区三区四区在线观看| 国产精品日日摸夜夜摸av| 久久国产精品色| 亚洲第一狼人社区| 国产亚洲污的网站| 欧美日韩一区三区| 一本大道久久精品懂色aⅴ| 亚洲妇熟xx妇色黄| 亚洲精品在线免费观看视频| 国产曰批免费观看久久久| 日韩精品国产精品| 国产精品嫩草99a| 欧美日韩国产成人在线91| 91网站在线播放| 国产一区二区女| 亚洲一区二区四区蜜桃| 在线看日本不卡| 色综合天天综合色综合av | 免费成人小视频| 中文字幕在线不卡国产视频| 波多野结衣一区二区三区 | 五月综合激情日本mⅴ| 国产日产欧美精品一区二区三区| 欧美日韩在线三级| 成人午夜免费电影| 美国三级日本三级久久99| 国产成人久久精品77777最新版本| 全部av―极品视觉盛宴亚洲| 综合久久久久久| 欧美精品一区二区三区四区| 日韩精品一区二区在线| 91国偷自产一区二区三区观看| 麻豆久久久久久| 久久99在线观看| 午夜精品一区二区三区免费视频 | 国产精品少妇自拍| 欧美激情中文不卡| 日韩精品一区二区三区视频播放| 欧美系列日韩一区| 国产精品一区一区三区| 美女诱惑一区二区| 天天免费综合色| 亚洲欧美另类久久久精品2019| 一区二区三区在线观看欧美| 中文字幕电影一区| 26uuu色噜噜精品一区二区| 欧美专区亚洲专区| 91无套直看片红桃| 不卡一二三区首页| 日韩精品一卡二卡三卡四卡无卡| 美女脱光内衣内裤视频久久影院| 天堂一区二区在线| 亚洲一区二区三区爽爽爽爽爽| 欧美日韩免费在线视频| 国产乱码精品1区2区3区| 国产福利一区二区三区视频| 国产欧美一区二区精品久导航| 最新不卡av在线| 久久黄色级2电影| 日韩免费高清电影| 欧美日韩国产免费一区二区 | 欧美日韩高清一区| 一本大道久久a久久综合婷婷| 成人精品鲁一区一区二区| 久久超级碰视频| 国产精品自拍一区| 麻豆高清免费国产一区| 日韩激情在线观看| 午夜精品久久久久久| 亚洲一线二线三线久久久| 亚洲最新视频在线观看| 一区二区三区四区高清精品免费观看| 国产精品视频线看| 中文字幕日本不卡| 国产丝袜在线精品| 中文字幕中文字幕中文字幕亚洲无线| 欧美成人a∨高清免费观看| 777欧美精品| 欧美日韩国产系列| 日韩一区二区免费视频| 欧美精品一区二区精品网| 久久精品人人做人人爽人人| 中日韩免费视频中文字幕| 久久综合久久综合亚洲| 国产欧美日本一区二区三区| 中文字幕在线视频一区| 亚洲色欲色欲www在线观看| 国产精品五月天| 一区二区三区四区精品在线视频| 午夜伊人狠狠久久| 九色porny丨国产精品| 丁香六月久久综合狠狠色| 91浏览器打开| 538在线一区二区精品国产| 中文字幕永久在线不卡| 国产一区二区三区| 欧洲色大大久久| 国产调教视频一区| 狠狠色综合日日| 欧美日本一区二区三区四区| 亚洲情趣在线观看| 丁香天五香天堂综合| 91 com成人网| 丝袜国产日韩另类美女| 色哟哟亚洲精品| 国产精品国产自产拍高清av王其| 久久99国产精品久久99| 91精品国产麻豆国产自产在线| 亚洲午夜免费福利视频| 91啪九色porn原创视频在线观看| 中文字幕免费观看一区| 精品一区二区免费在线观看| 日韩一区二区在线观看视频播放 | 美女视频黄久久| 欧美色图12p| 亚洲尤物在线视频观看| 日本精品一区二区三区四区的功能| 国产午夜精品一区二区三区嫩草| 免费看欧美女人艹b| 欧美一区二区福利在线| 日韩精品久久理论片| 91精品国产aⅴ一区二区| 亚洲一区精品在线| 欧美艳星brazzers| 亚洲午夜精品17c| 欧美日韩免费高清一区色橹橹| 亚洲一二三区在线观看| 欧美午夜理伦三级在线观看| 亚洲综合视频在线观看| 欧美日本一区二区三区四区| 香蕉成人啪国产精品视频综合网 | 色爱区综合激月婷婷| 日韩一区欧美小说| 91网址在线看| 亚洲欧美在线视频| 国产精品一卡二| www国产精品av| 国产美女精品在线| 中文字幕一区免费在线观看| 91美女片黄在线观看| 亚洲丝袜制服诱惑| 欧美熟乱第一页| 蜜桃视频在线观看一区二区| 26uuu亚洲综合色| 不卡大黄网站免费看| 1000精品久久久久久久久| 91浏览器打开| 日韩综合小视频| 精品国产三级电影在线观看| 国产黄色成人av| 综合在线观看色| 欧美色精品天天在线观看视频| 亚洲午夜免费电影| 欧美成人精精品一区二区频| 国产一区二区三区观看| 成人免费在线视频观看| 欧美影视一区二区三区| 亚洲第一精品在线| 3d动漫精品啪啪| 国产成人免费视频网站 | 日韩一区二区三区四区五区六区| 青青草成人在线观看| 久久久久久久电影| 色一区在线观看| 男人的j进女人的j一区| 欧美激情在线看| 一本久久综合亚洲鲁鲁五月天| 三级不卡在线观看| 日本一区二区三区久久久久久久久不 | 日韩欧美在线综合网| 国产成人在线免费观看| 亚洲激情男女视频| 日韩视频免费观看高清完整版在线观看| 国产成人在线免费观看| 亚洲一区在线观看视频| 日韩欧美激情一区| 波多野结衣的一区二区三区| 性久久久久久久| 国产精品久久久久四虎| 日韩亚洲欧美在线观看| 99精品视频中文字幕| 麻豆成人av在线| 亚洲一级二级三级在线免费观看| 国产亚洲美州欧州综合国| 3751色影院一区二区三区|