当前位置: 首页>>代码示例>>C++>>正文


C++ cio_read函数代码示例

本文整理汇总了C++中cio_read函数的典型用法代码示例。如果您正苦于以下问题:C++ cio_read函数的具体用法?C++ cio_read怎么用?C++ cio_read使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了cio_read函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: jp2_read_cdef

static opj_bool jp2_read_cdef(opj_jp2_t *jp2, opj_cio_t *cio,
	opj_jp2_box_t *box, opj_jp2_color_t *color)
{
	opj_jp2_cdef_info_t *info;
	unsigned short i, n;

	OPJ_ARG_NOT_USED(box);
	OPJ_ARG_NOT_USED(jp2);

/* Part 1, I.5.3.6: 'The shall be at most one Channel Definition box
 * inside a JP2 Header box.' 
*/
	if(color->jp2_cdef) return OPJ_FALSE;

	if((n = (unsigned short)cio_read(cio, 2)) == 0) return OPJ_FALSE; /* szukw000: FIXME */

	info = (opj_jp2_cdef_info_t*)
	 opj_malloc(n * sizeof(opj_jp2_cdef_info_t));

	color->jp2_cdef = (opj_jp2_cdef_t*)opj_malloc(sizeof(opj_jp2_cdef_t));
	color->jp2_cdef->info = info;
	color->jp2_cdef->n = n;

	for(i = 0; i < n; ++i)
   {
	info[i].cn = (unsigned short)cio_read(cio, 2);
	info[i].typ = (unsigned short)cio_read(cio, 2);
	info[i].asoc = (unsigned short)cio_read(cio, 2);

   }
	return OPJ_TRUE;
}/* jp2_read_cdef() */
开发者ID:ArphonePei,项目名称:PDFConverter,代码行数:32,代码来源:jp2.c

示例2: jp2_read_cmap

static opj_bool jp2_read_cmap(opj_jp2_t *jp2, opj_cio_t *cio,
	opj_jp2_box_t *box, opj_jp2_color_t *color)
{
	opj_jp2_cmap_comp_t *cmap;
	unsigned short i, nr_channels;

	OPJ_ARG_NOT_USED(box);
	OPJ_ARG_NOT_USED(jp2);

/* Need nr_channels: */
	if(color->jp2_pclr == NULL) return OPJ_FALSE;

/* Part 1, I.5.3.5: 'There shall be at most one Component Mapping box
 * inside a JP2 Header box' :
*/
	if(color->jp2_pclr->cmap) return OPJ_FALSE;

	nr_channels = color->jp2_pclr->nr_channels;
	cmap = (opj_jp2_cmap_comp_t*)
	 opj_malloc(nr_channels * sizeof(opj_jp2_cmap_comp_t));

	for(i = 0; i < nr_channels; ++i)
   {
	cmap[i].cmp = (unsigned short)cio_read(cio, 2);
	cmap[i].mtyp = cio_read(cio, 1);
	cmap[i].pcol = cio_read(cio, 1);

   }
	color->jp2_pclr->cmap = cmap;

	return OPJ_TRUE;
}/* jp2_read_cmap() */
开发者ID:ArphonePei,项目名称:PDFConverter,代码行数:32,代码来源:jp2.c

示例3: jp2_read_boxhdr

static opj_bool jp2_read_boxhdr(opj_common_ptr cinfo, opj_cio_t *cio,
                                opj_jp2_box_t *box)
{
    box->init_pos = cio_tell(cio);
    box->length = cio_read(cio, 4);
    box->type = cio_read(cio, 4);
    if (box->length == 1) {
        if (cio_read(cio, 4) != 0) {
            opj_event_msg(cinfo, EVT_ERROR, "Cannot handle box sizes higher than 2^32\n");
            return OPJ_FALSE;
        }
        box->length = cio_read(cio, 4);
        if (box->length == 0) {
            box->length = cio_numbytesleft(cio) + 12;
        }
    } else if (box->length == 0) {
        box->length = cio_numbytesleft(cio) + 8;
    }
    if (box->length < 0) {
        opj_event_msg(cinfo, EVT_ERROR, "Integer overflow in box->length\n");
        return OPJ_FALSE; /* TODO: actually check jp2_read_boxhdr's return value */
    }

    return OPJ_TRUE;
}
开发者ID:DCPTools,项目名称:openjpeg2-cdist,代码行数:25,代码来源:jp2.c

