Grok 12.0.1
Classes | Functions | Variables
grok.cpp File Reference
#include <sys/stat.h>
#include <unistd.h>
#include <sys/mman.h>
#include <fcntl.h>
#include "grk_includes.h"

Classes

struct  GrkCodec
 

Functions

static bool grk_compress_start (grk_codec *codec)
 Start compressing image.
 
static 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.
 
static grk_streamgrk_stream_create_stream (grk_stream_params *stream_params)
 
static grk_streamgrk_stream_new (size_t buffer_size, bool is_input)
 
grk_codecgrk_decompress_create (grk_stream *stream)
 
void GRK_CALLCONV grk_initialize (const char *pluginPath, uint32_t numthreads, bool verbose)
 Initialize library.
 
GRK_API void GRK_CALLCONV grk_deinitialize ()
 De-initialize library.
 
GRK_API grk_object *GRK_CALLCONV grk_object_ref (grk_object *obj)
 Increment ref count.
 
GRK_API void GRK_CALLCONV grk_object_unref (grk_object *obj)
 
GRK_API void GRK_CALLCONV grk_set_msg_handlers (grk_msg_callback info_callback, void *info_user_data, grk_msg_callback warn_callback, void *warn_user_data, grk_msg_callback error_callback, void *error_user_data)
 
static size_t grk_read_from_file (uint8_t *buffer, size_t numBytes, void *p_file)
 
static uint64_t grk_get_data_length_from_file (void *filePtr)
 
static size_t grk_write_to_file (const uint8_t *buffer, size_t numBytes, void *p_file)
 
static bool grk_seek_in_file (uint64_t numBytes, void *p_user_data)
 
const char *GRK_CALLCONV grk_version (void)
 Library version.
 
grk_image *GRK_CALLCONV grk_image_new (uint16_t numcmpts, grk_image_comp *cmptparms, GRK_COLOR_SPACE clrspc, bool alloc_data)
 Create image.
 
grk_image_meta *GRK_CALLCONV grk_image_meta_new (void)
 
bool grk_decompress_buffer_detect_format (uint8_t *buffer, size_t len, GRK_CODEC_FORMAT *fmt)
 Detect jpeg 2000 format from buffer Format is either GRK_FMT_J2K or GRK_FMT_JP2.
 
bool GRK_CALLCONV grk_decompress_detect_format (const char *fileName, GRK_CODEC_FORMAT *fmt)
 Detect jpeg 2000 format from file Format is either GRK_FMT_J2K or GRK_FMT_JP2.
 
void GRK_CALLCONV grk_set_default_stream_params (grk_stream_params *params)
 Initialize stream parameters with default values.
 
static grk_codecgrk_decompress_create_from_buffer (uint8_t *buf, size_t len)
 
static grk_codecgrk_decompress_create_from_callbacks (grk_stream_params *stream_params)
 
static grk_codecgrk_decompress_create_from_file (const char *file_name)
 
void GRK_CALLCONV grk_decompress_set_default_params (grk_decompress_parameters *parameters)
 Initialize decompress parameters with default values.
 
grk_codec *GRK_CALLCONV grk_decompress_init (grk_stream_params *stream_params, grk_decompress_core_params *core_params)
 Initialize decompressor.
 
bool GRK_CALLCONV grk_decompress_read_header (grk_codec *codecWrapper, grk_header_info *header_info)
 Decompress JPEG 2000 header.
 
bool GRK_CALLCONV grk_decompress_set_window (grk_codec *codecWrapper, float start_x, float start_y, float end_x, float end_y)
 Set the given area to be decompressed.
 
bool GRK_CALLCONV grk_decompress (grk_codec *codecWrapper, grk_plugin_tile *tile)
 Decompress image from a JPEG 2000 code stream.
 
bool GRK_CALLCONV grk_decompress_tile (grk_codec *codecWrapper, uint16_t tileIndex)
 Decompress a specific tile.
 
