Grok 10.0.0
Typedefs | Functions
grok_private.h File Reference
#include "grok.h"

Go to the source code of this file.

Typedefs

typedef grk_object grk_stream
 
typedef size_t(* grk_stream_read_fn) (uint8_t *buffer, size_t numBytes, void *user_data)
 
typedef size_t(* grk_stream_write_fn) (const uint8_t *buffer, size_t numBytes, void *user_data)
 
typedef bool(* grk_stream_seek_fn) (uint64_t numBytes, void *user_data)
 
typedef void(* grk_stream_free_user_data_fn) (void *user_data)
 

Functions

void grk_stream_set_read_function (grk_stream *stream, grk_stream_read_fn func)
 Set read function. More...
 
void grk_stream_set_write_function (grk_stream *stream, grk_stream_write_fn func)
 Set write function. More...
 
void grk_stream_set_seek_function (grk_stream *stream, grk_stream_seek_fn func)
 Set (absolute) seek function (stream must be seekable) More...
 
void grk_stream_set_user_data (grk_stream *stream, void *data, grk_stream_free_user_data_fn func)
 Set user data for JPEG 2000 stream. More...
 
void grk_stream_set_user_data_length (grk_stream *stream, uint64_t data_length)
 Set the length of the user data for the stream. More...
 
grk_streamgrk_stream_create_file_stream (const char *fname, size_t buffer_size, bool is_read_stream)
 Create stream from a file identified with its filename with a specific buffer size. More...
 
grk_streamgrk_stream_create_mem_stream (uint8_t *buf, size_t buffer_len, bool ownsBuffer, bool is_read_stream)
 Create stream from buffer. More...
 
size_t grk_stream_get_write_mem_stream_length (grk_stream *stream)
 Get length of memory stream. More...
 
grk_codecgrk_compress_create (GRK_CODEC_FORMAT format, grk_stream *stream)
 Creates a J2K/JP2 compression codec. More...
 
bool grk_compress_start (grk_codec *codec)
 Start compressing image. More...
 

Typedef Documentation

◆ grk_stream

◆ grk_stream_free_user_data_fn

typedef void(* grk_stream_free_user_data_fn) (void *user_data)

◆ grk_stream_read_fn

typedef size_t(* grk_stream_read_fn) (uint8_t *buffer, size_t numBytes, void *user_data)

◆ grk_stream_seek_fn

typedef bool(* grk_stream_seek_fn) (uint64_t numBytes, void *user_data)

◆ grk_stream_write_fn

typedef size_t(* grk_stream_write_fn) (const uint8_t *buffer, size_t numBytes, void *user_data)

Function Documentation

◆ grk_compress_create()

grk_codec * grk_compress_create ( GRK_CODEC_FORMAT  format,
grk_stream stream 
)

Creates a J2K/JP2 compression codec.

Parameters
formatoutput format : j2k or jp2
streamJPEG 2000 stream
Returns
compression codec if successful, otherwise NULL

References GrkCodec::compressor_, GRK_CODEC_J2K, GRK_CODEC_JP2, and GrkCodec::obj.

Referenced by grk_compress_init().

◆ grk_compress_start()

bool grk_compress_start ( grk_codec codec)

Start compressing image.

Parameters
codeccompression codec

References GrkCodec::getImpl().

Referenced by grk_compress_init().

◆ grk_stream_create_file_stream()

grk_stream * grk_stream_create_file_stream ( const char *  fname,
size_t  buffer_size,
bool  is_read_stream 
)

Create stream from a file identified with its filename with a specific buffer size.

Parameters
fnamethe name of the file to stream
buffer_sizesize of the chunk used to stream
is_read_streamwhether the stream is a read stream (true) or not (false)

References grk_decompress_buffer_detect_format(), grk::GRK_ERROR(), grk_get_data_length_from_file(), grk_read_from_file(), grk_seek_in_file(), grk_stream_new(), grk_stream_set_read_function(), grk_stream_set_seek_function(), grk_stream_set_user_data(), grk_stream_set_user_data_length(), grk_stream_set_write_function(), grk_write_to_file(), and grkFree_file().

Referenced by grk_compress_init().

◆ grk_stream_create_mem_stream()

grk_stream * grk_stream_create_mem_stream ( uint8_t *  buf,
size_t  buffer_len,
bool  ownsBuffer,
bool  is_read_stream 
)

Create stream from buffer.

Parameters
bufbuffer
buffer_lenlength of buffer
ownsBufferif true, library will delete[] buffer. Otherwise, it is the caller's responsibility to delete the buffer
is_read_streamwhether the stream is a read stream (true) or not (false)

References grk::create_mem_stream().

Referenced by grk_compress_init(), and grk_decompress_create_from_buffer().

◆ grk_stream_get_write_mem_stream_length()

size_t grk_stream_get_write_mem_stream_length ( grk_stream stream)

Get length of memory stream.

Parameters
streammemory stream

References grk::get_mem_stream_offset().

◆ grk_stream_set_read_function()

void grk_stream_set_read_function ( grk_stream stream,
grk_stream_read_fn  func 
)

Set read function.

Parameters
streamJPEG 2000 stream
funcread function

References GROK_STREAM_STATUS_INPUT.

Referenced by grk_stream_create_file_stream(), and grk::set_up_mem_stream().

◆ grk_stream_set_seek_function()

void grk_stream_set_seek_function ( grk_stream stream,
grk_stream_seek_fn  func 
)

Set (absolute) seek function (stream must be seekable)

Parameters
streamJPEG 2000 stream
func(absolute) seek function.

Referenced by grk_stream_create_file_stream(), and grk::set_up_mem_stream().

◆ grk_stream_set_user_data()

void grk_stream_set_user_data ( grk_stream stream,
void *  data,
grk_stream_free_user_data_fn  func 
)

Set user data for JPEG 2000 stream.

Parameters
streamJPEG 2000 stream
datauser data
funcfunction to free data when grk_object_unref() is called.

Referenced by grk::create_mapped_file_read_stream(), grk::create_mapped_file_write_stream(), grk::create_mem_stream(), and grk_stream_create_file_stream().

◆ grk_stream_set_user_data_length()

void grk_stream_set_user_data_length ( grk_stream stream,
uint64_t  data_length 
)

Set the length of the user data for the stream.

Parameters
streamJPEG 2000 stream
data_lengthlength of data.

Referenced by grk_stream_create_file_stream(), and grk::set_up_mem_stream().

◆ grk_stream_set_write_function()

void grk_stream_set_write_function ( grk_stream stream,
grk_stream_write_fn  func 
)

Set write function.

Parameters
streamJPEG 2000 stream
funcwrite function

References GROK_STREAM_STATUS_OUTPUT.

Referenced by grk_stream_create_file_stream(), and grk::set_up_mem_stream().