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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jas_stream.c

?? JPEG2000是以小波變換為基礎(chǔ)
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
	assert(bufsize > 0);	bufptr = buf;	while (bufsize > 1) {		if ((c = jas_stream_getc(stream)) == EOF) {			break;		}		*bufptr++ = c;		--bufsize;		if (c == '\n') {			break;		}	}	*bufptr = '\0';	return buf;}int jas_stream_gobble(jas_stream_t *stream, int n){	int m;	m = n;	for (m = n; m > 0; --m) {		if (jas_stream_getc(stream) == EOF) {			return n - m;		}	}	return n;}int jas_stream_pad(jas_stream_t *stream, int n, int c){	int m;	m = n;	for (m = n; m > 0; --m) {		if (jas_stream_putc(stream, c) == EOF)			return n - m;	}	return n;}/******************************************************************************\* Code for getting and setting the stream position.\******************************************************************************/int jas_stream_isseekable(jas_stream_t *stream){	if (stream->ops_ == &jas_stream_memops) {		return 1;	} else if (stream->ops_ == &jas_stream_fileops) {		if ((*stream->ops_->seek_)(stream->obj_, 0, SEEK_CUR) < 0) {			return 0;		}		return 1;	} else {		return 0;	}}int jas_stream_rewind(jas_stream_t *stream){	return jas_stream_seek(stream, 0, SEEK_SET);}long jas_stream_seek(jas_stream_t *stream, long offset, int origin){	long newpos;	/* The buffer cannot be in use for both reading and writing. */	assert(!((stream->bufmode_ & JAS_STREAM_RDBUF) && (stream->bufmode_ &	  JAS_STREAM_WRBUF)));	/* Reset the EOF indicator (since we may not be at the EOF anymore). */	stream->flags_ &= ~JAS_STREAM_EOF;	if (stream->bufmode_ & JAS_STREAM_RDBUF) {		if (origin == SEEK_CUR) {			offset -= stream->cnt_;		}	} else if (stream->bufmode_ & JAS_STREAM_WRBUF) {		if (jas_stream_flush(stream)) {			return -1;		}	}	stream->cnt_ = 0;	stream->ptr_ = stream->bufstart_;	stream->bufmode_ &= ~(JAS_STREAM_RDBUF | JAS_STREAM_WRBUF);	if ((newpos = (*stream->ops_->seek_)(stream->obj_, offset, origin))	  < 0) {		return -1;	}	return newpos;}long jas_stream_tell(jas_stream_t *stream){	int adjust;	int offset;	if (stream->bufmode_ & JAS_STREAM_RDBUF) {		adjust = -stream->cnt_;	} else if (stream->bufmode_ & JAS_STREAM_WRBUF) {		adjust = stream->ptr_ - stream->bufstart_;	} else {		adjust = 0;	}	if ((offset = (*stream->ops_->seek_)(stream->obj_, 0, SEEK_CUR)) < 0) {		return -1;	}	return offset + adjust;}/******************************************************************************\* Buffer initialization code.\******************************************************************************/static void jas_stream_initbuf(jas_stream_t *stream, int bufmode, char *buf,  int bufsize){	/* If this function is being called, the buffer should not have been	  initialized yet. */	assert(!stream->bufbase_);	if (bufmode != JAS_STREAM_UNBUF) {		/* The full- or line-buffered mode is being employed. */		if (!buf) {			/* The caller has not specified a buffer to employ, so allocate			  one. */			if ((stream->bufbase_ = jas_malloc(JAS_STREAM_BUFSIZE +			  JAS_STREAM_MAXPUTBACK))) {				stream->bufmode_ |= JAS_STREAM_FREEBUF;				stream->bufsize_ = JAS_STREAM_BUFSIZE;			} else {				/* The buffer allocation has failed.  Resort to unbuffered				  operation. */				stream->bufbase_ = stream->tinybuf_;				stream->bufsize_ = 1;			}		} else {			/* The caller has specified a buffer to employ. */			/* The buffer must be large enough to accommodate maximum			  putback. */			assert(bufsize > JAS_STREAM_MAXPUTBACK);			stream->bufbase_ = JAS_CAST(uchar *, buf);			stream->bufsize_ = bufsize - JAS_STREAM_MAXPUTBACK;		}	} else {		/* The unbuffered mode is being employed. */		/* A buffer should not have been supplied by the caller. */		assert(!buf);		/* Use a trivial one-character buffer. */		stream->bufbase_ = stream->tinybuf_;		stream->bufsize_ = 1;	}	stream->bufstart_ = &stream->bufbase_[JAS_STREAM_MAXPUTBACK];	stream->ptr_ = stream->bufstart_;	stream->cnt_ = 0;	stream->bufmode_ |= bufmode & JAS_STREAM_BUFMODEMASK;}/******************************************************************************\* Buffer filling and flushing code.\******************************************************************************/int jas_stream_flush(jas_stream_t *stream){	if (stream->bufmode_ & JAS_STREAM_RDBUF) {		return 0;	}	return jas_stream_flushbuf(stream, EOF);}int jas_stream_fillbuf(jas_stream_t *stream, int getflag){	int c;	/* The stream must not be in an error or EOF state. */	if ((stream->flags_ & (JAS_STREAM_ERRMASK)) != 0) {		return EOF;	}	/* The stream must be open for reading. */	if ((stream->openmode_ & JAS_STREAM_READ) == 0) {		return EOF;	}	/* Make a half-hearted attempt to confirm that the buffer is not	currently being used for writing.  This check is not intended	to be foolproof! */	assert((stream->bufmode_ & JAS_STREAM_WRBUF) == 0);	assert(stream->ptr_ - stream->bufstart_ <= stream->bufsize_);	/* Mark the buffer as being used for reading. */	stream->bufmode_ |= JAS_STREAM_RDBUF;	/* Read new data into the buffer. */	stream->ptr_ = stream->bufstart_;	if ((stream->cnt_ = (*stream->ops_->read_)(stream->obj_,	  (char *) stream->bufstart_, stream->bufsize_)) <= 0) {		if (stream->cnt_ < 0) {			stream->flags_ |= JAS_STREAM_ERR;		} else {			stream->flags_ |= JAS_STREAM_EOF;		}		stream->cnt_ = 0;		return EOF;	}	assert(stream->cnt_ > 0);	/* Get or peek at the first character in the buffer. */	c = (getflag) ? jas_stream_getc2(stream) : (*stream->ptr_);	return c;}int jas_stream_flushbuf(jas_stream_t *stream, int c){	int len;	int n;	/* The stream should not be in an error or EOF state. */	if ((stream->flags_ & (JAS_STREAM_ERRMASK)) != 0) {		return EOF;	}	/* The stream must be open for writing. */	if ((stream->openmode_ & (JAS_STREAM_WRITE | JAS_STREAM_APPEND)) == 0) {		return EOF;	}	/* The buffer should not currently be in use for reading. */	assert(!(stream->bufmode_ & JAS_STREAM_RDBUF));	/* Note: Do not use the quantity stream->cnt to determine the number	of characters in the buffer!  Depending on how this function was	called, the stream->cnt value may be "off-by-one". */	len = stream->ptr_ - stream->bufstart_;	if (len > 0) {		n = (*stream->ops_->write_)(stream->obj_, (char *)		  stream->bufstart_, len);		if (n != len) {			stream->flags_ |= JAS_STREAM_ERR;			return EOF;		}	}	stream->cnt_ = stream->bufsize_;	stream->ptr_ = stream->bufstart_;	stream->bufmode_ |= JAS_STREAM_WRBUF;	if (c != EOF) {		assert(stream->cnt_ > 0);		return jas_stream_putc2(stream, c);	}	return 0;}/******************************************************************************\* Miscellaneous code.\******************************************************************************/static int jas_strtoopenmode(const char *s){	int openmode = 0;	while (*s != '\0') {		switch (*s) {		case 'r':			openmode |= JAS_STREAM_READ;			break;		case 'w':			openmode |= JAS_STREAM_WRITE | JAS_STREAM_CREATE;			break;		case 'b':			openmode |= JAS_STREAM_BINARY;			break;		case 'a':			openmode |= JAS_STREAM_APPEND;			break;		case '+':			openmode |= JAS_STREAM_READ | JAS_STREAM_WRITE;			break;		default:			break;		}		++s;	}	return openmode;}int jas_stream_copy(jas_stream_t *out, jas_stream_t *in, int n){	int all;	int c;	int m;	all = (n < 0) ? 1 : 0;	m = n;	while (all || m > 0) {		if ((c = jas_stream_getc_macro(in)) == EOF) {			/* The next character of input could not be read. */			/* Return with an error if an I/O error occured			  (not including EOF) or if an explicit copy count			  was specified. */			return (!all || jas_stream_error(in)) ? (-1) : 0;		}		if (jas_stream_putc_macro(out, c) == EOF) {			return -1;		}		--m;	}	return 0;}long jas_stream_setrwcount(jas_stream_t *stream, long rwcnt){	int old;	old = stream->rwcnt_;	stream->rwcnt_ = rwcnt;	return old;}int jas_stream_display(jas_stream_t *stream, FILE *fp, int n){	unsigned char buf[16];	int i;	int j;	int m;	int c;	int display;	int cnt;	cnt = n - (n % 16);	display = 1;	for (i = 0; i < n; i += 16) {		if (n > 16 && i > 0) {			display = (i >= cnt) ? 1 : 0;		}		if (display) {			fprintf(fp, "%08x:", i);		}		m = JAS_MIN(n - i, 16);		for (j = 0; j < m; ++j) {			if ((c = jas_stream_getc(stream)) == EOF) {				abort();				return -1;			}			buf[j] = c;		}		if (display) {			for (j = 0; j < m; ++j) {				fprintf(fp, " %02x", buf[j]);			}			fputc(' ', fp);			for (; j < 16; ++j) {				fprintf(fp, "   ");			}			for (j = 0; j < m; ++j) {				if (isprint(buf[j])) {					fputc(buf[j], fp);				} else {					fputc(' ', fp);				}			}			fprintf(fp, "\n");		}	}	return 0;}long jas_stream_length(jas_stream_t *stream){	long oldpos;	long pos;	if ((oldpos = jas_stream_tell(stream)) < 0) {		return -1;	}	if (jas_stream_seek(stream, 0, SEEK_END) < 0) {		return -1;	}	if ((pos = jas_stream_tell(stream)) < 0) {		return -1;	}	if (jas_stream_seek(stream, oldpos, SEEK_SET) < 0) {		return -1;	}	return pos;}/******************************************************************************\* Memory stream object.\******************************************************************************/static int mem_read(jas_stream_obj_t *obj, char *buf, int cnt){	int n;	jas_stream_memobj_t *m = (jas_stream_memobj_t *)obj;	n = m->len_ - m->pos_;	cnt = JAS_MIN(n, cnt);	memcpy(buf, &m->buf_[m->pos_], cnt);	m->pos_ += cnt;	return cnt;}static int mem_resize(jas_stream_memobj_t *m, int bufsize){	unsigned char *buf;	assert(m->buf_);	if (!(buf = jas_realloc(m->buf_, bufsize * sizeof(unsigned char)))) {		return -1;	}	m->buf_ = buf;	m->bufsize_ = bufsize;	return 0;}static int mem_write(jas_stream_obj_t *obj, char *buf, int cnt){	int n;	int ret;	jas_stream_memobj_t *m = (jas_stream_memobj_t *)obj;	long newbufsize;	long newpos;	newpos = m->pos_ + cnt;	if (newpos > m->bufsize_ && m->growable_) {		newbufsize = m->bufsize_;		while (newbufsize < newpos) {			newbufsize <<= 1;			assert(newbufsize >= 0);		}		if (mem_resize(m, newbufsize)) {			return -1;		}	}	if (m->pos_ > m->len_) {		/* The current position is beyond the end of the file, so		  pad the file to the current position with zeros. */		n = JAS_MIN(m->pos_, m->bufsize_) - m->len_;		if (n > 0) {			memset(&m->buf_[m->len_], 0, n);			m->len_ += n;		}		if (m->pos_ != m->len_) {			/* The buffer is not big enough. */			return 0;		}	}	n = m->bufsize_ - m->pos_;	ret = JAS_MIN(n, cnt);	if (ret > 0) {		memcpy(&m->buf_[m->pos_], buf, ret);		m->pos_ += ret;	}	if (m->pos_ > m->len_) {		m->len_ = m->pos_;	}assert(ret == cnt);	return ret;}static long mem_seek(jas_stream_obj_t *obj, long offset, int origin){	jas_stream_memobj_t *m = (jas_stream_memobj_t *)obj;	long newpos;	switch (origin) {	case SEEK_SET:		newpos = offset;		break;	case SEEK_END:		newpos = m->len_ - offset;		break;	case SEEK_CUR:		newpos = m->pos_ + offset;		break;	default:		abort();		break;	}	if (newpos < 0) {		return -1;	}	m->pos_ = newpos;	return m->pos_;}static int mem_close(jas_stream_obj_t *obj){	jas_stream_memobj_t *m = (jas_stream_memobj_t *)obj;	if (m->myalloc_ && m->buf_) {		jas_free(m->buf_);		m->buf_ = 0;	}	jas_free(obj);	return 0;}/******************************************************************************\* File stream object.\******************************************************************************/static int file_read(jas_stream_obj_t *obj, char *buf, int cnt){	jas_stream_fileobj_t *fileobj = JAS_CAST(jas_stream_fileobj_t *, obj);	return read(fileobj->fd, buf, cnt);}static int file_write(jas_stream_obj_t *obj, char *buf, int cnt){	jas_stream_fileobj_t *fileobj = JAS_CAST(jas_stream_fileobj_t *, obj);	return write(fileobj->fd, buf, cnt);}static long file_seek(jas_stream_obj_t *obj, long offset, int origin){	jas_stream_fileobj_t *fileobj = JAS_CAST(jas_stream_fileobj_t *, obj);	return lseek(fileobj->fd, offset, origin);}static int file_close(jas_stream_obj_t *obj){	jas_stream_fileobj_t *fileobj = JAS_CAST(jas_stream_fileobj_t *, obj);	int ret;	ret = close(fileobj->fd);	if (fileobj->flags & JAS_STREAM_FILEOBJ_DELONCLOSE) {		unlink(fileobj->pathname);	}	jas_free(fileobj);	return ret;}/******************************************************************************\* Stdio file stream object.\******************************************************************************/static int sfile_read(jas_stream_obj_t *obj, char *buf, int cnt){	FILE *fp;	fp = JAS_CAST(FILE *, obj);	return fread(buf, 1, cnt, fp);}static int sfile_write(jas_stream_obj_t *obj, char *buf, int cnt){	FILE *fp;	fp = JAS_CAST(FILE *, obj);	return fwrite(buf, 1, cnt, fp);}static long sfile_seek(jas_stream_obj_t *obj, long offset, int origin){	FILE *fp;	fp = JAS_CAST(FILE *, obj);	return fseek(fp, offset, origin);}static int sfile_close(jas_stream_obj_t *obj){	FILE *fp;	fp = JAS_CAST(FILE *, obj);	return fclose(fp);}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99视频一区二区| 91在线观看一区二区| 午夜精品久久久久| 亚洲精品欧美在线| 亚洲免费av在线| 亚洲免费观看高清完整版在线观看熊 | 日韩视频一区二区三区| 91精品久久久久久久99蜜桃| 91精品福利在线一区二区三区| 欧美精品免费视频| 欧美美女直播网站| 欧美一区二区三区影视| 欧美一级视频精品观看| 精品国产伦一区二区三区观看体验 | 欧洲精品一区二区| 欧美日本韩国一区二区三区视频 | 欧美天天综合网| 欧美日韩精品一区二区| 4438成人网| 精品国产乱码久久久久久图片| 久久日韩粉嫩一区二区三区| 国产欧美1区2区3区| 日韩美女精品在线| 亚洲亚洲精品在线观看| 日韩电影在线免费| 国产成人在线看| 色综合久久中文字幕| 欧美日韩小视频| 日韩欧美一区二区视频| 久久久久国产精品厨房| 亚洲日本在线a| 天涯成人国产亚洲精品一区av| 蜜桃久久久久久久| 国产99久久久国产精品潘金网站| 色香蕉久久蜜桃| 91精品国产色综合久久久蜜香臀| wwwwww.欧美系列| 中文字幕一区二区不卡| 日韩在线a电影| 成人福利视频在线看| 欧美日韩精品一区二区天天拍小说| 欧美一区二区黄色| 国产精品久久久久久一区二区三区| 亚洲乱码国产乱码精品精小说| 日本欧美一区二区在线观看| 国产不卡在线视频| 欧美色视频在线观看| 久久久久久影视| 一区二区三区中文免费| 九九九精品视频| 在线观看不卡视频| 久久久久久麻豆| 天天av天天翘天天综合网| 国产毛片一区二区| 欧美卡1卡2卡| 中文字幕一区二区三区视频| 免费高清不卡av| 91亚洲国产成人精品一区二三| 日韩一区二区在线播放| 亚洲天堂精品视频| 国产麻豆成人传媒免费观看| 欧美午夜在线一二页| 欧美高清在线一区二区| 青青青伊人色综合久久| 一本在线高清不卡dvd| 久久综合狠狠综合久久综合88| 一区二区三区在线不卡| 国产精品亚洲成人| 91麻豆精品国产综合久久久久久 | 播五月开心婷婷综合| 欧美成人女星排行榜| 亚洲成人免费在线| 色美美综合视频| 国产日韩欧美麻豆| 久久福利视频一区二区| 欧美日韩国产高清一区二区三区| 中文字幕日本乱码精品影院| 国产精品18久久久| 精品国产乱码久久久久久影片| 亚洲mv在线观看| 91污在线观看| 中文字幕高清不卡| 国产一区999| 欧美大尺度电影在线| 亚洲国产aⅴ天堂久久| 色综合色综合色综合色综合色综合 | 亚洲第一狼人社区| 色哦色哦哦色天天综合| 亚洲天堂2014| 91麻豆国产福利在线观看| 欧美国产精品一区| 粉嫩av亚洲一区二区图片| 久久先锋影音av| 精久久久久久久久久久| 日韩三级精品电影久久久| 日韩精品亚洲一区二区三区免费| 欧洲av在线精品| 亚洲一区二区3| 欧美性感一类影片在线播放| 亚洲最大成人综合| 欧美日韩一区高清| 偷拍一区二区三区四区| 欧美精选一区二区| 视频一区二区三区入口| 欧美精品aⅴ在线视频| 日韩电影在线观看网站| 日韩一区二区免费在线电影| 日韩av电影免费观看高清完整版 | 一区二区三区蜜桃| 91影院在线免费观看| 亚洲激情男女视频| 欧美性色欧美a在线播放| 夜夜嗨av一区二区三区中文字幕 | 欧美日韩三级视频| 日韩高清一区在线| 日韩女优毛片在线| 国产91清纯白嫩初高中在线观看 | 一区二区三区精品在线| 日本韩国精品在线| 亚洲gay无套男同| 日韩欧美黄色影院| 国产福利精品导航| 亚洲精品自拍动漫在线| 欧美日韩国产精选| 久久国产精品99久久人人澡| 国产日韩欧美高清| 99麻豆久久久国产精品免费| 亚洲一区二区三区激情| 91精品国产日韩91久久久久久| 国内外精品视频| 中文字幕在线不卡一区二区三区| 91久久精品一区二区| 美女在线视频一区| 国产精品系列在线| 欧美综合天天夜夜久久| 六月婷婷色综合| 中文字幕亚洲视频| 在线播放国产精品二区一二区四区 | 国产视频不卡一区| 91在线播放网址| 日韩成人精品视频| 国产精品网站在线观看| 欧美天堂亚洲电影院在线播放| 麻豆精品蜜桃视频网站| 欧美激情在线观看视频免费| 欧美天堂亚洲电影院在线播放| 精品无人区卡一卡二卡三乱码免费卡 | 欧美美女一区二区在线观看| 国产在线精品免费av| 亚洲色图在线视频| 欧美xfplay| 欧美性做爰猛烈叫床潮| 国产精品一区二区久久精品爱涩| 亚洲综合清纯丝袜自拍| 欧美精品一区视频| 在线观看日韩精品| 国产精品亚洲午夜一区二区三区 | 国产综合色视频| 中文字幕字幕中文在线中不卡视频| 在线电影院国产精品| 不卡高清视频专区| 精品影院一区二区久久久| 亚洲麻豆国产自偷在线| 久久久九九九九| 欧美老肥妇做.爰bbww| 95精品视频在线| 国产精品一区在线观看乱码| 午夜免费欧美电影| 亚洲视频中文字幕| 国产日产欧美一区二区三区| 欧美一区二视频| 在线观看欧美黄色| av电影在线观看一区| 精品一区中文字幕| 亚洲 欧美综合在线网络| 国产精品白丝在线| 欧美精品一区在线观看| 欧美一区二区三区在线看| 91色在线porny| 国产91丝袜在线播放九色| 卡一卡二国产精品| 亚洲超碰精品一区二区| 亚洲猫色日本管| 18欧美乱大交hd1984| 337p粉嫩大胆噜噜噜噜噜91av| 欧美一区午夜精品| 欧美日韩在线综合| 欧美做爰猛烈大尺度电影无法无天| 9人人澡人人爽人人精品| 国产一区二区成人久久免费影院 | 99热99精品| 福利电影一区二区| 国模冰冰炮一区二区| 六月丁香综合在线视频| 美女免费视频一区二区| 日本美女视频一区二区| 天天免费综合色| 日韩精彩视频在线观看| 亚洲国产欧美在线| 亚洲香蕉伊在人在线观|