示例4: jp2_read_colr

int jp2_read_colr(jp2_struct_t * jp2_struct)
{
  jp2_box_t box;

  jp2_read_boxhdr(&box);
  if (JP2_COLR != box.type) {
    fprintf(stderr, "Error: Expected COLR Marker\n");
    return 1;
  }

  jp2_struct->meth = cio_read(1);	// METH
  jp2_struct->precedence = cio_read(1);	// PRECEDENCE
  jp2_struct->approx = cio_read(1);	// APPROX

  if (jp2_struct->meth == 1)
    jp2_struct->enumcs = cio_read(4);	// EnumCS
  else
    cio_read(1);		// PROFILE 

  if (cio_tell() - box.init_pos != box.length) {
    fprintf(stderr, "Error with BPCC Box\n");
    return 1;
  }
  return 0;
}
开发者ID:151706061,项目名称:Gdcm,代码行数:25,代码来源:jp2.c

示例5: jp2_read_ftyp

static opj_bool jp2_read_ftyp(opj_jp2_t *jp2, opj_cio_t *cio) {
	int i;
	opj_jp2_box_t box;

	opj_common_ptr cinfo = jp2->cinfo;

  if( jp2_read_boxhdr(cinfo, cio, &box) == OPJ_FALSE ) {
    opj_event_msg(cinfo, EVT_ERROR, "Failed to read boxhdr\n");
    return OPJ_FALSE;
  }
	if (JP2_FTYP != box.type) {
		opj_event_msg(cinfo, EVT_ERROR, "Expected FTYP Marker\n");
		return OPJ_FALSE;
	}

	jp2->brand = cio_read(cio, 4);		/* BR */
	jp2->minversion = cio_read(cio, 4);	/* MinV */
	jp2->numcl = (box.length - 16) / 4;
	jp2->cl = (unsigned int *) opj_malloc(jp2->numcl * sizeof(unsigned int));

	for (i = 0; i < (int)jp2->numcl; i++) {
		jp2->cl[i] = cio_read(cio, 4);	/* CLi */
	}

	if (cio_tell(cio) - box.init_pos != box.length) {
		opj_event_msg(cinfo, EVT_ERROR, "Error with FTYP Box\n");
		return OPJ_FALSE;
	}

	return OPJ_TRUE;
}
开发者ID:ArphonePei,项目名称:PDFConverter,代码行数:31,代码来源:jp2.c

示例6: jp2_read_ftyp

/*
* Read the FTYP box
*
* File type box
*
*/
int jp2_read_ftyp(jp2_struct_t * jp2_struct)
{
  int i;
  jp2_box_t box;

  jp2_read_boxhdr(&box);

  if (JP2_FTYP != box.type) {
    fprintf(stderr, "Error: Excpected FTYP Marker\n");
    return 1;
  }

  jp2_struct->brand = cio_read(4);	/* BR              */
  jp2_struct->minversion = cio_read(4);	/* MinV            */
  jp2_struct->numcl = (box.length - 16) / 4;
  jp2_struct->cl =
    (unsigned int *) malloc(jp2_struct->numcl * sizeof(unsigned int));

  for (i = jp2_struct->numcl; i > 0; i--)
    jp2_struct->cl[i] = cio_read(4);	/* CLi */

  if (cio_tell() - box.init_pos != box.length) {
    fprintf(stderr, "Error with FTYP Box\n");
    return 1;
  }
  return 0;
}
开发者ID:151706061,项目名称:Gdcm,代码行数:33,代码来源:jp2.c

示例7: j2k_write_coc

