OpenJPEG 2.4.0
j2k.h
Go to the documentation of this file.
1/*
2 * The copyright in this software is being made available under the 2-clauses
3 * BSD License, included below. This software may be subject to other third
4 * party and contributor rights, including patent rights, and no such rights
5 * are granted under this license.
6 *
7 * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
8 * Copyright (c) 2002-2014, Professor Benoit Macq
9 * Copyright (c) 2001-2003, David Janssens
10 * Copyright (c) 2002-2003, Yannick Verschueren
11 * Copyright (c) 2003-2007, Francois-Olivier Devaux
12 * Copyright (c) 2003-2014, Antonin Descampe
13 * Copyright (c) 2005, Herve Drolon, FreeImage Team
14 * Copyright (c) 2006-2007, Parvatha Elangovan
15 * Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes@c-s.fr>
16 * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France
17 * Copyright (c) 2012, CS Systemes d'Information, France
18 *
19 * All rights reserved.
20 *
21 * Redistribution and use in source and binary forms, with or without
22 * modification, are permitted provided that the following conditions
23 * are met:
24 * 1. Redistributions of source code must retain the above copyright
25 * notice, this list of conditions and the following disclaimer.
26 * 2. Redistributions in binary form must reproduce the above copyright
27 * notice, this list of conditions and the following disclaimer in the
28 * documentation and/or other materials provided with the distribution.
29 *
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
31 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
32 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
33 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
34 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
35 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
36 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
37 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
38 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
39 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
40 * POSSIBILITY OF SUCH DAMAGE.
41 */
42#ifndef OPJ_J2K_H
43#define OPJ_J2K_H
53
54#define J2K_CP_CSTY_PRT 0x01
55#define J2K_CP_CSTY_SOP 0x02
56#define J2K_CP_CSTY_EPH 0x04
57#define J2K_CCP_CSTY_PRT 0x01
58#define J2K_CCP_CBLKSTY_LAZY 0x01
59#define J2K_CCP_CBLKSTY_RESET 0x02
60#define J2K_CCP_CBLKSTY_TERMALL 0x04
61#define J2K_CCP_CBLKSTY_VSC 0x08
62#define J2K_CCP_CBLKSTY_PTERM 0x10
63#define J2K_CCP_CBLKSTY_SEGSYM 0x20
64#define J2K_CCP_QNTSTY_NOQNT 0
65#define J2K_CCP_QNTSTY_SIQNT 1
66#define J2K_CCP_QNTSTY_SEQNT 2
67
68/* ----------------------------------------------------------------------- */
69
70#define J2K_MS_SOC 0xff4f
71#define J2K_MS_SOT 0xff90
72#define J2K_MS_SOD 0xff93
73#define J2K_MS_EOC 0xffd9
74#define J2K_MS_SIZ 0xff51
75#define J2K_MS_COD 0xff52
76#define J2K_MS_COC 0xff53
77#define J2K_MS_RGN 0xff5e
78#define J2K_MS_QCD 0xff5c
79#define J2K_MS_QCC 0xff5d
80#define J2K_MS_POC 0xff5f
81#define J2K_MS_TLM 0xff55
82#define J2K_MS_PLM 0xff57
83#define J2K_MS_PLT 0xff58
84#define J2K_MS_PPM 0xff60
85#define J2K_MS_PPT 0xff61
86#define J2K_MS_SOP 0xff91
87#define J2K_MS_EPH 0xff92
88#define J2K_MS_CRG 0xff63
89#define J2K_MS_COM 0xff64
90#define J2K_MS_CBD 0xff78
91#define J2K_MS_MCC 0xff75
92#define J2K_MS_MCT 0xff74
93#define J2K_MS_MCO 0xff77
95#define J2K_MS_UNK 0
97/* UniPG>> */
98#ifdef USE_JPWL
99#define J2K_MS_EPC 0xff68
100#define J2K_MS_EPB 0xff66
101#define J2K_MS_ESD 0xff67
102#define J2K_MS_RED 0xff69
103#endif /* USE_JPWL */
104#ifdef USE_JPSEC
105#define J2K_MS_SEC 0xff65
106#define J2K_MS_INSEC 0xff94
107#endif /* USE_JPSEC */
108/* <<UniPG */
109
110#define J2K_MAX_POCS 32
112/* ----------------------------------------------------------------------- */
113
118typedef enum J2K_STATUS {
119 J2K_STATE_NONE = 0x0000,
122 J2K_STATE_MH = 0x0004,
124 J2K_STATE_TPH = 0x0010,
125 J2K_STATE_MT = 0x0020,
126 J2K_STATE_NEOC = 0x0040,
127 J2K_STATE_DATA = 0x0080,
129 J2K_STATE_EOC = 0x0100,
130 J2K_STATE_ERR = 0x8000
132
136typedef enum MCT_ELEMENT_TYPE {
140 MCT_TYPE_DOUBLE = 3
142
146typedef enum MCT_ARRAY_TYPE {
151
152/* ----------------------------------------------------------------------- */
153
157typedef enum T2_MODE {
159 FINAL_PASS = 1
161
165typedef struct opj_stepsize {
171
175typedef struct opj_tccp {
202}
204
205
206
210typedef struct opj_mct_data {
216}
218
228}
230
231typedef struct opj_ppx_struct {
232 OPJ_BYTE* m_data; /* m_data == NULL => Zppx not read yet */
235
241typedef struct opj_tcp {
257
262
301
302
303 /***** FLAGS *******/
311
312
313
314
315typedef struct opj_encoding_param {
332}
334
335typedef struct opj_decoding_param {
340}
342
343
347typedef struct opj_cp {
349 /*int img_size;*/
353 OPJ_UINT32 tx0; /* MSD see norm */
355 OPJ_UINT32 ty0; /* MSD see norm */
366
371
378
380
391
394
395 union {
398 }
400
401
402 /* UniPG>> */
403#ifdef USE_JPWL
444#endif /* USE_JPWL */
445
446 /******** FLAGS *********/
453 /* <<UniPG */
455
456
457typedef struct opj_j2k_dec {
473
478
485
488
496
498
499typedef struct opj_j2k_enc {
502
505
519
523
524 /* encoded data for a tile */
526
527 /* size of the encoded_data */
529
530 /* encoded data for a tile */
532
533 /* size of the encoded_data */
534
536
537 /* whether to generate PLT markers */
539
540 /* reserved bytes in m_encoded_tile_size for PLT markers */
542
544
545
546
547struct opj_tcd;
551typedef struct opj_j2k {
552 /* J2K codestream is decoded*/
554
555 /* FIXME DOC*/
556 union {
559 }
561
564
565 /* pointer to the output image (decoded)*/
567
570
573
576
579
582
584 struct opj_tcd * m_tcd;
585
588
591
594
596 unsigned int dump_state;
597}
599
600
601
602
605/* ----------------------------------------------------------------------- */
606
614
616
623
624
626 opj_cparameters_t *parameters,
628 opj_event_mgr_t * p_manager);
629
634
635/* ----------------------------------------------------------------------- */
639
645 opj_stream_private_t *p_stream,
646 opj_event_mgr_t * p_manager);
647
659 opj_j2k_t* p_j2k,
660 opj_image_t** p_image,
661 opj_event_mgr_t* p_manager);
662
663
669void opj_j2k_destroy(opj_j2k_t *p_j2k);
670
677
688 OPJ_UINT32 p_tile_index,
689 OPJ_BYTE * p_data,
690 OPJ_UINT32 p_data_size,
691 opj_stream_private_t *p_stream,
692 opj_event_mgr_t * p_manager);
693
709 OPJ_UINT32 * p_tile_index,
710 OPJ_UINT32 * p_data_size,
711 OPJ_INT32 * p_tile_x0,
712 OPJ_INT32 * p_tile_y0,
713 OPJ_INT32 * p_tile_x1,
714 OPJ_INT32 * p_tile_y1,
715 OPJ_UINT32 * p_nb_comps,
716 OPJ_BOOL * p_go_on,
717 opj_stream_private_t *p_stream,
718 opj_event_mgr_t * p_manager);
719
720
732 OPJ_UINT32 numcomps,
733 const OPJ_UINT32* comps_indices,
734 opj_event_mgr_t * p_manager);
735
750 opj_image_t* p_image,
751 OPJ_INT32 p_start_x, OPJ_INT32 p_start_y,
752 OPJ_INT32 p_end_x, OPJ_INT32 p_end_y,
753 opj_event_mgr_t * p_manager);
754
761
762
771void j2k_dump(opj_j2k_t* p_j2k, OPJ_INT32 flag, FILE* out_stream);
772
773
774
783 FILE* out_stream);
784
793 FILE* out_stream);
794
803
812
822 opj_stream_private_t *p_stream,
823 opj_image_t *p_image,
824 opj_event_mgr_t *p_manager);
825
826
828 opj_stream_private_t *p_stream,
829 opj_image_t* p_image,
830 opj_event_mgr_t * p_manager,
831 OPJ_UINT32 tile_index);
832
834 OPJ_UINT32 res_factor,
835 opj_event_mgr_t * p_manager);
836
847 opj_j2k_t *p_j2k,
848 const char* const* p_options,
849 opj_event_mgr_t * p_manager);
850
861 OPJ_UINT32 p_tile_index,
862 OPJ_BYTE * p_data,
863 OPJ_UINT32 p_data_size,
864 opj_stream_private_t *p_stream,
865 opj_event_mgr_t * p_manager);
866
872 opj_event_mgr_t * p_manager);
873
885 opj_stream_private_t *p_stream,
886 opj_image_t * p_image,
887 opj_event_mgr_t * p_manager);
888
895 opj_event_mgr_t * p_manager);
896
898
899
900#endif /* OPJ_J2K_H */
void j2k_dump(opj_j2k_t *p_j2k, OPJ_INT32 flag, FILE *out_stream)
Dump some elements from the J2K decompression structure .
Definition j2k.c:11051
OPJ_BOOL opj_j2k_decode(opj_j2k_t *j2k, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
Decode an image from a JPEG-2000 codestream.
Definition j2k.c:11823
#define J2K_MAX_POCS
Maximum number of POCs.
Definition j2k.h:110
struct opj_j2k_enc opj_j2k_enc_t
opj_j2k_t * opj_j2k_create_compress(void)
Creates a J2K compression structure.
Definition j2k.c:6634
OPJ_BOOL opj_j2k_end_decompress(opj_j2k_t *j2k, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
Ends the decompression procedures and possibiliy add data to be read after the codestream.
Definition j2k.c:8244
enum MCT_ARRAY_TYPE J2K_MCT_ARRAY_TYPE
Type of MCT array.
struct opj_simple_mcc_decorrelation_data opj_simple_mcc_decorrelation_data_t
FIXME DOC.
OPJ_BOOL opj_j2k_read_tile_header(opj_j2k_t *p_j2k, 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_go_on, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
Reads a tile header.
Definition j2k.c:9383
void j2k_dump_image_header(opj_image_t *image, OPJ_BOOL dev_dump_flag, FILE *out_stream)
Dump an image header structure.
Definition j2k.c:11187
struct opj_mct_data opj_mct_data_t
FIXME DOC.
OPJ_BOOL opj_j2k_read_header(opj_stream_private_t *p_stream, opj_j2k_t *p_j2k, opj_image_t **p_image, opj_event_mgr_t *p_manager)
Reads a jpeg2000 codestream header structure.
Definition j2k.c:8255
OPJ_BOOL opj_j2k_end_compress(opj_j2k_t *p_j2k, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Ends the compression procedures and possibiliy add data to be read after the codestream.
Definition j2k.c:12171
T2_MODE
T2 encoding mode.
Definition j2k.h:157
@ THRESH_CALC
Definition j2k.h:158
@ FINAL_PASS
Function called in Rate allocation process.
Definition j2k.h:159
enum MCT_ELEMENT_TYPE J2K_MCT_ELEMENT_TYPE
Type of elements storing in the MCT data.
OPJ_BOOL opj_j2k_setup_encoder(opj_j2k_t *p_j2k, opj_cparameters_t *parameters, opj_image_t *image, opj_event_mgr_t *p_manager)
Definition j2k.c:7494
struct opj_j2k opj_j2k_t
JPEG-2000 codestream reader/writer.
void j2k_destroy_cstr_index(opj_codestream_index_t *p_cstr_ind)
Destroys a codestream index structure.
Definition j2k.c:9113
OPJ_BOOL opj_j2k_decode_tile(opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
Decode tile data.
Definition j2k.c:9692
enum T2_MODE J2K_T2_MODE
T2 encoding mode.
void opj_j2k_destroy(opj_j2k_t *p_j2k)
Destroys a jpeg2000 codec.
Definition j2k.c:9043
OPJ_BOOL opj_j2k_get_tile(opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager, OPJ_UINT32 tile_index)
Definition j2k.c:11881
struct opj_cp opj_cp_t
Coding parameters.
const char * opj_j2k_convert_progression_order(OPJ_PROG_ORDER prg_order)
Converts an enum type progression order to string type.
Definition j2k.c:1617
OPJ_BOOL opj_j2k_encoder_set_extra_options(opj_j2k_t *p_j2k, const char *const *p_options, opj_event_mgr_t *p_manager)
Specify extra options for the encoder.
Definition j2k.c:12029
OPJ_BOOL opj_j2k_write_tile(opj_j2k_t *p_j2k, OPJ_UINT32 p_tile_index, OPJ_BYTE *p_data, OPJ_UINT32 p_data_size, opj_stream_private_t *p_stream, opj_event_mgr_t *p_manager)
Writes a tile.
Definition j2k.c:12977
struct opj_decoding_param opj_decoding_param_t
OPJ_BOOL opj_j2k_set_decoded_components(opj_j2k_t *p_j2k, OPJ_UINT32 numcomps, const OPJ_UINT32 *comps_indices, opj_event_mgr_t *p_manager)
Sets the indices of the components to decode.
Definition j2k.c:10061
struct opj_ppx_struct opj_ppx
struct opj_j2k_dec opj_j2k_dec_t
MCT_ARRAY_TYPE
Type of MCT array.
Definition j2k.h:146
@ MCT_TYPE_DECORRELATION
Definition j2k.h:148
@ MCT_TYPE_DEPENDENCY
Definition j2k.h:147
@ MCT_TYPE_OFFSET
Definition j2k.h:149
OPJ_BOOL opj_j2k_set_decode_area(opj_j2k_t *p_j2k, 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, opj_event_mgr_t *p_manager)
Sets the given area to be decoded.
Definition j2k.c:10121
struct opj_stepsize opj_stepsize_t
Quantization stepsize.
MCT_ELEMENT_TYPE
Type of elements storing in the MCT data.
Definition j2k.h:136
@ MCT_TYPE_FLOAT
MCT data is stored as signed integers.
Definition j2k.h:139
@ MCT_TYPE_DOUBLE
MCT data is stored as floats.
Definition j2k.h:140
@ MCT_TYPE_INT32
MCT data is stored as signed shorts.
Definition j2k.h:138
@ MCT_TYPE_INT16
Definition j2k.h:137
OPJ_BOOL opj_j2k_set_threads(opj_j2k_t *j2k, OPJ_UINT32 num_threads)
Definition j2k.c:6586
opj_codestream_index_t * j2k_get_cstr_index(opj_j2k_t *p_j2k)
Get the codestream index from a JPEG2000 codec.
Definition j2k.c:11318
opj_codestream_info_v2_t * j2k_get_cstr_info(opj_j2k_t *p_j2k)
Get the codestream info from a JPEG2000 codec.
Definition j2k.c:11242
void j2k_dump_image_comp_header(opj_image_comp_t *comp, OPJ_BOOL dev_dump_flag, FILE *out_stream)
Dump a component image header structure.
Definition j2k.c:11219
OPJ_BOOL opj_j2k_start_compress(opj_j2k_t *p_j2k, opj_stream_private_t *p_stream, opj_image_t *p_image, opj_event_mgr_t *p_manager)
Starts a compression scheme, i.e.
Definition j2k.c:12187
struct opj_tcp opj_tcp_t
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
void opj_j2k_setup_decoder(opj_j2k_t *j2k, opj_dparameters_t *parameters)
Setup the decoder decoding parameters using user parameters.
Definition j2k.c:6571
OPJ_BOOL opj_j2k_set_decoded_resolution_factor(opj_j2k_t *p_j2k, OPJ_UINT32 res_factor, opj_event_mgr_t *p_manager)
Definition j2k.c:11996
opj_j2k_t * opj_j2k_create_decompress(void)
Creates a J2K decompression structure.
Definition j2k.c:10276
struct opj_tccp opj_tccp_t
Tile-component coding parameters.
OPJ_BOOL opj_j2k_setup_mct_encoding(opj_tcp_t *p_tcp, opj_image_t *p_image)
Definition j2k.c:8394
OPJ_BOOL opj_j2k_encode(opj_j2k_t *p_j2k, opj_stream_private_t *cio, opj_event_mgr_t *p_manager)
Encodes an image into a JPEG-2000 codestream.
Definition j2k.c:12063
struct opj_encoding_param opj_encoding_param_t
J2K_STATUS
Values that specify the status of the decoding process when decoding the main header.
Definition j2k.h:118
@ J2K_STATE_TPHSOT
the decoding process is in a tile part header and expects a SOT marker
Definition j2k.h:123
@ J2K_STATE_TPH
the decoding process is in a tile part header
Definition j2k.h:124
@ J2K_STATE_MHSOC
a SOC marker is expected
Definition j2k.h:120
@ J2K_STATE_MH
the decoding process is in the main header
Definition j2k.h:122
@ J2K_STATE_NEOC
the decoding process must not expect a EOC marker because the codestream is truncated
Definition j2k.h:126
@ J2K_STATE_ERR
the decoding process has encountered an error (FIXME warning V1 = 0x0080)
Definition j2k.h:130
@ J2K_STATE_DATA
a tile header has been successfully read and codestream is expected
Definition j2k.h:127
@ J2K_STATE_NONE
a SOC marker is expected
Definition j2k.h:119
@ J2K_STATE_EOC
the decoding process has encountered the EOC marker
Definition j2k.h:129
@ J2K_STATE_MHSIZ
a SIZ marker is expected
Definition j2k.h:121
@ J2K_STATE_MT
the EOC marker has just been read
Definition j2k.h:125
#define JPWL_MAX_NO_TILESPECS
Maximum number of tile parts expected by JPWL: increase at your will.
Definition openjpeg.h:156
uint16_t OPJ_UINT16
Definition openjpeg.h:124
unsigned char OPJ_BYTE
Definition openjpeg.h:117
double OPJ_FLOAT64
Definition openjpeg.h:116
#define OPJ_J2K_MAXBANDS
Number of maximum sub-band linked to number of resolution level.
Definition openjpeg.h:147
int32_t OPJ_INT32
Definition openjpeg.h:125
enum PROG_ORDER OPJ_PROG_ORDER
Progression order.
uint32_t OPJ_UINT32
Definition openjpeg.h:126
char OPJ_CHAR
Definition openjpeg.h:114
float OPJ_FLOAT32
Definition openjpeg.h:115
int64_t OPJ_OFF_T
Definition openjpeg.h:130
#define JPWL_MAX_NO_PACKSPECS
Maximum number of packet parts expected by JPWL: increase at your will.
Definition openjpeg.h:157
#define OPJ_J2K_MAXRLVLS
Number of maximum resolution level authorized.
Definition openjpeg.h:146
int OPJ_BOOL
Definition openjpeg.h:110
unsigned int OPJ_BITFIELD
Definition opj_includes.h:217
Index structure of the codestream (FIXME should be expand and enhance)
Definition openjpeg.h:1031
Information structure about the codestream (FIXME should be expand and enhance)
Definition openjpeg.h:956
Coding parameters.
Definition j2k.h:347
OPJ_BOOL esd_on
enables writing of ESD, in case of activated JPWL
Definition j2k.h:409
union opj_cp::@0 m_specific_param
OPJ_UINT32 ppm_data_read
size of the ppm_data
Definition j2k.h:377
OPJ_UINT32 tdy
YTsiz.
Definition j2k.h:359
int pprot[JPWL_MAX_NO_PACKSPECS]
error protection methods for packets (0,1,16,32,37-128)
Definition j2k.h:425
int hprot_TPH_tileno[JPWL_MAX_NO_TILESPECS]
tile number of header protection specification (>=0)
Definition j2k.h:417
OPJ_BYTE * ppm_data
packet header store there for future use in t2_decode_packet
Definition j2k.h:373
opj_ppx * ppm_markers
ppm markers data (table indexed by Zppm)
Definition j2k.h:370
OPJ_UINT32 th
number of tiles in height
Definition j2k.h:365
OPJ_BITFIELD m_is_decoder
tells if the parameter is a coding or decoding one
Definition j2k.h:450
int hprot_MH
error protection method for MH (0,1,16,32,37-128)
Definition j2k.h:415
int exp_comps
expected number of components at the decoder
Definition j2k.h:441
OPJ_BYTE * ppm_data_first
pointer remaining on the first byte of the first header if ppm is used
Definition j2k.h:384
OPJ_INT32 ppm_store
use in case of multiple marker PPM (number of info already store)
Definition j2k.h:388
OPJ_UINT32 max_tiles
maximum number of tiles at the decoder
Definition j2k.h:443
OPJ_BOOL correct
enables JPWL correction at the decoder
Definition j2k.h:439
int pprot_tileno[JPWL_MAX_NO_PACKSPECS]
tile number of packet protection specification (>=0)
Definition j2k.h:421
OPJ_BYTE * ppm_data_current
Definition j2k.h:379
int pprot_packno[JPWL_MAX_NO_PACKSPECS]
packet number of packet protection specification (>=0)
Definition j2k.h:423
OPJ_BITFIELD allow_different_bit_depth_sign
whether different bit depth or sign per component is allowed.
Definition j2k.h:452
int sens_addr
sensitivity addressing size (0=auto/2/4 bytes)
Definition j2k.h:429
OPJ_UINT32 ty0
YTOsiz.
Definition j2k.h:355
OPJ_BOOL red_on
enables writing of RED, in case of activated JPWL
Definition j2k.h:413
OPJ_BYTE * ppm_buffer
packet header storage original buffer
Definition j2k.h:382
OPJ_BOOL epc_on
enables writing of EPC in MH, thus activating JPWL
Definition j2k.h:405
OPJ_UINT32 ppm_len
size of the ppm_data
Definition j2k.h:375
int sens_TPH[JPWL_MAX_NO_TILESPECS]
sensitivity methods for TPHs (-1,0-7)
Definition j2k.h:437
OPJ_UINT32 ppm_data_size
Number of bytes actually stored inside the ppm_data.
Definition j2k.h:386
opj_decoding_param_t m_dec
Definition j2k.h:396
OPJ_UINT32 tdx
XTsiz.
Definition j2k.h:357
int sens_TPH_tileno[JPWL_MAX_NO_TILESPECS]
tile number of sensitivity specification (>=0)
Definition j2k.h:435
OPJ_BITFIELD ppm
if ppm == 1 --> there was a PPM marker
Definition j2k.h:448
OPJ_UINT32 tw
number of tiles in width
Definition j2k.h:363
opj_encoding_param_t m_enc
Definition j2k.h:397
OPJ_INT32 ppm_previous
use in case of multiple marker PPM (case on non-finished previous info)
Definition j2k.h:390
opj_tcp_t * tcps
tile coding parameters
Definition j2k.h:393
OPJ_BOOL info_on
enables writing of informative techniques of ESD, in case of activated JPWL
Definition j2k.h:411
int sens_range
sensitivity range (0-3)
Definition j2k.h:431
OPJ_UINT16 rsiz
Size of the image in bits.
Definition j2k.h:351
OPJ_CHAR * comment
comment
Definition j2k.h:361
int sens_MH
sensitivity method for MH (-1,0-7)
Definition j2k.h:433
OPJ_BOOL epb_on
enables writing of EPB, in case of activated JPWL
Definition j2k.h:407
int sens_size
enables writing of ESD, (0/2/4 bytes)
Definition j2k.h:427
OPJ_UINT32 tx0
XTOsiz.
Definition j2k.h:353
int hprot_TPH[JPWL_MAX_NO_TILESPECS]
error protection methods for TPHs (0,1,16,32,37-128)
Definition j2k.h:419
OPJ_UINT32 ppm_markers_count
number of ppm markers (reserved size)
Definition j2k.h:368
Compression parameters.
Definition openjpeg.h:387
Definition j2k.h:335
OPJ_UINT32 m_layer
if != 0, then only the first "layer" layers are decoded; if == 0 or not used, all the quality layers ...
Definition j2k.h:339
OPJ_UINT32 m_reduce
if != 0, then original dimension divided by 2^(reduce); if == 0 or not used, image is decoded to the ...
Definition j2k.h:337
Decompression parameters.
Definition openjpeg.h:546
Definition j2k.h:315
OPJ_BITFIELD m_fixed_quality
add fixed_quality
Definition j2k.h:329
OPJ_INT32 m_tp_pos
Position of tile part flag in progression order.
Definition j2k.h:319
OPJ_BITFIELD m_disto_alloc
allocation by rate/distortion
Definition j2k.h:325
OPJ_BYTE m_tp_flag
Flag determining tile part generation.
Definition j2k.h:323
OPJ_BITFIELD m_tp_on
Enabling Tile part generation.
Definition j2k.h:331
OPJ_BITFIELD m_fixed_alloc
allocation by fixed layer
Definition j2k.h:327
OPJ_UINT32 m_max_comp_size
Maximum rate for each component.
Definition j2k.h:317
OPJ_INT32 * m_matrice
fixed layer
Definition j2k.h:321
Message handler object used for.
Definition event.h:50
Defines a single image component.
Definition openjpeg.h:671
Defines image data and characteristics.
Definition openjpeg.h:703
Definition j2k.h:457
OPJ_UINT32 m_numcomps_to_decode
Definition j2k.h:486
OPJ_INT32 m_tile_ind_to_dec
Index of the tile to decode (used in get_tile)
Definition j2k.h:475
OPJ_UINT32 m_state
locate in which part of the codestream the decoder is (main header, tile header, end)
Definition j2k.h:459
OPJ_BYTE * m_header_data
Definition j2k.h:464
OPJ_UINT32 m_end_tile_x
Definition j2k.h:471
OPJ_UINT32 * m_comps_indices_to_decode
Definition j2k.h:487
OPJ_BITFIELD m_nb_tile_parts_correction_checked
TNsot correction : see issue 254.
Definition j2k.h:494
OPJ_BITFIELD m_discard_tiles
Definition j2k.h:491
OPJ_BITFIELD m_can_decode
to tell that a tile can be decoded.
Definition j2k.h:490
OPJ_UINT32 m_header_data_size
Definition j2k.h:465
OPJ_BITFIELD m_skip_data
Definition j2k.h:492
OPJ_UINT32 m_start_tile_y
Definition j2k.h:470
OPJ_BITFIELD m_nb_tile_parts_correction
Definition j2k.h:495
OPJ_BOOL m_last_tile_part
Indicate that the current tile-part is assume as the last tile part of the codestream.
Definition j2k.h:484
opj_tcp_t * m_default_tcp
store decoding parameters common to all tiles (information like COD, COC in main header)
Definition j2k.h:463
OPJ_UINT32 m_sot_length
to tell the tile part length
Definition j2k.h:467
OPJ_OFF_T m_last_sot_read_pos
Position of the last SOT marker read.
Definition j2k.h:477
OPJ_UINT32 m_start_tile_x
Only tiles index in the correct range will be decoded.
Definition j2k.h:469
OPJ_UINT32 m_end_tile_y
Definition j2k.h:472
Definition j2k.h:499
OPJ_UINT32 m_current_poc_tile_part_number
Tile part number, regardless of poc, for each new poc, tp is reset to 1.
Definition j2k.h:501
OPJ_UINT32 m_encoded_tile_size
Definition j2k.h:528
OPJ_BYTE * m_header_tile_data
Definition j2k.h:531
OPJ_UINT32 m_reserved_bytes_for_PLT
Definition j2k.h:541
OPJ_BYTE * m_tlm_sot_offsets_buffer
Stores the sizes of the tlm.
Definition j2k.h:514
OPJ_UINT32 m_total_tile_parts
Total num of tile parts in whole image = num tiles* num tileparts in each tile.
Definition j2k.h:522
OPJ_BYTE * m_tlm_sot_offsets_current
The current offset of the tlm buffer.
Definition j2k.h:518
OPJ_UINT32 m_header_tile_data_size
Definition j2k.h:535
OPJ_UINT32 m_current_tile_part_number
Tile part number currently coding, taking into account POC.
Definition j2k.h:504
OPJ_BYTE * m_encoded_tile_data
Definition j2k.h:525
OPJ_OFF_T m_tlm_start
locate the start position of the TLM marker after encoding the tilepart, a jump (in j2k_write_sod) is...
Definition j2k.h:510
OPJ_BOOL m_PLT
Definition j2k.h:538
JPEG-2000 codestream reader/writer.
Definition j2k.h:551
OPJ_UINT32 ihdr_w
Image width coming from JP2 IHDR box.
Definition j2k.h:590
opj_procedure_list_t * m_procedure_list
the list of procedures to exec
Definition j2k.h:572
union opj_j2k::@1 m_specific_param
OPJ_UINT32 m_current_tile_number
number of the tile currently concern by coding/decoding
Definition j2k.h:581
opj_codestream_index_t * cstr_index
helper used to write the index file
Definition j2k.h:578
struct opj_tcd * m_tcd
the current tile coder/decoder
Definition j2k.h:584
opj_j2k_dec_t m_decoder
Definition j2k.h:557
OPJ_UINT32 ihdr_h
Image height coming from JP2 IHDR box.
Definition j2k.h:593
opj_j2k_enc_t m_encoder
Definition j2k.h:558
OPJ_BOOL m_is_decoder
Definition j2k.h:553
unsigned int dump_state
Set to 1 by the decoder initialization if OPJ_DPARAMETERS_DUMP_FLAG is set.
Definition j2k.h:596
opj_image_t * m_private_image
pointer to the internal/private encoded / decoded image
Definition j2k.h:563
opj_thread_pool_t * m_tp
Thread pool.
Definition j2k.h:587
opj_cp_t m_cp
Coding parameters.
Definition j2k.h:569
opj_procedure_list_t * m_validation_list
the list of validation procedures to follow to make sure the code is valid
Definition j2k.h:575
opj_image_t * m_output_image
Definition j2k.h:566
FIXME DOC.
Definition j2k.h:210
OPJ_BYTE * m_data
Definition j2k.h:214
OPJ_UINT32 m_data_size
Definition j2k.h:215
OPJ_UINT32 m_index
Definition j2k.h:213
J2K_MCT_ELEMENT_TYPE m_element_type
Definition j2k.h:211
J2K_MCT_ARRAY_TYPE m_array_type
Definition j2k.h:212
Progression order changes.
Definition openjpeg.h:359
Definition j2k.h:231
OPJ_BYTE * m_data
Definition j2k.h:232
OPJ_UINT32 m_data_size
Definition j2k.h:233
A list of procedures.
Definition function_list.h:57
FIXME DOC.
Definition j2k.h:222
OPJ_BITFIELD m_is_irreversible
Definition j2k.h:227
opj_mct_data_t * m_offset_array
Definition j2k.h:226
opj_mct_data_t * m_decorrelation_array
Definition j2k.h:225
OPJ_UINT32 m_index
Definition j2k.h:223
OPJ_UINT32 m_nb_comps
Definition j2k.h:224
Quantization stepsize.
Definition j2k.h:165
OPJ_INT32 expn
exponent
Definition j2k.h:167
OPJ_INT32 mant
mantissa
Definition j2k.h:169
Byte input-output stream.
Definition cio.h:81
Tile-component coding parameters.
Definition j2k.h:175
OPJ_UINT32 numgbits
number of guard bits
Definition j2k.h:193
opj_stepsize_t stepsizes[OPJ_J2K_MAXBANDS]
stepsizes used for quantization
Definition j2k.h:191
OPJ_UINT32 qmfbid
discrete wavelet transform identifier
Definition j2k.h:187
OPJ_UINT32 cblkh
code-blocks height
Definition j2k.h:183
OPJ_UINT32 qntsty
quantisation style
Definition j2k.h:189
OPJ_INT32 roishift
Region Of Interest shift.
Definition j2k.h:195
OPJ_UINT32 cblkw
code-blocks width
Definition j2k.h:181
OPJ_UINT32 csty
coding style
Definition j2k.h:177
OPJ_INT32 m_dc_level_shift
the dc_level_shift
Definition j2k.h:201
OPJ_UINT32 prch[OPJ_J2K_MAXRLVLS]
precinct height
Definition j2k.h:199
OPJ_UINT32 cblksty
code-block coding style
Definition j2k.h:185
OPJ_UINT32 prcw[OPJ_J2K_MAXRLVLS]
precinct width
Definition j2k.h:197
OPJ_UINT32 numresolutions
number of resolutions
Definition j2k.h:179
Tile coder/decoder.
Definition tcd.h:251
opj_image_t * image
image header
Definition tcd.h:265
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition j2k.h:241
OPJ_UINT32 m_nb_max_mcc_records
the max number of mct records.
Definition j2k.h:300
OPJ_UINT32 m_nb_max_mct_records
the max number of mct records.
Definition j2k.h:294
opj_poc_t pocs[J2K_MAX_POCS]
progression order changes
Definition j2k.h:256
OPJ_UINT32 ppt_markers_count
number of ppt markers (reserved size)
Definition j2k.h:259
OPJ_UINT32 m_nb_tile_parts
number of tile parts for the tile.
Definition j2k.h:278
OPJ_INT32 m_current_tile_part_number
current tile part number or -1 if first time into this tile
Definition j2k.h:276
OPJ_BITFIELD POC
indicates if a POC marker has been used O:NO, 1:YES
Definition j2k.h:309
OPJ_BYTE * ppt_buffer
used to keep a track of the allocated memory
Definition j2k.h:266
OPJ_UINT32 csty
coding style
Definition j2k.h:243
OPJ_UINT32 num_layers_to_decode
Definition j2k.h:248
OPJ_UINT32 mct
multi-component transform identifier
Definition j2k.h:250
OPJ_UINT32 m_nb_mcc_records
the number of mct records.
Definition j2k.h:298
OPJ_PROG_ORDER prg
progression order
Definition j2k.h:245
OPJ_UINT32 m_nb_mct_records
the number of mct records.
Definition j2k.h:292
OPJ_FLOAT32 rates[100]
rates of layers
Definition j2k.h:252
OPJ_BYTE * m_data
data for the tile
Definition j2k.h:280
opj_tccp_t * tccps
tile-component coding parameters
Definition j2k.h:274
OPJ_UINT32 ppt_data_size
Number of bytes stored inside ppt_data.
Definition j2k.h:268
opj_simple_mcc_decorrelation_data_t * m_mcc_records
mcc records
Definition j2k.h:296
OPJ_BYTE * ppt_data
packet header store there for future use in t2_decode_packet
Definition j2k.h:264
OPJ_UINT32 numpocs
number of progression order changes
Definition j2k.h:254
OPJ_UINT32 numlayers
number of layers
Definition j2k.h:247
OPJ_UINT32 ppt_len
size of ppt_data
Definition j2k.h:270
OPJ_BITFIELD cod
If cod == 1 --> there was a COD marker for the present tile.
Definition j2k.h:305
OPJ_UINT32 m_data_size
size of data
Definition j2k.h:282
OPJ_FLOAT32 * m_mct_decoding_matrix
the mct decoding matrix
Definition j2k.h:286
OPJ_FLOAT64 * mct_norms
encoding norms
Definition j2k.h:284
OPJ_BITFIELD ppt
If ppt == 1 --> there was a PPT marker for the present tile.
Definition j2k.h:307
opj_ppx * ppt_markers
ppt markers data (table indexed by Zppt)
Definition j2k.h:261
OPJ_FLOAT32 * m_mct_coding_matrix
the mct coding matrix
Definition j2k.h:288
opj_mct_data_t * m_mct_records
mct records
Definition j2k.h:290
OPJ_FLOAT32 distoratio[100]
add fixed_quality
Definition j2k.h:272
Definition thread.c:605