Go to the documentation of this file.
34 #ifndef OPJ_SPARSE_ARRAY_H
35 #define OPJ_SPARSE_ARRAY_H
OPJ_UINT32 block_count_hor
Definition: sparse_array.c:40
OPJ_BOOL opj_sparse_array_is_region_valid(const opj_sparse_array_int32_t *sa, OPJ_UINT32 x0, OPJ_UINT32 y0, OPJ_UINT32 x1, OPJ_UINT32 y1)
Returns whether region bounds are valid (non empty and within array bounds)
Definition: sparse_array.c:95
void * opj_calloc(size_t num, size_t size)
Allocate a memory block with elements initialized to 0.
Definition: opj_malloc.c:198
OPJ_BOOL opj_sparse_array_int32_read(const opj_sparse_array_int32_t *sa, OPJ_UINT32 x0, OPJ_UINT32 y0, OPJ_UINT32 x1, OPJ_UINT32 y1, OPJ_INT32 *dest, OPJ_UINT32 dest_col_stride, OPJ_UINT32 dest_line_stride, OPJ_BOOL forgiving)
Read the content of a rectangular region of the sparse array into a user buffer.
Definition: sparse_array.c:311
static INLINE OPJ_UINT32 opj_uint_ceildiv(OPJ_UINT32 a, OPJ_UINT32 b)
Divide an integer and round upwards.
Definition: opj_intmath.h:170
OPJ_UINT32 block_height
Definition: sparse_array.c:39
OPJ_BOOL opj_sparse_array_is_region_valid(const opj_sparse_array_int32_t *sa, OPJ_UINT32 x0, OPJ_UINT32 y0, OPJ_UINT32 x1, OPJ_UINT32 y1)
Returns whether region bounds are valid (non empty and within array bounds)
Definition: sparse_array.c:95
OPJ_INT32 ** data_blocks
Definition: sparse_array.c:42
int OPJ_BOOL
Definition: openjpeg.h:116
size_t OPJ_SIZE_T
Definition: openjpeg.h:139
OPJ_UINT32 block_width
Definition: sparse_array.c:38
int32_t OPJ_INT32
Definition: openjpeg.h:131
#define OPJ_RESTRICT
Definition: opj_includes.h:121
static INLINE OPJ_UINT32 opj_uint_min(OPJ_UINT32 a, OPJ_UINT32 b)
Get the minimum of two integers.
Definition: opj_intmath.h:65
#define OPJ_TRUE
Definition: openjpeg.h:117
OPJ_UINT32 height
Definition: sparse_array.c:37
void opj_sparse_array_int32_free(opj_sparse_array_int32_t *sa)
Frees a sparse array.
Definition: sparse_array.c:81
void opj_free(void *ptr)
Deallocates or frees a memory block.
Definition: opj_malloc.c:246
Definition: sparse_array.c:35
void opj_sparse_array_int32_free(opj_sparse_array_int32_t *sa)
Frees a sparse array.
Definition: sparse_array.c:81
OPJ_BOOL opj_sparse_array_int32_write(opj_sparse_array_int32_t *sa, OPJ_UINT32 x0, OPJ_UINT32 y0, OPJ_UINT32 x1, OPJ_UINT32 y1, const OPJ_INT32 *src, OPJ_UINT32 src_col_stride, OPJ_UINT32 src_line_stride, OPJ_BOOL forgiving)
Write the content of a rectangular region into the sparse array from a user buffer.
Definition: sparse_array.c:330
OPJ_BOOL opj_sparse_array_int32_read(const opj_sparse_array_int32_t *sa, OPJ_UINT32 x0, OPJ_UINT32 y0, OPJ_UINT32 x1, OPJ_UINT32 y1, OPJ_INT32 *dest, OPJ_UINT32 dest_col_stride, OPJ_UINT32 dest_line_stride, OPJ_BOOL forgiving)
Read the content of a rectangular region of the sparse array into a user buffer.
Definition: sparse_array.c:311
OPJ_UINT32 block_count_ver
Definition: sparse_array.c:41
OPJ_BOOL opj_sparse_array_int32_write(opj_sparse_array_int32_t *sa, OPJ_UINT32 x0, OPJ_UINT32 y0, OPJ_UINT32 x1, OPJ_UINT32 y1, const OPJ_INT32 *src, OPJ_UINT32 src_col_stride, OPJ_UINT32 src_line_stride, OPJ_BOOL forgiving)
Write the content of a rectangular region into the sparse array from a user buffer.
Definition: sparse_array.c:330
uint32_t OPJ_UINT32
Definition: openjpeg.h:132
opj_sparse_array_int32_t * opj_sparse_array_int32_create(OPJ_UINT32 width, OPJ_UINT32 height, OPJ_UINT32 block_width, OPJ_UINT32 block_height)
Creates a new sparse array.
Definition: sparse_array.c:45
#define OPJ_FALSE
Definition: openjpeg.h:118
opj_sparse_array_int32_t * opj_sparse_array_int32_create(OPJ_UINT32 width, OPJ_UINT32 height, OPJ_UINT32 block_width, OPJ_UINT32 block_height)
Creates a new sparse array.
Definition: sparse_array.c:45
OPJ_UINT32 width
Definition: sparse_array.c:36
static OPJ_BOOL opj_sparse_array_int32_read_or_write(const opj_sparse_array_int32_t *sa, OPJ_UINT32 x0, OPJ_UINT32 y0, OPJ_UINT32 x1, OPJ_UINT32 y1, OPJ_INT32 *buf, OPJ_UINT32 buf_col_stride, OPJ_UINT32 buf_line_stride, OPJ_BOOL forgiving, OPJ_BOOL is_read_op)
Definition: sparse_array.c:105