void GRK_CALLCONV grk_dump_codec (grk_codec *codecWrapper, uint32_t info_flag, FILE *output_stream)
 Dump codec information to file.
 
bool GRK_CALLCONV grk_set_MCT (grk_cparameters *parameters, float *pEncodingMatrix, int32_t *p_dc_shift, uint32_t pNbComp)
 Set the MCT matrix to use.
 
grk_image *GRK_CALLCONV grk_decompress_get_tile_image (grk_codec *codecWrapper, uint16_t tileIndex)
 Get decompressed tile image.
 
grk_image *GRK_CALLCONV grk_decompress_get_composited_image (grk_codec *codecWrapper)
 Get decompressed composite image.
 
grk_codec *GRK_CALLCONV grk_compress_create (GRK_CODEC_FORMAT p_format, grk_stream *stream)
 
void GRK_CALLCONV grk_compress_set_default_params (grk_cparameters *parameters)
 Set compressing parameters to default values:
 
grk_codec *GRK_CALLCONV grk_compress_init (grk_stream_params *stream_params, grk_cparameters *parameters, grk_image *p_image)
 Set up the compressor parameters using the current image and user parameters.
 
uint64_t GRK_CALLCONV grk_compress (grk_codec *codecWrapper, grk_plugin_tile *tile)
 Compress an image into a JPEG 2000 code stream using plugin.
 
static void grkFree_file (void *p_user_data)
 
static const char * pathSeparator ()
 
bool GRK_CALLCONV grk_plugin_load (grk_plugin_load_info info)
 Load plugin.
 
uint32_t GRK_CALLCONV grk_plugin_get_debug_state ()
 Get debug state of plugin.
 
void GRK_CALLCONV grk_plugin_cleanup (void)
 Release plugin resources.
 
GRK_API bool GRK_CALLCONV grk_plugin_init (grk_plugin_init_info initInfo)
 Initialize plugin.
 
uint64_t grk_plugin_internal_encode_callback (grk_plugin_compress_user_callback_info *info)
 
int32_t GRK_CALLCONV grk_plugin_compress (grk_cparameters *compress_parameters, GRK_PLUGIN_COMPRESS_USER_CALLBACK callback)
 Compress with plugin.
 
int32_t GRK_CALLCONV grk_plugin_batch_compress (grk_plugin_compress_batch_info info)
 Batch compress with plugin.
 
GRK_API void GRK_CALLCONV grk_plugin_wait_for_batch_complete (void)
 Wait for batch job to complete.
 
void GRK_CALLCONV grk_plugin_stop_batch_compress (void)
 Stop batch compress.
 
int32_t grk_plugin_internal_decode_callback (PluginDecodeCallbackInfo *info)
 
int32_t GRK_CALLCONV grk_plugin_decompress (grk_decompress_parameters *decompress_parameters, grk_plugin_decompress_callback callback)
 Decompress with plugin.
 
int32_t GRK_CALLCONV grk_plugin_init_batch_decompress (const char *input_dir, const char *output_dir, grk_decompress_parameters *decompress_parameters, grk_plugin_decompress_callback callback)
 Initialize batch decompress.
 
int32_t GRK_CALLCONV grk_plugin_batch_decompress (void)
 Initiate batch decompress.
 
void GRK_CALLCONV grk_plugin_stop_batch_decompress (void)
 Stop batch decompress.
 
void grk_stream_set_read_function (grk_stream *stream, grk_stream_read_fn func)
 Set read function.
 
void grk_stream_set_seek_function (grk_stream *stream, grk_stream_seek_fn func)
 Set (absolute) seek function (stream must be seekable)
 
void grk_stream_set_write_function (grk_stream *stream, grk_stream_write_fn func)
 Set write function.
 
void grk_stream_set_user_data (grk_stream *stream, void *p_data, grk_stream_free_user_data_fn func)
 Set user data for JPEG 2000 stream.
 
void grk_stream_set_user_data_length (grk_stream *stream, uint64_t data_length)
 Set the length of the user data for the stream.
 

Variables

static bool is_plugin_initialized = false
 
