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

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

?? tif_getimage.c

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? C
?? 第 1 頁 / 共 5 頁
字號:
			*cp++ = PACK(r, g, b);			pp += 3;		}		cp += toskew;		pp += fromskew;	}}/* * YCbCr -> RGB conversion and packing routines. */#define	YCbCrtoRGB(dst, Y) {						\	uint32 r, g, b;							\	TIFFYCbCrtoRGB(img->ycbcr, (Y), Cb, Cr, &r, &g, &b);		\	dst = PACK(r, g, b);						\}/* * 8-bit packed YCbCr samples => RGB  * This function is generic for different sampling sizes,  * and can handle blocks sizes that aren't multiples of the * sampling size.  However, it is substantially less optimized * than the specific sampling cases.  It is used as a fallback * for difficult blocks. */#ifdef notdefstatic void putcontig8bitYCbCrGenericTile(     TIFFRGBAImage* img,     uint32* cp,     uint32 x, uint32 y,     uint32 w, uint32 h,     int32 fromskew, int32 toskew,     unsigned char* pp,    int h_group,     int v_group ){    uint32* cp1 = cp+w+toskew;    uint32* cp2 = cp1+w+toskew;    uint32* cp3 = cp2+w+toskew;    int32 incr = 3*w+4*toskew;    int32   Cb, Cr;    int     group_size = v_group * h_group + 2;    (void) y;    fromskew = (fromskew * group_size) / h_group;    for( yy = 0; yy < h; yy++ )    {        unsigned char *pp_line;        int     y_line_group = yy / v_group;        int     y_remainder = yy - y_line_group * v_group;        pp_line = pp + v_line_group *                 for( xx = 0; xx < w; xx++ )        {            Cb = pp        }    }    for (; h >= 4; h -= 4) {	x = w>>2;	do {	    Cb = pp[16];	    Cr = pp[17];	    YCbCrtoRGB(cp [0], pp[ 0]);	    YCbCrtoRGB(cp [1], pp[ 1]);	    YCbCrtoRGB(cp [2], pp[ 2]);	    YCbCrtoRGB(cp [3], pp[ 3]);	    YCbCrtoRGB(cp1[0], pp[ 4]);	    YCbCrtoRGB(cp1[1], pp[ 5]);	    YCbCrtoRGB(cp1[2], pp[ 6]);	    YCbCrtoRGB(cp1[3], pp[ 7]);	    YCbCrtoRGB(cp2[0], pp[ 8]);	    YCbCrtoRGB(cp2[1], pp[ 9]);	    YCbCrtoRGB(cp2[2], pp[10]);	    YCbCrtoRGB(cp2[3], pp[11]);	    YCbCrtoRGB(cp3[0], pp[12]);	    YCbCrtoRGB(cp3[1], pp[13]);	    YCbCrtoRGB(cp3[2], pp[14]);	    YCbCrtoRGB(cp3[3], pp[15]);	    cp += 4, cp1 += 4, cp2 += 4, cp3 += 4;	    pp += 18;	} while (--x);	cp += incr, cp1 += incr, cp2 += incr, cp3 += incr;	pp += fromskew;    }}#endif/* * 8-bit packed YCbCr samples w/ 4,4 subsampling => RGB */DECLAREContigPutFunc(putcontig8bitYCbCr44tile){    uint32* cp1 = cp+w+toskew;    uint32* cp2 = cp1+w+toskew;    uint32* cp3 = cp2+w+toskew;    int32 incr = 3*w+4*toskew;    (void) y;    /* adjust fromskew */    fromskew = (fromskew * 18) / 4;    if ((h & 3) == 0 && (w & 3) == 0) {				                for (; h >= 4; h -= 4) {            x = w>>2;            do {                int32 Cb = pp[16];                int32 Cr = pp[17];                YCbCrtoRGB(cp [0], pp[ 0]);                YCbCrtoRGB(cp [1], pp[ 1]);                YCbCrtoRGB(cp [2], pp[ 2]);                YCbCrtoRGB(cp [3], pp[ 3]);                YCbCrtoRGB(cp1[0], pp[ 4]);                YCbCrtoRGB(cp1[1], pp[ 5]);                YCbCrtoRGB(cp1[2], pp[ 6]);                YCbCrtoRGB(cp1[3], pp[ 7]);                YCbCrtoRGB(cp2[0], pp[ 8]);                YCbCrtoRGB(cp2[1], pp[ 9]);                YCbCrtoRGB(cp2[2], pp[10]);                YCbCrtoRGB(cp2[3], pp[11]);                YCbCrtoRGB(cp3[0], pp[12]);                YCbCrtoRGB(cp3[1], pp[13]);                YCbCrtoRGB(cp3[2], pp[14]);                YCbCrtoRGB(cp3[3], pp[15]);                cp += 4, cp1 += 4, cp2 += 4, cp3 += 4;                pp += 18;            } while (--x);            cp += incr, cp1 += incr, cp2 += incr, cp3 += incr;            pp += fromskew;        }    } else {        while (h > 0) {            for (x = w; x > 0;) {                int32 Cb = pp[16];                int32 Cr = pp[17];                switch (x) {                default:                    switch (h) {                    default: YCbCrtoRGB(cp3[3], pp[15]); /* FALLTHROUGH */                    case 3:  YCbCrtoRGB(cp2[3], pp[11]); /* FALLTHROUGH */                    case 2:  YCbCrtoRGB(cp1[3], pp[ 7]); /* FALLTHROUGH */                    case 1:  YCbCrtoRGB(cp [3], pp[ 3]); /* FALLTHROUGH */                    }                                    /* FALLTHROUGH */                case 3:                    switch (h) {                    default: YCbCrtoRGB(cp3[2], pp[14]); /* FALLTHROUGH */                    case 3:  YCbCrtoRGB(cp2[2], pp[10]); /* FALLTHROUGH */                    case 2:  YCbCrtoRGB(cp1[2], pp[ 6]); /* FALLTHROUGH */                    case 1:  YCbCrtoRGB(cp [2], pp[ 2]); /* FALLTHROUGH */                    }                                    /* FALLTHROUGH */                case 2:                    switch (h) {                    default: YCbCrtoRGB(cp3[1], pp[13]); /* FALLTHROUGH */                    case 3:  YCbCrtoRGB(cp2[1], pp[ 9]); /* FALLTHROUGH */                    case 2:  YCbCrtoRGB(cp1[1], pp[ 5]); /* FALLTHROUGH */                    case 1:  YCbCrtoRGB(cp [1], pp[ 1]); /* FALLTHROUGH */                    }                                    /* FALLTHROUGH */                case 1:                    switch (h) {                    default: YCbCrtoRGB(cp3[0], pp[12]); /* FALLTHROUGH */                    case 3:  YCbCrtoRGB(cp2[0], pp[ 8]); /* FALLTHROUGH */                    case 2:  YCbCrtoRGB(cp1[0], pp[ 4]); /* FALLTHROUGH */                    case 1:  YCbCrtoRGB(cp [0], pp[ 0]); /* FALLTHROUGH */                    }                                    /* FALLTHROUGH */                }                if (x < 4) {                    cp += x; cp1 += x; cp2 += x; cp3 += x;                    x = 0;                }                else {                    cp += 4; cp1 += 4; cp2 += 4; cp3 += 4;                    x -= 4;                }                pp += 18;            }            if (h <= 4)                break;            h -= 4;            cp += incr, cp1 += incr, cp2 += incr, cp3 += incr;            pp += fromskew;        }    }}/* * 8-bit packed YCbCr samples w/ 4,2 subsampling => RGB */DECLAREContigPutFunc(putcontig8bitYCbCr42tile){    uint32* cp1 = cp+w+toskew;    int32 incr = 2*toskew+w;    (void) y;    fromskew = (fromskew * 10) / 4;    if ((h & 3) == 0 && (w & 1) == 0) {        for (; h >= 2; h -= 2) {            x = w>>2;            do {                int32 Cb = pp[8];                int32 Cr = pp[9];                                YCbCrtoRGB(cp [0], pp[0]);                YCbCrtoRGB(cp [1], pp[1]);                YCbCrtoRGB(cp [2], pp[2]);                YCbCrtoRGB(cp [3], pp[3]);                YCbCrtoRGB(cp1[0], pp[4]);                YCbCrtoRGB(cp1[1], pp[5]);                YCbCrtoRGB(cp1[2], pp[6]);                YCbCrtoRGB(cp1[3], pp[7]);                                cp += 4, cp1 += 4;                pp += 10;            } while (--x);            cp += incr, cp1 += incr;            pp += fromskew;        }    } else {        while (h > 0) {            for (x = w; x > 0;) {                int32 Cb = pp[8];                int32 Cr = pp[9];                switch (x) {                default:                    switch (h) {                    default: YCbCrtoRGB(cp1[3], pp[ 7]); /* FALLTHROUGH */                    case 1:  YCbCrtoRGB(cp [3], pp[ 3]); /* FALLTHROUGH */                    }                                    /* FALLTHROUGH */                case 3:                    switch (h) {                    default: YCbCrtoRGB(cp1[2], pp[ 6]); /* FALLTHROUGH */                    case 1:  YCbCrtoRGB(cp [2], pp[ 2]); /* FALLTHROUGH */                    }                                    /* FALLTHROUGH */                case 2:                    switch (h) {                    default: YCbCrtoRGB(cp1[1], pp[ 5]); /* FALLTHROUGH */                    case 1:  YCbCrtoRGB(cp [1], pp[ 1]); /* FALLTHROUGH */                    }                                    /* FALLTHROUGH */                case 1:                    switch (h) {                    default: YCbCrtoRGB(cp1[0], pp[ 4]); /* FALLTHROUGH */                    case 1:  YCbCrtoRGB(cp [0], pp[ 0]); /* FALLTHROUGH */                    }                                    /* FALLTHROUGH */                }                if (x < 4) {                    cp += x; cp1 += x;                    x = 0;                }                else {                    cp += 4; cp1 += 4;                    x -= 4;                }                pp += 10;            }            if (h <= 2)                break;            h -= 2;            cp += incr, cp1 += incr;            pp += fromskew;        }    }}/* * 8-bit packed YCbCr samples w/ 4,1 subsampling => RGB */DECLAREContigPutFunc(putcontig8bitYCbCr41tile){    (void) y;    /* XXX adjust fromskew */    do {	x = w>>2;	do {	    int32 Cb = pp[4];	    int32 Cr = pp[5];	    YCbCrtoRGB(cp [0], pp[0]);	    YCbCrtoRGB(cp [1], pp[1]);	    YCbCrtoRGB(cp [2], pp[2]);	    YCbCrtoRGB(cp [3], pp[3]);	    cp += 4;	    pp += 6;	} while (--x);        if( (w&3) != 0 )        {	    int32 Cb = pp[4];	    int32 Cr = pp[5];            switch( (w&3) ) {              case 3: YCbCrtoRGB(cp [2], pp[2]);              case 2: YCbCrtoRGB(cp [1], pp[1]);              case 1: YCbCrtoRGB(cp [0], pp[0]);              case 0: break;            }            cp += (w&3);            pp += 6;        }	cp += toskew;	pp += fromskew;    } while (--h);}/* * 8-bit packed YCbCr samples w/ 2,2 subsampling => RGB */DECLAREContigPutFunc(putcontig8bitYCbCr22tile){	uint32* cp2;	(void) y;	fromskew = (fromskew / 2) * 6;	cp2 = cp+w+toskew;	while (h>=2) {		x = w;		while (x>=2) {			uint32 Cb = pp[4];			uint32 Cr = pp[5];			YCbCrtoRGB(cp[0], pp[0]);			YCbCrtoRGB(cp[1], pp[1]);			YCbCrtoRGB(cp2[0], pp[2]);			YCbCrtoRGB(cp2[1], pp[3]);			cp += 2;			cp2 += 2;			pp += 6;			x -= 2;		}		if (x==1) {			uint32 Cb = pp[4];			uint32 Cr = pp[5];			YCbCrtoRGB(cp[0], pp[0]);			YCbCrtoRGB(cp2[0], pp[2]);			cp ++ ;			cp2 ++ ;			pp += 6;		}		cp += toskew*2+w;		cp2 += toskew*2+w;		pp += fromskew;		h-=2;	}	if (h==1) {		x = w;		while (x>=2) {			uint32 Cb = pp[4];			uint32 Cr = pp[5];			YCbCrtoRGB(cp[0], pp[0]);			YCbCrtoRGB(cp[1], pp[1]);			cp += 2;			cp2 += 2;			pp += 6;			x -= 2;		}		if (x==1) {			uint32 Cb = pp[4];			uint32 Cr = pp[5];			YCbCrtoRGB(cp[0], pp[0]);		}	}}/* * 8-bit packed YCbCr samples w/ 2,1 subsampling => RGB */DECLAREContigPutFunc(putcontig8bitYCbCr21tile){	(void) y;	fromskew = (fromskew * 4) / 2;	do {		x = w>>1;		do {			int32 Cb = pp[2];			int32 Cr = pp[3];			YCbCrtoRGB(cp[0], pp[0]);			YCbCrtoRGB(cp[1], pp[1]);			cp += 2;			pp += 4;		} while (--x);		if( (w&1) != 0 )		{			int32 Cb = pp[2];			int32 Cr = pp[3];			YCbCrtoRGB(cp[0], pp[0]);			cp += 1;			pp += 4;		}		cp += toskew;		pp += fromskew;	} while (--h);}/* * 8-bit packed YCbCr samples w/ 1,2 subsampling => RGB */DECLAREContigPutFunc(putcontig8bitYCbCr12tile){	uint32* cp2;	(void) y;	fromskew = (fromskew / 2) * 4;	cp2 = cp+w+toskew;	while (h>=2) {		x = w;		do {			uint32 Cb = pp[2];			uint32 Cr = pp[3];			YCbCrtoRGB(cp[0], pp[0]);			YCbCrtoRGB(cp2[0], pp[1]);			cp ++;			cp2 ++;			pp += 4;		} while (--x);		cp += toskew*2+w;		cp2 += toskew*2+w;		pp += fromskew;		h-=2;	}	if (h==1) {		x = w;		do {			uint32 Cb = pp[2];			uint32 Cr = pp[3];			YCbCrtoRGB(cp[0], pp[0]);			cp ++;			pp += 4;		} while (--x);	}}/* * 8-bit packed YCbCr samples w/ no subsampling => RGB */DECLAREContigPutFunc(putcontig8bitYCbCr11tile){	(void) y;	fromskew *= 3;	do {		x = w; /* was x = w>>1; patched 2000/09/25 warmerda@home.com */		do {			int32 Cb = pp[1];			int32 Cr = pp[2];			YCbCrtoRGB(*cp++, pp[0]);			pp += 3;		} while (--x);		cp += toskew;		pp += fromskew;	} while (--h);}/* * 8-bit packed YCbCr samples w/ no subsampling => RGB */DECLARESepPutFunc(putseparate8bitYCbCr11tile){	(void) y;	(void) a;	/* TODO: naming of input vars is still off, change obfuscating declaration inside define, or resolve obfuscation */	while (h-- > 0) {		x = w;		do {			uint32 dr, dg, db;			TIFFYCbCrtoRGB(img->ycbcr,*r++,*g++,*b++,&dr,&dg,&db);			*cp++ = PACK(dr,dg,db);		} while (--x);		SKEW(r, g, b, fromskew);		cp += toskew;	}}#undef YCbCrtoRGBstatic intinitYCbCrConversion(TIFFRGBAImage* img){	static char module[] = "initYCbCrConversion";	float *luma, *refBlackWhite;	if (img->ycbcr == NULL) {		img->ycbcr = (TIFFYCbCrToRGB*) _TIFFmalloc(		    TIFFroundup(sizeof (TIFFYCbCrToRGB), sizeof (long))		    + 4*256*sizeof (TIFFRGBValue)		    + 2*256*sizeof (int)		    + 3*256*sizeof (int32)		    );		if (img->ycbcr == NULL) {			TIFFErrorExt(img->tif->tif_clientdata, module,			    "No space for YCbCr->RGB conversion state");			return (0);		}	}	TIFFGetFieldDefaulted(img->tif, TIFFTAG_YCBCRCOEFFICIENTS, &luma);	TIFFGetFieldDefaulted(img->tif, TIFFTAG_REFERENCEBLACKWHITE,	    &refBlackWhite);	if (TIFFYCbCrToRGBInit(img->ycbcr, luma, refBlackWhite) < 0)		return(0);	return (1);}static tileContigRoutineinitCIELabConversion(TIFFRGBAImage* img){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品狼人久久影院观看方式| 欧美日韩小视频| 久久久亚洲高清| 国产自产2019最新不卡| 久久午夜老司机| 国产成人在线视频播放| 国产精品久久久久久久久晋中| 成人免费av网站| 综合亚洲深深色噜噜狠狠网站| 色综合久久久久久久| 亚洲综合视频在线| 欧美精品1区2区3区| 麻豆精品久久久| 欧美极品美女视频| 日本伦理一区二区| 老司机精品视频在线| 国产精品丝袜91| 欧美色手机在线观看| 久久97超碰色| 亚洲色图制服丝袜| 欧美老肥妇做.爰bbww| 韩国一区二区视频| 亚洲免费在线播放| 88在线观看91蜜桃国自产| 久久爱另类一区二区小说| 国产精品免费aⅴ片在线观看| 91理论电影在线观看| 日韩成人精品在线| 欧美激情资源网| 91精选在线观看| av影院午夜一区| 日本va欧美va瓶| 亚洲欧洲美洲综合色网| 欧美一级片在线观看| 欧美色综合网站| 久久九九影视网| 26uuu色噜噜精品一区二区| 欧美日韩精品电影| 国产激情偷乱视频一区二区三区| 一个色妞综合视频在线观看| 欧美mv和日韩mv国产网站| 91香蕉国产在线观看软件| 精品一区二区三区免费| 亚洲成av人片在www色猫咪| 国产亚洲人成网站| 欧美日韩精品一二三区| av中文字幕不卡| 国产一区二区三区视频在线播放| 一级特黄大欧美久久久| 中文字幕av资源一区| 91精品免费在线| 91成人看片片| av电影一区二区| 国产成人午夜精品5599| 日本在线观看不卡视频| 亚洲精选免费视频| 欧美激情一区在线| 久久综合色婷婷| 日韩欧美在线观看一区二区三区| 欧美日韩午夜精品| 99久久免费国产| 国产伦精品一区二区三区视频青涩| 日韩和欧美一区二区| 一区二区日韩电影| 《视频一区视频二区| 欧美高清在线视频| 国产女人aaa级久久久级| 久久中文娱乐网| 欧美大度的电影原声| 欧美精品亚洲二区| 精品捆绑美女sm三区| 最新成人av在线| 国产乱码精品一区二区三区忘忧草 | 久久久噜噜噜久久人人看| 国产成人av资源| 亚洲成人av电影在线| 精品国产自在久精品国产| 成人综合在线观看| 亚洲最新视频在线播放| 久久久99精品久久| 欧美日韩国产不卡| 本田岬高潮一区二区三区| 丝瓜av网站精品一区二区| 久久久噜噜噜久久中文字幕色伊伊| 亚洲国产色一区| 亚洲一区二区三区四区五区中文| 日韩理论片中文av| 中文字幕中文字幕一区二区 | 日韩中文字幕不卡| 日韩精品一级中文字幕精品视频免费观看| 亚洲欧美另类在线| 亚洲自拍偷拍麻豆| 亚洲777理论| 老司机午夜精品| 国产成+人+日韩+欧美+亚洲| 99re8在线精品视频免费播放| aaa亚洲精品| 在线一区二区三区四区五区 | 久久久久亚洲蜜桃| 中文字幕国产一区| 一区二区三区国产| 日韩电影免费一区| 国产一区二区精品在线观看| 成人国产视频在线观看| 日本韩国欧美一区二区三区| 欧美一区二区三区白人| 国产三级三级三级精品8ⅰ区| 亚洲欧美日韩一区| 视频一区中文字幕国产| 国产精品白丝jk白祙喷水网站| 97久久人人超碰| 欧美午夜一区二区三区免费大片| 91精品视频网| 国产人成一区二区三区影院| 亚洲美女精品一区| 免费成人小视频| 不卡的av在线播放| 欧美一区二区网站| 国产精品看片你懂得| 日韩激情一区二区| 成人爱爱电影网址| 日韩一区二区三区视频| 国产精品久久久一本精品 | 日韩精品一区第一页| 卡一卡二国产精品| 波波电影院一区二区三区| 日韩一区二区三区视频在线 | 久久女同互慰一区二区三区| 亚洲色图在线视频| 日本不卡不码高清免费观看| 99re66热这里只有精品3直播| 欧美日韩电影在线| wwwwxxxxx欧美| 久久99精品国产麻豆婷婷洗澡| 波多野结衣亚洲| 午夜精品免费在线观看| 成人免费视频caoporn| 欧美在线一区二区| 国产精品婷婷午夜在线观看| 亚洲高清视频在线| 97久久超碰国产精品电影| 欧美精品在欧美一区二区少妇| 国产精品成人午夜| 日韩一区精品视频| 国产精品久久毛片| 久久久不卡网国产精品一区| 国产精品久久久久四虎| 人人精品人人爱| 91豆麻精品91久久久久久| 欧美国产1区2区| 国产在线不卡一卡二卡三卡四卡| 欧美日韩中文字幕一区二区| 中文字幕国产精品一区二区| 国产一区高清在线| 欧美一区二区在线视频| 亚洲一区二区不卡免费| 91丨九色丨国产丨porny| 国产亚洲午夜高清国产拍精品| 老司机免费视频一区二区| 5566中文字幕一区二区电影| 一区二区三区视频在线看| heyzo一本久久综合| 中文字幕第一区| 丁香六月久久综合狠狠色| 久久亚洲免费视频| 国产福利电影一区二区三区| 精品国产不卡一区二区三区| 免费在线观看不卡| 日韩视频免费直播| 另类小说图片综合网| 91麻豆精品久久久久蜜臀| 日韩专区一卡二卡| 在线日韩一区二区| 亚洲精品国产无套在线观| 在线观看欧美黄色| 午夜电影久久久| 欧美r级在线观看| 国产一区中文字幕| 国产精品网站在线| 91在线国产观看| 亚洲亚洲人成综合网络| 欧美日韩国产综合视频在线观看 | 日韩欧美国产麻豆| 国产一区二区网址| 中文字幕成人av| 色哟哟一区二区在线观看| 亚洲高清免费观看高清完整版在线观看| 在线精品视频一区二区三四 | 欧美一级精品在线| 国产自产高清不卡| 26uuu另类欧美亚洲曰本| 成人蜜臀av电影| 一区二区三区四区高清精品免费观看| 欧美挠脚心视频网站| 精品写真视频在线观看| 国产欧美一区二区精品忘忧草| 国产成人8x视频一区二区| 一区二区三区国产精华| 69堂亚洲精品首页| 韩国av一区二区三区|