20#include <unordered_map>
59 void print()
const override;
87 Point8 bandPrecinctExpn, uint32_t precinctGridWidth);
102 uint32_t precinctGridWidth,
Point8 cblk_expn);
eBandOrientation
Definition t1_common.h:28
@ BAND_ORIENT_LL
Definition t1_common.h:29
ResWindow.
Definition CompressedChunkCache.h:36
Rect< uint32_t > Rect32
Definition geometry.h:64
Point< uint8_t > Point8
Definition geometry.h:44
Lightweight precinct struct storing only bounds, some book-keeping variables and a pointer to the Pre...
Definition Precinct.h:32
Definition geometry.h:105
Subband()=default
Construct a new Subband object.
std::unordered_map< uint64_t, uint64_t > precinctMap_
maps global precinct index to precincts vector index
Definition Subband.h:120
void print() const override
Definition Subband.cpp:42
float stepsize_
quantization step size
Definition Subband.h:132
t1::eBandOrientation orientation_
band orientation
Definition Subband.h:108
bool empty()
Returns true if this subband is empty i.e.
Definition Subband.cpp:46
std::vector< Precinct * > precincts_
flat vector of precincts
Definition Subband.h:114
virtual ~Subband()=default
Destroys a Subband object.
Subband & operator=(const Subband &rhs)
operator=
Definition Subband.cpp:34
uint8_t maxBitPlanes_
band max number of bit planes
Definition Subband.h:126
Precinct * createPrecinct(bool isCompressor, uint16_t numLayers, uint64_t precinctIndex, Rect32 bandPrecinctPartition, Point8 bandPrecinctExpn, uint32_t precinctGridWidth, Point8 cblk_expn)
Creates a Precinct.
Definition Subband.cpp:79
Rect32_16 generateBandPrecinctBounds(uint64_t precinctIndex, Rect32 bandPrecinctPartition, Point8 bandPrecinctExpn, uint32_t precinctGridWidth)
Generates band precinct bounds (canvas coordinates).
Definition Subband.cpp:66
Precinct * tryGetPrecinct(uint64_t precinctIndex)
Gets a ref Precinct if it has already been created, otherwise returns nullptr.
Definition Subband.cpp:50