58 #define INLINE __forceinline
59 #elif defined(__GNUC__)
60 #define INLINE __inline__
61 #elif defined(__MWERKS__)
71 #define OPJ_DEPRECATED(func) func __attribute__ ((deprecated))
72 #elif defined(_MSC_VER)
73 #define OPJ_DEPRECATED(func) __declspec(deprecated) func
75 #pragma message("WARNING: You need to implement DEPRECATED for this compiler")
76 #define OPJ_DEPRECATED(func) func
79 #if defined(OPJ_STATIC) || !defined(_WIN32)
82 #define OPJ_API __attribute__ ((visibility ("default")))
83 #define OPJ_LOCAL __attribute__ ((visibility ("hidden")))
90 #define OPJ_CALLCONV __stdcall
99 #if defined(OPJ_EXPORTS) || defined(DLL_EXPORT)
100 #define OPJ_API __declspec(dllexport)
102 #define OPJ_API __declspec(dllimport)
132 #define OPJ_ARG_NOT_USED(x) (void)(x)
140 #define OPJ_PATH_LEN 4096
142 #define OPJ_J2K_MAXRLVLS 33
143 #define OPJ_J2K_MAXBANDS (3*OPJ_J2K_MAXRLVLS-2)
145 #define OPJ_J2K_DEFAULT_NB_SEGS 10
146 #define OPJ_J2K_STREAM_CHUNK_SIZE 0x100000
147 #define OPJ_J2K_DEFAULT_HEADER_SIZE 1000
148 #define OPJ_J2K_MCC_DEFAULT_NB_RECORDS 10
149 #define OPJ_J2K_MCT_DEFAULT_NB_RECORDS 10
152 #define JPWL_MAX_NO_TILESPECS 16
153 #define JPWL_MAX_NO_PACKSPECS 16
154 #define JPWL_MAX_NO_MARKERS 512
155 #define JPWL_PRIVATEINDEX_NAME "jpwl_index_privatefilename"
156 #define JPWL_EXPECTED_COMPONENTS 3
157 #define JPWL_MAXIMUM_TILES 8192
158 #define JPWL_MAXIMUM_HAMMING 2
159 #define JPWL_MAXIMUM_EPB_ROOM 65450
166 #define OPJ_IMG_INFO 1
167 #define OPJ_J2K_MH_INFO 2
168 #define OPJ_J2K_TH_INFO 4
169 #define OPJ_J2K_TCH_INFO 8
170 #define OPJ_J2K_MH_IND 16
171 #define OPJ_J2K_TH_IND 32
173 #define OPJ_JP2_INFO 128
174 #define OPJ_JP2_IND 256
190 #define OPJ_PROFILE_NONE 0x0000
191 #define OPJ_PROFILE_0 0x0001
192 #define OPJ_PROFILE_1 0x0002
193 #define OPJ_PROFILE_PART2 0x8000
194 #define OPJ_PROFILE_CINEMA_2K 0x0003
195 #define OPJ_PROFILE_CINEMA_4K 0x0004
196 #define OPJ_PROFILE_CINEMA_S2K 0x0005
197 #define OPJ_PROFILE_CINEMA_S4K 0x0006
198 #define OPJ_PROFILE_CINEMA_LTS 0x0007
199 #define OPJ_PROFILE_BC_SINGLE 0x0100
200 #define OPJ_PROFILE_BC_MULTI 0x0200
201 #define OPJ_PROFILE_BC_MULTI_R 0x0300
202 #define OPJ_PROFILE_IMF_2K 0x0400
203 #define OPJ_PROFILE_IMF_4K 0x0401
204 #define OPJ_PROFILE_IMF_8K 0x0402
205 #define OPJ_PROFILE_IMF_2K_R 0x0403
206 #define OPJ_PROFILE_IMF_4K_R 0x0800
207 #define OPJ_PROFILE_IMF_8K_R 0x0801
212 #define OPJ_EXTENSION_NONE 0x0000
213 #define OPJ_EXTENSION_MCT 0x0100
218 #define OPJ_IS_CINEMA(v) (((v) >= OPJ_PROFILE_CINEMA_2K)&&((v) <= OPJ_PROFILE_CINEMA_S4K))
219 #define OPJ_IS_STORAGE(v) ((v) == OPJ_PROFILE_CINEMA_LTS)
220 #define OPJ_IS_BROADCAST(v) (((v) >= OPJ_PROFILE_BC_SINGLE)&&((v) <= ((OPJ_PROFILE_BC_MULTI_R) | (0x000b))))
221 #define OPJ_IS_IMF(v) (((v) >= OPJ_PROFILE_IMF_2K)&&((v) <= ((OPJ_PROFILE_IMF_8K_R) | (0x009b))))
222 #define OPJ_IS_PART2(v) ((v) & OPJ_PROFILE_PART2)
227 #define OPJ_CINEMA_24_CS 1302083
228 #define OPJ_CINEMA_48_CS 651041
229 #define OPJ_CINEMA_24_COMP 1041666
230 #define OPJ_CINEMA_48_COMP 520833
499 #define OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG 0x0001
582 #define OPJ_STREAM_READ OPJ_TRUE
584 #define OPJ_STREAM_WRITE OPJ_FALSE
1193 void * p_user_data);
1202 void * p_user_data);
1211 void * p_user_data);
1486 FILE* output_stream);
OPJ_UINT32 dy
YRsiz: vertical separation of a sample of ith component with respect to the reference grid...
Definition: openjpeg.h:686
int jpwl_hprot_MH
error protection method for MH (0,1,16,32,37-128)
Definition: openjpeg.h:435
OPJ_UINT32 current_nb_tps
current nb of tile part (allocated)
Definition: openjpeg.h:961
int jpwl_pprot_packno[JPWL_MAX_NO_PACKSPECS]
packet number of packet protection specification (>=0)
Definition: openjpeg.h:443
int * cp_matrice
fixed layer
Definition: openjpeg.h:367
Not Digital Cinema.
Definition: openjpeg.h:255
int cblockh_init
initial code block height, default to 64
Definition: openjpeg.h:389
OPJ_UINT32 tdy
tile size in y = YTsiz
Definition: openjpeg.h:920
int max_comp_size
Maximum size (in bytes) for each component.
Definition: openjpeg.h:470
struct opj_tile_index opj_tile_index_t
Index structure about a tile.
OPJ_UINT32 resno0
Resolution num start, Component num start, given by POC.
Definition: openjpeg.h:323
int64_t OPJ_OFF_T
Definition: openjpeg.h:126
int decod_format
input file format 0: PGX, 1: PxM, 2: BMP 3:TIF
Definition: openjpeg.h:424
#define JPWL_MAX_NO_TILESPECS
Maximum number of tile parts expected by JPWL: increase at your will.
Definition: openjpeg.h:152
#define OPJ_J2K_MAXRLVLS
Number of maximum resolution level authorized.
Definition: openjpeg.h:142
int res_spec
Definition: openjpeg.h:399
double OPJ_FLOAT64
Definition: openjpeg.h:112
OPJ_UINT16 rsiz
RSIZ value To be used to combine OPJ_PROFILE_*, OPJ_EXTENSION_* and (sub)levels values.
Definition: openjpeg.h:496
not specified in the codestream
Definition: openjpeg.h:277
OPJ_UINT32 layno0
Layer num start,Precinct num start, Precinct num end.
Definition: openjpeg.h:327
OPJ_OFF_T end_header
end position of the header
Definition: openjpeg.h:945
opj_marker_info_t * marker
list of markers
Definition: openjpeg.h:834
OPJ_UINT32 x1
Xsiz: width of the reference grid.
Definition: openjpeg.h:663
opj_packet_info_t * packet
information concerning packets inside tile
Definition: openjpeg.h:779
OPJ_BOOL jpwl_correct
activates the JPWL correction capabilities
Definition: openjpeg.h:554
OPJ_API opj_stream_t *OPJ_CALLCONV opj_stream_create(OPJ_SIZE_T p_buffer_size, OPJ_BOOL p_is_input)
Creates an abstract stream.
Definition: cio.c:151
int cp_fixed_quality
add fixed_quality
Definition: openjpeg.h:365
OPJ_UINT32 tw
number of tiles in X
Definition: openjpeg.h:922
OPJ_UINT32 prec
precision
Definition: openjpeg.h:696
float tcp_rates[100]
rates of layers - might be subsequently limited by the max_cs_size field
Definition: openjpeg.h:381
2K Digital Cinema at 48 fps
Definition: openjpeg.h:257
OPJ_UINT32 cblkh
code-blocks height
Definition: openjpeg.h:865
OPJ_UINT32 tile
Tile number.
Definition: openjpeg.h:333
OPJ_UINT32 dy
YRsiz: vertical separation of a sample of ith component with respect to the reference grid...
Definition: openjpeg.h:629
layer-resolution-component-precinct order
Definition: openjpeg.h:265
OPJ_INT32 * data
image component data
Definition: openjpeg.h:649
int tcp_numlayers
number of layers
Definition: openjpeg.h:379
double disto
packet distorsion
Definition: openjpeg.h:722
OPJ_BOOL jpwl_epc_on
enables writing of EPC in MH, thus activating JPWL
Definition: openjpeg.h:433
OPJ_UINT32 tdx
tile size in x = XTsiz
Definition: openjpeg.h:918
Index structure : information regarding tiles.
Definition: openjpeg.h:759
YUV.
Definition: openjpeg.h:280
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_start_compress(opj_codec_t *p_codec, opj_image_t *p_image, opj_stream_t *p_stream)
Start to compress the current image.
Definition: openjpeg.c:716
OPJ_UINT32 compno
component index
Definition: openjpeg.h:857
Profile name for a 2K image.
Definition: openjpeg.h:245
Progression order changes.
Definition: openjpeg.h:321
int tile_Ox
Definition: openjpeg.h:817
int packno
packet number
Definition: openjpeg.h:803
int jpwl_hprot_TPH[JPWL_MAX_NO_TILESPECS]
error protection methods for TPHs (0,1,16,32,37-128)
Definition: openjpeg.h:439
OPJ_UINT32 nb_tile_to_decode
Nb of tile to decode.
Definition: openjpeg.h:546
struct opj_codestream_info opj_codestream_info_t
Index structure of the codestream.
struct opj_dparameters opj_dparameters_t
Decompression parameters.
opj_marker_info_t * marker
list of markers
Definition: openjpeg.h:787
int OPJ_BOOL
Definition: openjpeg.h:106
OPJ_UINT32 cp_layer
Set the maximum number of quality layers to decode.
Definition: openjpeg.h:519
int start_pos
start position
Definition: openjpeg.h:765
JP2 file format : read/write.
Definition: openjpeg.h:292
OPJ_BOOL jpip_on
Enable JPIP indexing.
Definition: openjpeg.h:483
int cod_format
output file format 0: J2K, 1: JP2, 2: JPT
Definition: openjpeg.h:426
JPEG-2000 codestream : read/write.
Definition: openjpeg.h:290
char index[OPJ_PATH_LEN]
DEPRECATED.
Definition: openjpeg.h:414
enum CODEC_FORMAT OPJ_CODEC_FORMAT
Supported codec.
OPJ_UINT32 numresolutions
number of resolutions
Definition: openjpeg.h:861
OPJ_UINT32 nb_packet
packet number
Definition: openjpeg.h:977
OPJ_API void OPJ_CALLCONV opj_destroy_cstr_info(opj_codestream_info_v2_t **cstr_info)
Destroy Codestream information after compression or decompression.
Definition: openjpeg.c:889
int jpwl_pprot_tileno[JPWL_MAX_NO_PACKSPECS]
tile number of packet protection specification (>=0)
Definition: openjpeg.h:441
resolution-layer-component-precinct order
Definition: openjpeg.h:266
OPJ_API opj_jp2_index_t *OPJ_CALLCONV opj_get_jp2_index(opj_codec_t *p_codec)
Get the JP2 file index from the codec FIXME.
int end_pos
end position
Definition: openjpeg.h:769
enum COLOR_SPACE OPJ_COLOR_SPACE
Supported image color spaces.
double distotile
add fixed_quality
Definition: openjpeg.h:783
grayscale
Definition: openjpeg.h:279
OPJ_API opj_image_t *OPJ_CALLCONV opj_image_tile_create(OPJ_UINT32 numcmpts, opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc)
Creates an image without allocating memory for the image (used in the new version of the library)...
Definition: image.c:204
unsigned char OPJ_BYTE
Definition: openjpeg.h:113
OPJ_UINT32 compE
Definition: openjpeg.h:339
OPJ_OFF_T main_head_start
main header start position (SOC position)
Definition: openjpeg.h:988
Index structure : Information concerning tile-parts.
Definition: openjpeg.h:743
OPJ_UINT32 numcomps
number of components in the image
Definition: openjpeg.h:667
OPJ_UINT32 comp_t
Definition: openjpeg.h:343
OPJ_UINT32 lay_t
Temporary values for Tile parts, initialised in pi_create_encode.
Definition: openjpeg.h:343
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_write_tile(opj_codec_t *p_codec, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_t *p_stream)
Writes a tile with the given data.
Definition: openjpeg.c:817
int cp_tdx
XTsiz.
Definition: openjpeg.h:357
struct opj_image opj_image_t
Defines image data and characteristics.
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decode_area(opj_codec_t *p_codec, opj_image_t *p_image, OPJ_INT32 p_start_x, OPJ_INT32 p_start_y, OPJ_INT32 p_end_x, OPJ_INT32 p_end_y)
Sets the given area to be decoded.
Definition: openjpeg.c:422
uint16_t OPJ_UINT16
Definition: openjpeg.h:120
OPJ_UINT32 y0
y component offset compared to the whole image
Definition: openjpeg.h:694
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_encoder(opj_codec_t *p_codec, opj_cparameters_t *parameters, opj_image_t *image)
Setup the encoder parameters using the current image and using user parameters.
Definition: openjpeg.c:697
OPJ_API void OPJ_CALLCONV opj_image_destroy(opj_image_t *image)
Deallocate any resources associated with an image.
Definition: image.c:78
char infile[OPJ_PATH_LEN]
input file name
Definition: openjpeg.h:408
int index_on
DEPRECATED.
Definition: openjpeg.h:412
int32_t OPJ_INT32
Definition: openjpeg.h:121
Information structure about the codestream (FIXME should be expand and enhance)
Definition: openjpeg.h:911
void * opj_codec_t
JPEG2000 codec V2.
Definition: openjpeg.h:570
char * cp_comment
comment for coding
Definition: openjpeg.h:369
OPJ_UINT32 layE
End value, initialised in pi_initialise_encode.
Definition: openjpeg.h:339
OPJ_UINT32 numgbits
number of guard bits
Definition: openjpeg.h:877
OPJ_INT32 tx0
Start and end values for Tile width and height.
Definition: openjpeg.h:335
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decode(opj_codec_t *p_decompressor, opj_stream_t *p_stream, opj_image_t *p_image)
Decode an image from a JPEG-2000 codestream.
Definition: openjpeg.c:401
int main_head_end
main header position
Definition: openjpeg.h:841
OPJ_UINT32 qmfbid
discrete wavelet transform identifier
Definition: openjpeg.h:869
OPJ_UINT32 tyE
Definition: openjpeg.h:341
OPJ_API void OPJ_CALLCONV opj_stream_set_write_function(opj_stream_t *p_stream, opj_stream_write_fn p_function)
Sets the given function to be used as a write function.
Definition: cio.c:228
int * numdecompos
number of decomposition for each component
Definition: openjpeg.h:829
OPJ_UINT32 dx
Definition: openjpeg.h:341
OPJ_UINT32 DA_y1
Decoding area bottom boundary.
Definition: openjpeg.h:539
OPJ_UINT32 y1
Ysiz: height of the reference grid.
Definition: openjpeg.h:665
OPJ_UINT32 tyS
Definition: openjpeg.h:341
OPJ_API opj_codec_t *OPJ_CALLCONV opj_create_decompress(OPJ_CODEC_FORMAT format)
Creates a J2K/JP2 decompression structure.
Definition: openjpeg.c:164
struct opj_poc opj_poc_t
Progression order changes.
size_t OPJ_SIZE_T
Definition: openjpeg.h:129
OPJ_API opj_stream_t *OPJ_CALLCONV opj_stream_default_create(OPJ_BOOL p_is_input)
Creates an abstract stream.
Definition: cio.c:188
OPJ_COLOR_SPACE color_space
color space: sRGB, Greyscale or YUV
Definition: openjpeg.h:669
int th
number of tiles in Y
Definition: openjpeg.h:823
struct opj_cparameters opj_cparameters_t
Compression parameters.
OPJ_UINT32 maxmarknum
actual size of markers array
Definition: openjpeg.h:1001
Marker structure.
Definition: openjpeg.h:730
Standard JPEG2000 profile.
Definition: openjpeg.h:244
struct opj_codestream_index opj_codestream_index_t
Index structure of the codestream (FIXME should be expand and enhance)
uint64_t OPJ_UINT64
Definition: openjpeg.h:124
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_MCT(opj_cparameters_t *parameters, OPJ_FLOAT32 *pEncodingMatrix, OPJ_INT32 *p_dc_shift, OPJ_UINT32 pNbComp)
Sets the MCT matrix to use.
Definition: openjpeg.c:788
int subsampling_dy
subsampling value for dy
Definition: openjpeg.h:422
OPJ_API opj_stream_t *OPJ_CALLCONV opj_stream_create_default_file_stream(const char *fname, OPJ_BOOL p_is_read_stream)
Create a stream from a file identified with its filename with default parameters (helper function) ...
Definition: openjpeg.c:924
CODEC_FORMAT
Supported codec.
Definition: openjpeg.h:288
OPJ_PROG_ORDER prog_order
progression order (default OPJ_LRCP)
Definition: openjpeg.h:373
OPJ_CINEMA_MODE cp_cinema
DEPRECATED: use RSIZ, OPJ_PROFILE_* and MAX_COMP_SIZE instead Digital Cinema compliance 0-not complia...
Definition: openjpeg.h:465
float tcp_distoratio[100]
different psnr for successive layers
Definition: openjpeg.h:383
void(* opj_stream_free_user_data_fn)(void *p_user_data)
Definition: openjpeg.h:609
int tile_Oy
Definition: openjpeg.h:819
OPJ_OFF_T(* opj_stream_skip_fn)(OPJ_OFF_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:599
int marknum
number of markers
Definition: openjpeg.h:832
OPJ_OFF_T end_pos
packet end position
Definition: openjpeg.h:720
opj_packet_info_t * packet_index
information concerning packets inside tile
Definition: openjpeg.h:979
int jpwl_sens_size
enables writing of ESD, (0=no/1/2 bytes)
Definition: openjpeg.h:447
Defines image data and characteristics.
Definition: openjpeg.h:657
float OPJ_FLOAT32
Definition: openjpeg.h:111
OPJ_API opj_jp2_metadata_t *OPJ_CALLCONV opj_get_jp2_metadata(opj_codec_t *p_codec)
Get the JP2 file information from the codec FIXME.
struct opj_image_comptparm opj_image_cmptparm_t
Component parameters structure used by the opj_image_create function.
OPJ_UINT32 tx0
tile origin in x = XTOsiz
Definition: openjpeg.h:914
RSIZ_CAPABILITIES
DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead Rsiz Capabilities.
Definition: openjpeg.h:242
OPJ_UINT32 compS
Definition: openjpeg.h:337
unsigned int flags
Definition: openjpeg.h:562
int cp_ty0
YTOsiz.
Definition: openjpeg.h:355
#define OPJ_PATH_LEN
Maximum allowed size for filenames.
Definition: openjpeg.h:140
char tp_flag
Flag for Tile part generation.
Definition: openjpeg.h:479
OPJ_UINT32 ty0_t
Definition: openjpeg.h:343
OPJ_UINT32 maxmarknum
actual size of markers array
Definition: openjpeg.h:973
void(* opj_msg_callback)(const char *msg, void *client_data)
Callback function prototype for events.
Definition: openjpeg.h:309
int jpwl_sens_TPH[JPWL_MAX_NO_TILESPECS]
sensitivity methods for TPHs (-1=no,0-7)
Definition: openjpeg.h:457
OPJ_UINT32 layno1
Layer num end,Resolution num end, Component num end, given by POC.
Definition: openjpeg.h:325
resolution-precinct-component-layer order
Definition: openjpeg.h:267
OPJ_INT32 tx1
Definition: openjpeg.h:335
int jpwl_sens_MH
sensitivity method for MH (-1=no,0-7)
Definition: openjpeg.h:453
Index structure about a tile.
Definition: openjpeg.h:954
struct opj_tp_info opj_tp_info_t
Index structure : Information concerning tile-parts.
OPJ_API void OPJ_CALLCONV opj_stream_set_read_function(opj_stream_t *p_stream, opj_stream_read_fn p_function)
Sets the given function to be used as a read function.
Definition: cio.c:207
OPJ_UINT32 x0
x component offset compared to the whole image
Definition: openjpeg.h:635
OPJ_UINT32 precno1
Definition: openjpeg.h:327
OPJ_UINT32 cblksty
code-block coding style
Definition: openjpeg.h:867
OPJ_PROG_ORDER prog
progression order
Definition: openjpeg.h:811
struct opj_tile_info opj_tile_info_t
Index structure : information regarding tiles.
OPJ_UINT32 sgnd
signed (1) / unsigned (0)
Definition: openjpeg.h:643
int jpwl_sens_TPH_tileno[JPWL_MAX_NO_TILESPECS]
tile number of sensitivity specification (>=0)
Definition: openjpeg.h:455
OPJ_API void OPJ_CALLCONV opj_stream_destroy(opj_stream_t *p_stream)
Destroys a stream created by opj_create_stream.
Definition: cio.c:193
OPJ_API void OPJ_CALLCONV opj_set_default_encoder_parameters(opj_cparameters_t *parameters)
Set encoding parameters to default values, that means :
Definition: openjpeg.c:638
opj_tile_info_t * tile
information regarding tiles inside image
Definition: openjpeg.h:845
Decompression parameters.
Definition: openjpeg.h:504
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_end_decompress(opj_codec_t *p_codec, opj_stream_t *p_stream)
Read after the codestream if necessary.
Definition: openjpeg.c:769
int roi_compno
region of interest: affected component in [0..3], -1 means no ROI
Definition: openjpeg.h:395
int tile_x
tile size in x
Definition: openjpeg.h:813
OPJ_UINT32 bpp
image depth in bits
Definition: openjpeg.h:698
OPJ_BYTE * icc_profile_buf
'restricted' ICC profile
Definition: openjpeg.h:673
int pdy[33]
precinct size (in power of 2), in Y for each resolution level
Definition: openjpeg.h:777
OPJ_INT32 roishift
Region Of Interest shift.
Definition: openjpeg.h:879
int tp_end_pos
end position of tile part
Definition: openjpeg.h:749
int tile_y
tile size in y
Definition: openjpeg.h:815
opj_tile_info_v2_t * tile_info
information regarding tiles inside image
Definition: openjpeg.h:933
OPJ_UINT32 stepsizes_mant[OPJ_J2K_MAXBANDS]
stepsizes used for quantization
Definition: openjpeg.h:873
OPJ_UINT32 DA_x0
Decoding area left boundary.
Definition: openjpeg.h:533
OPJ_UINT32 sgnd
signed (1) / unsigned (0)
Definition: openjpeg.h:700
OPJ_OFF_T main_head_end
main header end position (first SOT position)
Definition: openjpeg.h:990
int codestream_size
codestream's size
Definition: openjpeg.h:843
OPJ_UINT32 nb_tps
number of tile parts
Definition: openjpeg.h:959
OPJ_API void OPJ_CALLCONV opj_destroy_cstr_index(opj_codestream_index_t **p_cstr_index)
Definition: openjpeg.c:916
OPJ_BOOL tile_size_on
size of tile: tile_size_on = false (not in argument) or = true (in argument)
Definition: openjpeg.h:351
OPJ_UINT32 h
data height
Definition: openjpeg.h:633
OPJ_UINT32 resS
Definition: openjpeg.h:337
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_encode(opj_codec_t *p_codec, opj_stream_t *p_stream)
Encode an image into a JPEG-2000 codestream.
Definition: openjpeg.c:735
double D_max
maximum distortion reduction on the whole image (add for Marcela)
Definition: openjpeg.h:801
opj_poc_t POC[32]
progression order changes
Definition: openjpeg.h:375
int image_offset_y0
subimage encoding: origin image offset in y direction
Definition: openjpeg.h:418
int cod_format
output file format 0: PGX, 1: PxM, 2: BMP
Definition: openjpeg.h:530
JPP-stream (JPEG 2000, JPIP) : to be coded.
Definition: openjpeg.h:293
int jpwl_sens_range
sensitivity range (0-3)
Definition: openjpeg.h:451
int tw
number of tiles in X
Definition: openjpeg.h:821
int end_header
end position of the header
Definition: openjpeg.h:767
OPJ_OFF_T end_ph_pos
end of packet header position (including EPH marker if it exists)
Definition: openjpeg.h:718
OPJ_UINT32 cp_reduce
Set the number of highest resolution levels to be discarded.
Definition: openjpeg.h:512
int tileno
number of tile
Definition: openjpeg.h:763
OPJ_UINT32 y0
YOsiz: vertical offset from the origin of the reference grid to the top side of the image area...
Definition: openjpeg.h:661
int numcomps
component numbers
Definition: openjpeg.h:825
OPJ_API opj_image_t *OPJ_CALLCONV opj_image_create(OPJ_UINT32 numcmpts, opj_image_cmptparm_t *cmptparms, OPJ_COLOR_SPACE clrspc)
Create an image.
Definition: image.c:39
OPJ_API const char *OPJ_CALLCONV opj_version(void)
Definition: openjpeg.c:157
Profile name for a 4K image.
Definition: openjpeg.h:246
void * opj_stream_t
Definition: openjpeg.h:614
uint8_t OPJ_UINT8
Definition: openjpeg.h:118
int numresolution
number of resolutions
Definition: openjpeg.h:385
OPJ_UINT32 marknum
number of markers
Definition: openjpeg.h:997
opj_marker_info_t * marker
list of markers
Definition: openjpeg.h:971
int jpwl_sens_addr
sensitivity addressing size (0=auto/2/4 bytes)
Definition: openjpeg.h:449
OPJ_PROG_ORDER prg1
Progression order enum.
Definition: openjpeg.h:329
int image_h
image height
Definition: openjpeg.h:809
not supported by the library
Definition: openjpeg.h:276
int jpwl_exp_comps
expected number of components
Definition: openjpeg.h:556
int maxmarknum
actual size of markers array
Definition: openjpeg.h:789
OPJ_INT32 ty1
Definition: openjpeg.h:335
enum PROG_ORDER OPJ_PROG_ORDER
Progression order.
struct opj_marker_info opj_marker_info_t
Marker structure.
OPJ_UINT32 numlayers
number of layers
Definition: openjpeg.h:899
int irreversible
1 : use the irreversible DWT 9-7, 0 : use lossless compression (default)
Definition: openjpeg.h:393
OPJ_UINT32 stepsizes_expn[OPJ_J2K_MAXBANDS]
stepsizes used for quantization
Definition: openjpeg.h:875
OPJ_UINT32 x0
x component offset compared to the whole image
Definition: openjpeg.h:692
int jpwl_pprot[JPWL_MAX_NO_PACKSPECS]
error protection methods for packets (0,1,16,32,37-128)
Definition: openjpeg.h:445
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_end_compress(opj_codec_t *p_codec, opj_stream_t *p_stream)
End to compress the current image.
Definition: openjpeg.c:752
int tp_numpacks
number of packets of tile part
Definition: openjpeg.h:753
int image_w
image width
Definition: openjpeg.h:807
int cp_fixed_alloc
allocation by fixed layer
Definition: openjpeg.h:363
OPJ_UINT32 prcw[OPJ_J2K_MAXRLVLS]
precinct width
Definition: openjpeg.h:881
int tileno
number (index) of tile
Definition: openjpeg.h:893
int cp_disto_alloc
allocation by rate/distortion
Definition: openjpeg.h:361
enum RSIZ_CAPABILITIES OPJ_RSIZ_CAPABILITIES
DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead Rsiz Capabilities.
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_info_handler(opj_codec_t *p_codec, opj_msg_callback p_callback, void *p_user_data)
Set the info handler use by openjpeg.
Definition: openjpeg.c:44
OPJ_UINT32 csty
coding style
Definition: openjpeg.h:895
struct opj_tp_index opj_tp_index_t
Index structure about a tile part.
void * mct_data
Naive implementation of MCT restricted to a single reversible array based encoding without offset con...
Definition: openjpeg.h:486
OPJ_INT32 ty0
Definition: openjpeg.h:335
Tile coding parameters information.
Definition: openjpeg.h:890
OPJ_INT32 not_used
Definition: openjpeg.h:1034
int tp_start_pack
start packet of tile part
Definition: openjpeg.h:751
OPJ_UINT32 mct
multi-component transform identifier
Definition: openjpeg.h:901
2K Digital Cinema at 24 fps
Definition: openjpeg.h:256
char outfile[OPJ_PATH_LEN]
output file name
Definition: openjpeg.h:526
opj_tile_index_t * tile_index
Definition: openjpeg.h:1007
struct opj_jp2_metadata opj_jp2_metadata_t
Info structure of the JP2 file EXPERIMENTAL FOR THE MOMENT.
OPJ_UINT32 csty
coding style
Definition: openjpeg.h:859
OPJ_OFF_T pos
position in codestream
Definition: openjpeg.h:734
OPJ_UINT32 prec
precision
Definition: openjpeg.h:639
Component parameters structure used by the opj_image_create function.
Definition: openjpeg.h:682
int pdx[33]
precinct size (in power of 2), in X for each resolution level
Definition: openjpeg.h:775
int main_head_start
main header position
Definition: openjpeg.h:839
OPJ_API void OPJ_CALLCONV opj_stream_set_seek_function(opj_stream_t *p_stream, opj_stream_seek_fn p_function)
Sets the given function to be used as a seek function, the stream is then seekable.
Definition: cio.c:218
Defines a single image component.
Definition: openjpeg.h:625
int jpwl_hprot_TPH_tileno[JPWL_MAX_NO_TILESPECS]
tile number of header protection specification (>=0)
Definition: openjpeg.h:437
double * thresh
value of thresh for each layer by tile cfr.
Definition: openjpeg.h:761
OPJ_API void OPJ_CALLCONV opj_stream_set_user_data(opj_stream_t *p_stream, void *p_data, opj_stream_free_user_data_fn p_function)
Sets the given data to be used as a user data for the stream.
Definition: cio.c:250
int tp_end_header
end position of tile part header
Definition: openjpeg.h:747
int prch_init[OPJ_J2K_MAXRLVLS]
initial precinct height
Definition: openjpeg.h:403
OPJ_UINT32 y0
y component offset compared to the whole image
Definition: openjpeg.h:637
OPJ_UINT32 prcE
Definition: openjpeg.h:339
OPJ_UINT32 res_t
Definition: openjpeg.h:343
OPJ_OFF_T start_pos
start position
Definition: openjpeg.h:943
Definition: openjpeg.h:254
struct opj_tile_v2_info opj_tile_info_v2_t
Tile coding parameters information.
char infile[OPJ_PATH_LEN]
input file name
Definition: openjpeg.h:524
COLOR_SPACE
Supported image color spaces.
Definition: openjpeg.h:275
int16_t OPJ_INT16
Definition: openjpeg.h:119
e-YCC
Definition: openjpeg.h:281
struct opj_tccp_info opj_tccp_info_t
Tile-component coding parameters information.
OPJ_API void OPJ_CALLCONV opj_destroy_codec(opj_codec_t *p_codec)
Destroy a decompressor handle.
Definition: openjpeg.c:844
OPJ_UINT32 prch[OPJ_J2K_MAXRLVLS]
precinct height
Definition: openjpeg.h:883
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_error_handler(opj_codec_t *p_codec, opj_msg_callback p_callback, void *p_user_data)
Set the error handler use by openjpeg.
Definition: openjpeg.c:74
opj_marker_info_t * marker
list of markers
Definition: openjpeg.h:999
OPJ_UINT32 nbcomps
number of components
Definition: openjpeg.h:927
char tcp_mct
MCT (multiple component transform)
Definition: openjpeg.h:481
OPJ_UINT32 resE
Definition: openjpeg.h:339
int cblockw_init
initial code block width, default to 64
Definition: openjpeg.h:387
#define OPJ_CALLCONV
Definition: openjpeg.h:88
OPJ_BOOL(* opj_stream_seek_fn)(OPJ_OFF_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:604
int cp_tdy
YTsiz.
Definition: openjpeg.h:359
OPJ_UINT32 prc_t
Definition: openjpeg.h:343
int csty
csty : coding style
Definition: openjpeg.h:371
OPJ_API void OPJ_CALLCONV opj_set_default_decoder_parameters(opj_dparameters_t *parameters)
Set decoding parameters to default values.
Definition: openjpeg.c:338
PROG_ORDER
Progression order.
Definition: openjpeg.h:263
OPJ_UINT64 codestream_size
codestream's size
Definition: openjpeg.h:993
OPJ_SIZE_T(* opj_stream_read_fn)(void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:589
OPJ_BOOL m_verbose
Verbose mode.
Definition: openjpeg.h:541
int subsampling_dx
subsampling value for dx
Definition: openjpeg.h:420
OPJ_UINT16 alpha
alpha channel
Definition: openjpeg.h:651
OPJ_UINT32 resno_decoded
number of decoded resolution
Definition: openjpeg.h:645
struct opj_codestream_info_v2 opj_codestream_info_v2_t
Information structure about the codestream (FIXME should be expand and enhance)
Index structure of the codestream (FIXME should be expand and enhance)
Definition: openjpeg.h:986
OPJ_UINT32 prcS
Definition: openjpeg.h:337
OPJ_PROG_ORDER prg
progression order
Definition: openjpeg.h:897
int maxmarknum
actual size of markers array
Definition: openjpeg.h:836
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_get_decoded_tile(opj_codec_t *p_codec, opj_stream_t *p_stream, opj_image_t *p_image, OPJ_UINT32 tile_index)
Get the decoded tile from the codec.
Definition: openjpeg.c:499
OPJ_API opj_codestream_index_t *OPJ_CALLCONV opj_get_cstr_index(opj_codec_t *p_codec)
Get the codestream index from the codec.
Definition: openjpeg.c:905
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_warning_handler(opj_codec_t *p_codec, opj_msg_callback p_callback, void *p_user_data)
Set the warning handler use by openjpeg.
Definition: openjpeg.c:59
OPJ_UINT32 current_tpsno
current tile-part index
Definition: openjpeg.h:963
int num_tps
number of tile parts
Definition: openjpeg.h:791
place-holder
Definition: openjpeg.h:289
struct opj_image_comp opj_image_comp_t
Defines a single image component.
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_decode_tile_data(opj_codec_t *p_codec, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_t *p_stream)
Reads a tile data.
Definition: openjpeg.c:474
OPJ_API opj_codestream_info_v2_t *OPJ_CALLCONV opj_get_cstr_info(opj_codec_t *p_codec)
Get the codestream information from the codec.
Definition: openjpeg.c:878
int numpix
add fixed_quality
Definition: openjpeg.h:781
OPJ_RSIZ_CAPABILITIES cp_rsiz
DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead Profile name.
Definition: openjpeg.h:475
int index_write
writing the packet in the index with t2_encode_packets
Definition: openjpeg.h:805
OPJ_UINT32 dx
XRsiz: horizontal separation of a sample of ith component with respect to the reference grid...
Definition: openjpeg.h:627
#define OPJ_API
Definition: openjpeg.h:85
OPJ_UINT32 w
data width
Definition: openjpeg.h:688
uint32_t OPJ_UINT32
Definition: openjpeg.h:122
component-precinct-resolution-layer order
Definition: openjpeg.h:269
OPJ_UINT32 bpp
image depth in bits
Definition: openjpeg.h:641
int jpwl_max_tiles
maximum number of tiles
Definition: openjpeg.h:558
int8_t OPJ_INT8
Definition: openjpeg.h:117
int max_cs_size
Maximum size (in bytes) for the whole codestream.
Definition: openjpeg.h:493
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_setup_decoder(opj_codec_t *p_codec, opj_dparameters_t *parameters)
Setup the decoder with decompression parameters provided by the user and with the message handler pro...
Definition: openjpeg.c:358
OPJ_UINT32 tileno
tile index
Definition: openjpeg.h:956
Definition: openjpeg.h:243
char OPJ_CHAR
Definition: openjpeg.h:110
int image_offset_x0
subimage encoding: origin image offset in x direction
Definition: openjpeg.h:416
OPJ_UINT32 compno1
Definition: openjpeg.h:325
Index structure : Information concerning a packet inside tile.
Definition: openjpeg.h:714
OPJ_UINT32 compno0
Definition: openjpeg.h:323
OPJ_OFF_T end_pos
end position
Definition: openjpeg.h:947
int numlayers
number of layer
Definition: openjpeg.h:827
OPJ_PROG_ORDER prg
Definition: openjpeg.h:329
OPJ_OFF_T start_pos
packet start position (including SOP marker if it exists)
Definition: openjpeg.h:716
OPJ_CHAR progorder[5]
Progression order string.
Definition: openjpeg.h:331
int64_t OPJ_INT64
Definition: openjpeg.h:123
OPJ_UINT32 w
data width
Definition: openjpeg.h:631
opj_tile_info_v2_t m_default_tile_info
Default information regarding tiles inside image.
Definition: openjpeg.h:930
OPJ_UINT32 layS
Start value, initialised in pi_initialise_encode.
Definition: openjpeg.h:337
CMYK.
Definition: openjpeg.h:282
OPJ_UINT32 x0
XOsiz: horizontal offset from the origin of the reference grid to the left side of the image area...
Definition: openjpeg.h:659
int tp_start_pos
start position of tile part
Definition: openjpeg.h:745
char outfile[OPJ_PATH_LEN]
output file name
Definition: openjpeg.h:410
int roi_shift
region of interest: upshift value
Definition: openjpeg.h:397
struct opj_jp2_index opj_jp2_index_t
Index structure of the JP2 file EXPERIMENTAL FOR THE MOMENT.
int len
length, marker val included
Definition: openjpeg.h:736
int marknum
number of markers
Definition: openjpeg.h:785
Compression parameters.
Definition: openjpeg.h:349
Index structure of the JP2 file EXPERIMENTAL FOR THE MOMENT.
Definition: openjpeg.h:1032
OPJ_UINT32 icc_profile_len
size of ICC profile
Definition: openjpeg.h:675
int pw[33]
precinct number for each resolution level (width)
Definition: openjpeg.h:771
Index structure about a tile part.
Definition: openjpeg.h:941
JPT-stream (JPEG 2000, JPIP) : read only.
Definition: openjpeg.h:291
Tile-component coding parameters information.
Definition: openjpeg.h:854
OPJ_API opj_stream_t *OPJ_CALLCONV opj_stream_create_file_stream(const char *fname, OPJ_SIZE_T p_buffer_size, OPJ_BOOL p_is_read_stream)
Create a stream from a file identified with its filename with a specific buffer size.
Definition: openjpeg.c:929
enum CINEMA_MODE OPJ_CINEMA_MODE
DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead Digital cinema operation mode...
OPJ_UINT32 th
number of tiles in Y
Definition: openjpeg.h:924
CINEMA_MODE
DEPRECATED: use RSIZ, OPJ_PROFILE_* and OPJ_EXTENSION_* instead Digital cinema operation mode...
Definition: openjpeg.h:253
#define OPJ_J2K_MAXBANDS
Number of maximum sub-band linked to number of resolution level.
Definition: openjpeg.h:143
OPJ_API opj_codec_t *OPJ_CALLCONV opj_create_compress(OPJ_CODEC_FORMAT format)
Creates a J2K/JP2 compression structure.
Definition: openjpeg.c:541
JPX file format (JPEG 2000 Part-2) : to be coded.
Definition: openjpeg.h:294
OPJ_UINT32 DA_y0
Decoding area up boundary.
Definition: openjpeg.h:537
OPJ_UINT32 numpocs
number of progression order changes (POC), default to 0
Definition: openjpeg.h:377
OPJ_UINT32 tile_index
tile number ot the decoded tile
Definition: openjpeg.h:544
OPJ_UINT32 ty0
tile origin in y = YTOsiz
Definition: openjpeg.h:916
OPJ_UINT32 factor
number of division by 2 of the out image compared to the original size of image
Definition: openjpeg.h:647
OPJ_UINT32 marknum
number of markers
Definition: openjpeg.h:969
#define JPWL_MAX_NO_PACKSPECS
Maximum number of packet parts expected by JPWL: increase at your will.
Definition: openjpeg.h:153
sRGB
Definition: openjpeg.h:278
int prcw_init[OPJ_J2K_MAXRLVLS]
initial precinct width
Definition: openjpeg.h:401
unsigned short int type
marker type
Definition: openjpeg.h:732
OPJ_UINT32 txE
Definition: openjpeg.h:341
OPJ_UINT32 dx
XRsiz: horizontal separation of a sample of ith component with respect to the reference grid...
Definition: openjpeg.h:684
int ph[33]
precinct number for each resolution level (height)
Definition: openjpeg.h:773
Index structure of the codestream.
Definition: openjpeg.h:799
OPJ_UINT32 resno1
Definition: openjpeg.h:325
OPJ_API void OPJ_CALLCONV opj_dump_codec(opj_codec_t *p_codec, OPJ_INT32 info_flag, FILE *output_stream)
Dump the codec information into the output stream.
Definition: openjpeg.c:863
int decod_format
input file format 0: J2K, 1: JP2, 2: JPT
Definition: openjpeg.h:528
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decoded_resolution_factor(opj_codec_t *p_codec, OPJ_UINT32 res_factor)
Set the resolution factor of the decoded image.
Definition: openjpeg.c:522
OPJ_UINT32 tx0_t
Definition: openjpeg.h:343
opj_image_comp_t * comps
image components
Definition: openjpeg.h:671
opj_tp_index_t * tp_index
information concerning tile parts
Definition: openjpeg.h:965
precinct-component-resolution-layer order
Definition: openjpeg.h:268
OPJ_SIZE_T(* opj_stream_write_fn)(void *p_buffer, OPJ_SIZE_T p_nb_bytes, void *p_user_data)
Definition: openjpeg.h:594
place-holder
Definition: openjpeg.h:264
OPJ_UINT32 h
data height
Definition: openjpeg.h:690
OPJ_UINT32 cblkw
code-blocks width
Definition: openjpeg.h:863
OPJ_UINT32 nb_of_tiles
Definition: openjpeg.h:1005
OPJ_UINT32 dy
Definition: openjpeg.h:341
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_read_header(opj_stream_t *p_stream, opj_codec_t *p_codec, opj_image_t **p_image)
Decodes an image header.
Definition: openjpeg.c:378
OPJ_API OPJ_BOOL OPJ_CALLCONV opj_read_tile_header(opj_codec_t *p_codec, opj_stream_t *p_stream, OPJ_UINT32 *p_tile_index, OPJ_UINT32 *p_data_size, OPJ_INT32 *p_tile_x0, OPJ_INT32 *p_tile_y0, OPJ_INT32 *p_tile_x1, OPJ_INT32 *p_tile_y1, OPJ_UINT32 *p_nb_comps, OPJ_BOOL *p_should_go_on)
Reads a tile header.
Definition: openjpeg.c:444
int mode
mode switch (cblk_style)
Definition: openjpeg.h:391
OPJ_API void OPJ_CALLCONV opj_stream_set_skip_function(opj_stream_t *p_stream, opj_stream_skip_fn p_function)
Sets the given function to be used as a skip function.
Definition: cio.c:239
OPJ_API void OPJ_CALLCONV opj_stream_set_user_data_length(opj_stream_t *p_stream, OPJ_UINT64 data_length)
Sets the length of the user data for the stream.
Definition: cio.c:259
struct opj_packet_info opj_packet_info_t
Index structure : Information concerning a packet inside tile.
OPJ_UINT32 DA_x1
Decoding area right boundary.
Definition: openjpeg.h:535
OPJ_UINT32 qntsty
quantisation style
Definition: openjpeg.h:871
opj_tccp_info_t * tccp_info
information concerning tile component parameters
Definition: openjpeg.h:904
OPJ_UINT32 precno0
Definition: openjpeg.h:327
char tp_on
Tile part generation.
Definition: openjpeg.h:477
int cp_tx0
XTOsiz.
Definition: openjpeg.h:353
OPJ_UINT32 txS
Start and end values of Tile width and height, initialised in pi_initialise_encode.
Definition: openjpeg.h:341
opj_tp_info_t * tp
information concerning tile parts
Definition: openjpeg.h:793