65struct Codeblock :
public grk_buf2d<int32_t, AllocatorAligned>,
public ICacheable
67 Codeblock(uint16_t numLayers)
69#ifdef DEBUG_LOSSLESS_T2
81 Codeblock(
const Codeblock& rhs)
84#ifdef DEBUG_LOSSLESS_T2
91 Codeblock& operator=(
const Codeblock& rhs)
103#ifdef DEBUG_LOSSLESS_T2
104 included = rhs.included;
105 packet_length_info = rhs.packet_length_info;
110 void setRect(grk_rect32 r)
117 uint8_t getNumPassesInPacket(uint16_t
layno)
122 void setNumPassesInPacket(uint16_t
layno, uint8_t
passes)
127 void incNumPassesInPacket(uint16_t
layno, uint8_t delta)
135#ifdef DEBUG_LOSSLESS_T2
137 std::vector<PacketLengthInfo> packet_length_info;
141struct CompressCodeblock :
public Codeblock
143 CompressCodeblock(uint16_t numLayers)
147 virtual ~CompressCodeblock()
175 bool allocData(
size_t nominalBlockSize)
177 uint32_t desired_data_size = (uint32_t)(nominalBlockSize *
sizeof(uint32_t));
200struct DecompressCodeblock :
public Codeblock
202 DecompressCodeblock(uint16_t numLayers)
204#ifdef DEBUG_LOSSLESS_T2
209 virtual ~DecompressCodeblock()
213 Segment* getSegment(uint32_t segmentIndex)
225 new_segs[i] =
segs[i];
231 return segs + segmentIndex;
237 uint32_t getNumSegments(
void)
241 Segment* getCurrentSegment(
void)
245 Segment* nextSegment(
void)
248 return getCurrentSegment();
250 void cleanUpSegBuffers()
257 size_t getSegBuffersLen()
260 [](
const size_t s, grk_buf8*
a) { return (s + a->len); });
262 bool copyToContiguousBuffer(uint8_t*
buffer)
282 grk_buf2d::dealloc();
uint8_t buf
Definition BitIO.h:84
size_t offset
Definition BitIO.h:80
Layer * layers
Definition Codeblock.h:193
uint32_t numSegments
Definition Codeblock.h:288
uint32_t numPassesInPreviousPackets
Definition Codeblock.h:195
uint8_t * paddedCompressedStream
Definition Codeblock.h:192
uint8_t numlenbits
Definition Codeblock.h:116
grk_buf8 compressedStream
Definition Codeblock.h:114
uint32_t numPassesInPacket
Definition Codeblock.h:40
uint32_t numBytesInPacket
Definition Codeblock.h:41
double distortiondec
Definition Codeblock.h:49
uint32_t numpasses
Definition Codeblock.h:37
uint8_t numbps
Definition Codeblock.h:115
CodePass * passes
Definition Codeblock.h:194
uint32_t numSegmentsAllocated
Definition Codeblock.h:289
uint32_t rate
Definition Codeblock.h:48
uint16_t slope
Definition Codeblock.h:52
uint8_t term
Definition Codeblock.h:51
uint32_t len
Definition Codeblock.h:38
uint8_t * data
Definition Codeblock.h:61
Segment * segs
Definition Codeblock.h:287
uint32_t numPassesTotal
Definition Codeblock.h:196
uint32_t maxpasses
Definition Codeblock.h:39
std::vector< grk_buf8 * > seg_buffers
Definition Codeblock.h:284
double distortion[maxCompressLayersGRK]
fixed_quality
Definition CodingParams.h:161
uint8_t * buffer
packet header storage original buffer
Definition PPMMarker.h:64
uint16_t layno
Definition PacketIter.h:259
uint32_t a
only used by MQ decoder
Definition mqc.h:48
grk_rect< uint32_t > grk_rect32
Definition TileCache.h:61
Copyright (C) 2016-2023 Grok Image Compression Inc.
Definition ICacheable.h:20
void grk_free(void *ptr)
Deallocates or frees a memory block.
Definition MemManager.cpp:96
void * grk_calloc(size_t num, size_t size)
Allocate a memory block with elements initialized to 0.
Definition MemManager.cpp:68
uint32_t * contextStream
Definition plugin_interface.h:38
const uint8_t grk_cblk_enc_compressed_data_pad_left
Definition t1_common.h:40
uint32_t y0
Definition t1_common.h:75
uint32_t x1
Definition t1_common.h:75
uint32_t x0
Definition t1_common.h:75
uint32_t y1
Definition t1_common.h:75