Go to the documentation of this file.
35 MemStream(uint8_t *buffer,
size_t offset,
size_t length,
bool owns);
GRK_API void GRK_CALLCONV grk_stream_set_read_function(grk_stream *stream, grk_stream_read_fn p_function)
Set the given function to be used as a read function.
Definition: BufferedStream.cpp:432
uint8_t * buf
Definition: MemStream.h:38
Byte input-output stream.
Definition: BufferedStream.h:38
size_t off
Definition: MemStream.h:39
static bool seek_from_mem(uint64_t nb_bytes, MemStream *src)
Definition: MemStream.cpp:89
void set_up_mem_stream(grk_stream *l_stream, size_t len, bool is_read_stream)
Definition: MemStream.cpp:114
size_t get_mem_stream_offset(grk_stream *stream)
Definition: MemStream.cpp:127
bool ownsBuffer
Definition: MemStream.h:42
size_t(* grk_stream_read_fn)(void *p_buffer, size_t nb_bytes, void *user_data)
Definition: grok.h:792
GRK_API void GRK_CALLCONV grk_stream_set_write_function(grk_stream *stream, grk_stream_write_fn p_function)
Set the given function to be used as a write function.
Definition: BufferedStream.cpp:446
int32_t grk_handle
Definition: MemStream.h:24
~MemStream()
Definition: MemStream.cpp:29
size_t(* grk_stream_zero_copy_read_fn)(void **p_buffer, size_t nb_bytes, void *user_data)
Definition: MemStream.h:30
static void grk_stream_set_zero_copy_read_function(grk_stream *stream, grk_stream_zero_copy_read_fn p_function)
Set the given function to be used as a zero copy read function.
Definition: MemStream.cpp:106
static size_t zero_copy_read_from_mem(void **p_buffer, size_t nb_bytes, MemStream *p_source_buffer)
Definition: MemStream.cpp:40
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: BitIO.cpp:23
#define GROK_STREAM_STATUS_INPUT
Definition: BufferedStream.h:31
bool(* grk_stream_seek_fn)(uint64_t nb_bytes, void *user_data)
Definition: grok.h:806
static void free_mem(void *user_data)
Definition: MemStream.cpp:34
GRK_API void GRK_CALLCONV grk_stream_set_user_data(grk_stream *stream, void *data, grk_stream_free_user_data_fn p_function)
Set the given data to be used as a user data for the stream.
Definition: BufferedStream.cpp:455
MemStream()
Definition: MemStream.cpp:27
size_t(* grk_stream_write_fn)(void *p_buffer, size_t nb_bytes, void *user_data)
Definition: grok.h:800
void * grk_stream
Definition: grok.h:816
grk_stream * create_mem_stream(uint8_t *buf, size_t len, bool ownsBuffer, bool is_read_stream)
Definition: MemStream.cpp:138
static size_t read_from_mem(void *p_buffer, size_t nb_bytes, MemStream *p_source_buffer)
Definition: MemStream.cpp:54
GRK_API void GRK_CALLCONV grk_stream_set_seek_function(grk_stream *stream, grk_stream_seek_fn p_function)
Set the given function to be used as a seek function, the stream is then seekable.
Definition: BufferedStream.cpp:440
size_t len
Definition: MemStream.h:40
grk_handle fd
Definition: MemStream.h:41
static size_t write_to_mem(void *dest, size_t nb_bytes, MemStream *src)
Definition: MemStream.cpp:78
GRK_API void GRK_CALLCONV grk_stream_set_user_data_length(grk_stream *stream, uint64_t data_length)
Set the length of the user data for the stream.
Definition: BufferedStream.cpp:463
Definition: MemStream.h:34