54 void init(uint32_t numcomps, uint32_t numres, uint64_t numprec, uint32_t numlayers);
56 void packet_encoded(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer);
57 bool is_packet_encoded(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer);
67 uint64_t
get_buffer_len(uint32_t numcomps, uint32_t numres, uint64_t numprec,
69 uint64_t
index(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer);
150 bool encodeT2(uint32_t* packet_bytes_written);
188 auto val =
queue.top();
201 return queue.empty();
Definition: CodeStreamDecompress.h:38
Definition: CodeStream.h:128
Definition: GrkImage.h:19
Definition: PacketLengthCache.h:24
Definition: TileProcessor.h:175
void push(TileProcessor *val)
Definition: TileProcessor.h:178
std::priority_queue< TileProcessor *, std::vector< TileProcessor * >, TileProcessorComparator > queue
Definition: TileProcessor.h:205
std::mutex queue_mutex
Definition: TileProcessor.h:206
TileProcessorMinHeap()
Definition: TileProcessor.h:177
bool empty(void)
Definition: TileProcessor.h:198
uint16_t nextTileIndex
Definition: TileProcessor.h:207
TileProcessor * pop(void)
Definition: TileProcessor.h:183
Copyright (C) 2016-2021 Grok Image Compression Inc.
Definition: ICacheable.h:20
const uint16_t maxCompressLayersGRK
Definition: CodeStreamLimits.h:43
Plugin tile.
Definition: grok.h:1096
Coding parameters.
Definition: CodingParams.h:242
Definition: IBufferedStream.h:20
Definition: TileProcessor.h:51
uint8_t * bits
Definition: TileProcessor.h:60
void init(uint32_t numcomps, uint32_t numres, uint64_t numprec, uint32_t numlayers)
Definition: TileProcessor.cpp:1567
uint64_t m_numprec
Definition: TileProcessor.h:64
bool is_packet_encoded(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer)
Definition: TileProcessor.cpp:1612
uint32_t m_numres
Definition: TileProcessor.h:63
PacketTracker()
Definition: TileProcessor.cpp:1560
uint64_t get_buffer_len(uint32_t numcomps, uint32_t numres, uint64_t numprec, uint32_t numlayers)
Definition: TileProcessor.cpp:1592
void clear(void)
Definition: TileProcessor.cpp:1587
uint64_t index(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer)
Definition: TileProcessor.cpp:1624
void packet_encoded(uint32_t comps, uint32_t res, uint64_t prec, uint32_t layer)
Definition: TileProcessor.cpp:1599
~PacketTracker()
Definition: TileProcessor.cpp:1563
uint32_t m_numcomps
Definition: TileProcessor.h:62
uint32_t m_numlayers
Definition: TileProcessor.h:65
Definition: SparseBuffer.h:28
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition: CodingParams.h:122
Definition: TileComponent.h:28
Definition: TileProcessor.h:39
uint16_t numcomps
Definition: TileProcessor.h:42
Tile()
Definition: TileProcessor.cpp:1550
~Tile()
Definition: TileProcessor.cpp:1556
TileComponent * comps
Definition: TileProcessor.h:43
uint64_t numProcessedPackets
Definition: TileProcessor.h:46
double layerDistoration[maxCompressLayersGRK]
Definition: TileProcessor.h:45
uint64_t numDecompressedPackets
Definition: TileProcessor.h:47
double distortion
Definition: TileProcessor.h:44
Definition: TileProcessor.h:167
bool operator()(const TileProcessor *a, const TileProcessor *b) const
Definition: TileProcessor.h:168
Tile processor for decompression and compression.
Definition: TileProcessor.h:77
bool rateAllocate(uint32_t *allPacketBytes)
Definition: TileProcessor.cpp:968
bool allocWindowBuffers(const GrkImage *outputImage)
Definition: TileProcessor.cpp:165
~TileProcessor()
Definition: TileProcessor.cpp:40
bool decompressT2T1(TileCodingParams *tcp, GrkImage *outputImage, bool multiTile, bool doPost)
Definition: TileProcessor.cpp:413
GrkImage * getImage(void)
Definition: TileProcessor.cpp:65
uint32_t getPreCalculatedTileLen(void)
Definition: TileProcessor.cpp:50
void t1_encode()
Definition: TileProcessor.cpp:622
CodingParams * m_cp
Definition: TileProcessor.h:129
TileCodingParams * m_tcp
Definition: TileProcessor.h:141
bool mct_encode()
Definition: TileProcessor.cpp:574
PacketTracker m_packetTracker
Definition: TileProcessor.h:135
uint32_t tilePartDataLength
Definition: TileProcessor.h:117
bool pcrdBisectFeasible(uint32_t *p_data_written)
Definition: TileProcessor.cpp:1092
PacketLengthCache packetLengthCache
Definition: TileProcessor.h:130
bool m_first_poc_tile_part
Compressing Only true for first POC tile part, otherwise false.
Definition: TileProcessor.h:110
bool needsRateControl()
Definition: TileProcessor.cpp:990
Tile * tile
Definition: TileProcessor.h:124
TileCodingParams * getTileCodingParams(void)
Definition: TileProcessor.cpp:77
void makeLayerFeasible(uint32_t layno, uint16_t thresh, bool final)
Definition: TileProcessor.cpp:1010
uint8_t numTilePartsTotal
Compressing Only Total number of tile parts of the tile.
Definition: TileProcessor.h:120
uint8_t m_tilePartIndexCounter
Compressing Only index of tile part being currently coding.
Definition: TileProcessor.h:115
PacketTracker * getPacketTracker(void)
Definition: TileProcessor.cpp:73
GrkImage * headerImage
Definition: TileProcessor.h:125
bool dcLevelShiftCompress()
Definition: TileProcessor.cpp:531
uint32_t pino
Compressing Only Current packet iterator number.
Definition: TileProcessor.h:123
bool truncated
Definition: TileProcessor.h:159
GrkImage * m_image
Definition: TileProcessor.h:160
void makeLayerFinal(uint32_t layno)
Definition: TileProcessor.cpp:1494
void generateImage(GrkImage *src_image, Tile *src_tile)
Definition: TileProcessor.cpp:59
TileProcessor(CodeStream *codeStream, IBufferedStream *stream, bool isCompressor, bool isWholeTileDecompress)
Definition: TileProcessor.cpp:24
IBufferedStream * getStream(void)
Definition: TileProcessor.cpp:46
bool wholeTileDecompress
Definition: TileProcessor.h:128
bool preCompressTile(void)
Definition: TileProcessor.cpp:753
bool m_isCompressor
Definition: TileProcessor.h:161
void deallocBuffers()
Definition: TileProcessor.cpp:196
grkRectU32 getUnreducedTileWindow(void)
Definition: TileProcessor.cpp:191
bool decompressT1(void)
Definition: TileProcessor.cpp:357
bool canWritePocMarker(void)
Definition: TileProcessor.cpp:285
uint32_t preCalculatedTileLen
Definition: TileProcessor.h:163
void setCorruptPacket(void)
Definition: TileProcessor.cpp:69
bool encodeT2(uint32_t *packet_bytes_written)
Definition: TileProcessor.cpp:647
bool doCompress(void)
Definition: TileProcessor.cpp:204
grkRectU32 unreducedTileWindow
Definition: TileProcessor.h:162
uint16_t m_tileIndex
index of tile being currently compressed/decompressed
Definition: TileProcessor.h:107
uint8_t getMaxNumDecompressResolutions(void)
Definition: TileProcessor.cpp:81
bool layerNeedsRateControl(uint32_t layno)
Definition: TileProcessor.cpp:984
bool ingestUncompressedData(uint8_t *p_src, uint64_t src_length)
Definition: TileProcessor.cpp:811
bool init(void)
Definition: TileProcessor.cpp:98
grk_plugin_tile * current_plugin_tile
Definition: TileProcessor.h:126
bool dwt_encode()
Definition: TileProcessor.cpp:606
bool dcLevelShiftDecompress()
Definition: TileProcessor.cpp:514
bool isWholeTileDecompress(uint32_t compno)
Returns whether a tile component should be fully decompressed, taking into account win_* members.
Definition: TileProcessor.cpp:312
bool writeTilePartT2(uint32_t *tileBytesWritten)
Definition: TileProcessor.cpp:292
bool makeSingleLosslessLayer()
Definition: TileProcessor.cpp:1001
bool decompressT2(SparseBuffer *srcBuf)
Definition: TileProcessor.cpp:328
void makeLayerSimple(uint32_t layno, double thresh, bool final)
Definition: TileProcessor.cpp:1401
bool pcrdBisectSimple(uint32_t *p_data_written)
Definition: TileProcessor.cpp:1230
bool prepareSodDecompress(CodeStreamDecompress *codeStream)
Definition: TileProcessor.cpp:868
bool mctDecompress()
Definition: TileProcessor.cpp:484
IBufferedStream * m_stream
Definition: TileProcessor.h:136
void ingestImage()
Definition: TileProcessor.cpp:437
bool m_corrupt_packet
Definition: TileProcessor.h:137
bool canPreCalculateTileLen(void)
Definition: TileProcessor.cpp:54
uint32_t newTilePartProgressionPosition
position of the tile part flag in progression order
Definition: TileProcessor.h:139
bool needsMctDecompress(uint32_t compno)
Definition: TileProcessor.cpp:459