46template<
typename T,
template<
typename TT>
typename A>
108 buf = A<T>::alloc(length);
178 if(
offset < (
size_t)(-off))
228template<
typename T,
template<
typename TT>
typename A>
283 "Failed to allocate aligned memory buffer of dimensions %u x %u",
stride,
height());
#define SIZE_MAX
Definition MemManager.cpp:29
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
uint32_t grk_make_aligned_width(uint32_t width)
Definition MemManager.cpp:35
void * grk_aligned_malloc(size_t size)
Allocate memory aligned to a 16 byte boundary.
Definition MemManager.cpp:76
void grk_aligned_free(void *ptr)
Definition MemManager.cpp:80
void dealloc(T *buf)
Definition buffer.h:41
T * alloc(size_t length)
Definition buffer.h:37
void dealloc(T *buf)
Definition buffer.h:29
T * alloc(size_t length)
Definition buffer.h:25
void warn(const char *fmt,...) override
Definition Logger.h:44
void error(const char *fmt,...) override
Definition Logger.h:53
static Logger logger_
Definition Logger.h:70
void copy(T *dst, T *src, uint32_t len)
Definition buffer.h:375
grk_buf2d_simple(T *buf, uint32_t stride, uint32_t height)
Definition buffer.h:208
grk_buf2d_simple()
Definition buffer.h:207
T * buf_
Definition buffer.h:223
uint32_t height_
Definition buffer.h:225
grk_buf2d_simple & incX_IN_PLACE(size_t deltaX)
Definition buffer.h:211
grk_buf2d_simple & incY_IN_PLACE(size_t deltaY)
Definition buffer.h:217
uint32_t stride_
Definition buffer.h:224
void transfer(T **buffer, uint32_t *strd)
Definition buffer.h:327
void copyFrom(const grk_buf2d &src, F filter)
Definition buffer.h:348
grk_buf2d(uint32_t w, uint32_t h)
Definition buffer.h:234
T * getBuffer(void) const
Definition buffer.h:384
void attach(T *buffer, uint32_t strd)
Definition buffer.h:293
void attach(grk_buf2d *rhs, uint32_t x, uint32_t y)
Definition buffer.h:306
grk_buf2d(const grk_rect32 &b, bool useOrigin)
Definition buffer.h:241
void attach(grk_buf2d *rhs)
Definition buffer.h:316
void attach(grk_buf2d &rhs, uint32_t x, uint32_t y)
Definition buffer.h:298
void copyFrom(const grk_buf2d &src)
Definition buffer.h:380
bool alloc2d(bool clear)
Definition buffer.h:271
void copyFrom(const grk_buf2d *src, F filter)
Definition buffer.h:354
grk_buf2d(void)
Definition buffer.h:244
grk_buf2d(const grk_rect32 &b)
Definition buffer.h:238
grk_buf2d(const grk_buf2d &rhs)
Definition buffer.h:245
grk_buf2d(const grk_rect32 *b)
Definition buffer.h:235
grk_buf2d & operator=(const grk_buf2d *rhs)
Definition buffer.h:260
grk_buf2d & operator=(const grk_buf2d &rhs)
Definition buffer.h:256
virtual ~grk_buf2d()=default
T * address(uint32_t x, uint32_t y)
Definition buffer.h:388
grk_buf2d(T *buffer, bool ownsData, uint32_t w, uint32_t strd, uint32_t h)
Definition buffer.h:231
void acquire(T *buffer, uint32_t strd)
Definition buffer.h:321
grk_buf2d_simple< float > simpleF(void) const
Definition buffer.h:252
grk_buf2d_simple< T > simple(void) const
Definition buffer.h:248
uint32_t stride
Definition buffer.h:392
bool isWindowValid(grk_rect32 win)
Returns whether window bounds are valid (non empty and within buffer bounds)
Definition buffer.h:341
void attach(grk_buf2d &rhs)
Definition buffer.h:302
size_t remainingLength(void)
Definition buffer.h:150
void attach(T *buffer)
Definition buffer.h:127
T read(void)
Definition buffer.h:82
grk_buf(T *buffer, size_t length)
Definition buffer.h:52
bool owns_data
Definition buffer.h:198
size_t len
Definition buffer.h:197
void incrementOffset(ptrdiff_t off)
Definition buffer.h:154
void acquire(T *buffer)
Definition buffer.h:133
bool write(T *b, size_t size)
Definition buffer.h:94
void transfer(T **buffer)
Definition buffer.h:140
grk_buf(T *buffer, size_t off, size_t length, bool ownsData)
Definition buffer.h:49
grk_buf()
Definition buffer.h:53
bool write(T val)
Definition buffer.h:86
grk_buf & operator=(const grk_buf *rhs)
Definition buffer.h:67
virtual bool alloc(size_t length)
Definition buffer.h:103
grk_buf(const grk_buf &rhs)
Definition buffer.h:59
bool canRead(void)
Definition buffer.h:78
grk_buf & operator=(const grk_buf &rhs)
Definition buffer.h:63
grk_buf(T *buffer, size_t length, bool ownsData)
Definition buffer.h:54
T * currPtr(void) const
Definition buffer.h:189
virtual ~grk_buf()
Definition buffer.h:55
virtual void dealloc()
Definition buffer.h:117
T * buf
Definition buffer.h:195
size_t offset
Definition buffer.h:196
uint32_t width() const
Definition geometry.h:335
uint32_t y1
Definition geometry.h:124
uint32_t x0
Definition geometry.h:124
grk_rect< uint32_t > intersection(const grk_rect< uint32_t > rhs) const
Definition geometry.h:281
uint32_t x1
Definition geometry.h:124
uint32_t height() const
Definition geometry.h:339
grk_rect< uint32_t > & operator=(const grk_rect< uint32_t > &rhs)
Definition geometry.h:201
uint32_t y0
Definition geometry.h:124