OpenJPEG  1.5.1
cio.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
3  * Copyright (c) 2002-2007, Professor Benoit Macq
4  * Copyright (c) 2001-2003, David Janssens
5  * Copyright (c) 2002-2003, Yannick Verschueren
6  * Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe
7  * Copyright (c) 2005, Herve Drolon, FreeImage Team
8  * All rights reserved.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in the
17  * documentation and/or other materials provided with the distribution.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  * POSSIBILITY OF SUCH DAMAGE.
30  */
31 
32 #ifndef __CIO_H
33 #define __CIO_H
34 
35 #if defined(_MSC_VER) || defined(__BORLANDC__)
36 #define int64 __int64
37 #else
38 #define int64 long long
39 #endif
40 
50 
53 /* ----------------------------------------------------------------------- */
59 int cio_numbytesleft(opj_cio_t *cio);
65 unsigned char *cio_getbp(opj_cio_t *cio);
73 unsigned int cio_write(opj_cio_t *cio, unsigned int64 v, int n);
80 unsigned int cio_read(opj_cio_t *cio, int n);
86 void cio_skip(opj_cio_t *cio, int n);
87 /* ----------------------------------------------------------------------- */
91 
92 #endif /* __CIO_H */
93 
opj_free
#define opj_free(m)
Deallocates or frees a memory block.
Definition: opj_malloc.h:152
cio_numbytesleft
int cio_numbytesleft(opj_cio_t *cio)
Number of bytes left before the end of the stream.
Definition: cio.c:121
opj_malloc
#define opj_malloc(size)
Allocate an uninitialized memory block.
Definition: opj_malloc.h:51
cio_getbp
unsigned char * cio_getbp(opj_cio_t *cio)
Get pointer to the current position in the stream.
Definition: cio.c:129
opj_j2k
JPEG-2000 codestream reader/writer.
Definition: j2k.h:314
opj_jp2
JPEG-2000 file format reader/writer.
Definition: jp2.h:120
opj_cio::length
int length
buffer size in bytes
Definition: openjpeg.h:484
opj_cio_open
opj_cio_t *OPJ_CALLCONV opj_cio_open(opj_common_ptr cinfo, unsigned char *buffer, int length)
Open and allocate a memory stream for read / write.
Definition: cio.c:37
opj_cio_close
void OPJ_CALLCONV opj_cio_close(opj_cio_t *cio)
Close and free a CIO handle.
Definition: cio.c:83
CODEC_JP2
@ CODEC_JP2
JPEG-2000 file format : read/write.
Definition: openjpeg.h:149
int64
#define int64
Definition: cio.h:38
opj_cp
Coding parameters.
Definition: j2k.h:204
OPJ_STREAM_READ
#define OPJ_STREAM_READ
The stream was opened for reading.
Definition: openjpeg.h:468
cio_read
unsigned int cio_read(opj_cio_t *cio, int n)
Read some bytes.
Definition: cio.c:183
cio_write
unsigned int cio_write(opj_cio_t *cio, unsigned int64 v, int n)
Write some bytes.
Definition: cio.c:167
opj_cio::openmode
int openmode
open mode (read/write) either OPJ_STREAM_READ or OPJ_STREAM_WRITE
Definition: openjpeg.h:480
cio_bytein
unsigned char cio_bytein(opj_cio_t *cio)
Definition: cio.c:148
opj_includes.h
opj_cio
Byte input-output stream (CIO)
Definition: openjpeg.h:475
cio_numbytesleft
int cio_numbytesleft(opj_cio_t *cio)
Number of bytes left before the end of the stream.
Definition: cio.c:121
opj_cio::end
unsigned char * end
pointer to the end of the stream
Definition: openjpeg.h:489
cio_write
unsigned int cio_write(opj_cio_t *cio, unsigned int64 v, int n)
Write some bytes.
Definition: cio.c:167
cio_tell
int OPJ_CALLCONV cio_tell(opj_cio_t *cio)
Get position in byte stream.
Definition: cio.c:100
OPJ_TRUE
#define OPJ_TRUE
Definition: openjpeg.h:64
opj_event_msg
opj_bool opj_event_msg(opj_common_ptr cinfo, int event_type, const char *fmt,...)
Write formatted data to a string and send the string to a user callback.
Definition: event.c:76
cio_skip
void cio_skip(opj_cio_t *cio, int n)
Skip some bytes.
Definition: cio.c:198
opj_common_struct
Definition: openjpeg.h:430
opj_cio::bp
unsigned char * bp
pointer to the current position
Definition: openjpeg.h:491
opj_cio::start
unsigned char * start
pointer to the start of the stream
Definition: openjpeg.h:487
opj_bool
int opj_bool
Definition: openjpeg.h:63
OPJ_STREAM_WRITE
#define OPJ_STREAM_WRITE
The stream was opened for writing.
Definition: openjpeg.h:470
opj_cio::cinfo
opj_common_ptr cinfo
codec context
Definition: openjpeg.h:477
cio_read
unsigned int cio_read(opj_cio_t *cio, int n)
Read some bytes.
Definition: cio.c:183
cio_seek
void OPJ_CALLCONV cio_seek(opj_cio_t *cio, int pos)
Set position in byte stream.
Definition: cio.c:109
opj_cp::img_size
int img_size
Size of the image in bits.
Definition: j2k.h:210
EVT_ERROR
#define EVT_ERROR
Error event type.
Definition: event.h:35
cio_byteout
opj_bool cio_byteout(opj_cio_t *cio, unsigned char v)
Definition: cio.c:136
cio_getbp
unsigned char * cio_getbp(opj_cio_t *cio)
Get pointer to the current position in the stream.
Definition: cio.c:129
cio_skip
void cio_skip(opj_cio_t *cio, int n)
Skip some bytes.
Definition: cio.c:198
OPJ_FALSE
#define OPJ_FALSE
Definition: openjpeg.h:65
OPJ_CALLCONV
#define OPJ_CALLCONV
Definition: openjpeg.h:45
CODEC_J2K
@ CODEC_J2K
JPEG-2000 codestream : read/write.
Definition: openjpeg.h:147
opj_cio::buffer
unsigned char * buffer
pointer to the start of the buffer
Definition: openjpeg.h:482