/*
void j2k_write_coc(int compno) {
    j2k_tcp_t *tcp;
    int lenp, len;
    log_print(LOG_TRACE, "%.8x: COC\n", cio_tell());
    cio_write(J2K_MS_COC, 2);
    lenp=cio_tell();
    cio_skip(2);
    tcp=&j2k_cp->tcps[j2k_curtileno];
    cio_write(compno, j2k_img->numcomps<=256?1:2);
    cio_write(tcp->tccps[compno].csty, 1);
    j2k_write_cox(compno);
    len=cio_tell()-lenp;
    cio_seek(lenp);
    cio_write(len, 2);
    cio_seek(lenp+len);
}
*/
void j2k_read_coc() {
    int len, compno;
    j2k_tcp_t *tcp;
//    log_print(LOG_TRACE, "%.8x: COC\n", cio_tell()-2);
    tcp=j2k_state==J2K_STATE_TPH?&j2k_cp->tcps[j2k_curtileno]:&j2k_default_tcp;
    len=cio_read(2);
    compno=cio_read(j2k_img->numcomps<=256?1:2);
    tcp->tccps[compno].csty=cio_read(1);
    j2k_read_cox(compno);
}
开发者ID:VgaCich,项目名称:vgasoft,代码行数:28,代码来源:j2k.c

示例8: jp2_read_colr

static opj_bool jp2_read_colr(opj_jp2_t *jp2, opj_cio_t *cio,
	opj_jp2_box_t *box, opj_jp2_color_t *color) 
{
	int skip_len;
    opj_common_ptr cinfo;

/* Part 1, I.5.3.3 : 'A conforming JP2 reader shall ignore all Colour
 * Specification boxes after the first.' 
*/
	if(color->jp2_has_colr) return OPJ_FALSE;

	cinfo = jp2->cinfo;

	jp2->meth = cio_read(cio, 1);		/* METH */
	jp2->precedence = cio_read(cio, 1);	/* PRECEDENCE */
	jp2->approx = cio_read(cio, 1);		/* APPROX */

	if (jp2->meth == 1) 
   {
	jp2->enumcs = cio_read(cio, 4);	/* EnumCS */
   } 
	else
	if (jp2->meth == 2) 
   {
/* skip PROFILE */
	skip_len = box->init_pos + box->length - cio_tell(cio);
	if (skip_len < 0) 
  {
	opj_event_msg(cinfo, EVT_ERROR, "Error with COLR box size\n");
	return OPJ_FALSE;
  }
	if(skip_len > 0)
  {
	unsigned char *start;

	start = cio_getbp(cio);
	color->icc_profile_buf = (unsigned char*)opj_malloc(skip_len);
	color->icc_profile_len = skip_len;

	cio_skip(cio, box->init_pos + box->length - cio_tell(cio));

	memcpy(color->icc_profile_buf, start, skip_len);
  }
   }

	if (cio_tell(cio) - box->init_pos != box->length) 
   {
	opj_event_msg(cinfo, EVT_ERROR, "Error with COLR Box\n");
	return OPJ_FALSE;
   }
	color->jp2_has_colr = 1;

	return OPJ_TRUE;
}/* jp2_read_colr() */
开发者ID:ArphonePei,项目名称:PDFConverter,代码行数:54,代码来源:jp2.c

示例9: jp2_read_pclr

