Go to the documentation of this file.
44 void init(uint32_t numcomps, uint32_t numres, uint64_t numprec, uint32_t numlayers);
46 void packet_encoded(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer);
47 bool is_packet_encoded(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer);
56 uint64_t
get_buffer_len(uint32_t numcomps, uint32_t numres, uint64_t numprec, uint32_t numlayers);
57 uint64_t
index(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer);
190 bool t2_encode(uint32_t *packet_bytes_written);
void synch(CompressCodeblock *cblk)
Definition: RateInfo.cpp:29
bool is_whole_tilecomp_decoding(uint32_t compno)
Returns whether a tile component should be fully decompressed, taking into account win_* members.
Definition: TileProcessor.cpp:805
Code stream index info.
Definition: grok.h:1158
static const double * get_norms_irrev(void)
Get wavelet norms for irreversible transform.
Definition: mct.cpp:40
@ J2K_DEC_STATE_TPH_SOT
the decoding process is in a tile part header and expects a SOT marker
Definition: CodingParams.h:292
void make_layer_simple(uint32_t layno, double thresh, bool final)
Definition: TileProcessor.cpp:482
uint32_t m_numlayers
Definition: TileProcessor.h:54
uint32_t m_numres
Definition: TileProcessor.h:52
PacketTracker m_packetTracker
Definition: TileProcessor.h:161
Resolution * resolutions
Definition: TileComponent.h:57
TileCodingParams * m_tcp
Definition: TileProcessor.h:170
void initTagTrees(void)
Definition: T1Structs.cpp:79
bool decompress_tile_t1(void)
T1 decompress.
Definition: TileProcessor.cpp:852
uint32_t rateControlAlgorithm
Definition: CodingParams.h:222
bool m_last_tile_part_in_code_stream
Indicate that the current tile-part is assumed to be the last tile part of the code stream.
Definition: CodingParams.h:341
bool copy_decompressed_tile_to_output_image(grk_image *p_output_image)
tile_data stores only the decompressed resolutions, in the actual precision of the decompressed image...
Definition: TileProcessor.cpp:1207
T height() const
Definition: util.h:172
uint32_t numPassesInPreviousPackets
Definition: T1Structs.h:131
uint32_t rate
Definition: T1Structs.h:85
DecoderState m_decompressor
Definition: CodeStream.h:299
EncodingParams m_enc
Definition: CodingParams.h:272
bool decompress(TileProcessor *p_tcd, TileComponent *tilec, grk_rect_u32 window, uint32_t numres, uint8_t qmfbid)
Definition: WaveletReverse.cpp:2117
bool compress(TileComponent *tile_comp, uint8_t qmfbid)
Definition: WaveletFwdImpl.cpp:159
Tile compressor/decompressor.
Definition: TileProcessor.h:63
static void decompress_dc_shift_rev(grk_tile *tile, grk_image *image, TileComponentCodingParams *tccps, uint32_t compno)
Apply a reversible inverse dc shift to an image.
Definition: mct.cpp:273
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition: CodingParams.h:121
double distolayer[100]
Definition: TileProcessor.h:37
double distoratio[100]
fixed_quality
Definition: CodingParams.h:157
BufferedStream * m_stream
Definition: TileProcessor.h:162
TileComponentCodingParams * tccps
tile-component coding parameters
Definition: CodingParams.h:163
uint32_t t_grid_width
number of tiles in width
Definition: CodingParams.h:261
const double shift
Definition: RateControl.cpp:154
Byte input-output stream.
Definition: BufferedStream.h:38
bool m_fixed_quality
allocation by fixed_quality
Definition: CodingParams.h:214
grk_image_comp * comps
image components
Definition: grok.h:906
bool copy_uncompressed_data_to_tile(uint8_t *p_src, uint64_t src_length)
Copies tile data from the given memory block onto the system.
Definition: TileProcessor.cpp:1340
bool write_short(uint16_t value)
Definition: BufferedStream.cpp:185
Definition: T1DecompressScheduler.h:27
void makelayer_feasible(uint32_t layno, uint16_t thresh, bool final)
Definition: TileProcessor.cpp:95
void GRK_WARN(const char *fmt,...)
Definition: logger.cpp:49
union grk::CodingParams::@0 m_coding_params
bool dwt_encode()
Definition: TileProcessor.cpp:1049
grk_tile * tile
info on image tile
Definition: TileProcessor.h:146
Tier-2 decoding.
Definition: T2Decompress.h:28
uint32_t numPassesInPacket
Definition: T1Structs.h:110
uint32_t t_grid_height
number of tiles in height
Definition: CodingParams.h:263
uint32_t tile_part_data_length
Definition: TileProcessor.h:135
uint8_t m_tile_part_index
Compressing Only index of tile part being currently coding.
Definition: TileProcessor.h:132
bool compress_tile_part(uint32_t *tile_bytes_written)
Compress tile part.
Definition: TileProcessor.cpp:782
static const float K
Definition: WaveletReverse.cpp:197
T x1
Definition: util.h:77
bool pcrd_bisect_simple(uint32_t *p_data_written)
Definition: TileProcessor.cpp:314
uint8_t m_nb_tile_parts
number of tile parts for the tile.
Definition: CodingParams.h:169
TileProcessor(CodeStream *codeStream, BufferedStream *stream)
Definition: TileProcessor.cpp:28
uint8_t totnum_tp
Compressing Only Total number of tile parts of the tile.
Definition: TileProcessor.h:139
#define GRK_PLUGIN_STATE_MCT_ONLY
Definition: grok.h:1768
static bool compress_custom(uint8_t *p_coding_data, uint64_t n, uint8_t **p_data, uint32_t nb_comp, uint32_t is_signed)
Custom MCT transform.
Definition: mct.cpp:524
bool needs_rate_control()
Definition: TileProcessor.cpp:77
void packet_encoded(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer)
Definition: TileProcessor.cpp:1548
uint16_t numcomps
number of components in the image
Definition: grok.h:902
grk_codestream_index * cstr_index
helper used to write the index file
Definition: CodeStream.h:318
Definition: T1Structs.h:83
Definition: T1CompressScheduler.h:24
static void decompress_rev(grk_tile *tile, grk_image *image, TileComponentCodingParams *tccps)
Apply a reversible multi-component inverse transform to an image.
Definition: mct.cpp:338
bool init(grk_image *output_image, bool isCompressor)
Initializes tile processor (no buffer memory is allocated)
Definition: TileProcessor.cpp:649
Plugin tile.
Definition: grok.h:1251
uint64_t m_numprec
Definition: TileProcessor.h:53
bool do_compress(void)
Compress tile.
Definition: TileProcessor.cpp:726
bool is_packet_encoded(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer)
Definition: TileProcessor.cpp:1567
~TileProcessor()
Definition: TileProcessor.cpp:53
TileComponentWindowBuffer< int32_t > * getBuffer() const
Definition: TileComponent.cpp:321
uint8_t * bits
Definition: TileProcessor.h:49
Definition: T1Structs.h:177
uint8_t qmfbid
discrete wavelet transform identifier
Definition: CodingParams.h:65
Definition: WaveletReverse.h:53
uint64_t strided_area(void) const
Definition: TileComponentWindowBuffer.h:447
bool tile_equals(grk_plugin_tile *plugin_tile, grk_tile *p_tile)
Definition: plugin_bridge.cpp:85
uint64_t end_pos
end position
Definition: grok.h:1130
uint32_t tp_pos
position of the tile part flag in progression order
Definition: TileProcessor.h:167
float * m_mct_decoding_matrix
the mct decoding matrix
Definition: CodingParams.h:176
static bool decompress_custom(uint8_t *pDecodingData, uint64_t n, uint8_t **pData, uint32_t pNbComp, uint32_t isSigned)
Custom MCT decode.
Definition: mct.cpp:560
uint32_t current_tpsno
current tile-part index
Definition: grok.h:1144
bool dc_level_shift_decompress()
Definition: TileProcessor.cpp:985
Definition: TileProcessor.h:41
uint32_t GRK_CALLCONV grk_plugin_get_debug_state()
Get debug state of plugin.
Definition: grok.cpp:633
#define J2K_MS_SOD
SOD marker value.
Definition: CodeStream.h:74
void copy_image_to_tile()
Definition: TileProcessor.cpp:904
grk_rect_u32 getTileBounds(const grk_image *p_image, uint32_t tile_x, uint32_t tile_y) const
Definition: CodingParams.cpp:26
#define GRK_DECODE_T1
Definition: grok.h:1243
double distotile
Definition: TileProcessor.h:36
bool dc_level_shift_encode()
Definition: TileProcessor.cpp:998
TileComponent * comps
Definition: TileProcessor.h:35
uint64_t get_buffer_len(uint32_t numcomps, uint32_t numres, uint64_t numprec, uint32_t numlayers)
Definition: TileProcessor.cpp:1540
void clear(void)
Definition: TileProcessor.cpp:1534
static void prepareBlockForFirstLayer(CompressCodeblock *cblk)
Definition: TileProcessor.cpp:473
Coding parameters.
Definition: CodingParams.h:235
uint8_t cblkh
log2(code-blocks height)
Definition: CodingParams.h:58
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:227
uint64_t get_number_byte_left(void)
Get the number of bytes left before end of stream.
Definition: BufferedStream.cpp:333
Definition: CodeStream.h:164
uint64_t tell(void)
Tells byte offset of stream (similar to ftell).
Definition: BufferedStream.cpp:330
bool pcrd_bisect_feasible(uint32_t *p_data_written)
Definition: TileProcessor.cpp:181
uint32_t pino
Compressing Only Current packet iterator number.
Definition: TileProcessor.h:143
static bool add_to_index(uint16_t tileno, grk_codestream_index *cstr_index, uint32_t type, uint64_t pos, uint32_t len)
Add tile header marker information.
Definition: LengthMarkers.cpp:205
static void decompress_dc_shift_irrev(grk_tile *tile, grk_image *image, TileComponentCodingParams *tccps, uint32_t compno)
Apply an irreversible inverse dc shift to an image.
Definition: mct.cpp:109
@ J2K_DEC_STATE_NO_EOC
the decoding process must not expect a EOC marker because the code stream is truncated
Definition: CodingParams.h:295
float * m_mct_coding_matrix
the mct coding matrix
Definition: CodingParams.h:178
Definition: RateInfo.h:21
void makelayer_final(uint32_t layno)
Definition: TileProcessor.cpp:584
bool rate_allocate(void)
Definition: TileProcessor.cpp:1173
T width() const
Definition: util.h:169
const grk_buffer_2d< T > * getWindow(uint8_t resno, eBandOrientation orientation) const
Get non-LL band window.
Definition: TileComponentWindowBuffer.h:385
Subband band[BAND_NUM_INDICES]
Definition: T1Structs.h:240
bool m_first_poc_tile_part
Compressing Only true for first POC tile part, otherwise false.
Definition: TileProcessor.h:126
bool writePLT
Definition: CodingParams.h:218
bool decompress_tile_t2(ChunkBuffer *src_buf)
T2 decompress.
Definition: TileProcessor.cpp:824
bool sgnd
Definition: grok.h:878
uint32_t y0
YOsiz: vertical offset from the origin of the reference grid to the top side of the image area.
Definition: grok.h:896
Tier-2 coding.
Definition: T2Compress.h:31
#define GRK_DECODE_POST_T1
Definition: grok.h:1244
Copyright (C) 2016-2021 Grok Image Compression Inc.
Definition: BitIO.cpp:23
Definition: T1Structs.h:137
bool layer_needs_rate_control(uint32_t layno)
Definition: TileProcessor.cpp:69
Definition: TileComponent.h:31
bool mct_decompress()
Definition: TileProcessor.cpp:956
grk_tile()
Definition: TileProcessor.cpp:1483
uint64_t index(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer)
Definition: TileProcessor.cpp:1586
int32_t m_dc_level_shift
the dc_level_shift
Definition: CodingParams.h:88
size_t read(uint8_t *p_buffer, size_t p_size)
Reads some bytes from the stream.
Definition: BufferedStream.cpp:51
#define GRK_DECODE_T2
Definition: grok.h:1242
TileCodingParams * tcps
tile coding parameters
Definition: CodingParams.h:268
bool t2_encode(uint32_t *packet_bytes_written)
Definition: TileProcessor.cpp:1086
Definition: TileProcessor.h:31
uint64_t area(void) const
Definition: util.h:166
#define GRK_PLUGIN_STATE_PRE_TR1
Definition: grok.h:1766
grk_rectangle< uint32_t > grk_rect_u32
Definition: util.h:48
bool pre_write_tile(void)
Definition: TileProcessor.cpp:1292
int32_t * data
image component data
Definition: grok.h:880
CodingParams * m_cp
Coding parameters.
Definition: TileProcessor.h:157
bool pre_compress_first_tile_part(void)
Definition: TileProcessor.cpp:762
uint8_t mct
multi-component transform identifier
Definition: CodingParams.h:135
static const double * get_norms_rev(void)
Get wavelet norms for reversible transform.
Definition: mct.cpp:37
grk_rectangle< T > intersection(const grk_rectangle< T > rhs) const
Definition: util.h:144
uint16_t m_tile_index
index of tile being currently compressed/decompressed
Definition: TileProcessor.h:122
double rates[100]
rates of layers
Definition: CodingParams.h:137
bool prepare_sod_decoding(CodeStream *codeStream)
Definition: TileProcessor.cpp:1394
bool need_mct_decompress(uint32_t compno)
Definition: TileProcessor.cpp:933
Definition: T1Structs.h:118
uint16_t getMinimumThresh()
Definition: RateInfo.cpp:47
PacketTracker()
Definition: TileProcessor.cpp:1499
void init(uint32_t numcomps, uint32_t numres, uint64_t numprec, uint32_t numlayers)
Definition: TileProcessor.cpp:1510
Definition: T1Structs.h:231
PacketLengthMarkers * plt_markers
Definition: TileProcessor.h:154
void t1_encode()
Definition: TileProcessor.cpp:1065
uint8_t numresolutions
Definition: TileComponent.h:58
~grk_tile()
Definition: TileProcessor.cpp:1492
bool t2_decompress(ChunkBuffer *src_buf, uint64_t *p_data_read)
Definition: TileProcessor.cpp:924
Definition: ChunkBuffer.h:29
uint16_t numlayers
number of layers
Definition: CodingParams.h:132
static void compress_irrev(int *c0, int *c1, int *c2, uint64_t n)
Apply an irreversible multi-component transform to an image.
Definition: mct.cpp:425
Definition: LengthMarkers.h:88
grk_plugin_tile * current_plugin_tile
Definition: TileProcessor.h:149
TileCodingParams * get_current_decode_tcp(void)
Definition: CodeStream.cpp:1995
void compress_synch_with_plugin(TileProcessor *tcd, uint32_t compno, uint32_t resno, uint32_t bandIndex, uint64_t precinctIndex, uint64_t cblkno, Subband *band, CompressCodeblock *cblk, uint32_t *numPix)
Definition: plugin_bridge.cpp:138
bool make_single_lossless_layer()
Definition: TileProcessor.cpp:87
#define GRK_PLUGIN_STATE_DEBUG
Definition: grok.h:1765
T x0
Definition: util.h:77
bool m_corrupt_packet
Definition: TileProcessor.h:163
uint16_t m_state
Decoder state: used to indicate in which part of the code stream the decompressor is (main header,...
Definition: CodingParams.h:322
void decompress_synch_plugin_with_host(TileProcessor *tcd)
Definition: plugin_bridge.cpp:24
T y1
Definition: util.h:77
uint32_t write()
Definition: LengthMarkers.cpp:326
uint32_t decompress_flags
Definition: grok.h:1252
grk_rect_u32 bounds() const
Get bounds of tile component decompress: reduced tile component coordinates of window compress: unred...
Definition: TileComponentWindowBuffer.h:439
uint32_t x1
Xsiz: width of the reference grid.
Definition: grok.h:898
static void decompress_irrev(grk_tile *tile, grk_image *image, TileComponentCodingParams *tccps)
Apply an irreversible multi-component inverse transform to an image.
Definition: mct.cpp:177
bool mct_encode()
Definition: TileProcessor.cpp:1016
void grk_copy_strided(uint32_t w, uint32_t stride, uint32_t h, T *src, int32_t *dest)
Assume that source stride == source width == destination width.
Definition: TileProcessor.cpp:1328
uint32_t numlenbits
Definition: T1Structs.h:109
uint8_t * getCurrentPtr()
Definition: BufferedStream.cpp:311
bool wholeTileDecompress
Definition: TileProcessor.h:152
DecodingParams m_dec
Definition: CodingParams.h:271
Definition: WaveletFwdImpl.h:23
double distortiondec
Definition: T1Structs.h:86
~PacketTracker()
Definition: TileProcessor.cpp:1506
Image.
Definition: grok.h:890
grk_tp_index * tp_index
information concerning tile parts
Definition: grok.h:1146
T y0
Definition: util.h:77
uint32_t m_tp_pos
Position of tile part flag in progression order.
Definition: CodingParams.h:208
uint64_t packno
Definition: TileProcessor.h:38
uint64_t end_header
end position of the header
Definition: grok.h:1128
void set_context_stream(TileProcessor *p_tileProcessor)
Definition: plugin_bridge.cpp:255
uint32_t y1
Ysiz: height of the reference grid.
Definition: grok.h:900
uint8_t prec
precision
Definition: grok.h:877
uint32_t m_numcomps
Definition: TileProcessor.h:51
void GRK_ERROR(const char *fmt,...)
Definition: logger.cpp:57
bool m_disto_alloc
allocation by rate/distortion
Definition: CodingParams.h:212
static void convexHull(CodePass *pass, uint32_t numPasses)
Definition: RateControl.cpp:31
uint8_t cblkw
log2(code-blocks width)
Definition: CodingParams.h:56
uint32_t numcomps
Definition: TileProcessor.h:34
grk_image * image
image header
Definition: TileProcessor.h:148
bool supportsZeroCopy()
Definition: BufferedStream.cpp:308
static void compress_rev(int32_t *c0, int32_t *c1, int32_t *c2, uint64_t n)
Apply a reversible multi-component transform to an image.
Definition: mct.cpp:48
grk_tile_index * tile_index
Definition: grok.h:1172
uint32_t x0
XOsiz: horizontal offset from the origin of the reference grid to the left side of the image area.
Definition: grok.h:893