static const char * JP2_RFC3745_MAGIC = "\x00\x00\x00\x0c\x6a\x50\x20\x20\x0d\x0a\x87\x0a"
 
static const char * J2K_CODESTREAM_MAGIC = "\xff\x4f\xff\x51"
 
static const char * plugin_get_debug_state_method_name = "plugin_get_debug_state"
 
static const char * plugin_init_method_name = "plugin_init"
 
static const char * plugin_encode_method_name = "plugin_encode"
 
static const char * plugin_batch_encode_method_name = "plugin_batch_encode"
 
static const char * plugin_stop_batch_encode_method_name = "plugin_stop_batch_encode"
 
static const char * plugin_wait_for_batch_complete_method_name = "plugin_wait_for_batch_complete"
 
static const char * plugin_decode_method_name = "plugin_decompress"
 
static const char * plugin_init_batch_decode_method_name = "plugin_init_batch_decompress"
 
static const char * plugin_batch_decode_method_name = "plugin_batch_decompress"
 
static const char * plugin_stop_batch_decode_method_name = "plugin_stop_batch_decompress"
 
bool pluginLoaded = false
 
GRK_PLUGIN_COMPRESS_USER_CALLBACK userEncodeCallback = 0
 
PLUGIN_WAIT_FOR_BATCH_COMPLETE funcPluginWaitForBatchComplete = nullptr
 
grk_plugin_decompress_callback decodeCallback = 0
 

Function Documentation

◆ grk_compress()

uint64_t GRK_CALLCONV grk_compress ( grk_codec * codec,
grk_plugin_tile * tile )

Compress an image into a JPEG 2000 code stream using plugin.

Parameters
codeccompression codec
tileplugin tile
Returns
number of bytes written if successful, 0 otherwise

References GrkCodec::getImpl(), and grk::grk_read().

◆ grk_compress_create()

grk_codec *GRK_CALLCONV grk_compress_create ( GRK_CODEC_FORMAT p_format,
grk_stream * stream )

◆ grk_compress_init()

grk_codec *GRK_CALLCONV grk_compress_init ( grk_stream_params * stream_params,
grk_cparameters * parameters,
grk_image * p_image )

◆ grk_compress_set_default_params()

void GRK_CALLCONV grk_compress_set_default_params ( grk_cparameters * parameters)

Set compressing parameters to default values:

Lossless Single tile Size of precinct : 2^15 x 2^15 (i.e. single precinct) Size of code block : 64 x 64 Number of resolutions: 6 No SOP marker in the code stream No EPH marker in the code stream No mode switches Progression order: LRCP No ROI upshifted Image origin lies at (0,0) Tile origin lies at (0,0) Reversible DWT 5-3 transform

Parameters
parametersCompression parameters

References grk::GRK_COMP_PARAM_DEFAULT_CBLOCKH, grk::GRK_COMP_PARAM_DEFAULT_CBLOCKW, grk::GRK_DEFAULT_NUMRESOLUTION, grk::GRK_DEFAULT_PROG_ORDER, GRK_FMT_UNK, GRK_PROFILE_NONE, and grk::grk_read().

◆ grk_compress_start()

static bool grk_compress_start ( grk_codec * codec)
static

Start compressing image.

Parameters
codeccompression codec

References GrkCodec::getImpl(), and grk::grk_read().

Referenced by grk_compress_init().

◆ grk_decompress()

bool GRK_CALLCONV grk_decompress ( grk_codec * codec,
grk_plugin_tile * tile )

Decompress image from a JPEG 2000 code stream.

Parameters
codecdecompression codec
tiletile struct from plugin
Returns
true if successful, otherwise false

References GrkCodec::getImpl(), and grk::grk_read().

◆ grk_decompress_buffer_detect_format()

bool grk_decompress_buffer_detect_format ( uint8_t * buffer,
size_t len,
GRK_CODEC_FORMAT * fmt )

Detect jpeg 2000 format from buffer Format is either GRK_FMT_J2K or GRK_FMT_JP2.

