#include <SparseCanvas.h>
|
virtual | ~ISparseCanvas ()=default |
|
virtual bool | read (uint8_t resno, eBandOrientation bandOrientation, grkRectU32 window, int32_t *dest, const uint32_t dest_col_stride, const uint32_t dest_line_stride, bool forgiving)=0 |
| Read the content of a rectangular window of the sparse buffer into a user buffer. More...
|
|
virtual bool | write (uint8_t resno, eBandOrientation bandOrientation, grkRectU32 window, const int32_t *src, const uint32_t src_col_stride, const uint32_t src_line_stride, bool forgiving)=0 |
| Write the content of a rectangular window into the sparse buffer from a user buffer. More...
|
|
virtual bool | alloc (grkRectU32 window, bool zeroOutBuffer)=0 |
| Allocate all blocks for a rectangular window into the sparse buffer from a user buffer. More...
|
|
◆ ~ISparseCanvas()
virtual grk::ISparseCanvas::~ISparseCanvas |
( |
| ) |
|
|
virtualdefault |
◆ alloc()
virtual bool grk::ISparseCanvas::alloc |
( |
grkRectU32 |
window, |
|
|
bool |
zeroOutBuffer |
|
) |
| |
|
pure virtual |
Allocate all blocks for a rectangular window into the sparse buffer from a user buffer.
Blocks intersecting the window are allocated
- Parameters
-
window | window to write into the sparse buffer. |
zeroOutBuffer | memset buffer to zero if true |
- Returns
- true in case of success.
Implemented in grk::SparseCanvas< LBW, LBH >.
◆ read()
virtual bool grk::ISparseCanvas::read |
( |
uint8_t |
resno, |
|
|
eBandOrientation |
bandOrientation, |
|
|
grkRectU32 |
window, |
|
|
int32_t * |
dest, |
|
|
const uint32_t |
dest_col_stride, |
|
|
const uint32_t |
dest_line_stride, |
|
|
bool |
forgiving |
|
) |
| |
|
pure virtual |
Read the content of a rectangular window of the sparse buffer into a user buffer.
Windows not written with write() are read as 0.
- Parameters
-
window | window to read from sparse buffer. |
dest | user buffer to fill. Must be at least sizeof(int32) * ( (y1 - y0 - 1) * dest_line_stride + (x1 - x0 - 1) * dest_col_stride + 1) bytes large. |
dest_col_stride | spacing (in elements, not in bytes) in x dimension between consecutive elements of the user buffer. |
dest_line_stride | spacing (in elements, not in bytes) in y dimension between consecutive elements of the user buffer. |
forgiving | if set to TRUE and the window is invalid, true will still be returned. |
- Returns
- true in case of success.
Implemented in grk::SparseCanvas< LBW, LBH >.
◆ write()
virtual bool grk::ISparseCanvas::write |
( |
uint8_t |
resno, |
|
|
eBandOrientation |
bandOrientation, |
|
|
grkRectU32 |
window, |
|
|
const int32_t * |
src, |
|
|
const uint32_t |
src_col_stride, |
|
|
const uint32_t |
src_line_stride, |
|
|
bool |
forgiving |
|
) |
| |
|
pure virtual |
Write the content of a rectangular window into the sparse buffer from a user buffer.
Blocks intersecting the window are allocated, if not already done.
- Parameters
-
window | : window to write to buffer |
src | user buffer to fill. Must be at least sizeof(int32) * ( (y1 - y0 - 1) * src_line_stride + (x1 - x0 - 1) * src_col_stride + 1) bytes large. |
src_col_stride | spacing (in elements, not in bytes) in x dimension between consecutive elements of the user buffer. |
src_line_stride | spacing (in elements, not in bytes) in y dimension between consecutive elements of the user buffer. |
forgiving | if set to TRUE and the window is invalid, true will still be returned. |
- Returns
- true in case of success.
Implemented in grk::SparseCanvas< LBW, LBH >.
Referenced by grk::TileComponent::postDecompressImpl().
The documentation for this class was generated from the following file: