Skip to main content

Module mem

Module mem 

Source
Expand description

Memory management utilities — port of ojph_mem.h/cpp.

Provides aligned allocation, line buffers, and arena-style allocators that mirror the C++ OpenJPH memory model.

Structs§

AlignedVec
A heap-allocated, contiguously-stored buffer with a guaranteed minimum byte alignment (defaults to BYTE_ALIGNMENT = 64, suitable for AVX-512).
CodedLists
A node in a singly-linked list of coded data buffers — port of coded_lists.
LiftingBuf
A line buffer reference used during wavelet lifting.
LineBuf
A single line (row) of sample data used throughout the wavelet and coding pipeline — port of the C++ line_buf.
MemElasticAllocator
An arena-style allocator that grows by appending large chunks.
MemFixedAllocator
A two-phase bump allocator for fixed-size, aligned sub-regions.

Enums§

LineBufData
Discriminated pointer to the actual sample data in a LineBuf.

Constants§

LFT_32BIT
Flag: buffer elements are 32 bits wide.
LFT_64BIT
Flag: buffer elements are 64 bits wide.
LFT_INTEGER
Flag: buffer elements are integers (as opposed to float).
LFT_SIZE_MASK
Mask that isolates the element-size field.
LFT_UNDEFINED
Flag: buffer type is undefined / not yet allocated.