21template<
typename T,
typename P>
virtual T * create(uint64_t index) override
Definition Precinct.h:31
BlockCache(uint16_t numLayers, uint64_t maxChunkSize, P *blockInitializer)
Definition Precinct.h:25
uint16_t numLayers_
Definition Precinct.h:40
virtual ~BlockCache()=default
P * blockInitializer_
Definition Precinct.h:39
Definition SparseCache.h:25
Tag tree.
Definition TagTree.h:47
Copyright (C) 2016-2024 Grok Image Compression Inc.
Definition ICacheable.h:20
void grk_read(const uint8_t *buffer, TYPE *value, uint32_t numBytes)
Definition BufferedStream.h:239
Definition Codeblock.h:122
Definition Codeblock.h:178
grk_pt32 cblk_expn_
Definition Precinct.h:87
uint32_t getCblkGridHeight(void)
Definition Precinct.cpp:164
uint16_t numLayers_
Definition Precinct.h:83
uint64_t getNumCblks(void)
Definition Precinct.cpp:172
TagTreeU16 * getInclTree(void)
Definition Precinct.cpp:152
PrecinctImpl * impl
Definition Precinct.h:86
Precinct(TileProcessor *tileProcessor, const grk_rect32 &bounds, grk_pt32 cblk_expn)
Definition Precinct.cpp:134
TagTreeU8 * getImsbTree(void)
Definition Precinct.cpp:156
uint32_t getNominalBlockSize(void)
Definition Precinct.cpp:168
virtual ~Precinct()
Definition Precinct.cpp:140
DecompressCodeblock * getDecompressedBlockPtr(uint64_t cblkno)
Definition Precinct.cpp:180
CompressCodeblock * getCompressedBlockPtr(uint64_t cblkno)
Definition Precinct.cpp:176
DecompressCodeblock * tryGetDecompressedBlockPtr(uint64_t cblkno)
Definition Precinct.cpp:184
uint64_t precinctIndex
Definition Precinct.h:82
grk_rect32 getCblkGrid(void)
Definition Precinct.cpp:192
void deleteTagTrees()
Definition Precinct.cpp:144
uint32_t getCblkGridwidth(void)
Definition Precinct.cpp:160
grk_pt32 getCblkExpn(void)
Definition Precinct.cpp:188
grk_rect32 getCodeBlockBounds(uint64_t cblkno)
Definition Precinct.cpp:148
PrecinctImpl * getImpl(void)
Definition Precinct.h:88
PrecinctImpl(bool isCompressor, grk_rect32 *bounds, grk_pt32 cblk_expn)
Definition Precinct.cpp:21
TagTreeU16 * getIncludeTagTree(void)
Definition Precinct.cpp:83
grk_rect32 bounds_
Definition Precinct.h:57
grk_pt32 cblk_expn_
Definition Precinct.h:58
TagTreeU8 * imsbtree
Definition Precinct.h:63
bool initCodeBlocks(uint16_t numLayers, grk_rect32 *bounds)
Definition Precinct.cpp:51
bool isCompressor_
Definition Precinct.h:59
grk_rect32 cblk_grid_
Definition Precinct.h:56
grk_rect32 getCodeBlockBounds(uint64_t cblkno)
Definition Precinct.cpp:41
BlockCache< CompressCodeblock, PrecinctImpl > * enc
Definition Precinct.h:54
bool initCodeBlock(T *block, uint64_t cblkno)
Definition Precinct.cpp:67
void deleteTagTrees()
Definition Precinct.cpp:76
TagTreeU16 * incltree
Definition Precinct.h:62
BlockCache< DecompressCodeblock, PrecinctImpl > * dec
Definition Precinct.h:55
~PrecinctImpl(void)
Definition Precinct.cpp:35
TagTreeU8 * getIMsbTagTree(void)
Definition Precinct.cpp:108
Definition TileProcessor.h:78