69 GRK_ERROR(
"TagTree constructor: num level overflow");
70 throw std::exception();
83 GRK_WARN(
"tgt_create numnodes == 0, no tree created.");
84 throw std::runtime_error(
"tgt_create numnodes == 0, no tree created");
129 return (std::numeric_limits<T>::max)();
183 while(low < threshold)
185 if(low >=
node->value)
247 *value =
node->value;
Tag tree.
Definition TagTree.h:47
uint64_t nodeCount
Definition TagTree.h:253
bool compress(BitIO *bio, uint64_t leafno, T threshold)
Encode the value of a leaf of the tag tree up to a given threshold.
Definition TagTree.h:165
TagTreeNode< T > * nodes
Definition TagTree.h:254
TagTree(uint32_t leavesWidth, uint32_t leavesHeight)
Create a tag tree.
Definition TagTree.h:55
void reset()
Reset a tag tree (set all leaves to 0)
Definition TagTree.h:134
void setvalue(uint64_t leafno, T value)
Set the value of a leaf of a tag tree.
Definition TagTree.h:149
~TagTree()
Definition TagTree.h:122
void decodeValue(BitIO *bio, uint64_t leafno, T threshold, T *value)
Decompress the value of a leaf of the tag tree up to a given threshold.
Definition TagTree.h:213
uint32_t leavesHeight_
Definition TagTree.h:252
uint32_t leavesWidth_
Definition TagTree.h:251
constexpr T getUninitializedValue(void)
Definition TagTree.h:127
Copyright (C) 2016-2023 Grok Image Compression Inc.
Definition ICacheable.h:20
void grk_read(const uint8_t *buffer, TYPE *value, uint32_t numBytes)
Definition BufferedStream.h:239
void GRK_ERROR(const char *fmt,...)
Definition logger.cpp:58
void GRK_WARN(const char *fmt,...)
Definition logger.cpp:49
TagTree< uint16_t > TagTreeU16
Definition TagTree.h:258
TagTree< uint8_t > TagTreeU8
Definition TagTree.h:257
Tag node.
Definition TagTree.h:33
bool known
Definition TagTree.h:39
T low
Definition TagTree.h:38
TagTreeNode * parent
Definition TagTree.h:36
TagTreeNode()
Definition TagTree.h:34
T value
Definition TagTree.h:37