static opj_bool jp2_read_pclr(opj_jp2_t *jp2, opj_cio_t *cio,
	opj_jp2_box_t *box, opj_jp2_color_t *color)
{
	opj_jp2_pclr_t *jp2_pclr;
	unsigned char *channel_size, *channel_sign;
	unsigned int *entries;
	unsigned short nr_entries, nr_channels;
	unsigned short i, j;
	unsigned char uc;

	OPJ_ARG_NOT_USED(box);
	OPJ_ARG_NOT_USED(jp2);

/* Part 1, I.5.3.4: 'There shall be at most one Palette box inside
 * a JP2 Header box' :
*/
	if(color->jp2_pclr) return OPJ_FALSE;

	nr_entries = (unsigned short)cio_read(cio, 2); /* NE */
	nr_channels = (unsigned short)cio_read(cio, 1);/* NPC */

	entries = (unsigned int*)
	 opj_malloc(nr_channels * nr_entries * sizeof(unsigned int));
	channel_size = (unsigned char*)opj_malloc(nr_channels);
	channel_sign = (unsigned char*)opj_malloc(nr_channels);

	jp2_pclr = (opj_jp2_pclr_t*)opj_malloc(sizeof(opj_jp2_pclr_t));
	jp2_pclr->channel_sign = channel_sign;
	jp2_pclr->channel_size = channel_size;
	jp2_pclr->entries = entries;
	jp2_pclr->nr_entries = nr_entries;
	jp2_pclr->nr_channels = nr_channels;
	jp2_pclr->cmap = NULL;

	color->jp2_pclr = jp2_pclr;

	for(i = 0; i < nr_channels; ++i)
   {
	uc = cio_read(cio, 1); /* Bi */
	channel_size[i] = (uc & 0x7f) + 1;
	channel_sign[i] = (uc & 0x80)?1:0;
   }

	for(j = 0; j < nr_entries; ++j)
   {
	for(i = 0; i < nr_channels; ++i)
  {
/* Cji */
	*entries++ = cio_read(cio, (channel_size[i]+7)>>3);
  }
   }

	return OPJ_TRUE;
}/* jp2_read_pclr() */
开发者ID:ArphonePei,项目名称:PDFConverter,代码行数:54,代码来源:jp2.c

示例10: j2k_read_coc

void j2k_read_coc()
{
  int len, compno;
  j2k_tcp_t *tcp;

  tcp =
    j2k_state ==
    J2K_STATE_TPH ? &j2k_cp->tcps[j2k_curtileno] : &j2k_default_tcp;
  len = cio_read(2);		/* Lcoc */
  compno = cio_read(j2k_img->numcomps <= 256 ? 1 : 2);	/* Ccoc */
  tcp->tccps[compno].csty = cio_read(1);	/* Scoc */
  j2k_read_cox(compno);
}
开发者ID:NanaYngvarrdottir,项目名称:Aurora-Libs,代码行数:13,代码来源:j2k.c

示例11: j2k_read_coc

void j2k_read_coc() {
    int len, compno;
    j2k_tcp_t *tcp;
    info_tile_t *tile;
    info_marker_t *tmp;

    tcp = j2k_state == J2K_STATE_TPH ? &j2k_cp->tcps[j2k_curtileno] : &j2k_default_tcp;
    len = cio_read(2);
    
    /* <INDEX> [MHIX BOX] */
    if (j2k_state == J2K_STATE_MH)
      {
	if (!img.marker_mul.num_COC)
	  img.marker_mul.COC = (info_marker_t*)malloc(img.marker_mul.CzCOC * sizeof(info_marker_t));
	if (img.marker_mul.num_COC >= img.marker_mul.CzCOC)
	  {
	    tmp = (info_marker_t*)malloc((INCREMENT + img.marker_mul.CzCOC) * sizeof(info_marker_t));
	    memcpy(tmp,img.marker_mul.COC,img.marker_mul.CzCOC);
	    img.marker_mul.CzCOC += INCREMENT;
	    free(img.marker_mul.COC);
	    img.marker_mul.COC = tmp;
	  }
	img.marker_mul.COC[img.marker_mul.num_COC].type = J2K_MS_COC;
	img.marker_mul.COC[img.marker_mul.num_COC].start_pos = cio_tell()-2;
	img.marker_mul.COC[img.marker_mul.num_COC].len = len;
	img.marker_mul.num_COC++;
      } else
	{
	  tile = &img.tile[j2k_curtileno];
	  if (!tile->marker_mul.num_COC)
	    tile->marker_mul.COC = (info_marker_t*)malloc(tile->marker_mul.CzCOC * sizeof(info_marker_t));
	  if (tile->marker_mul.num_COC >= tile->marker_mul.CzCOC)
	    {
	      tmp = (info_marker_t*)malloc((INCREMENT + tile->marker_mul.CzCOC) * sizeof(info_marker_t));
	      memcpy(tmp,tile->marker_mul.COC,tile->marker_mul.CzCOC);
	      tile->marker_mul.CzCOC += INCREMENT;
	      free(tile->marker_mul.COC);
	      tile->marker_mul.COC = tmp;
	    }
	  tile->marker_mul.COC[tile->marker_mul.num_COC].type = J2K_MS_COC;
	  tile->marker_mul.COC[tile->marker_mul.num_COC].start_pos = cio_tell() - 2;
	  tile->marker_mul.COC[tile->marker_mul.num_COC].len = len;
	  tile->marker_mul.num_COC++;
	}
    /* </INDEX> [MHIX BOX] */
    
    compno =cio_read(j2k_img->numcomps <= 256 ? 1 : 2);

    tcp->tccps[compno].csty = cio_read(1);
    j2k_read_cox(compno);
}
开发者ID:AlfiyaZi,项目名称:GDCM,代码行数:51,代码来源:index_create.c

示例12: jp2_read_boxhdr

int jp2_read_boxhdr(jp2_box_t * box)
{
  box->init_pos = cio_tell();
  box->length = cio_read(4);
  box->type = cio_read(4);
  if (box->length == 1) {
    if (cio_read(4) != 0) {
      fprintf(stderr, "Error: Cannot handle box sizes higher than 2^32\n");
      return 1;
    };
    box->length = cio_read(4);
  }
  return 0;
}
开发者ID:151706061,项目名称:Gdcm,代码行数:14,代码来源:jp2.c

示例13: receiver

static void receiver(void *data)
{
	struct args *args = data;
	char buf;
	size_t len = 0;
	ssize_t ret;

	printf("receiver\n");

	while (true) {
		ret = cio_read(args->fd, &buf, 1);
		assert(ret >= 0);

		if (ret == 0)
			break;

		len += ret;
	}

	assert(len == args->size);

	close(args->fd);

	printf("receiver done\n");

	exit(0);
}
开发者ID:tsavola,项目名称:cio,代码行数:27,代码来源:test_sendfile.c

示例14: jp2_read_jp

static opj_bool jp2_read_jp(opj_jp2_t *jp2, opj_cio_t *cio)
{
    opj_jp2_box_t box;

    opj_common_ptr cinfo = jp2->cinfo;

    if (jp2_read_boxhdr(cinfo, cio, &box) == OPJ_FALSE) {
        opj_event_msg(cinfo, EVT_ERROR, "Failed to read boxhdr\n");
        return OPJ_FALSE;
    }
    if (JP2_JP != box.type) {
        opj_event_msg(cinfo, EVT_ERROR, "Expected JP Marker\n");
        return OPJ_FALSE;
    }
    if (0x0d0a870a != cio_read(cio, 4)) {
        opj_event_msg(cinfo, EVT_ERROR, "Error with JP Marker\n");
        return OPJ_FALSE;
    }
    if (cio_tell(cio) - box.init_pos != box.length) {
        opj_event_msg(cinfo, EVT_ERROR, "Error with JP Box size\n");
        return OPJ_FALSE;
    }

    return OPJ_TRUE;
}
开发者ID:DCPTools,项目名称:openjpeg2-cdist,代码行数:25,代码来源:jp2.c

示例15: routine

static void routine(void *arg)
{
	struct cio_channel *chan = *(void **) arg;
	FILE *file;
	int fd;

	file = popen("while true; do sleep 0.1; echo; done", "r");
	assert(file);

	fd = fileno(file);
	assert(fd >= 0);

	assert(cio_nonblock(fd) >= 0);

	while (true) {
		unsigned char buf;
		assert(cio_read(fd, &buf, 1) == 1);

		assert(cio_channel_write(chan, &fd, sizeof (fd)) == 1);
	}

	/* don't pclose file */

	cio_channel_unref(chan);
}
开发者ID:tsavola,项目名称:cio,代码行数:25,代码来源:test_channel_select.c


注:本文中的cio_read函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。