127 void setIsHT(
bool ht,
bool reversible, uint8_t guardBits);
303 class CodeStreamDecompress;
Definition: CodeStreamDecompress.h:38
Definition: GrkImage.h:19
Definition: PPMMarker.h:35
#define GRK_NUM_COMMENTS_SUPPORTED
Definition: grok.h:384
enum _GRK_PROG_ORDER GRK_PROG_ORDER
Progression order.
#define GRK_J2K_MAXRLVLS
Maximum number of resolution levels authorized.
Definition: grok.h:91
#define GRK_J2K_MAXBANDS
Maximum number of sub-bands.
Definition: grok.h:93
Copyright (C) 2016-2021 Grok Image Compression Inc.
Definition: ICacheable.h:20
const uint16_t maxCompressLayersGRK
Definition: CodeStreamLimits.h:43
DECOMPRESS_STATE
Status of decoding process when decoding main header or tile header.
Definition: CodingParams.h:288
@ DECOMPRESS_STATE_TPH
the decoding process is in a tile part header
Definition: CodingParams.h:293
@ DECOMPRESS_STATE_MH_SIZ
a SIZ marker is expected
Definition: CodingParams.h:291
@ DECOMPRESS_STATE_DATA
the decoding process is expecting to read tile data from the code stream
Definition: CodingParams.h:296
@ DECOMPRESS_STATE_NONE
no decompress state
Definition: CodingParams.h:289
@ DECOMPRESS_STATE_EOC
the decoding process has encountered the EOC marker
Definition: CodingParams.h:298
@ DECOMPRESS_STATE_NO_EOC
the decoding process must not expect a EOC marker because the code stream is truncated
Definition: CodingParams.h:299
@ DECOMPRESS_STATE_MH_SOC
a SOC marker is expected
Definition: CodingParams.h:290
@ DECOMPRESS_STATE_TPH_SOT
the decoding process is in a tile part header and expects a SOT marker
Definition: CodingParams.h:294
@ DECOMPRESS_STATE_MH
the decoding process is in the main header
Definition: CodingParams.h:292
J2K_MCT_ARRAY_TYPE
Type of MCT array.
Definition: CodingParams.h:43
@ MCT_TYPE_OFFSET
Definition: CodingParams.h:46
@ MCT_TYPE_DECORRELATION
Definition: CodingParams.h:45
@ MCT_TYPE_DEPENDENCY
Definition: CodingParams.h:44
J2K_MCT_ELEMENT_TYPE
Type of elements storing in the MCT data.
Definition: CodingParams.h:32
@ MCT_TYPE_FLOAT
MCT data is stored as signed integers.
Definition: CodingParams.h:35
@ MCT_TYPE_INT16
Definition: CodingParams.h:33
@ MCT_TYPE_INT32
MCT data is stored as signed shorts.
Definition: CodingParams.h:34
@ MCT_TYPE_DOUBLE
MCT data is stored as floats.
Definition: CodingParams.h:36
Progression order change.
Definition: grok.h:417
Coding parameters.
Definition: CodingParams.h:242
union grk::CodingParams::@0 m_coding_params
size_t num_comments
comments
Definition: CodingParams.h:262
uint32_t t_grid_width
number of tiles in width
Definition: CodingParams.h:268
CodingParams()
Definition: CodingParams.cpp:26
TileCodingParams * tcps
tile coding parameters
Definition: CodingParams.h:273
uint32_t t_grid_height
number of tiles in height
Definition: CodingParams.h:270
grkRectU32 getTileBounds(const GrkImage *p_image, uint32_t tile_x, uint32_t tile_y) const
Definition: CodingParams.cpp:45
uint16_t ccap[32]
Definition: CodingParams.h:252
uint32_t t_width
XTsiz.
Definition: CodingParams.h:258
PacketLengthMarkers * plm_markers
Definition: CodingParams.h:280
uint32_t pcap
Definition: CodingParams.h:250
uint32_t tx0
XTOsiz.
Definition: CodingParams.h:254
bool isBinaryComment[GRK_NUM_COMMENTS_SUPPORTED]
Definition: CodingParams.h:265
uint32_t t_height
YTsiz.
Definition: CodingParams.h:260
uint32_t ty0
YTOsiz.
Definition: CodingParams.h:256
uint16_t rsiz
Rsiz.
Definition: CodingParams.h:248
TileLengthMarkers * tlm_markers
Definition: CodingParams.h:279
EncodingParams m_enc
Definition: CodingParams.h:277
char * comment[GRK_NUM_COMMENTS_SUPPORTED]
Definition: CodingParams.h:263
PPMMarker * ppm_marker
Definition: CodingParams.h:271
~CodingParams()
Definition: CodingParams.cpp:33
uint16_t comment_len[GRK_NUM_COMMENTS_SUPPORTED]
Definition: CodingParams.h:264
DecodingParams m_dec
Definition: CodingParams.h:276
Definition: CodingParams.h:342
CompressorState()
Definition: CodingParams.h:343
uint16_t m_total_tile_parts
Total num of tile parts in whole image = num tiles* num tileparts in each tile.
Definition: CodingParams.h:346
Definition: CodingParams.h:229
uint8_t m_reduce
if != 0, then original dimension divided by 2^(reduce); if == 0 or not used, image is decompressed to...
Definition: CodingParams.h:232
uint16_t m_layer
if != 0, then only the first "layer" layers are decompressed; if == 0 or not used,...
Definition: CodingParams.h:235
Definition: CodingParams.h:306
uint32_t m_end_tile_x_index
Definition: CodingParams.h:320
bool lastTilePartWasRead
Definition: CodingParams.h:332
bool lastTilePartInCodeStream
Indicate that the current tile-part is assumed to be the last tile part of the code stream.
Definition: CodingParams.h:329
TileCodingParams * m_default_tcp
Definition: CodingParams.h:316
uint64_t lastSotReadPosition
Position of the last SOT marker read.
Definition: CodingParams.h:323
bool findNextTile(CodeStreamDecompress *codeStream)
Definition: CodingParams.cpp:252
uint16_t m_state
Decoder state: used to indicate in which part of the code stream the decompressor is (main header,...
Definition: CodingParams.h:338
bool skipTileData
Definition: CodingParams.h:333
uint32_t m_end_tile_y_index
Definition: CodingParams.h:321
uint32_t m_start_tile_y_index
Definition: CodingParams.h:319
uint32_t m_start_tile_x_index
Only tile indices in the correct range will be decompressed.
Definition: CodingParams.h:318
void andState(uint16_t state)
Definition: CodingParams.cpp:248
void orState(uint16_t state)
Definition: CodingParams.cpp:244
DecompressorState()
Definition: CodingParams.cpp:229
uint16_t getState(void)
Definition: CodingParams.cpp:236
void setState(uint16_t state)
Definition: CodingParams.cpp:240
Definition: CodingParams.h:206
uint32_t newTilePartProgressionPosition
Position of tile part flag in progression order.
Definition: CodingParams.h:211
bool writePLT
Definition: CodingParams.h:221
size_t m_max_comp_size
Maximum rate for each component.
Definition: CodingParams.h:209
bool m_enableTilePartGeneration
Enabling Tile part generation.
Definition: CodingParams.h:219
bool m_allocationByFixedQuality
allocation by fixed_quality
Definition: CodingParams.h:217
bool m_allocationByRateDistortion
allocation by rate/distortion
Definition: CodingParams.h:215
uint8_t m_newTilePartProgressionDivider
Flag determining tile part generation.
Definition: CodingParams.h:213
bool writeTLM
Definition: CodingParams.h:223
uint32_t rateControlAlgorithm
Definition: CodingParams.h:225
Definition: PacketLengthMarkers.h:39
Definition: Quantizer.h:39
Definition: SparseBuffer.h:28
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition: CodingParams.h:122
bool hasPoc(void)
Definition: CodingParams.cpp:213
GRK_PROG_ORDER prg
progression order
Definition: CodingParams.h:135
SparseBuffer * m_compressedTileData
Definition: CodingParams.h:176
float * m_mct_decoding_matrix
the mct decoding matrix
Definition: CodingParams.h:180
uint32_t main_qcd_qntsty
Definition: CodingParams.h:162
int16_t m_tilePartIndexCounter
Definition: CodingParams.h:173
grk_mct_data * m_mct_records
mct records
Definition: CodingParams.h:184
uint32_t m_nb_mcc_records
the number of mct records.
Definition: CodingParams.h:192
uint32_t main_qcd_numStepSizes
Definition: CodingParams.h:164
uint8_t * ppt_buffer
used to keep a track of the allocated memory
Definition: CodingParams.h:154
uint8_t csty
coding style
Definition: CodingParams.h:133
double rates[maxCompressLayersGRK]
rates of layers
Definition: CodingParams.h:142
uint8_t mct
multi-component transform identifier
Definition: CodingParams.h:140
float * m_mct_coding_matrix
the mct coding matrix
Definition: CodingParams.h:182
bool cod
If cod == true --> there was a COD marker for the present tile.
Definition: CodingParams.h:196
uint32_t m_nb_mct_records
the number of mct records.
Definition: CodingParams.h:186
bool ppt
If ppt == true --> there was a PPT marker for the present tile.
Definition: CodingParams.h:198
TileComponentCodingParams * tccps
tile-component coding parameters
Definition: CodingParams.h:166
uint8_t * ppt_data
packet header store there for future use in t2_decode_packet
Definition: CodingParams.h:152
uint16_t numLayersToDecompress
Definition: CodingParams.h:138
size_t ppt_data_size
Number of bytes stored inside ppt_data.
Definition: CodingParams.h:156
bool isHT(void)
Definition: CodingParams.cpp:205
double * mct_norms
compressing norms
Definition: CodingParams.h:178
uint16_t numlayers
number of layers
Definition: CodingParams.h:137
void setIsHT(bool ht, bool reversible, uint8_t guardBits)
Definition: CodingParams.cpp:198
uint32_t ppt_markers_count
number of ppt markers (reserved size)
Definition: CodingParams.h:148
Quantizer * m_qcd
Definition: CodingParams.h:199
bool copy(const TileCodingParams *rhs, const GrkImage *image)
Definition: CodingParams.cpp:112
uint32_t m_nb_max_mct_records
the max number of mct records.
Definition: CodingParams.h:188
uint32_t getNumProgressions(void)
Definition: CodingParams.cpp:209
TileCodingParams()
Definition: CodingParams.cpp:65
uint32_t m_nb_max_mcc_records
the max number of mct records.
Definition: CodingParams.h:194
size_t ppt_len
size of ppt_data
Definition: CodingParams.h:158
grk_ppx * ppt_markers
ppt markers data (table indexed by Zppt)
Definition: CodingParams.h:150
uint8_t m_numTileParts
number of tile parts for the tile.
Definition: CodingParams.h:175
~TileCodingParams()
Definition: CodingParams.cpp:82
double distortion[maxCompressLayersGRK]
fixed_quality
Definition: CodingParams.h:160
uint32_t numpocs
number of progression order changes
Definition: CodingParams.h:144
grk_progression progressionOrderChange[GRK_J2K_MAXRLVLS]
progression order changes
Definition: CodingParams.h:146
grk_simple_mcc_decorrelation_data * m_mcc_records
mcc records
Definition: CodingParams.h:190
bool m_ht
Definition: CodingParams.h:202
Tile-component coding parameters.
Definition: CodingParams.h:53
grk_stepsize stepsizes[GRK_J2K_MAXBANDS]
stepsizes used for quantization
Definition: CodingParams.h:77
uint8_t csty
coding style
Definition: CodingParams.h:56
uint8_t cblkh
log2(code-blocks height)
Definition: CodingParams.h:62
uint8_t numgbits
number of guard bits
Definition: CodingParams.h:81
uint8_t cblk_sty
code-block mode
Definition: CodingParams.h:64
uint8_t qmfbid
discrete wavelet transform identifier
Definition: CodingParams.h:66
int32_t m_dc_level_shift
the dc_level_shift
Definition: CodingParams.h:89
bool fromTileHeader
Definition: CodingParams.h:73
bool fromQCC
Definition: CodingParams.h:71
uint32_t precinctHeightExp[GRK_J2K_MAXRLVLS]
precinct height (power of 2 exponent, < 16)
Definition: CodingParams.h:87
uint8_t numresolutions
number of resolutions
Definition: CodingParams.h:58
TileComponentCodingParams()
Definition: CodingParams.cpp:217
uint8_t roishift
Region Of Interest shift.
Definition: CodingParams.h:83
uint8_t cblkw
log2(code-blocks width)
Definition: CodingParams.h:60
uint32_t precinctWidthExp[GRK_J2K_MAXRLVLS]
precinct width (power of 2 exponent, < 16)
Definition: CodingParams.h:85
uint8_t qntsty
quantisation style
Definition: CodingParams.h:75
uint8_t numStepSizes
Definition: CodingParams.h:79
bool quantizationMarkerSet
Definition: CodingParams.h:69
Definition: LengthCache.h:117
MCT data.
Definition: CodingParams.h:96
J2K_MCT_ARRAY_TYPE m_array_type
Definition: CodingParams.h:98
uint32_t m_index
Definition: CodingParams.h:99
J2K_MCT_ELEMENT_TYPE m_element_type
Definition: CodingParams.h:97
uint32_t m_data_size
Definition: CodingParams.h:101
uint8_t * m_data
Definition: CodingParams.h:100
Definition: PPMMarker.h:29
MCC decorrelation data.
Definition: CodingParams.h:108
grk_mct_data * m_offset_array
Definition: CodingParams.h:112
uint32_t m_index
Definition: CodingParams.h:109
uint32_t m_is_irreversible
Definition: CodingParams.h:113
grk_mct_data * m_decorrelation_array
Definition: CodingParams.h:111
uint32_t m_nb_comps
Definition: CodingParams.h:110
Quantization stepsize.
Definition: Quantizer.h:30