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

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

?? tga.c

?? 打魔獸戰網的都知道他是什么
?? C
?? 第 1 頁 / 共 2 頁
字號:
		fprintf(stderr,"write_tga: could not write TGA footer magic (fwrite: %s)\n",pstrerror(errno));	/* Ready */	file_wpop();	return 0;}static int RLE_decompress(FILE *f, void *buf, int bufsize, int pixelsize) {	unsigned char pt;	unsigned char *bufp;	unsigned char temp[8]; /* MAXPIXELSIZE */	int bufi;	int count;		file_rpush(f);	bufp = buf;	for (bufi=0; bufi<bufsize; ) {		pt = file_readb();		if (feof(f)) {			fprintf(stderr,"RLE_decompress: after final packet only got %d of %d bytes\n",bufi,bufsize);			file_rpop();			return -1;		}		count = (pt & 0x7f)+1;		if (bufi+count*pixelsize>bufsize) {			fprintf(stderr,"RLE_decompress: buffer too short for next packet (need %d bytes, have %d)\n",bufi+count*pixelsize,bufsize);			file_rpop();			return -1;		}		if ((pt & 0x80) == 0) {	/* RAW PACKET */			if (fread(bufp,pixelsize,count,f)<(unsigned)count) {				if (feof(f))					fprintf(stderr,"RLE_decompress: short RAW packet (expected %d bytes) (EOF)\n",pixelsize*count);				else					fprintf(stderr,"RLE_decompress: short RAW packet (expected %d bytes) (fread: %s)\n",pixelsize*count,pstrerror(errno));#if 0				file_rpop();				return -1;#endif			}			bufp += count*pixelsize;			bufi += count*pixelsize;		} else { /* RLE PACKET */			if (fread(temp,pixelsize,1,f) < 1) {				if (feof(f))					fprintf(stderr,"RLE_decompress: short RLE packet (expected %d bytes) (EOF)\n",pixelsize);				else					fprintf(stderr,"RLE_decompress: short RLE packet (expected %d bytes) (fread: %s)\n",pixelsize,pstrerror(errno));#if 0				file_rpop();				return -1;#endif			}			if (count<2) {				fprintf(stderr,"RLE_decompress: suspicious RLE repetition count %d\n",count);			}			for (;count > 0; count--) {				memcpy(bufp,temp,pixelsize);				bufp += pixelsize;				bufi += pixelsize;			}		}	}	file_rpop();	return 0;}static void RLE_write_pkt(FILE *f, t_tgapkttype pkttype, int len, void *data, int pixelsize) {	unsigned char count;		if (len<1 || len>128) {		fprintf(stderr,"RLE_write_pkt: packet has bad length (%d bytes)\n",len);		return;	}	if (pkttype==RLE) {		if (len<2) {			fprintf(stderr,"RLE_write_pkt: RLE packet has bad length (%d bytes)\n",len);			return;		}		count = (unsigned char)(0x80 | (len-1));		if (fwrite(&count, 1, 1, f)<1)			fprintf(stderr,"RLE_write_pkt: could not write RLE pixel count (fwrite: %s)\n",pstrerror(errno));		if (fwrite(data, pixelsize, 1, f)<1)			fprintf(stderr,"RLE_write_pkt: could not write RLE pixel value (fwrite: %s)\n",pstrerror(errno));	} else {		count = (unsigned char) (len-1);		if (fwrite(&count, 1, 1, f)<1)			fprintf(stderr,"RLE_write_pkt: could not write RAW pixel count (fwrite: %s)\n",pstrerror(errno));		if (fwrite(data,pixelsize,len,f)<(unsigned)len)			fprintf(stderr,"RLE_write_pkt: could not write %d RAW pixels (fwrite: %s)\n",len,pstrerror(errno));	}}static int RLE_compress(FILE *f, t_tgaimg const *img) {	int pixelsize;	unsigned char const *datap;	unsigned char *pktdata;	unsigned int pktlen;	t_tgapkttype pkttype;	unsigned char *pktdatap;	unsigned int actual=0,perceived=0;	int i;	pkttype = RAW;	pktdatap = NULL;		if (img == NULL) return -1;	if (img->data == NULL) return -1;	pixelsize = getpixelsize(img);	if (pixelsize == 0) return -1;		datap = img->data;	pktdata = malloc(img->width*img->height*pixelsize);	pktlen = 0;		for (i=0; i<img->width*img->height; ) {		if (pktlen == 0) {			pktdatap = pktdata;			memcpy(pktdatap,datap,pixelsize);			pktlen++;			i++;			pktdatap += pixelsize;			datap += pixelsize;			pkttype = RAW;			continue;		}		if (pktlen == 1) {			if (memcmp(datap-pixelsize,datap,pixelsize)==0) {				pkttype = RLE;			}		}		if (pkttype == RLE) {			if (memcmp(datap-pixelsize,datap,pixelsize)!=0 || pktlen>=128) {				RLE_write_pkt(f,pkttype,pktlen,pktdata,pixelsize);				actual += 1+pixelsize;				perceived += pixelsize*pktlen;				pktlen = 0;			} else {				pktlen++;				i++;				datap += pixelsize;			}		} else {			if (memcmp(datap-pixelsize,datap,pixelsize)==0 || pktlen>=129) {				datap -= pixelsize; /* push back last pixel */				i--;				if (i<0) fprintf(stderr,"BUG!\n");				pktlen--;				RLE_write_pkt(f,pkttype,pktlen,pktdata,pixelsize);				actual += 1+pixelsize*pktlen;				perceived += pixelsize*pktlen;				pktlen = 0;			} else {				memcpy(pktdatap,datap,pixelsize);				pktlen++;				i++;				pktdatap += pixelsize;				datap += pixelsize;			}		}	}	if (pktlen) {		RLE_write_pkt(f,pkttype,pktlen,pktdata,pixelsize);		if (pkttype==RLE) {			actual += 1+pixelsize;			perceived += pixelsize*pktlen;		} else {			actual += 1+pixelsize*pktlen;			perceived += pixelsize*pktlen;		}		pktlen = 0;	}	fprintf(stderr,"RLE_compress: wrote %u bytes (%u uncompressed)\n",actual,perceived);	return 0;}extern void destroy_img(t_tgaimg * img) {	if (img == NULL) return;		if (img->data)		free(img->data);	free(img);}extern void print_tga_info(t_tgaimg const * img, FILE * fp) {	unsigned int interleave;	unsigned int attrbits; 	char const * typestr; 	char const * cmapstr;	char const * horzstr;	char const * vertstr;	char const * intlstr;		if (!img || !fp)		return;		interleave = ((img->desc&tgadesc_interleave1)!=0)*2+((img->desc&tgadesc_interleave2)!=0);	attrbits = img->desc&(tgadesc_attrbits0|tgadesc_attrbits1|tgadesc_attrbits2|tgadesc_attrbits3);	switch (img->imgtype) {	case tgaimgtype_empty:		typestr = "No Image Data Included";		break;	case tgaimgtype_uncompressed_mapped:		typestr = "Uncompressed, Color-mapped Image";		break;	case tgaimgtype_uncompressed_truecolor:		typestr = "Uncompressed, True-color Image";		break;	case tgaimgtype_uncompressed_monochrome:		typestr = "Uncompressed, Black-and-white image";		break;	case tgaimgtype_rlecompressed_mapped:		typestr = "Run-length encoded, Color-mapped Image";		break;	case tgaimgtype_rlecompressed_truecolor:		typestr = "Run-length encoded, True-color Image";		break;	case tgaimgtype_rlecompressed_monochrome:		typestr = "Run-length encoded, Black-and-white image";		break;	case tgaimgtype_huffman_mapped:		typestr = "Huffman encoded, Color-mapped image";		break;        case tgaimgtype_huffman_4pass_mapped:		typestr = "Four-pass Huffman encoded, Color-mapped image";		break;	default:		typestr = "unknown";	}	switch (img->cmaptype) {	case tgacmap_none:		cmapstr = "None";		break;	case tgacmap_included:		cmapstr = "Included";		break;	default:		cmapstr = "Unknown";	}	if ((img->desc&tgadesc_horz)==0) {		horzstr = "left";	} else {		horzstr = "right";	}	if ((img->desc&tgadesc_vert)==0) {		vertstr = "bottom";	} else {		vertstr = "top";	}	switch (interleave) {	case 0:		intlstr = "none";		break;	case 2:		intlstr = "two way";		break;	case 3:		intlstr = "four way";		break;	case 4:	default:		intlstr = "unknown";		break;	}		fprintf(fp,"TGAHeader: IDLength=%u ColorMapType=%u(%s)\n",img->idlen,img->cmaptype,cmapstr);	fprintf(fp,"TGAHeader: ImageType=%u(%s)\n",img->imgtype,typestr);	fprintf(fp,"TGAHeader: ColorMap: FirstEntryIndex=%u ColorMapLength=%u\n",img->cmapfirst,img->cmaplen);	fprintf(fp,"TGAHeader: ColorMap: ColorMapEntrySize=%ubits\n",img->cmapes);	fprintf(fp,"TGAHeader: X-origin=%u Y-origin=%u Width=%u(0x%x) Height=%u(0x%x)\n",img->xorigin,img->yorigin,img->width,img->width,img->height,img->height);	fprintf(fp,"TGAHeader: PixelDepth=%ubits ImageDescriptor=0x%02x(%u attribute bits, origin is %s %s, interleave=%s)\n",img->bpp,img->desc,attrbits,vertstr,horzstr,intlstr);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清精品3d| 欧美亚洲愉拍一区二区| 亚洲电影激情视频网站| 国产精品麻豆久久久| 久久新电视剧免费观看| 欧美va亚洲va香蕉在线| 欧美sm美女调教| 精品国产一区二区三区久久久蜜月| 91麻豆精品国产自产在线观看一区| 欧美日韩欧美一区二区| 欧美一区二区精品| 久久夜色精品国产欧美乱极品| 久久久亚洲午夜电影| 国产欧美精品一区aⅴ影院| 国产精品美女一区二区三区| 中文字幕中文字幕一区| 亚洲一区二区三区中文字幕在线| 亚洲激情欧美激情| 天天操天天干天天综合网| 免费高清视频精品| 国产精品88888| 91久久香蕉国产日韩欧美9色| 欧美视频中文一区二区三区在线观看 | 亚洲一区在线看| 免费在线看成人av| 国产1区2区3区精品美女| av爱爱亚洲一区| 欧美电影影音先锋| 国产女人18毛片水真多成人如厕 | 4hu四虎永久在线影院成人| 日韩欧美在线综合网| 国产丝袜在线精品| 亚洲伊人伊色伊影伊综合网| 久久99深爱久久99精品| 91网站在线播放| 日韩视频一区二区在线观看| 中文字幕亚洲综合久久菠萝蜜| 亚洲一区二区三区在线播放| 麻豆国产一区二区| 91玉足脚交白嫩脚丫在线播放| 欧美一区二区三区在线观看| 国产精品色婷婷久久58| 日韩激情中文字幕| www.亚洲色图.com| 精品欧美一区二区三区精品久久| 中文字幕一区二区三区四区不卡 | 精品国产一区二区三区忘忧草| 亚洲国产视频a| 极品美女销魂一区二区三区| 91免费观看视频| 久久女同精品一区二区| 五月婷婷激情综合网| av在线一区二区| 久久久久久久久99精品| 日韩成人伦理电影在线观看| 色综合欧美在线| 国产农村妇女精品| 国产一区二区网址| 日韩一区二区三区免费观看| 一区二区成人在线| 91亚洲精品久久久蜜桃网站 | 色婷婷综合久色| 久久久亚洲高清| 久久疯狂做爰流白浆xx| 欧美裸体bbwbbwbbw| 一区二区三区欧美视频| 成人一区在线看| 欧美国产一区在线| 国产精品自产自拍| 久久这里都是精品| 国产伦精品一区二区三区视频青涩 | 亚洲色图第一区| 成人免费黄色大片| 国产农村妇女精品| 成人av先锋影音| 国产精品福利影院| 色欧美片视频在线观看 | 欧美性猛交xxxxxxxx| 亚洲精品ww久久久久久p站| 91在线观看污| 亚洲伦在线观看| 欧美视频日韩视频| 亚洲成人精品在线观看| 91精品午夜视频| 久久成人免费网| 国产日产欧美一区| 99国产精品久| 无码av免费一区二区三区试看| 在线91免费看| 久久国产欧美日韩精品| 国产精品欧美一区二区三区| 91在线视频播放| 午夜精品福利一区二区三区蜜桃| 91精品国产免费| 国产精品69毛片高清亚洲| 国产精品麻豆久久久| 91国偷自产一区二区开放时间| 亚洲亚洲人成综合网络| 91精品欧美综合在线观看最新 | 日本女人一区二区三区| 欧美精品一区男女天堂| 成人手机电影网| 亚洲国产精品一区二区www在线 | 色天天综合色天天久久| 亚洲va国产va欧美va观看| 精品久久国产97色综合| 成人视屏免费看| 日韩成人精品在线观看| 亚洲国产精品成人久久综合一区| 色偷偷88欧美精品久久久| 久久er精品视频| 亚洲精品国产精品乱码不99 | 国产自产视频一区二区三区| 国产精品区一区二区三区| 欧美高清www午色夜在线视频| 国产精品自在欧美一区| 亚洲成人www| 国产人成一区二区三区影院| 欧美日韩免费电影| 成人免费毛片嘿嘿连载视频| 亚洲成人av电影| 亚洲欧美综合色| 日韩欧美在线不卡| 日本精品视频一区二区三区| 精品系列免费在线观看| 亚洲国产sm捆绑调教视频| 国产精品热久久久久夜色精品三区| 欧美一级高清片| 在线看日本不卡| 91蝌蚪国产九色| 国产一区二区三区不卡在线观看 | 最新热久久免费视频| 久久久久99精品国产片| 日韩欧美的一区二区| 欧美日精品一区视频| 99在线视频精品| 国产v综合v亚洲欧| 国产又粗又猛又爽又黄91精品| 日本视频免费一区| 亚洲国产va精品久久久不卡综合| 自拍av一区二区三区| 国产精品久久久久影视| 久久久亚洲午夜电影| www国产精品av| 久久综合九色综合欧美98| 欧美tk—视频vk| 欧美精品一区二区在线播放| 欧美电影一区二区| 欧美军同video69gay| 欧美日韩国产成人在线免费| 欧美日韩一区二区三区免费看| 91年精品国产| 欧美日精品一区视频| 在线免费一区三区| 欧美日韩小视频| 日韩视频免费观看高清完整版 | 亚洲午夜久久久久| 亚洲老妇xxxxxx| 亚洲最大色网站| 天天综合色天天综合| 天堂在线亚洲视频| 人人狠狠综合久久亚洲| 久久99国产精品久久99果冻传媒 | 亚洲视频在线一区观看| 日韩一区欧美一区| 中文字幕亚洲不卡| 亚洲精品国久久99热| 男人操女人的视频在线观看欧美| 美女在线视频一区| 福利电影一区二区| 色94色欧美sute亚洲线路二| 欧美另类变人与禽xxxxx| 日韩美女在线视频| 欧美96一区二区免费视频| 免费成人在线播放| 国产suv一区二区三区88区| 色哟哟日韩精品| 日韩色在线观看| 亚洲天堂免费看| 视频一区二区三区在线| 国产乱码精品一区二区三区忘忧草 | 欧美日韩一区二区三区不卡| 精品欧美乱码久久久久久| 国产精品久久毛片| 婷婷开心激情综合| 成人在线一区二区三区| 欧美高清激情brazzers| 国产欧美一二三区| 视频在线在亚洲| 成人性生交大片免费看视频在线 | 欧美激情在线看| 性久久久久久久久久久久| 国产一区视频在线看| 欧美色涩在线第一页| 国产肉丝袜一区二区| 午夜视频一区在线观看| 99久久er热在这里只有精品66| 91精品久久久久久久91蜜桃| 国产精品大尺度| 国产美女av一区二区三区|