53 void init(uint32_t
numcomps, uint32_t numres, uint64_t numprec, uint32_t
numlayers);
55 void packet_encoded(uint32_t
comps, uint32_t res, uint64_t prec, uint32_t layer);
56 bool is_packet_encoded(uint32_t
comps, uint32_t res, uint64_t prec, uint32_t layer);
66 uint64_t get_buffer_len(uint32_t
numcomps, uint32_t numres, uint64_t numprec,
68 uint64_t index(uint32_t
comps, uint32_t res, uint64_t prec, uint32_t layer);
79 explicit TileProcessor(uint16_t index, CodeStream*
codeStream, BufferedStream*
stream,
80 bool isCompressor, StripCache* stripCache);
83 bool createWindowBuffers(
const GrkImage* outputImage);
84 void deallocBuffers();
85 bool preCompressTile(
void);
86 bool canWritePocMarker(
void);
87 bool writeTilePartT2(uint32_t* tileBytesWritten);
88 bool doCompress(
void);
89 bool decompressT2T1(GrkImage* outputImage);
90 bool ingestUncompressedData(uint8_t* p_src, uint64_t src_length);
93 bool cacheTilePartPackets(CodeStreamDecompress*
codeStream);
94 void generateImage(GrkImage* src_image, Tile* src_tile);
95 GrkImage* getImage(
void);
97 void setCorruptPacket(
void);
98 PacketTracker* getPacketTracker(
void);
100 TileCodingParams* getTileCodingParams(
void);
101 uint8_t getMaxNumDecompressResolutions(
void);
102 BufferedStream* getStream(
void);
103 uint32_t getPreCalculatedTileLen(
void);
104 bool canPreCalculateTileLen(
void);
105 uint16_t getIndex(
void)
const;
106 void incrementIndex(
void);
108 Scheduler* getScheduler(
void);
109 bool isCompressor(
void);
126 uint64_t getTilePartDataLength(
void);
127 bool subtractMarkerSegmentLength(uint16_t markerLen);
128 bool setTilePartDataLength(uint16_t tilePart, uint32_t tilePartLength,
130 uint64_t getNumProcessedPackets(
void);
131 void incNumProcessedPackets(
void);
132 void incNumProcessedPackets(uint64_t numPackets);
133 uint64_t getNumDecompressedPackets(
void);
134 void incNumDecompressedPackets(
void);
137 bool isWholeTileDecompress(uint16_t
compno);
138 bool needsMctDecompress(uint16_t
compno);
139 bool needsMctDecompress(
void);
141 bool dcLevelShiftCompress();
145 bool encodeT2(uint32_t* packet_bytes_written);
146 bool rateAllocate(uint32_t* allPacketBytes);
147 bool layerNeedsRateControl(uint32_t
layno);
148 bool makeSingleLosslessLayer();
149 void makeLayerFinal(uint32_t
layno);
150 bool pcrdBisectSimple(uint32_t* p_data_written);
151 void makeLayerSimple(uint32_t
layno,
double thresh,
bool finalAttempt);
152 bool pcrdBisectFeasible(uint32_t* p_data_written);
153 void makeLayerFeasible(uint32_t
layno, uint16_t thresh,
bool finalAttempt);
BufferedStream * stream
Definition BitIO.h:88
BufferedStream * stream_
Definition CodeStream.h:155
CodingParams cp_
Definition CodeStream.h:147
grk_plugin_tile * current_plugin_tile
Definition CodeStream.h:157
uint32_t newTilePartProgressionPosition
Position of tile part flag in progression order.
Definition CodingParams.h:212
double distortion[maxCompressLayersGRK]
fixed_quality
Definition CodingParams.h:161
uint8_t tilePartCounter_
Definition CodingParams.h:174
uint16_t numlayers
number of layers
Definition CodingParams.h:138
bool lastTilePartInCodeStream
Indicate that the current tile-part is assumed to be the last tile part of the code stream.
Definition CodingParams.h:332
uint8_t mct
multi-component transform identifier
Definition CodingParams.h:141
bool needsRateControl
Definition CompressScheduler.h:37
uint16_t numcomps_
Definition DecompressScheduler.h:54
uint16_t layno
Definition PacketIter.h:259
bool isCompressor_
Definition Precinct.h:59
std::atomic< uint64_t > numDecompressedPackets
Definition TileProcessor.h:158
bool corrupt_packet_
Definition TileProcessor.h:167
uint64_t numprec_
Definition TileProcessor.h:63
uint16_t tileIndex_
index of tile being currently compressed/decompressed
Definition TileProcessor.h:162
uint32_t numres_
Definition TileProcessor.h:62
bool first_poc_tile_part_
Compression Only true for first POC tile part, otherwise false.
Definition TileProcessor.h:113
double layerDistoration[maxCompressLayersGRK]
Definition TileProcessor.h:46
uint64_t tilePartDataLength
Definition TileProcessor.h:160
mct * mct_
Definition TileProcessor.h:177
bool truncated
Definition TileProcessor.h:172
uint32_t pino
Compression Only Current packet iterator number.
Definition TileProcessor.h:121
Scheduler * scheduler_
Definition TileProcessor.h:156
uint8_t * bits
Definition TileProcessor.h:59
grk_rect32 unreducedImageWindow
Definition TileProcessor.h:175
PacketTracker packetTracker_
Definition TileProcessor.h:165
PLCache packetLengthCache
Definition TileProcessor.h:125
uint32_t preCalculatedTileLen
Definition TileProcessor.h:176
uint64_t numProcessedPackets
Definition TileProcessor.h:157
uint32_t numlayers_
Definition TileProcessor.h:64
GrkImage * headerImage
Definition TileProcessor.h:122
Definition FlowComponent.h:21
enum _GRK_TILE_CACHE_STRATEGY GRK_TILE_CACHE_STRATEGY
GrkImage * image_
Definition mct.h:130
TileCodingParams * tcp_
Definition mct.h:131
grk_rect< uint32_t > grk_rect32
Definition TileCache.h:61
Copyright (C) 2016-2023 Grok Image Compression Inc.
Definition ICacheable.h:20
grk_rect< uint32_t > grk_rect32
Definition geometry.h:61
grk_plugin_tile * tile
Definition plugin_interface.h:64
uint16_t compno
Definition plugin_interface.h:43
Plugin tile.
Definition grok.h:739