Parameters
bufferbuffer
lenbuffer length
fmtpointer to detected format
Returns
true if format was detected, otherwise false

References grk::Logger::error(), GRK_CODEC_J2K, GRK_CODEC_JP2, GRK_CODEC_UNK, grk::grk_read(), J2K_CODESTREAM_MAGIC, JP2_RFC3745_MAGIC, and grk::Logger::logger_.

Referenced by grk::create_mem_stream(), grk_decompress_detect_format(), grk_stream_create_file_stream(), and grk_stream_create_stream().

◆ grk_decompress_create()

grk_codec * grk_decompress_create ( grk_stream * stream)

◆ grk_decompress_create_from_buffer()

static grk_codec * grk_decompress_create_from_buffer ( uint8_t * buf,
size_t len )
static

◆ grk_decompress_create_from_callbacks()

static grk_codec * grk_decompress_create_from_callbacks ( grk_stream_params * stream_params)
static

◆ grk_decompress_create_from_file()

static grk_codec * grk_decompress_create_from_file ( const char * file_name)
static

◆ grk_decompress_detect_format()

bool GRK_CALLCONV grk_decompress_detect_format ( const char * fileName,
GRK_CODEC_FORMAT * fmt )

Detect jpeg 2000 format from file Format is either GRK_FMT_J2K or GRK_FMT_JP2.

Parameters
fileNamefile name
fmtpointer to detected format
Returns
true if format was detected, otherwise false

References grk_decompress_buffer_detect_format(), and grk::grk_read().

◆ grk_decompress_get_composited_image()

grk_image *GRK_CALLCONV grk_decompress_get_composited_image ( grk_codec * codec)

Get decompressed composite image.

Parameters
codecdecompression codec
Returns
pointer to decompressed image

References GrkCodec::getImpl(), and grk::grk_read().

◆ grk_decompress_get_tile_image()

grk_image *GRK_CALLCONV grk_decompress_get_tile_image ( grk_codec * codec,
uint16_t tileIndex )

Get decompressed tile image.

Parameters
codecdecompression codec
tileIndextile index
Returns
pointer to decompressed image

References GrkCodec::getImpl(), and grk::grk_read().

◆ grk_decompress_init()

grk_codec *GRK_CALLCONV grk_decompress_init ( grk_stream_params * stream_params,
grk_decompress_core_params * core_params )

Initialize decompressor.

Parameters
stream_paramssource stream parameters
core_paramsdecompress core parameters
Returns
grk_codec* if successful, otherwise NULL

References _grk_stream_params::buf, _grk_stream_params::buf_len, _grk_stream_params::file, GrkCodec::getImpl(), grk_decompress_create_from_buffer(), grk_decompress_create_from_callbacks(), grk_decompress_create_from_file(), grk_object_unref(), grk::grk_read(), and _grk_stream_params::read_fn.

◆ grk_decompress_read_header()

bool GRK_CALLCONV grk_decompress_read_header ( grk_codec * codec,
grk_header_info * header_info )

Decompress JPEG 2000 header.

Parameters
codecdecompression codec
header_infoinformation read from JPEG 2000 header.
Returns
true if the main header of the code stream and the JP2 header is correctly read.

References GrkCodec::getImpl(), and grk::grk_read().

◆ grk_decompress_set_default_params()

void GRK_CALLCONV grk_decompress_set_default_params ( grk_decompress_parameters * parameters)

Initialize decompress parameters with default values.

Parameters
parametersdecompression parameters

References GRK_RANDOM_ACCESS_PLM, GRK_RANDOM_ACCESS_PLT, GRK_RANDOM_ACCESS_TLM, grk::grk_read(), and GRK_TILE_CACHE_NONE.

◆ grk_decompress_set_window()

bool GRK_CALLCONV grk_decompress_set_window ( grk_codec * codec,
float start_x,
float start_y,
float end_x,
float end_y )

Set the given area to be decompressed.

This function should be called right after grk_decompress_read_header is called, and before any tile header is read.

