Go to the documentation of this file.
61 #define J2K_CP_CSTY_PRT 0x01
62 #define J2K_CP_CSTY_SOP 0x02
63 #define J2K_CP_CSTY_EPH 0x04
64 #define J2K_CCP_CSTY_PRT 0x01
65 #define J2K_CCP_QNTSTY_NOQNT 0 // no quantization
66 #define J2K_CCP_QNTSTY_SIQNT 1 // derived quantization
67 #define J2K_CCP_QNTSTY_SEQNT 2 // expounded quantization
69 #define GRK_J2K_DEFAULT_CBLK_DATA_SIZE 8192
71 #define J2K_MS_SOC 0xff4f
72 #define J2K_MS_SOT 0xff90
73 #define J2K_MS_SOD 0xff93
74 #define J2K_MS_EOC 0xffd9
75 #define J2K_MS_CAP 0xff50
76 #define J2K_MS_SIZ 0xff51
77 #define J2K_MS_COD 0xff52
78 #define J2K_MS_COC 0xff53
79 #define J2K_MS_RGN 0xff5e
80 #define J2K_MS_QCD 0xff5c
81 #define J2K_MS_QCC 0xff5d
82 #define J2K_MS_POC 0xff5f
83 #define J2K_MS_TLM 0xff55
84 #define J2K_MS_PLM 0xff57
85 #define J2K_MS_PLT 0xff58
86 #define J2K_MS_PPM 0xff60
87 #define J2K_MS_PPT 0xff61
88 #define J2K_MS_SOP 0xff91
89 #define J2K_MS_EPH 0xff92
90 #define J2K_MS_CRG 0xff63
91 #define J2K_MS_COM 0xff64
92 #define J2K_MS_CBD 0xff78
93 #define J2K_MS_MCC 0xff75
94 #define J2K_MS_MCT 0xff74
95 #define J2K_MS_MCO 0xff77
116 struct TileProcessor;
127 uint8_t *p_header_data, uint16_t header_size);
141 uint16_t current_marker, uint16_t marker_size,
295 uint32_t start_y, uint32_t end_x, uint32_t end_y);
323 uint16_t tile_index, uint8_t *p_data,
@ J2K_DEC_STATE_ERR
the decoding process has encountered an error
Definition: CodeStream.h:113
bool j2k_init_mct_encoding(TileCodingParams *p_tcp, grk_image *p_image)
Code stream index info.
Definition: grok.h:1149
const uint32_t default_numbers_segments
Definition: CodeStream.h:56
EncoderState m_encoder
Definition: CodeStream.h:175
@ J2K_DEC_STATE_TPH_SOT
the decoding process is in a tile part header and expects a SOT marker
Definition: CodeStream.h:108
@ J2K_DEC_STATE_NONE
no decode state
Definition: CodeStream.h:104
const GRK_PROG_ORDER GRK_COMP_PARAM_DEFAULT_PROG_ORDER
Definition: CodeStream.h:40
const uint32_t default_number_mct_records
Definition: CodeStream.h:59
uint32_t states
value of the state when the marker can appear
Definition: CodeStream.h:124
uint16_t m_marker_scratch_size
Definition: CodeStream.h:206
bool j2k_read_header(BufferedStream *stream, CodeStream *codeStream, grk_header_info *header_info, grk_image **image)
Read a JPEG 2000 code stream header.
const uint32_t max_passes_per_segment
Definition: CodeStream.h:46
Tile coder/decoder.
Definition: TileProcessor.h:211
int32_t m_tile_ind_to_dec
index of the tile to decompress (used in get_tile); !!! initialized to -1 !!!
Definition: CodeStream.h:201
bool j2k_init_compress(CodeStream *codeStream, grk_cparameters *parameters, grk_image *image)
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition: CodingParams.h:117
const uint32_t max_num_tile_parts
Definition: CodeStream.h:49
@ GRK_LRCP
layer-resolution-component-precinct order
Definition: grok.h:290
DecoderState m_decoder
Definition: CodeStream.h:174
bool j2k_end_decompress(CodeStream *j2k, BufferedStream *stream)
Ends the decompression procedures and possibiliy add data to be read after the code stream.
const uint32_t tlm_len_per_tile_part
Definition: CodeStream.h:35
Byte input-output stream.
Definition: BufferedStream.h:38
@ J2K_DEC_STATE_MH_SOC
a SOC marker is expected
Definition: CodeStream.h:105
@ J2K_DEC_STATE_TPH
the decoding process is in a tile part header
Definition: CodeStream.h:109
bool process_marker(const grk_dec_memory_marker_handler *marker_handler, uint16_t current_marker, uint16_t marker_size, TileProcessor *tileProcessor, BufferedStream *stream)
const uint32_t max_precision_jpeg_2000
Definition: CodeStream.h:44
const uint32_t default_header_size
Definition: CodeStream.h:57
grk_image * m_input_image
internal/private encoded / decoded image
Definition: CodeStream.h:178
grk_codestream_index * cstr_index
helper used to write the index file
Definition: CodeStream.h:193
void j2k_destroy(CodeStream *codeStream)
Destroys a JPEG 2000 code stream.
Plugin tile.
Definition: grok.h:1242
bool m_nb_tile_parts_correction_checked
TNsot correction : see issue 254.
Definition: CodeStream.h:213
grk_image * m_output_image
Definition: CodeStream.h:181
Definition: CodingParams.h:318
TileProcessor * m_tileProcessor
current TileProcessor
Definition: CodeStream.h:196
const uint32_t default_number_mcc_records
Definition: CodeStream.h:58
Definition: CodingParams.h:272
uint8_t * m_marker_scratch
Definition: CodeStream.h:205
const uint64_t max_tile_area
Definition: CodeStream.h:54
bool j2k_compress(CodeStream *codeStream, grk_plugin_tile *tile, BufferedStream *stream)
Encodes an image into a JPEG 2000 code stream.
bool m_nb_tile_parts_correction
Definition: CodeStream.h:214
bool set_decompress_area(grk_image *p_image, uint32_t start_x, uint32_t start_y, uint32_t end_x, uint32_t end_y)
Sets the given area to be decoded.
enum _GRK_PROG_ORDER GRK_PROG_ORDER
Progression order.
Coding parameters.
Definition: CodingParams.h:230
const uint32_t max_num_components
Definition: CodeStream.h:45
Definition: CodeStream.h:130
CodingParams m_cp
Coding parameters.
Definition: CodeStream.h:184
@ J2K_DEC_STATE_NO_EOC
the decoding process must not expect a EOC marker because the code stream is truncated
Definition: CodeStream.h:110
const uint32_t sot_marker_segment_len
Definition: CodeStream.h:31
const uint32_t SPCod_SPCoc_len
Definition: CodeStream.h:33
Core decompress parameters.
Definition: grok.h:669
bool j2k_end_compress(CodeStream *codeStream, BufferedStream *stream)
Ends the compression procedures and possibility add data to be read after the code stream.
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKW
Definition: CodeStream.h:38
grk_plugin_tile * current_plugin_tile
Definition: CodeStream.h:211
const uint32_t max_num_tile_parts_per_tile
Definition: CodeStream.h:48
char * j2k_convert_progression_order(GRK_PROG_ORDER prg_order)
Converts an enum type progression order to string type.
std::vector< j2k_procedure > m_procedure_list
the list of procedures to exec
Definition: CodeStream.h:187
bool j2k_compress_tile(CodeStream *codeStream, TileProcessor *tileProcessor, uint16_t tile_index, uint8_t *p_data, uint64_t uncompressed_data_size, BufferedStream *stream)
Writes a tile.
bool j2k_start_compress(CodeStream *codeStream, BufferedStream *stream)
Starts a compression scheme, i.e.
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: BitIO.h:27
@ J2K_DEC_STATE_EOC
the decoding process has encountered the EOC marker
Definition: CodeStream.h:112
bool isDecodingTilePartHeader()
TileCodingParams * get_current_decode_tcp(TileProcessor *tileProcessor)
Definition: CodeStream.h:120
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKH
Definition: CodeStream.h:39
bool j2k_decompress_tile(CodeStream *codeStream, BufferedStream *stream, grk_image *p_image, uint16_t tile_index)
const uint32_t max_supported_precision
Definition: CodeStream.h:55
@ J2K_DEC_STATE_DATA
the decoding process is expecting to read tile data from the code stream
Definition: CodeStream.h:111
std::vector< j2k_procedure > m_validation_list
the list of validation procedures to follow to make sure the code is valid
Definition: CodeStream.h:190
const uint32_t max_num_tiles
Definition: CodeStream.h:47
void j2k_init_decompressor(void *j2k, grk_dparameters *parameters)
Setup the decoder decoding parameters using user parameters.
@ J2K_DEC_STATE_MH_SIZ
a SIZ marker is expected
Definition: CodeStream.h:106
const uint32_t GRK_COMP_PARAM_DEFAULT_NUMRESOLUTION
Definition: CodeStream.h:41
bool j2k_decompress(CodeStream *codeStream, grk_plugin_tile *tile, BufferedStream *stream, grk_image *image)
Decode an image from a JPEG 2000 code stream.
bool alloc_multi_tile_output_data(grk_image *p_output_image)
Allocate output buffer for multiple tile decode.
bool j2k_set_decompress_area(CodeStream *codeStream, grk_image *image, uint32_t start_x, uint32_t start_y, uint32_t end_x, uint32_t end_y)
Set the given area to be decoded.
@ J2K_DEC_STATE_MH
the decoding process is in the main header
Definition: CodeStream.h:107
bool(* j2k_procedure)(CodeStream *codeStream, TileProcessor *tileProcessor, BufferedStream *stream)
Definition: CodeStream.h:117
bool read_marker(BufferedStream *stream, uint16_t *val)
Image.
Definition: grok.h:880
Compress parameters.
Definition: grok.h:428
const uint32_t cod_coc_len
Definition: CodeStream.h:34
bool whole_tile_decoding
Only valid for decoding.
Definition: CodeStream.h:210
bool j2k_read_tile_header(CodeStream *codeStream, TileProcessor *tileProcessor, bool *can_decode_tile_data, BufferedStream *stream)
Reads a tile header.
const uint32_t max_tile_part_size
Definition: CodeStream.h:51
uint16_t id
marker value
Definition: CodeStream.h:122