本文整理汇总了C++中cio_skip函数的典型用法代码示例。如果您正苦于以下问题:C++ cio_skip函数的具体用法?C++ cio_skip怎么用?C++ cio_skip使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cio_skip函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: read_siz_marker
static void read_siz_marker(FILE *file, opj_image_t *image)
{
int len,i;
char buf, buf2[2];
unsigned char *siz_buffer;
opj_cio_t *cio;
fseek(file, 0, SEEK_SET);
do {
fread(&buf,1,1, file);
if (buf==(char)0xff)
fread(&buf,1,1, file);
}
while (!(buf==(char)0x51));
fread(buf2,2,1,file); /* Lsiz */
len = ((buf2[0])<<8) + buf2[1];
siz_buffer = (unsigned char*) malloc(len * sizeof(unsigned char));
fread(siz_buffer,len, 1, file);
cio = opj_cio_open(NULL, siz_buffer, len);
cio_read(cio, 2); /* Rsiz (capabilities) */
image->x1 = cio_read(cio, 4); /* Xsiz */
image->y1 = cio_read(cio, 4); /* Ysiz */
image->x0 = cio_read(cio, 4); /* X0siz */
image->y0 = cio_read(cio, 4); /* Y0siz */
cio_skip(cio, 16); /* XTsiz, YTsiz, XT0siz, YT0siz */
image->numcomps = cio_read(cio,2); /* Csiz */
image->comps =
(opj_image_comp_t *) malloc(image->numcomps * sizeof(opj_image_comp_t));
for (i = 0; i < image->numcomps; i++) {
int tmp;
tmp = cio_read(cio,1); /* Ssiz_i */
image->comps[i].prec = (tmp & 0x7f) + 1;
image->comps[i].sgnd = tmp >> 7;
image->comps[i].dx = cio_read(cio,1); /* XRsiz_i */
image->comps[i].dy = cio_read(cio,1); /* YRsiz_i */
image->comps[i].resno_decoded = 0; /* number of resolution decoded */
image->comps[i].factor = 0; /* reducing factor by component */
}
fseek(file, 0, SEEK_SET);
opj_cio_close(cio);
free(siz_buffer);
}
开发者ID:AlfiyaZi,项目名称:GDCM,代码行数:47,代码来源:wrap_j2k_in_mj2.c
示例2: j2k_read_com
void j2k_read_com() {
int len;
info_tile_t *tile;
info_marker_t *tmp;
len = cio_read(2);
/* <INDEX> [MHIX BOX] */
if (j2k_state == J2K_STATE_MH)
{
if (!img.marker_mul.num_COM)
img.marker_mul.COM = (info_marker_t*)malloc(img.marker_mul.CzCOM * sizeof(info_marker_t));
if (img.marker_mul.num_COM >= img.marker_mul.CzCOM)
{
tmp = (info_marker_t*)malloc(2 * img.marker_mul.CzCOM * sizeof(info_marker_t));
memcpy(tmp,img.marker_mul.COM,img.marker_mul.CzCOM);
img.marker_mul.CzCOM *= 2;
free(img.marker_mul.COM);
img.marker_mul.COM = tmp;
}
img.marker_mul.COM[img.marker_mul.num_COM].type = J2K_MS_COM;
img.marker_mul.COM[img.marker_mul.num_COM].start_pos = cio_tell()-2;
img.marker_mul.COM[img.marker_mul.num_COM].len = len;
img.marker_mul.num_COM++;
} else
{
tile = &img.tile[j2k_curtileno];
if (!tile->marker_mul.num_COM)
tile->marker_mul.COM = (info_marker_t*)calloc(START_NB, sizeof(info_marker_t));
if (tile->marker_mul.num_COM >= tile->marker_mul.CzCOM)
{
tmp = (info_marker_t*)malloc(2 * tile->marker_mul.CzCOM * sizeof(info_marker_t));
memcpy(tmp,tile->marker_mul.COM,tile->marker_mul.CzCOM);
tile->marker_mul.CzCOM *= 2;
free(tile->marker_mul.COM);
tile->marker_mul.COM = tmp;
}
tile->marker_mul.COM[tile->marker_mul.num_COM].type = J2K_MS_COM;
tile->marker_mul.COM[tile->marker_mul.num_COM].start_pos = cio_tell()-2;
tile->marker_mul.COM[tile->marker_mul.num_COM].len = len;
tile->marker_mul.num_COM++;
}
/* </INDEX> [MHIX BOX] */
cio_skip(len - 2);
}
开发者ID:AlfiyaZi,项目名称:GDCM,代码行数:47,代码来源:index_create.c
示例3: write_fidx
static int write_fidx( int offset_jp2c, int length_jp2c, int offset_idx, int length_idx, opj_cio_t *cio)
{
int len, lenp;
lenp = cio_tell( cio);
cio_skip( cio, 4); /* L [at the end] */
cio_write( cio, JPIP_FIDX, 4); /* IPTR */
write_prxy( offset_jp2c, length_jp2c, offset_idx, length_idx, cio);
len = cio_tell( cio)-lenp;
cio_seek( cio, lenp);
cio_write( cio, len, 4); /* L */
cio_seek( cio, lenp+len);
return len;
}
开发者ID:151706061,项目名称:fo-dicom,代码行数:17,代码来源:jp2.c
示例4: jp2_write_bpcc
static void jp2_write_bpcc(opj_jp2_t *jp2, opj_cio_t *cio) {
unsigned int i;
opj_jp2_box_t box;
box.init_pos = cio_tell(cio);
cio_skip(cio, 4);
cio_write(cio, JP2_BPCC, 4); /* BPCC */
for (i = 0; i < jp2->numcomps; i++) {
cio_write(cio, jp2->comps[i].bpcc, 1);
}
box.length = cio_tell(cio) - box.init_pos;
cio_seek(cio, box.init_pos);
cio_write(cio, box.length, 4); /* L */
cio_seek(cio, box.init_pos + box.length);
}
开发者ID:ArphonePei,项目名称:PDFConverter,代码行数:17,代码来源:jp2.c
示例5: jp2_write_bpcc
void jp2_write_bpcc(jp2_struct_t * jp2_struct)
{
unsigned int i;
jp2_box_t box;
box.init_pos = cio_tell();
cio_skip(4);
cio_write(JP2_BPCC, 4); // BPCC
for (i = 0; i < jp2_struct->numcomps; i++)
cio_write(jp2_struct->comps[i].bpcc, 1);
box.length = cio_tell() - box.init_pos;
cio_seek(box.init_pos);
cio_write(box.length, 4); /* L */
cio_seek(box.init_pos + box.length);
}
开发者ID:151706061,项目名称:Gdcm,代码行数:17,代码来源:jp2.c
示例6: j2k_write_coc
void j2k_write_coc(int compno)
{
j2k_tcp_t *tcp;
int lenp, len;
cio_write(J2K_MS_COC, 2); /* COC */
lenp = cio_tell();
cio_skip(2);
tcp = &j2k_cp->tcps[j2k_curtileno];
cio_write(compno, j2k_img->numcomps <= 256 ? 1 : 2); /* Ccoc */
cio_write(tcp->tccps[compno].csty, 1); /* Scoc */
j2k_write_cox(compno);
len = cio_tell() - lenp;
cio_seek(lenp);
cio_write(len, 2); /* Lcoc */
cio_seek(lenp + len);
}
开发者ID:NanaYngvarrdottir,项目名称:Aurora-Libs,代码行数:17,代码来源:j2k.c
示例7: opj_jp2_encode
opj_bool opj_jp2_encode(opj_jp2_t *jp2, opj_cio_t *cio, opj_image_t *image, opj_codestream_info_t *cstr_info) {
int pos_iptr, pos_cidx, pos_jp2c, len_jp2c, len_cidx, end_pos, pos_fidx, len_fidx;
pos_jp2c = pos_iptr = -1; /* remove a warning */
/* JP2 encoding */
/* JPEG 2000 Signature box */
jp2_write_jp(cio);
/* File Type box */
jp2_write_ftyp(jp2, cio);
/* JP2 Header box */
jp2_write_jp2h(jp2, cio);
if( jp2->jpip_on){
pos_iptr = cio_tell( cio);
cio_skip( cio, 24); /* IPTR further ! */
pos_jp2c = cio_tell( cio);
}
/* J2K encoding */
if(!(len_jp2c = jp2_write_jp2c( jp2, cio, image, cstr_info))){
opj_event_msg(jp2->cinfo, EVT_ERROR, "Failed to encode image\n");
return OPJ_FALSE;
}
if( jp2->jpip_on){
pos_cidx = cio_tell( cio);
len_cidx = write_cidx( pos_jp2c+8, cio, image, *cstr_info, len_jp2c-8);
pos_fidx = cio_tell( cio);
len_fidx = write_fidx( pos_jp2c, len_jp2c, pos_cidx, len_cidx, cio);
end_pos = cio_tell( cio);
cio_seek( cio, pos_iptr);
write_iptr( pos_fidx, len_fidx, cio);
cio_seek( cio, end_pos);
}
return OPJ_TRUE;
}
开发者ID:151706061,项目名称:fo-dicom,代码行数:45,代码来源:jp2.c
示例8: jp2_write_jp2c
int jp2_write_jp2c(j2k_image_t * img, j2k_cp_t * cp, char *jp2_buffer,
char *index)
{
int len;
jp2_box_t box;
box.init_pos = cio_tell();
cio_skip(4);
cio_write(JP2_JP2C, 4); // JP2C
len = j2k_encode(img, cp, jp2_buffer, cp->tdx * cp->tdy * cp->th * cp->tw * 2, index);
box.length = cio_tell() - box.init_pos;
cio_seek(box.init_pos);
cio_write(box.length, 4); /* L */
cio_seek(box.init_pos + box.length);
return box.length;
}
开发者ID:151706061,项目名称:Gdcm,代码行数:18,代码来源:jp2.c
示例9: jp2_read_jp2c
static bool jp2_read_jp2c(opj_jp2_t *jp2, opj_cio_t *cio, unsigned int *j2k_codestream_length, unsigned int *j2k_codestream_offset) {
opj_jp2_box_t box;
opj_common_ptr cinfo = jp2->cinfo;
jp2_read_boxhdr(cinfo, cio, &box);
do {
if(JP2_JP2C != box.type) {
cio_skip(cio, box.length - 8);
jp2_read_boxhdr(cinfo, cio, &box);
}
} while(JP2_JP2C != box.type);
*j2k_codestream_offset = cio_tell(cio);
*j2k_codestream_length = box.length - 8;
return true;
}
开发者ID:kevinpig,项目名称:MyRepository,代码行数:18,代码来源:jp2.c
示例10: jp2_write_resc
static void jp2_write_resc(opj_jp2_t *jp2, opj_cio_t *cio) {
opj_jp2_box_t box;
box.init_pos = cio_tell(cio);
cio_skip(cio, 4);
cio_write(cio, JP2_RESC, 4); /* RES */
cio_write(cio, 0x99CA, 2);
cio_write(cio, 0x0001, 2);
cio_write(cio, 0x99CA, 2);
cio_write(cio, 0x0001, 2);
cio_write(cio, 0x00, 1);
cio_write(cio, 0x00, 1);
box.length = cio_tell(cio) - box.init_pos;
cio_seek(cio, box.init_pos);
cio_write(cio, box.length, 4); /* L */
cio_seek(cio, box.init_pos + box.length);
}
开发者ID:Hao-HUST,项目名称:NBIS,代码行数:19,代码来源:jp2.c
示例11: jp2_write_jp2h
/*
* Write the JP2H box
*
* JP2 Header box
*
*/
void jp2_write_jp2h(jp2_struct_t * jp2_struct)
{
jp2_box_t box;
box.init_pos = cio_tell();
cio_skip(4);;
cio_write(JP2_JP2H, 4); /* JP2H */
jp2_write_ihdr(jp2_struct);
if (jp2_struct->bpc == 255)
jp2_write_bpcc(jp2_struct);
jp2_write_colr(jp2_struct);
box.length = cio_tell() - box.init_pos;
cio_seek(box.init_pos);
cio_write(box.length, 4); /* L */
cio_seek(box.init_pos + box.length);
}
开发者ID:151706061,项目名称:Gdcm,代码行数:25,代码来源:jp2.c
示例12: jp2_write_jp2h
void jp2_write_jp2h(opj_jp2_t *jp2, opj_cio_t *cio) {
opj_jp2_box_t box;
box.init_pos = cio_tell(cio);
cio_skip(cio, 4);
cio_write(cio, JP2_JP2H, 4); /* JP2H */
jp2_write_ihdr(jp2, cio);
if (jp2->bpc == 255) {
jp2_write_bpcc(jp2, cio);
}
jp2_write_colr(jp2, cio);
box.length = cio_tell(cio) - box.init_pos;
cio_seek(cio, box.init_pos);
cio_write(cio, box.length, 4); /* L */
cio_seek(cio, box.init_pos + box.length);
}
开发者ID:ArphonePei,项目名称:PDFConverter,代码行数:19,代码来源:jp2.c
示例13: write_manf
void write_manf(int second, int v, opj_jp2_box_t *box, opj_cio_t *cio)
{
int len, lenp, i;
lenp = cio_tell( cio);
cio_skip( cio, 4); /* L [at the end] */
cio_write( cio, JPIP_MANF,4); /* T */
if (second){ /* Write only during the second pass */
for( i=0; i<v; i++){
cio_write( cio, box[i].length, 4); /* Box length */
cio_write( cio, box[i].type, 4); /* Box type */
}
}
len = cio_tell( cio) - lenp;
cio_seek( cio, lenp);
cio_write( cio, len, 4); /* L */
cio_seek( cio, lenp+len);
}
开发者ID:respu,项目名称:xsilium-engine,代码行数:20,代码来源:cidx_manager.c
示例14: jp2_write_ftyp
static void jp2_write_ftyp(opj_jp2_t *jp2, opj_cio_t *cio) {
unsigned int i;
opj_jp2_box_t box;
box.init_pos = cio_tell(cio);
cio_skip(cio, 4);
cio_write(cio, JP2_FTYP, 4); /* FTYP */
cio_write(cio, jp2->brand, 4); /* BR */
cio_write(cio, jp2->minversion, 4); /* MinV */
for (i = 0; i < jp2->numcl; i++) {
cio_write(cio, jp2->cl[i], 4); /* CL */
}
box.length = cio_tell(cio) - box.init_pos;
cio_seek(cio, box.init_pos);
cio_write(cio, box.length, 4); /* L */
cio_seek(cio, box.init_pos + box.length);
}
开发者ID:ArphonePei,项目名称:PDFConverter,代码行数:20,代码来源:jp2.c
示例15: j2k_write_com
void j2k_write_com()
{
unsigned int i;
int lenp, len;
char str[256];
sprintf(str, "%s", j2k_cp->comment);
cio_write(J2K_MS_COM, 2);
lenp = cio_tell();
cio_skip(2);
cio_write(0, 2);
for (i = 0; i < strlen(str); i++) {
cio_write(str[i], 1);
}
len = cio_tell() - lenp;
cio_seek(lenp);
cio_write(len, 2);
cio_seek(lenp + len);
}
开发者ID:NanaYngvarrdottir,项目名称:Aurora-Libs,代码行数:20,代码来源:j2k.c
示例16: jp2_write_ftyp
/*
* Write the FTYP box
*
* File type box
*
*/
void jp2_write_ftyp(jp2_struct_t * jp2_struct)
{
unsigned int i;
jp2_box_t box;
box.init_pos = cio_tell();
cio_skip(4);
cio_write(JP2_FTYP, 4); /* FTYP */
cio_write(jp2_struct->brand, 4); /* BR */
cio_write(jp2_struct->minversion, 4); /* MinV */
for (i = 0; i < jp2_struct->numcl; i++)
cio_write(jp2_struct->cl[i], 4); /* CL */
box.length = cio_tell() - box.init_pos;
cio_seek(box.init_pos);
cio_write(box.length, 4); /* L */
cio_seek(box.init_pos + box.length);
}
开发者ID:151706061,项目名称:Gdcm,代码行数:26,代码来源:jp2.c
示例17: jp2_write_url
static void jp2_write_url(opj_cio_t *cio, char *Idx_file) {
unsigned int i;
opj_jp2_box_t box;
box.init_pos = cio_tell(cio);
cio_skip(cio, 4);
cio_write(cio, JP2_URL, 4); /* DBTL */
cio_write(cio, 0, 1); /* VERS */
cio_write(cio, 0, 3); /* FLAG */
if(Idx_file) {
for (i = 0; i < strlen(Idx_file); i++) {
cio_write(cio, Idx_file[i], 1);
}
}
box.length = cio_tell(cio) - box.init_pos;
cio_seek(cio, box.init_pos);
cio_write(cio, box.length, 4); /* L */
cio_seek(cio, box.init_pos + box.length);
}
开发者ID:ArphonePei,项目名称:PDFConverter,代码行数:21,代码来源:jp2.c
示例18: jp2_read_jp2c
static opj_bool jp2_read_jp2c(opj_jp2_t *jp2, opj_cio_t *cio, unsigned int *j2k_codestream_length, unsigned int *j2k_codestream_offset) {
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;
}
do {
if(JP2_JP2C != box.type) {
cio_skip(cio, box.length - 8);
if( jp2_read_boxhdr(cinfo, cio, &box) == OPJ_FALSE ) return OPJ_FALSE;
}
} while(JP2_JP2C != box.type);
*j2k_codestream_offset = cio_tell(cio);
*j2k_codestream_length = box.length - 8;
return OPJ_TRUE;
}
开发者ID:Bewolf2,项目名称:LearningGameAI,代码行数:21,代码来源:jp2.c
示例19: jp2_write_colr
static void jp2_write_colr(opj_jp2_t *jp2, opj_cio_t *cio) {
opj_jp2_box_t box;
box.init_pos = cio_tell(cio);
cio_skip(cio, 4);
cio_write(cio, JP2_COLR, 4); /* COLR */
cio_write(cio, jp2->meth, 1); /* METH */
cio_write(cio, jp2->precedence, 1); /* PRECEDENCE */
cio_write(cio, jp2->approx, 1); /* APPROX */
if(jp2->meth == 2)
jp2->enumcs = 0;
cio_write(cio, jp2->enumcs, 4); /* EnumCS */
box.length = cio_tell(cio) - box.init_pos;
cio_seek(cio, box.init_pos);
cio_write(cio, box.length, 4); /* L */
cio_seek(cio, box.init_pos + box.length);
}
开发者ID:ArphonePei,项目名称:PDFConverter,代码行数:21,代码来源:jp2.c
示例20: jp2_write_ihdr
static void jp2_write_ihdr(opj_jp2_t *jp2, opj_cio_t *cio) {
opj_jp2_box_t box;
box.init_pos = cio_tell(cio);
cio_skip(cio, 4);
cio_write(cio, JP2_IHDR, 4); /* IHDR */
cio_write(cio, jp2->h, 4); /* HEIGHT */
cio_write(cio, jp2->w, 4); /* WIDTH */
cio_write(cio, jp2->numcomps, 2); /* NC */
cio_write(cio, jp2->bpc, 1); /* BPC */
cio_write(cio, jp2->C, 1); /* C : Always 7 */
cio_write(cio, jp2->UnkC, 1); /* UnkC, colorspace unknown */
cio_write(cio, jp2->IPR, 1); /* IPR, no intellectual property */
box.length = cio_tell(cio) - box.init_pos;
cio_seek(cio, box.init_pos);
cio_write(cio, box.length, 4); /* L */
cio_seek(cio, box.init_pos + box.length);
}
开发者ID:ArphonePei,项目名称:PDFConverter,代码行数:22,代码来源:jp2.c
注:本文中的cio_skip函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论