Parameters
codecdecompression codec
start_xleft position of the rectangle to decompress (in image coordinates).
end_xthe right position of the rectangle to decompress (in image coordinates).
start_yup position of the rectangle to decompress (in image coordinates).
end_ybottom position of the rectangle to decompress (in image coordinates).
Returns
true if the area could be set.

References GrkCodec::getImpl(), and grk::grk_read().

◆ grk_decompress_tile()

bool GRK_CALLCONV grk_decompress_tile ( grk_codec * codec,
uint16_t tileIndex )

Decompress a specific tile.

Parameters
codecdecompression codec
tileIndexindex of the tile to be decompressed
Returns
true if successful, otherwise false

References GrkCodec::getImpl(), and grk::grk_read().

◆ grk_deinitialize()

GRK_API void GRK_CALLCONV grk_deinitialize ( )

De-initialize library.

References ExecSingleton::destroy(), and grk_plugin_cleanup().

◆ grk_dump_codec()

void GRK_CALLCONV grk_dump_codec ( grk_codec * codec,
uint32_t info_flag,
FILE * output_stream )

Dump codec information to file.

Parameters
codecdecompression codec
info_flagtype of information dump.
output_streamcodec information is dumped to output stream

References GrkCodec::getImpl(), and grk::grk_read().

◆ grk_get_data_length_from_file()

static uint64_t grk_get_data_length_from_file ( void * filePtr)
static

◆ grk_image_meta_new()

grk_image_meta *GRK_CALLCONV grk_image_meta_new ( void )

◆ grk_image_new()

grk_image *GRK_CALLCONV grk_image_new ( uint16_t numcmpts,
grk_image_comp * cmptparms,
GRK_COLOR_SPACE clrspc,
bool alloc_data )

Create image.

Parameters
numcmptsnumber of components
cmptparmscomponent parameters
clrspcimage color space
alloc_dataif true, allocate component data buffers
Returns
returns a new image if successful, otherwise NULL

References grk::GrkImage::create(), and grk::grk_read().

◆ grk_initialize()

void GRK_CALLCONV grk_initialize ( const char * pluginPath,
uint32_t numthreads,
bool verbose )

Initialize library.

Parameters
pluginPathpath to plugin
numthreadsnumber of threads to use for compress/decompress

References grk_plugin_load(), grk::grk_read(), ExecSingleton::instance(), is_plugin_initialized, _grk_plugin_load_info::pluginPath, and _grk_plugin_load_info::verbose.

◆ grk_object_ref()

GRK_API grk_object *GRK_CALLCONV grk_object_ref ( grk_object * obj)

Increment ref count.

References _grk_object::wrapper.

Referenced by grk::GrkImage::copyHeader(), and grk::FileFormatCompress::init().

◆ grk_object_unref()

GRK_API void GRK_CALLCONV grk_object_unref ( grk_object * obj)

◆ grk_plugin_batch_compress()

int32_t GRK_CALLCONV grk_plugin_batch_compress ( grk_plugin_compress_batch_info info)

Batch compress with plugin.

Parameters
input_dirdirectory holding input images
output_dirdirectory holding compressed output images
compress_parameterscompress parameters
callbackcallback
Returns
0 if successful

References grk_plugin_compress_batch_info::callback, grk_plugin_internal_encode_callback(), grk::grk_read(), grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_batch_encode_method_name, pluginLoaded, and userEncodeCallback.

◆ grk_plugin_batch_decompress()

int32_t GRK_CALLCONV grk_plugin_batch_decompress ( void )

◆ grk_plugin_cleanup()

void GRK_CALLCONV grk_plugin_cleanup ( void )

Release plugin resources.

References grk::minpf_cleanup_plugin_manager(), and pluginLoaded.

Referenced by grk_deinitialize().

◆ grk_plugin_compress()

int32_t GRK_CALLCONV grk_plugin_compress ( grk_cparameters * compress_parameters,
GRK_PLUGIN_COMPRESS_USER_CALLBACK callback )

Compress with plugin.

Parameters
compress_parameterscompress parameters
callbackcallback

References grk_plugin_internal_encode_callback(), grk::grk_read(), grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_encode_method_name, pluginLoaded, and userEncodeCallback.

◆ grk_plugin_decompress()

int32_t GRK_CALLCONV grk_plugin_decompress ( grk_decompress_parameters * decompress_parameters,
grk_plugin_decompress_callback callback )

Decompress with plugin.

Parameters
decompress_parametersdecompress parameters
callbackcallback

References decodeCallback, grk_plugin_internal_decode_callback(), grk::grk_read(), grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_decode_method_name, and pluginLoaded.

◆ grk_plugin_get_debug_state()

uint32_t GRK_CALLCONV grk_plugin_get_debug_state ( )

◆ grk_plugin_init()

GRK_API bool GRK_CALLCONV grk_plugin_init ( grk_plugin_init_info initInfo)

◆ grk_plugin_init_batch_decompress()

int32_t GRK_CALLCONV grk_plugin_init_batch_decompress ( const char * input_dir,
const char * output_dir,
grk_decompress_parameters * decompress_parameters,
grk_plugin_decompress_callback callback )

Initialize batch decompress.

Parameters
input_dirinput directory holding compressed images
output_diroutput directory holding decompressed images
decompress_parametersdecompress parameters
callbackcallback
Returns
0 if successful

References decodeCallback, grk_plugin_internal_decode_callback(), grk::grk_read(), grk::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_init_batch_decode_method_name, and pluginLoaded.

◆ grk_plugin_internal_decode_callback()

int32_t grk_plugin_internal_decode_callback ( PluginDecodeCallbackInfo * info)

◆ grk_plugin_internal_encode_callback()

uint64_t grk_plugin_internal_encode_callback ( grk_plugin_compress_user_callback_info * info)

◆ grk_plugin_load()

bool GRK_CALLCONV grk_plugin_load ( grk_plugin_load_info info)

◆ grk_plugin_stop_batch_compress()

void GRK_CALLCONV grk_plugin_stop_batch_compress ( void )

◆ grk_plugin_stop_batch_decompress()

void GRK_CALLCONV grk_plugin_stop_batch_decompress ( void )

◆ grk_plugin_wait_for_batch_complete()

GRK_API void GRK_CALLCONV grk_plugin_wait_for_batch_complete ( void )

◆ grk_read_from_file()

static size_t grk_read_from_file ( uint8_t * buffer,
size_t numBytes,
void * p_file )
static

◆ grk_seek_in_file()

static bool grk_seek_in_file ( uint64_t numBytes,
void * p_user_data )
static

◆ grk_set_default_stream_params()

void GRK_CALLCONV grk_set_default_stream_params ( grk_stream_params * params)

Initialize stream parameters with default values.

Parameters
parametersstream parameters

References grk::grk_read().

◆ grk_set_MCT()

bool GRK_CALLCONV grk_set_MCT ( grk_cparameters * parameters,
float * encodingMatrix,
int32_t * dc_shift,
uint32_t nbComp )

Set the MCT matrix to use.

Parameters
parametersthe parameters to change.
encodingMatrixthe compressing matrix.
dc_shiftthe dc shift coefficients to use.
nbCompthe number of components of the image.
Returns
true if the parameters could be set.

References GRK_EXTENSION_MCT, GRK_IS_PART2, grk::grk_malloc(), GRK_PROFILE_PART2, and grk::grk_read().

◆ grk_set_msg_handlers()

GRK_API void GRK_CALLCONV grk_set_msg_handlers ( grk_msg_callback info_callback,
void * info_user_data,
grk_msg_callback warn_callback,
void * warn_user_data,
grk_msg_callback error_callback,
void * error_user_data )

◆ grk_stream_create_file_stream()

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

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::Logger::error(), grk::BufferedStream::getImpl(), grk_decompress_buffer_detect_format(), grk_get_data_length_from_file(), grk::grk_read(), 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(), grkFree_file(), and grk::Logger::logger_.

Referenced by grk_compress_init(), and grk_decompress_create_from_file().

◆ grk_stream_create_stream()

static grk_stream * grk_stream_create_stream ( grk_stream_params * stream_params)
static

◆ grk_stream_new()

static grk_stream * grk_stream_new ( size_t buffer_size,
bool is_input )
static

◆ 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 grk::BufferedStream::getImpl(), grk::grk_read(), and GROK_STREAM_STATUS_INPUT.

Referenced by grk_stream_create_file_stream(), grk_stream_create_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.

References grk::BufferedStream::getImpl(), and grk::grk_read().

Referenced by grk_stream_create_file_stream(), grk_stream_create_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.

References grk::BufferedStream::getImpl(), and grk::grk_read().

Referenced by grk::create_mem_stream(), grk_stream_create_file_stream(), and grk_stream_create_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.

References grk::BufferedStream::getImpl(), and grk::grk_read().

Referenced by grk_stream_create_file_stream(), grk_stream_create_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 grk::BufferedStream::getImpl(), grk::grk_read(), and GROK_STREAM_STATUS_OUTPUT.

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

◆ grk_version()

const char *GRK_CALLCONV grk_version ( void )

Library version.

References grk::grk_read().

Referenced by grk::CodeStreamCompress::init().

◆ grk_write_to_file()

static size_t grk_write_to_file ( const uint8_t * buffer,
size_t numBytes,
void * p_file )
static

◆ grkFree_file()

static void grkFree_file ( void * p_user_data)
static

◆ pathSeparator()

static const char * pathSeparator ( )
static

Referenced by grk_plugin_load().

Variable Documentation

◆ decodeCallback

grk_plugin_decompress_callback decodeCallback = 0

◆ funcPluginWaitForBatchComplete

PLUGIN_WAIT_FOR_BATCH_COMPLETE funcPluginWaitForBatchComplete = nullptr

◆ is_plugin_initialized

bool is_plugin_initialized = false
static

Referenced by grk_initialize().

◆ J2K_CODESTREAM_MAGIC

const char* J2K_CODESTREAM_MAGIC = "\xff\x4f\xff\x51"
static

◆ JP2_RFC3745_MAGIC

const char* JP2_RFC3745_MAGIC = "\x00\x00\x00\x0c\x6a\x50\x20\x20\x0d\x0a\x87\x0a"
static

◆ plugin_batch_decode_method_name

const char* plugin_batch_decode_method_name = "plugin_batch_decompress"
static

◆ plugin_batch_encode_method_name

const char* plugin_batch_encode_method_name = "plugin_batch_encode"
static

◆ plugin_decode_method_name

const char* plugin_decode_method_name = "plugin_decompress"
static

Referenced by grk_plugin_decompress().

◆ plugin_encode_method_name

const char* plugin_encode_method_name = "plugin_encode"
static

Referenced by grk_plugin_compress().

◆ plugin_get_debug_state_method_name

const char* plugin_get_debug_state_method_name = "plugin_get_debug_state"
static

◆ plugin_init_batch_decode_method_name

const char* plugin_init_batch_decode_method_name = "plugin_init_batch_decompress"
static

◆ plugin_init_method_name

const char* plugin_init_method_name = "plugin_init"
static

Referenced by grk_plugin_init().

◆ plugin_stop_batch_decode_method_name

const char* plugin_stop_batch_decode_method_name = "plugin_stop_batch_decompress"
static

◆ plugin_stop_batch_encode_method_name

const char* plugin_stop_batch_encode_method_name = "plugin_stop_batch_encode"
static

◆ plugin_wait_for_batch_complete_method_name

const char* plugin_wait_for_batch_complete_method_name = "plugin_wait_for_batch_complete"
static

◆ pluginLoaded

bool pluginLoaded = false

◆ userEncodeCallback

GRK_PLUGIN_COMPRESS_USER_CALLBACK userEncodeCallback = 0