Grok 12.0.1
Classes | Macros | Typedefs | Enumerations | Functions
grok.h File Reference
#include "grk_config.h"
#include <stdint.h>
#include <stdio.h>
#include <stdbool.h>
#include <limits.h>

Go to the source code of this file.

Classes

struct  _grk_object
 Grok ref-counted object. More...
 
struct  _grk_progression
 Progression order change. More...
 
struct  _grk_raw_comp_cparameters
 RAW component compress parameters. More...
 
struct  _grk_raw_cparameters
 RAW image compress parameters. More...
 
struct  _grk_component_mapping_comp
 Note: "component" refers to an image component as decompressed from the code stream, while "channel" refers to a component resulting from the application of a Palette box LUT and a Component mapping box. More...
 
struct  _grk_palette_data
 Palette data. More...
 
struct  _grk_channel_description
 Channel definition: channel index, type, association. More...
 
struct  _grk_channel_definition
 Channel definitions and number of definitions. More...
 
struct  _grk_color
 ICC profile, palette, channel definition. More...
 
struct  _grk_asoc
 Association box info. More...
 
struct  _grk_precision
 Precision. More...
 
struct  _grk_header_info
 Header info. More...
 
struct  _grk_io_buf
 
struct  _grk_io_init
 
struct  _grk_stream_params
 JPEG 2000 stream parameters. More...
 
struct  _grk_decompress_core_params
 Core decompression parameters. More...
 
struct  _grk_decompress_params
 Decompression parameters. More...
 
struct  _grk_image_comp
 Image component. More...
 
struct  _grk_image_meta
 
struct  _grk_image
 
struct  _grk_plugin_pass
 Plugin pass. More...
 
struct  _grk_plugin_code_block
 Plugin code block. More...
 
struct  _grk_plugin_precinct
 Plugin precinct. More...
 
struct  _grk_plugin_band
 Plugin band. More...
 
struct  _grk_plugin_resolution
 Plugin resolution. More...
 
struct  grk_plugin_tile_component
 Plugin tile component. More...
 
struct  _grk_plugin_tile
 Plugin tile. More...
 
struct  _grk_cparameters
 Compress parameters. More...
 
struct  _grk_plugin_load_info
 
struct  _grk_plugin_init_info
 
struct  grk_plugin_compress_user_callback_info
 
struct  grk_plugin_compress_batch_info
 
struct  _grk_plugin_decompress_callback_info
 

Macros

#define GRK_CALLCONV
 
#define GRK_API   __attribute__((visibility("default")))
 
#define GRK_NUM_COMMENTS_SUPPORTED   256
 
#define GRK_NUM_ASOC_BOXES_SUPPORTED   256
 
#define GRK_MAX_COMMENT_LENGTH   (UINT16_MAX - 2)
 
#define GRK_MAX_SUPPORTED_IMAGE_PRECISION   16 /* Maximum supported precision in library */
 
#define BIBO_EXTRA_BITS   7
 
#define GRK_MAX_PASSES   (3 * (GRK_MAX_SUPPORTED_IMAGE_PRECISION + BIBO_EXTRA_BITS) - 2)
 
#define GRK_PATH_LEN   4096 /* Maximum allowed filename size */
 
#define GRK_MAX_LAYERS   100 /* Maximum number of quality layers */
 
#define GRK_J2K_MAX_DECOMP_LVLS
 
#define GRK_J2K_MAXRLVLS    (GRK_J2K_MAX_DECOMP_LVLS + 1) /* Maximum number of resolution levels allowed by standard*/
 
#define GRK_J2K_MAXBANDS    (3 * GRK_J2K_MAXRLVLS - 2) /* Maximum number of sub-bands allowed by standard */
 
#define GRK_DECOMPRESS_COMPRESSION_LEVEL_DEFAULT   (UINT_MAX)
 
#define GRK_DECODE_HEADER   (1 << 0)
 
#define GRK_DECODE_T2   (1 << 1)
 
#define GRK_DECODE_T1   (1 << 2)
 
#define GRK_DECODE_POST_T1   (1 << 3)
 
#define GRK_PLUGIN_DECODE_CLEAN   (1 << 4)
 
#define GRK_DECODE_ALL
 
#define GRK_IMG_INFO   1 /* Basic image information provided to the user */
 
#define GRK_J2K_MH_INFO   2 /* Codestream information based only on the main header */
 
#define GRK_J2K_TH_INFO   4 /* Tile information based on the current tile header */
 
#define GRK_J2K_TCH_INFO   8
 Tile/Component information of all tiles.
 
#define GRK_J2K_MH_IND   16
 Codestream index based only on the main header.
 
#define GRK_J2K_TH_IND   32
 Tile index based on the current tile.
 
#define GRK_JP2_INFO   128
 JP2 file information.
 
#define GRK_JP2_IND   256
 JP2 file index.
 
#define GRK_CBLKSTY_LAZY   0x001
 Selective arithmetic coding bypass.
 
#define GRK_CBLKSTY_RESET   0x002
 Reset context probabilities on coding pass boundaries.
 
#define GRK_CBLKSTY_TERMALL   0x004
 Termination on each coding pass.
 
#define GRK_CBLKSTY_VSC   0x008
 Vertical stripe causal context.
 
#define GRK_CBLKSTY_PTERM   0x010
 Predictable termination.
 
#define GRK_CBLKSTY_SEGSYM   0x020
 Segmentation symbols are used.
 
#define GRK_CBLKSTY_HT   0x040
 high throughput block coding
 
#define GRK_CBLKSTY_HT_MIXED   0x080
 high throughput block coding - mixed
 
#define GRK_CBLKSTY_HT_PHLD   0x100
 high throughput block coding - placeholder
 
#define GRK_JPH_RSIZ_FLAG   0x4000
 for JPH, bit 14 of RSIZ must be set to 1
 
#define GRK_PROFILE_NONE   0x0000 /** no profile, conform to 15444-1 */
 
#define GRK_PROFILE_0   0x0001 /** Profile 0 as described in 15444-1,Table A.45 */
 
#define GRK_PROFILE_1   0x0002 /** Profile 1 as described in 15444-1,Table A.45 */
 
#define GRK_PROFILE_CINEMA_2K   0x0003 /** 2K cinema profile defined in 15444-1 AMD1 */
 
#define GRK_PROFILE_CINEMA_4K   0x0004 /** 4K cinema profile defined in 15444-1 AMD1 */
 
#define GRK_PROFILE_CINEMA_S2K   0x0005 /** Scalable 2K cinema profile defined in 15444-1 AMD2 */
 
#define GRK_PROFILE_CINEMA_S4K   0x0006 /** Scalable 4K cinema profile defined in 15444-1 AMD2 */
 
#define GRK_PROFILE_CINEMA_LTS    0x0007 /** Long term storage cinema profile defined in 15444-1 AMD2 */
 
#define GRK_PROFILE_BC_SINGLE   0x0100 /** Single Tile Broadcast profile defined in 15444-1 AMD3 */
 
#define GRK_PROFILE_BC_MULTI   0x0200 /** Multi Tile Broadcast profile defined in 15444-1 AMD3 */
 
#define GRK_PROFILE_BC_MULTI_R    0x0300 /** Multi Tile Reversible Broadcast profile defined in 15444-1 AMD3 */
 
#define GRK_PROFILE_BC_MASK   0x030F /** Mask for broadcast profile including main level */
 
#define GRK_PROFILE_IMF_2K   0x0400 /** 2K Single Tile Lossy IMF profile defined in 15444-1 AMD8 */
 
#define GRK_PROFILE_IMF_4K   0x0500 /** 4K Single Tile Lossy IMF profile defined in 15444-1 AMD8 */
 
#define GRK_PROFILE_IMF_8K   0x0600 /** 8K Single Tile Lossy IMF profile defined in 15444-1 AMD8 */
 
#define GRK_PROFILE_IMF_2K_R    0x0700 /** 2K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD8 */
 
#define GRK_PROFILE_IMF_4K_R    0x0800 /** 4K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD8 */
 
#define GRK_PROFILE_IMF_8K_R    0x0900 /** 8K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD8 */
 
#define GRK_PROFILE_MASK   0x0FFF /** Mask for profile bits */
 
#define GRK_PROFILE_PART2   0x8000 /** At least 1 extension defined in 15444-2 (Part-2) */
 
#define GRK_PROFILE_PART2_EXTENSIONS_MASK   0x3FFF
 
#define GRK_EXTENSION_NONE   0x0000 /** No Part-2 extension */
 JPEG 2000 Part-2 extensions.
 
#define GRK_EXTENSION_MCT   0x0100 /** Custom MCT support */
 
#define GRK_IS_PART2(v)   ((v)&GRK_PROFILE_PART2)
 
#define GRK_IS_CINEMA(v)   (((v) >= GRK_PROFILE_CINEMA_2K) && ((v) <= GRK_PROFILE_CINEMA_S4K))
 
#define GRK_IS_STORAGE(v)   ((v) == GRK_PROFILE_CINEMA_LTS)
 
#define GRK_GET_IMF_OR_BROADCAST_PROFILE(v)    ((v)&0x0f00) /** Extract profile without mainlevel/sublevel */
 
#define GRK_LEVEL_MAX   11U /** Maximum (main) level */
 
#define GRK_GET_LEVEL(v)   ((v)&0xf) /** Extract (main) level */
 
#define GRK_IS_BROADCAST(v)
 
#define GRK_BROADCAST_LEVEL_1_MBITSSEC   200U /** Mbits/sec for level 1 */
 
#define GRK_BROADCAST_LEVEL_2_MBITSSEC   200U /** Mbits/sec for level 2 */
 
#define GRK_BROADCAST_LEVEL_3_MBITSSEC   200U /** Mbits/sec for level 3 */
 
#define GRK_BROADCAST_LEVEL_4_MBITSSEC   400U /** Mbits/sec for level 4 */
 
#define GRK_BROADCAST_LEVEL_5_MBITSSEC   800U /** Mbits/sec for level 5 */
 
#define GRK_BROADCAST_LEVEL_6_MBITSSEC   1600U /** Mbits/sec for level 6 */
 
#define GRK_BROADCAST_LEVEL_7_MBITSSEC   3200U /** Mbits/sec for level 7 */
 
#define GRK_BROADCAST_LEVEL_8_MBITSSEC   6400U /** Mbits/sec for level 8 */
 
#define GRK_BROADCAST_LEVEL_9_MBITSSEC   12800U /** Mbits/sec for level 9 */
 
#define GRK_BROADCAST_LEVEL_10_MBITSSEC   25600U /** Mbits/sec for level 10 */
 
#define GRK_BROADCAST_LEVEL_11_MBITSSEC   51200U /** Mbits/sec for level 11 */
 
#define GRK_BROADCAST_LEVEL_1_MSAMPLESSEC   64U /** MSamples/sec for level 1 */
 
#define GRK_BROADCAST_LEVEL_2_MSAMPLESSEC   130U /** MSamples/sec for level 2 */
 
#define GRK_BROADCAST_LEVEL_3_MSAMPLESSEC   195U /** MSamples/sec for level 3 */
 
#define GRK_BROADCAST_LEVEL_4_MSAMPLESSEC   260U /** MSamples/sec for level 4 */
 
#define GRK_BROADCAST_LEVEL_5_MSAMPLESSEC   520U /** MSamples/sec for level 5 */
 
#define GRK_BROADCAST_LEVEL_6_MSAMPLESSEC   1200U /** MSamples/sec for level 6 */
 
#define GRK_BROADCAST_LEVEL_7_MSAMPLESSEC   2400U /** MSamples/sec for level 7 */
 
#define GRK_BROADCAST_LEVEL_8_MSAMPLESSEC   4800U /** MSamples/sec for level 8 */
 
#define GRK_BROADCAST_LEVEL_9_MSAMPLESSEC   9600U /** MSamples/sec for level 9 */
 
#define GRK_BROADCAST_LEVEL_10_MSAMPLESSEC   19200U /** MSamples/sec for level 10 */
 
#define GRK_BROADCAST_LEVEL_11_MSAMPLESSEC   38400U /** MSamples/sec for level 11 */
 
#define GRK_IS_IMF(v)
 
#define GRK_IMF_MAINLEVEL_1_MSAMPLESSEC   65U /** MSamples/sec for main level 1 */
 
#define GRK_IMF_MAINLEVEL_2_MSAMPLESSEC   130U /** MSamples/sec for main level 2 */
 
#define GRK_IMF_MAINLEVEL_3_MSAMPLESSEC   195U /** MSamples/sec for main level 3 */
 
#define GRK_IMF_MAINLEVEL_4_MSAMPLESSEC   260U /** MSamples/sec for main level 4 */
 
#define GRK_IMF_MAINLEVEL_5_MSAMPLESSEC   520U /** MSamples/sec for main level 5 */
 
#define GRK_IMF_MAINLEVEL_6_MSAMPLESSEC   1200U /** MSamples/sec for main level 6 */
 
#define GRK_IMF_MAINLEVEL_7_MSAMPLESSEC   2400U /** MSamples/sec for main level 7 */
 
#define GRK_IMF_MAINLEVEL_8_MSAMPLESSEC   4800U /** MSamples/sec for main level 8 */
 
#define GRK_IMF_MAINLEVEL_9_MSAMPLESSEC   9600U /** MSamples/sec for main level 9 */
 
#define GRK_IMF_MAINLEVEL_10_MSAMPLESSEC   19200U /** MSamples/sec for main level 10 */
 
#define GRK_IMF_MAINLEVEL_11_MSAMPLESSEC   38400U /** MSamples/sec for main level 11 */
 
#define GRK_IMF_SUBLEVEL_MAX   9U /** Maximum IMF sublevel */
 
#define GRK_GET_IMF_SUBLEVEL(v)   (((v) >> 4) & 0xf) /** Extract IMF sub level */
 
#define GRK_IMF_SUBLEVEL_1_MBITSSEC   200U /** Mbits/s for IMF sub level 1 */
 Maximum compressed bit rate (Mbits/s) per IMF sub level.
 
#define GRK_IMF_SUBLEVEL_2_MBITSSEC   400U /** Mbits/s for IMF sub level 2 */
 
#define GRK_IMF_SUBLEVEL_3_MBITSSEC   800U /** Mbits/s for IMF sub level 3 */
 
#define GRK_IMF_SUBLEVEL_4_MBITSSEC   1600U /** Mbits/s for IMF sub level 4 */
 
#define GRK_IMF_SUBLEVEL_5_MBITSSEC   3200U /** Mbits/s for IMF sub level 5 */
 
#define GRK_IMF_SUBLEVEL_6_MBITSSEC   6400U /** Mbits/s for IMF sub level 6 */
 
#define GRK_IMF_SUBLEVEL_7_MBITSSEC   12800U /** Mbits/s for IMF sub level 7 */
 
#define GRK_IMF_SUBLEVEL_8_MBITSSEC   25600U /** Mbits/s for IMF sub level 8 */
 
#define GRK_IMF_SUBLEVEL_9_MBITSSEC   51200U /** Mbits/s for IMF sub level 9 */
 
#define GRK_CINEMA_DCI_MAX_BANDWIDTH   250000000
 JPEG 2000 cinema profile code stream and component size limits.
 
#define GRK_CINEMA_24_CS   1302083 /** Maximum code stream length @ 24fps */
 
#define GRK_CINEMA_24_COMP   1041666 /** Maximum size per color component @ 24fps */
 
#define GRK_CINEMA_48_CS   651041 /** Maximum code stream length @ 48fps */
 
#define GRK_CINEMA_48_COMP   520833 /** Maximum size per color component @ 48fps */
 
#define GRK_CINEMA_4K_DEFAULT_NUM_RESOLUTIONS   7
 
#define GRK_CUSTOM_CIELAB_SPACE   0x0
 
#define GRK_DEFAULT_CIELAB_SPACE   0x44454600 /* 'DEF' */
 
#define GRK_CIE_DAY   ((((uint32_t)'C') << 24) + (((uint32_t)'T') << 16))
 
#define GRK_CIE_D50   ((uint32_t)0x00443530)
 
#define GRK_CIE_D65   ((uint32_t)0x00443635)
 
#define GRK_CIE_D75   ((uint32_t)0x00443735)
 
#define GRK_CIE_SA   ((uint32_t)0x00005341)
 
#define GRK_CIE_SC   ((uint32_t)0x00005343)
 
#define GRK_CIE_F2   ((uint32_t)0x00004632)
 
#define GRK_CIE_F7   ((uint32_t)0x00004637)
 
#define GRK_CIE_F11   ((uint32_t)0x00463131)
 
#define GRK_RANDOM_ACCESS_PLT   1 /* use PLT marker if present */
 Toggle random access markers.
 
#define GRK_RANDOM_ACCESS_TLM   2 /* use TLM marker if present */
 
#define GRK_RANDOM_ACCESS_PLM   4 /* use PLM marker if present */
 
#define GRK_PLUGIN_STATE_NO_DEBUG   0x0
 
#define GRK_PLUGIN_STATE_DEBUG   0x1
 
#define GRK_PLUGIN_STATE_PRE_TR1   0x2
 
#define GRK_PLUGIN_STATE_DWT_QUANTIZATION   0x4
 
#define GRK_PLUGIN_STATE_MCT_ONLY   0x8
 

Typedefs

typedef enum _GRK_PROG_ORDER GRK_PROG_ORDER
 Progression order.
 
typedef enum _GRK_COLOR_SPACE GRK_COLOR_SPACE
 Supported color spaces.
 
typedef enum _GRK_ENUM_COLOUR_SPACE GRK_ENUM_COLOUR_SPACE
 
typedef void(* grk_msg_callback) (const char *msg, void *client_data)
 Logging callback.
 
typedef struct _grk_object grk_object
 Grok ref-counted object.
 
typedef struct _grk_progression grk_progression
 Progression order change.
 
typedef struct _grk_raw_comp_cparameters grk_raw_comp_cparameters
 RAW component compress parameters.
 
typedef struct _grk_raw_cparameters grk_raw_cparameters
 RAW image compress parameters.
 
typedef enum _GRK_RATE_CONTROL_ALGORITHM GRK_RATE_CONTROL_ALGORITHM
 Rate control algorithms GRK_RATE_CONTROL_BISECT: bisect with all truncation points GRK_RATE_CONTROL_PCRD_OPT: bisect with only feasible truncation points.
 
typedef enum _GRK_SUPPORTED_FILE_FMT GRK_SUPPORTED_FILE_FMT
 All supported file formats.
 
typedef enum _GRK_CODEC_FORMAT GRK_CODEC_FORMAT
 Supported JPEG 2000 formats.
 
typedef struct _grk_component_mapping_comp grk_component_mapping_comp
 Note: "component" refers to an image component as decompressed from the code stream, while "channel" refers to a component resulting from the application of a Palette box LUT and a Component mapping box.
 
typedef struct _grk_palette_data grk_palette_data
 Palette data.
 
typedef enum _GRK_CHANNEL_TYPE GRK_CHANNEL_TYPE
 
typedef enum _GRK_CHANNEL_ASSOC GRK_CHANNEL_ASSOC
 
typedef struct _grk_channel_description grk_channel_description
 Channel definition: channel index, type, association.
 
typedef struct _grk_channel_definition grk_channel_definition
 Channel definitions and number of definitions.
 
typedef struct _grk_color grk_color
 ICC profile, palette, channel definition.
 
typedef struct _grk_asoc grk_asoc
 Association box info.
 
typedef enum _grk_precision_mode grk_precision_mode
 Precision mode.
 
typedef struct _grk_precision grk_precision
 Precision.
 
typedef struct _grk_header_info grk_header_info
 Header info.
 
typedef struct _grk_io_buf grk_io_buf
 
typedef struct _grk_io_init grk_io_init
 
typedef bool(* grk_io_callback) (uint32_t threadId, grk_io_buf buffer, void *io_user_data)
 
typedef void(* grk_io_register_reclaim_callback) (grk_io_init io_init, grk_io_callback reclaim_callback, void *io_user_data, void *reclaim_user_data)
 
typedef bool(* grk_io_pixels_callback) (uint32_t threadId, grk_io_buf buffer, void *user_data)
 
typedef size_t(* grk_stream_read_fn) (uint8_t *buffer, size_t numBytes, void *user_data)
 read stream callback
 
typedef size_t(* grk_stream_write_fn) (const uint8_t *buffer, size_t numBytes, void *user_data)
 write stream callback
 
typedef bool(* grk_stream_seek_fn) (uint64_t offset, void *user_data)
 seek (absolute) callback
 
typedef void(* grk_stream_free_user_data_fn) (void *user_data)
 free user data callback
 
typedef struct _grk_stream_params grk_stream_params
 JPEG 2000 stream parameters.
 
typedef enum _GRK_TILE_CACHE_STRATEGY GRK_TILE_CACHE_STRATEGY
 
typedef struct _grk_decompress_core_params grk_decompress_core_params
 Core decompression parameters.
 
typedef struct _grk_decompress_params grk_decompress_parameters
 Decompression parameters.
 
typedef struct _grk_image_comp grk_image_comp
 Image component.
 
typedef struct _grk_image_meta grk_image_meta
 
typedef struct _grk_image grk_image
 
typedef struct _grk_plugin_pass grk_plugin_pass
 Plugin pass.
 
typedef struct _grk_plugin_code_block grk_plugin_code_block
 Plugin code block.
 
typedef struct _grk_plugin_precinct grk_plugin_precinct
 Plugin precinct.
 
typedef struct _grk_plugin_band grk_plugin_band
 Plugin band.
 
typedef struct _grk_plugin_resolution grk_plugin_resolution
 Plugin resolution.
 
typedef struct grk_plugin_tile_component grk_plugin_tile_component
 Plugin tile component.
 
typedef struct _grk_plugin_tile grk_plugin_tile
 Plugin tile.
 
typedef grk_object grk_codec
 
typedef struct _grk_cparameters grk_cparameters
 Compress parameters.
 
typedef struct _grk_plugin_load_info grk_plugin_load_info
 
typedef struct _grk_plugin_init_info grk_plugin_init_info
 
typedef struct grk_plugin_compress_user_callback_info grk_plugin_compress_user_callback_info
 
typedef uint64_t(* GRK_PLUGIN_COMPRESS_USER_CALLBACK) (grk_plugin_compress_user_callback_info *info)
 
typedef struct grk_plugin_compress_batch_info grk_plugin_compress_batch_info
 
typedef int(* GROK_INIT_DECOMPRESSORS) (grk_header_info *header_info, grk_image *image)
 
typedef struct _grk_plugin_decompress_callback_info grk_plugin_decompress_callback_info
 
typedef int32_t(* grk_plugin_decompress_callback) (grk_plugin_decompress_callback_info *info)
 

Enumerations

enum  _GRK_PROG_ORDER {
  GRK_PROG_UNKNOWN = -1 , GRK_LRCP = 0 , GRK_RLCP = 1 , GRK_RPCL = 2 ,
  GRK_PCRL = 3 , GRK_CPRL = 4 , GRK_NUM_PROGRESSION_ORDERS = 5
}
 Progression order. More...
 
enum  _GRK_COLOR_SPACE {
  GRK_CLRSPC_UNKNOWN = 0 , GRK_CLRSPC_SRGB = 2 , GRK_CLRSPC_GRAY = 3 , GRK_CLRSPC_SYCC = 4 ,
  GRK_CLRSPC_EYCC = 5 , GRK_CLRSPC_CMYK = 6 , GRK_CLRSPC_DEFAULT_CIE = 7 , GRK_CLRSPC_CUSTOM_CIE = 8 ,
  GRK_CLRSPC_ICC = 9
}
 Supported color spaces. More...
 
enum  _GRK_ENUM_COLOUR_SPACE {
  GRK_ENUM_CLRSPC_UNKNOWN = 0xFFFFFFFF , GRK_ENUM_CLRSPC_BILEVEL1 = 0 , GRK_ENUM_CLRSPC_YCBCR1 = 1 , GRK_ENUM_CLRSPC_YCBCR2 = 3 ,
  GRK_ENUM_CLRSPC_YCBCR3 = 4 , GRK_ENUM_CLRSPC_PHOTO_YCC = 9 , GRK_ENUM_CLRSPC_CMY = 11 , GRK_ENUM_CLRSPC_CMYK = 12 ,
  GRK_ENUM_CLRSPC_YCCK = 13 , GRK_ENUM_CLRSPC_CIE = 14 , GRK_ENUM_CLRSPC_BILEVEL2 = 15 , GRK_ENUM_CLRSPC_SRGB = 16 ,
  GRK_ENUM_CLRSPC_GRAY = 17 , GRK_ENUM_CLRSPC_SYCC = 18 , GRK_ENUM_CLRSPC_CIEJAB = 19 , GRK_ENUM_CLRSPC_ESRGB = 20 ,
  GRK_ENUM_CLRSPC_ROMMRGB = 21 , GRK_ENUM_CLRSPC_YPBPR60 = 22 , GRK_ENUM_CLRSPC_YPBPR50 = 23 , GRK_ENUM_CLRSPC_EYCC = 24
}
 
enum  _GRK_RATE_CONTROL_ALGORITHM { GRK_RATE_CONTROL_BISECT , GRK_RATE_CONTROL_PCRD_OPT }
 Rate control algorithms GRK_RATE_CONTROL_BISECT: bisect with all truncation points GRK_RATE_CONTROL_PCRD_OPT: bisect with only feasible truncation points. More...
 
enum  _GRK_SUPPORTED_FILE_FMT {
  GRK_FMT_UNK , GRK_FMT_J2K , GRK_FMT_JP2 , GRK_FMT_PXM ,
  GRK_FMT_PGX , GRK_FMT_PAM , GRK_FMT_BMP , GRK_FMT_TIF ,
  GRK_FMT_RAW , GRK_FMT_PNG , GRK_FMT_RAWL , GRK_FMT_JPG
}
 All supported file formats. More...
 
enum  _GRK_CODEC_FORMAT { GRK_CODEC_UNK , GRK_CODEC_J2K , GRK_CODEC_JP2 }
 Supported JPEG 2000 formats. More...
 
enum  _GRK_CHANNEL_TYPE { GRK_CHANNEL_TYPE_COLOUR = 0 , GRK_CHANNEL_TYPE_OPACITY = 1 , GRK_CHANNEL_TYPE_PREMULTIPLIED_OPACITY = 2 , GRK_CHANNEL_TYPE_UNSPECIFIED = 65535U }
 
enum  _GRK_CHANNEL_ASSOC {
  GRK_CHANNEL_ASSOC_WHOLE_IMAGE = 0 , GRK_CHANNEL_ASSOC_COLOUR_1 = 1 , GRK_CHANNEL_ASSOC_COLOUR_2 = 2 , GRK_CHANNEL_ASSOC_COLOUR_3 = 3 ,
  GRK_CHANNEL_ASSOC_UNASSOCIATED = 65535U
}
 
enum  _grk_precision_mode { GRK_PREC_MODE_CLIP , GRK_PREC_MODE_SCALE }
 Precision mode. More...
 
enum  _GRK_TILE_CACHE_STRATEGY { GRK_TILE_CACHE_NONE , GRK_TILE_CACHE_IMAGE }
 

Functions

GRK_API const char *GRK_CALLCONV grk_version (void)
 Library version.
 
GRK_API 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)
 
GRK_API grk_image *GRK_CALLCONV grk_image_new (uint16_t numcmpts, grk_image_comp *cmptparms, GRK_COLOR_SPACE clrspc, bool alloc_data)
 Create image.
 
GRK_API grk_image_meta *GRK_CALLCONV grk_image_meta_new (void)
 
GRK_API 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.
 
GRK_API void GRK_CALLCONV grk_set_default_stream_params (grk_stream_params *params)
 Initialize stream parameters with default values.
 
GRK_API void GRK_CALLCONV grk_decompress_set_default_params (grk_decompress_parameters *parameters)
 Initialize decompress parameters with default values.
 
GRK_API grk_codec *GRK_CALLCONV grk_decompress_init (grk_stream_params *stream_params, grk_decompress_core_params *core_params)
 Initialize decompressor.
 
GRK_API bool GRK_CALLCONV grk_decompress_read_header (grk_codec *codec, grk_header_info *header_info)
 Decompress JPEG 2000 header.
 
GRK_API grk_image *GRK_CALLCONV grk_decompress_get_tile_image (grk_codec *codec, uint16_t tileIndex)
 Get decompressed tile image.
 
GRK_API grk_image *GRK_CALLCONV grk_decompress_get_composited_image (grk_codec *codec)
 Get decompressed composite image.
 
GRK_API 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.
 
GRK_API bool GRK_CALLCONV grk_decompress (grk_codec *codec, grk_plugin_tile *tile)
 Decompress image from a JPEG 2000 code stream.
 
GRK_API bool GRK_CALLCONV grk_decompress_tile (grk_codec *codec, uint16_t tileIndex)
 Decompress a specific tile.
 
GRK_API void GRK_CALLCONV grk_compress_set_default_params (grk_cparameters *parameters)
 Set compressing parameters to default values:
 
GRK_API 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.
 
GRK_API uint64_t GRK_CALLCONV grk_compress (grk_codec *codec, grk_plugin_tile *tile)
 Compress an image into a JPEG 2000 code stream using plugin.
 
GRK_API void GRK_CALLCONV grk_dump_codec (grk_codec *codec, uint32_t info_flag, FILE *output_stream)
 Dump codec information to file.
 
GRK_API bool GRK_CALLCONV grk_set_MCT (grk_cparameters *parameters, float *encodingMatrix, int32_t *dc_shift, uint32_t nbComp)
 Set the MCT matrix to use.
 
GRK_API bool GRK_CALLCONV grk_plugin_load (grk_plugin_load_info info)
 Load plugin.
 
GRK_API void GRK_CALLCONV grk_plugin_cleanup (void)
 Release plugin resources.
 
GRK_API uint32_t GRK_CALLCONV grk_plugin_get_debug_state ()
 Get debug state of plugin.
 
GRK_API bool GRK_CALLCONV grk_plugin_init (grk_plugin_init_info initInfo)
 Initialize plugin.
 
GRK_API int32_t GRK_CALLCONV grk_plugin_compress (grk_cparameters *compress_parameters, GRK_PLUGIN_COMPRESS_USER_CALLBACK callback)
 Compress with plugin.
 
GRK_API 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.
 
GRK_API void GRK_CALLCONV grk_plugin_stop_batch_compress (void)
 Stop batch compress.
 
GRK_API int32_t GRK_CALLCONV grk_plugin_decompress (grk_decompress_parameters *decompress_parameters, grk_plugin_decompress_callback callback)
 Decompress with plugin.
 
GRK_API 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.
 
GRK_API int32_t GRK_CALLCONV grk_plugin_batch_decompress (void)
 Initiate batch decompress.
 
GRK_API void GRK_CALLCONV grk_plugin_stop_batch_decompress (void)
 Stop batch decompress.
 

Macro Definition Documentation

◆ BIBO_EXTRA_BITS

#define BIBO_EXTRA_BITS   7

◆ GRK_API

#define GRK_API   __attribute__((visibility("default")))

◆ GRK_BROADCAST_LEVEL_10_MBITSSEC

#define GRK_BROADCAST_LEVEL_10_MBITSSEC   25600U /** Mbits/sec for level 10 */

◆ GRK_BROADCAST_LEVEL_10_MSAMPLESSEC

#define GRK_BROADCAST_LEVEL_10_MSAMPLESSEC   19200U /** MSamples/sec for level 10 */

◆ GRK_BROADCAST_LEVEL_11_MBITSSEC

#define GRK_BROADCAST_LEVEL_11_MBITSSEC   51200U /** Mbits/sec for level 11 */

◆ GRK_BROADCAST_LEVEL_11_MSAMPLESSEC

#define GRK_BROADCAST_LEVEL_11_MSAMPLESSEC   38400U /** MSamples/sec for level 11 */

◆ GRK_BROADCAST_LEVEL_1_MBITSSEC

#define GRK_BROADCAST_LEVEL_1_MBITSSEC   200U /** Mbits/sec for level 1 */

◆ GRK_BROADCAST_LEVEL_1_MSAMPLESSEC

#define GRK_BROADCAST_LEVEL_1_MSAMPLESSEC   64U /** MSamples/sec for level 1 */

◆ GRK_BROADCAST_LEVEL_2_MBITSSEC

#define GRK_BROADCAST_LEVEL_2_MBITSSEC   200U /** Mbits/sec for level 2 */

◆ GRK_BROADCAST_LEVEL_2_MSAMPLESSEC

#define GRK_BROADCAST_LEVEL_2_MSAMPLESSEC   130U /** MSamples/sec for level 2 */

◆ GRK_BROADCAST_LEVEL_3_MBITSSEC

#define GRK_BROADCAST_LEVEL_3_MBITSSEC   200U /** Mbits/sec for level 3 */

◆ GRK_BROADCAST_LEVEL_3_MSAMPLESSEC

#define GRK_BROADCAST_LEVEL_3_MSAMPLESSEC   195U /** MSamples/sec for level 3 */

◆ GRK_BROADCAST_LEVEL_4_MBITSSEC

#define GRK_BROADCAST_LEVEL_4_MBITSSEC   400U /** Mbits/sec for level 4 */

◆ GRK_BROADCAST_LEVEL_4_MSAMPLESSEC

#define GRK_BROADCAST_LEVEL_4_MSAMPLESSEC   260U /** MSamples/sec for level 4 */

◆ GRK_BROADCAST_LEVEL_5_MBITSSEC

#define GRK_BROADCAST_LEVEL_5_MBITSSEC   800U /** Mbits/sec for level 5 */

◆ GRK_BROADCAST_LEVEL_5_MSAMPLESSEC

#define GRK_BROADCAST_LEVEL_5_MSAMPLESSEC   520U /** MSamples/sec for level 5 */

◆ GRK_BROADCAST_LEVEL_6_MBITSSEC

#define GRK_BROADCAST_LEVEL_6_MBITSSEC   1600U /** Mbits/sec for level 6 */

◆ GRK_BROADCAST_LEVEL_6_MSAMPLESSEC

#define GRK_BROADCAST_LEVEL_6_MSAMPLESSEC   1200U /** MSamples/sec for level 6 */

◆ GRK_BROADCAST_LEVEL_7_MBITSSEC

#define GRK_BROADCAST_LEVEL_7_MBITSSEC   3200U /** Mbits/sec for level 7 */

◆ GRK_BROADCAST_LEVEL_7_MSAMPLESSEC

#define GRK_BROADCAST_LEVEL_7_MSAMPLESSEC   2400U /** MSamples/sec for level 7 */

◆ GRK_BROADCAST_LEVEL_8_MBITSSEC

#define GRK_BROADCAST_LEVEL_8_MBITSSEC   6400U /** Mbits/sec for level 8 */

◆ GRK_BROADCAST_LEVEL_8_MSAMPLESSEC

#define GRK_BROADCAST_LEVEL_8_MSAMPLESSEC   4800U /** MSamples/sec for level 8 */

◆ GRK_BROADCAST_LEVEL_9_MBITSSEC

#define GRK_BROADCAST_LEVEL_9_MBITSSEC   12800U /** Mbits/sec for level 9 */

◆ GRK_BROADCAST_LEVEL_9_MSAMPLESSEC

#define GRK_BROADCAST_LEVEL_9_MSAMPLESSEC   9600U /** MSamples/sec for level 9 */

◆ GRK_CALLCONV

#define GRK_CALLCONV

◆ GRK_CBLKSTY_HT

#define GRK_CBLKSTY_HT   0x040

◆ GRK_CBLKSTY_HT_MIXED

#define GRK_CBLKSTY_HT_MIXED   0x080

high throughput block coding - mixed

◆ GRK_CBLKSTY_HT_PHLD

#define GRK_CBLKSTY_HT_PHLD   0x100

high throughput block coding - placeholder

◆ GRK_CBLKSTY_LAZY

#define GRK_CBLKSTY_LAZY   0x001

◆ GRK_CBLKSTY_PTERM

#define GRK_CBLKSTY_PTERM   0x010

Predictable termination.

Referenced by grk::T1::compress_cblk(), and grk::T1::decompress_cblk().

◆ GRK_CBLKSTY_RESET

#define GRK_CBLKSTY_RESET   0x002

Reset context probabilities on coding pass boundaries.

Referenced by grk::T1::compress_cblk(), and grk::T1::decompress_cblk().

◆ GRK_CBLKSTY_SEGSYM

#define GRK_CBLKSTY_SEGSYM   0x020

Segmentation symbols are used.

Referenced by grk::T1::compress_cblk(), and grk::T1::dec_clnpass_check_segsym().

◆ GRK_CBLKSTY_TERMALL

#define GRK_CBLKSTY_TERMALL   0x004

Termination on each coding pass.

Referenced by grk::T1::enc_is_term_pass(), and grk::PacketParser::initSegment().

◆ GRK_CBLKSTY_VSC

#define GRK_CBLKSTY_VSC   0x008

◆ GRK_CIE_D50

#define GRK_CIE_D50   ((uint32_t)0x00443530)

◆ GRK_CIE_D65

#define GRK_CIE_D65   ((uint32_t)0x00443635)

◆ GRK_CIE_D75

#define GRK_CIE_D75   ((uint32_t)0x00443735)

◆ GRK_CIE_DAY

#define GRK_CIE_DAY   ((((uint32_t)'C') << 24) + (((uint32_t)'T') << 16))

◆ GRK_CIE_F11

#define GRK_CIE_F11   ((uint32_t)0x00463131)

◆ GRK_CIE_F2

#define GRK_CIE_F2   ((uint32_t)0x00004632)

◆ GRK_CIE_F7

#define GRK_CIE_F7   ((uint32_t)0x00004637)

◆ GRK_CIE_SA

#define GRK_CIE_SA   ((uint32_t)0x00005341)

◆ GRK_CIE_SC

#define GRK_CIE_SC   ((uint32_t)0x00005343)

◆ GRK_CINEMA_24_COMP

#define GRK_CINEMA_24_COMP   1041666 /** Maximum size per color component @ 24fps */

◆ GRK_CINEMA_24_CS

#define GRK_CINEMA_24_CS   1302083 /** Maximum code stream length @ 24fps */

◆ GRK_CINEMA_48_COMP

#define GRK_CINEMA_48_COMP   520833 /** Maximum size per color component @ 48fps */

◆ GRK_CINEMA_48_CS

#define GRK_CINEMA_48_CS   651041 /** Maximum code stream length @ 48fps */

◆ GRK_CINEMA_4K_DEFAULT_NUM_RESOLUTIONS

#define GRK_CINEMA_4K_DEFAULT_NUM_RESOLUTIONS   7

◆ GRK_CINEMA_DCI_MAX_BANDWIDTH

#define GRK_CINEMA_DCI_MAX_BANDWIDTH   250000000

JPEG 2000 cinema profile code stream and component size limits.

◆ GRK_CUSTOM_CIELAB_SPACE

#define GRK_CUSTOM_CIELAB_SPACE   0x0

◆ GRK_DECODE_ALL

#define GRK_DECODE_ALL
Value:
#define GRK_DECODE_T1
Definition grok.h:797
#define GRK_DECODE_POST_T1
Definition grok.h:798
#define GRK_DECODE_T2
Definition grok.h:796
#define GRK_DECODE_HEADER
Definition grok.h:795
#define GRK_PLUGIN_DECODE_CLEAN
Definition grok.h:799

◆ GRK_DECODE_HEADER

#define GRK_DECODE_HEADER   (1 << 0)

◆ GRK_DECODE_POST_T1

#define GRK_DECODE_POST_T1   (1 << 3)

◆ GRK_DECODE_T1

#define GRK_DECODE_T1   (1 << 2)

◆ GRK_DECODE_T2

#define GRK_DECODE_T2   (1 << 1)

◆ GRK_DECOMPRESS_COMPRESSION_LEVEL_DEFAULT

#define GRK_DECOMPRESS_COMPRESSION_LEVEL_DEFAULT   (UINT_MAX)

◆ GRK_DEFAULT_CIELAB_SPACE

#define GRK_DEFAULT_CIELAB_SPACE   0x44454600 /* 'DEF' */

◆ GRK_EXTENSION_MCT

#define GRK_EXTENSION_MCT   0x0100 /** Custom MCT support */

◆ GRK_EXTENSION_NONE

#define GRK_EXTENSION_NONE   0x0000 /** No Part-2 extension */

JPEG 2000 Part-2 extensions.

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

◆ GRK_GET_IMF_OR_BROADCAST_PROFILE

#define GRK_GET_IMF_OR_BROADCAST_PROFILE ( v)     ((v)&0x0f00) /** Extract profile without mainlevel/sublevel */

◆ GRK_GET_IMF_SUBLEVEL

#define GRK_GET_IMF_SUBLEVEL ( v)    (((v) >> 4) & 0xf) /** Extract IMF sub level */

◆ GRK_GET_LEVEL

#define GRK_GET_LEVEL ( v)    ((v)&0xf) /** Extract (main) level */

◆ GRK_IMF_MAINLEVEL_10_MSAMPLESSEC

#define GRK_IMF_MAINLEVEL_10_MSAMPLESSEC   19200U /** MSamples/sec for main level 10 */

◆ GRK_IMF_MAINLEVEL_11_MSAMPLESSEC

#define GRK_IMF_MAINLEVEL_11_MSAMPLESSEC   38400U /** MSamples/sec for main level 11 */

◆ GRK_IMF_MAINLEVEL_1_MSAMPLESSEC

#define GRK_IMF_MAINLEVEL_1_MSAMPLESSEC   65U /** MSamples/sec for main level 1 */

◆ GRK_IMF_MAINLEVEL_2_MSAMPLESSEC

#define GRK_IMF_MAINLEVEL_2_MSAMPLESSEC   130U /** MSamples/sec for main level 2 */

◆ GRK_IMF_MAINLEVEL_3_MSAMPLESSEC

#define GRK_IMF_MAINLEVEL_3_MSAMPLESSEC   195U /** MSamples/sec for main level 3 */

◆ GRK_IMF_MAINLEVEL_4_MSAMPLESSEC

#define GRK_IMF_MAINLEVEL_4_MSAMPLESSEC   260U /** MSamples/sec for main level 4 */

◆ GRK_IMF_MAINLEVEL_5_MSAMPLESSEC

#define GRK_IMF_MAINLEVEL_5_MSAMPLESSEC   520U /** MSamples/sec for main level 5 */

◆ GRK_IMF_MAINLEVEL_6_MSAMPLESSEC

#define GRK_IMF_MAINLEVEL_6_MSAMPLESSEC   1200U /** MSamples/sec for main level 6 */

◆ GRK_IMF_MAINLEVEL_7_MSAMPLESSEC

#define GRK_IMF_MAINLEVEL_7_MSAMPLESSEC   2400U /** MSamples/sec for main level 7 */

◆ GRK_IMF_MAINLEVEL_8_MSAMPLESSEC

#define GRK_IMF_MAINLEVEL_8_MSAMPLESSEC   4800U /** MSamples/sec for main level 8 */

◆ GRK_IMF_MAINLEVEL_9_MSAMPLESSEC

#define GRK_IMF_MAINLEVEL_9_MSAMPLESSEC   9600U /** MSamples/sec for main level 9 */

◆ GRK_IMF_SUBLEVEL_1_MBITSSEC

#define GRK_IMF_SUBLEVEL_1_MBITSSEC   200U /** Mbits/s for IMF sub level 1 */

Maximum compressed bit rate (Mbits/s) per IMF sub level.

◆ GRK_IMF_SUBLEVEL_2_MBITSSEC

#define GRK_IMF_SUBLEVEL_2_MBITSSEC   400U /** Mbits/s for IMF sub level 2 */

◆ GRK_IMF_SUBLEVEL_3_MBITSSEC

#define GRK_IMF_SUBLEVEL_3_MBITSSEC   800U /** Mbits/s for IMF sub level 3 */

◆ GRK_IMF_SUBLEVEL_4_MBITSSEC

#define GRK_IMF_SUBLEVEL_4_MBITSSEC   1600U /** Mbits/s for IMF sub level 4 */

◆ GRK_IMF_SUBLEVEL_5_MBITSSEC

#define GRK_IMF_SUBLEVEL_5_MBITSSEC   3200U /** Mbits/s for IMF sub level 5 */

◆ GRK_IMF_SUBLEVEL_6_MBITSSEC

#define GRK_IMF_SUBLEVEL_6_MBITSSEC   6400U /** Mbits/s for IMF sub level 6 */

◆ GRK_IMF_SUBLEVEL_7_MBITSSEC

#define GRK_IMF_SUBLEVEL_7_MBITSSEC   12800U /** Mbits/s for IMF sub level 7 */

◆ GRK_IMF_SUBLEVEL_8_MBITSSEC

#define GRK_IMF_SUBLEVEL_8_MBITSSEC   25600U /** Mbits/s for IMF sub level 8 */

◆ GRK_IMF_SUBLEVEL_9_MBITSSEC

#define GRK_IMF_SUBLEVEL_9_MBITSSEC   51200U /** Mbits/s for IMF sub level 9 */

◆ GRK_IMF_SUBLEVEL_MAX

#define GRK_IMF_SUBLEVEL_MAX   9U /** Maximum IMF sublevel */

◆ GRK_IMG_INFO

#define GRK_IMG_INFO   1 /* Basic image information provided to the user */

◆ GRK_IS_BROADCAST

#define GRK_IS_BROADCAST ( v)
Value:
(((v) >= GRK_PROFILE_BC_SINGLE) && ((v) <= (GRK_PROFILE_BC_MULTI_R | 0x000b)) && \
(((v)&0xf) <= 0xb))
#define GRK_PROFILE_BC_MULTI_R
Definition grok.h:1216
#define GRK_PROFILE_BC_SINGLE
Definition grok.h:1214

Referenced by grk::CodeStreamCompress::init(), and grk::SIZMarker::read().

◆ GRK_IS_CINEMA

#define GRK_IS_CINEMA ( v)    (((v) >= GRK_PROFILE_CINEMA_2K) && ((v) <= GRK_PROFILE_CINEMA_S4K))

◆ GRK_IS_IMF

#define GRK_IS_IMF ( v)
Value:
(((v) >= GRK_PROFILE_IMF_2K) && ((v) <= (GRK_PROFILE_IMF_8K_R | 0x009b)) && \
(((v)&0xf) <= 0xb) && (((v)&0xf0) <= 0x90))
#define GRK_PROFILE_IMF_8K_R
Definition grok.h:1226
#define GRK_PROFILE_IMF_2K
Definition grok.h:1219

Referenced by grk::PacketIter::enableTilePartGeneration(), grk::CodeStreamCompress::init(), and grk::SIZMarker::read().

◆ GRK_IS_PART2

#define GRK_IS_PART2 ( v)    ((v)&GRK_PROFILE_PART2)

◆ GRK_IS_STORAGE

#define GRK_IS_STORAGE ( v)    ((v) == GRK_PROFILE_CINEMA_LTS)

◆ GRK_J2K_MAX_DECOMP_LVLS

#define GRK_J2K_MAX_DECOMP_LVLS
Value:
32 /* Maximum number of decomposition levels allowed by standard \
*/

Referenced by grk::CodeStreamDecompress::read_SPCod_SPCoc().

◆ GRK_J2K_MAXBANDS

#define GRK_J2K_MAXBANDS    (3 * GRK_J2K_MAXRLVLS - 2) /* Maximum number of sub-bands allowed by standard */

◆ GRK_J2K_MAXRLVLS

#define GRK_J2K_MAXRLVLS    (GRK_J2K_MAX_DECOMP_LVLS + 1) /* Maximum number of resolution levels allowed by standard*/

◆ GRK_J2K_MH_IND

#define GRK_J2K_MH_IND   16

Codestream index based only on the main header.

Referenced by grk::CodeStreamDecompress::dump().

◆ GRK_J2K_MH_INFO

#define GRK_J2K_MH_INFO   2 /* Codestream information based only on the main header */

◆ GRK_J2K_TCH_INFO

#define GRK_J2K_TCH_INFO   8

Tile/Component information of all tiles.

Referenced by grk::CodeStreamDecompress::dump().

◆ GRK_J2K_TH_IND

#define GRK_J2K_TH_IND   32

Tile index based on the current tile.

◆ GRK_J2K_TH_INFO

#define GRK_J2K_TH_INFO   4 /* Tile information based on the current tile header */

◆ GRK_JP2_IND

#define GRK_JP2_IND   256

JP2 file index.

Referenced by grk::CodeStreamDecompress::dump().

◆ GRK_JP2_INFO

#define GRK_JP2_INFO   128

JP2 file information.

Referenced by grk::CodeStreamDecompress::dump().

◆ GRK_JPH_RSIZ_FLAG

#define GRK_JPH_RSIZ_FLAG   0x4000

for JPH, bit 14 of RSIZ must be set to 1

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

◆ GRK_LEVEL_MAX

#define GRK_LEVEL_MAX   11U /** Maximum (main) level */

◆ GRK_MAX_COMMENT_LENGTH

#define GRK_MAX_COMMENT_LENGTH   (UINT16_MAX - 2)

◆ GRK_MAX_LAYERS

#define GRK_MAX_LAYERS   100 /* Maximum number of quality layers */

◆ GRK_MAX_PASSES

#define GRK_MAX_PASSES   (3 * (GRK_MAX_SUPPORTED_IMAGE_PRECISION + BIBO_EXTRA_BITS) - 2)

◆ GRK_MAX_SUPPORTED_IMAGE_PRECISION

#define GRK_MAX_SUPPORTED_IMAGE_PRECISION   16 /* Maximum supported precision in library */

◆ GRK_NUM_ASOC_BOXES_SUPPORTED

#define GRK_NUM_ASOC_BOXES_SUPPORTED   256

◆ GRK_NUM_COMMENTS_SUPPORTED

#define GRK_NUM_COMMENTS_SUPPORTED   256

◆ GRK_PATH_LEN

#define GRK_PATH_LEN   4096 /* Maximum allowed filename size */

◆ GRK_PLUGIN_DECODE_CLEAN

#define GRK_PLUGIN_DECODE_CLEAN   (1 << 4)

◆ GRK_PLUGIN_STATE_DEBUG

#define GRK_PLUGIN_STATE_DEBUG   0x1

◆ GRK_PLUGIN_STATE_DWT_QUANTIZATION

#define GRK_PLUGIN_STATE_DWT_QUANTIZATION   0x4

◆ GRK_PLUGIN_STATE_MCT_ONLY

#define GRK_PLUGIN_STATE_MCT_ONLY   0x8

◆ GRK_PLUGIN_STATE_NO_DEBUG

#define GRK_PLUGIN_STATE_NO_DEBUG   0x0

◆ GRK_PLUGIN_STATE_PRE_TR1

#define GRK_PLUGIN_STATE_PRE_TR1   0x2

◆ GRK_PROFILE_0

#define GRK_PROFILE_0   0x0001 /** Profile 0 as described in 15444-1,Table A.45 */

◆ GRK_PROFILE_1

#define GRK_PROFILE_1   0x0002 /** Profile 1 as described in 15444-1,Table A.45 */

◆ GRK_PROFILE_BC_MASK

#define GRK_PROFILE_BC_MASK   0x030F /** Mask for broadcast profile including main level */

◆ GRK_PROFILE_BC_MULTI

#define GRK_PROFILE_BC_MULTI   0x0200 /** Multi Tile Broadcast profile defined in 15444-1 AMD3 */

◆ GRK_PROFILE_BC_MULTI_R

#define GRK_PROFILE_BC_MULTI_R    0x0300 /** Multi Tile Reversible Broadcast profile defined in 15444-1 AMD3 */

◆ GRK_PROFILE_BC_SINGLE

#define GRK_PROFILE_BC_SINGLE   0x0100 /** Single Tile Broadcast profile defined in 15444-1 AMD3 */

◆ GRK_PROFILE_CINEMA_2K

#define GRK_PROFILE_CINEMA_2K   0x0003 /** 2K cinema profile defined in 15444-1 AMD1 */

◆ GRK_PROFILE_CINEMA_4K

#define GRK_PROFILE_CINEMA_4K   0x0004 /** 4K cinema profile defined in 15444-1 AMD1 */

◆ GRK_PROFILE_CINEMA_LTS

#define GRK_PROFILE_CINEMA_LTS    0x0007 /** Long term storage cinema profile defined in 15444-1 AMD2 */

Referenced by grk::SIZMarker::read().

◆ GRK_PROFILE_CINEMA_S2K

#define GRK_PROFILE_CINEMA_S2K   0x0005 /** Scalable 2K cinema profile defined in 15444-1 AMD2 */

◆ GRK_PROFILE_CINEMA_S4K

#define GRK_PROFILE_CINEMA_S4K   0x0006 /** Scalable 4K cinema profile defined in 15444-1 AMD2 */

◆ GRK_PROFILE_IMF_2K

#define GRK_PROFILE_IMF_2K   0x0400 /** 2K Single Tile Lossy IMF profile defined in 15444-1 AMD8 */

◆ GRK_PROFILE_IMF_2K_R

#define GRK_PROFILE_IMF_2K_R    0x0700 /** 2K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD8 */

◆ GRK_PROFILE_IMF_4K

#define GRK_PROFILE_IMF_4K   0x0500 /** 4K Single Tile Lossy IMF profile defined in 15444-1 AMD8 */

◆ GRK_PROFILE_IMF_4K_R

#define GRK_PROFILE_IMF_4K_R    0x0800 /** 4K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD8 */

◆ GRK_PROFILE_IMF_8K

#define GRK_PROFILE_IMF_8K   0x0600 /** 8K Single Tile Lossy IMF profile defined in 15444-1 AMD8 */

◆ GRK_PROFILE_IMF_8K_R

#define GRK_PROFILE_IMF_8K_R    0x0900 /** 8K Single/Multi Tile Reversible IMF profile defined in 15444-1 AMD8 */

◆ GRK_PROFILE_MASK

#define GRK_PROFILE_MASK   0x0FFF /** Mask for profile bits */

Referenced by grk::SIZMarker::read().

◆ GRK_PROFILE_NONE

#define GRK_PROFILE_NONE   0x0000 /** no profile, conform to 15444-1 */

◆ GRK_PROFILE_PART2

#define GRK_PROFILE_PART2   0x8000 /** At least 1 extension defined in 15444-2 (Part-2) */

◆ GRK_PROFILE_PART2_EXTENSIONS_MASK

#define GRK_PROFILE_PART2_EXTENSIONS_MASK   0x3FFF

◆ GRK_RANDOM_ACCESS_PLM

#define GRK_RANDOM_ACCESS_PLM   4 /* use PLM marker if present */

◆ GRK_RANDOM_ACCESS_PLT

#define GRK_RANDOM_ACCESS_PLT   1 /* use PLT marker if present */

Toggle random access markers.

Referenced by grk_decompress_set_default_params().

◆ GRK_RANDOM_ACCESS_TLM

#define GRK_RANDOM_ACCESS_TLM   2 /* use TLM marker if present */

Typedef Documentation

◆ grk_asoc

typedef struct _grk_asoc grk_asoc

Association box info.

◆ GRK_CHANNEL_ASSOC

◆ grk_channel_definition

Channel definitions and number of definitions.

◆ grk_channel_description

Channel definition: channel index, type, association.

◆ GRK_CHANNEL_TYPE

◆ grk_codec

◆ GRK_CODEC_FORMAT

Supported JPEG 2000 formats.

◆ grk_color

typedef struct _grk_color grk_color

ICC profile, palette, channel definition.

◆ GRK_COLOR_SPACE

Supported color spaces.

◆ grk_component_mapping_comp

Note: "component" refers to an image component as decompressed from the code stream, while "channel" refers to a component resulting from the application of a Palette box LUT and a Component mapping box.

Component mappings: component index, mapping type, palette column

◆ grk_cparameters

Compress parameters.

◆ grk_decompress_core_params

Core decompression parameters.

◆ grk_decompress_parameters

Decompression parameters.

◆ GRK_ENUM_COLOUR_SPACE

◆ grk_header_info

Header info.

◆ grk_image

typedef struct _grk_image grk_image

◆ grk_image_comp

Image component.

◆ grk_image_meta

◆ grk_io_buf

typedef struct _grk_io_buf grk_io_buf

◆ grk_io_callback

typedef bool(* grk_io_callback) (uint32_t threadId, grk_io_buf buffer, void *io_user_data)

◆ grk_io_init

typedef struct _grk_io_init grk_io_init

◆ grk_io_pixels_callback

typedef bool(* grk_io_pixels_callback) (uint32_t threadId, grk_io_buf buffer, void *user_data)

◆ grk_io_register_reclaim_callback

typedef void(* grk_io_register_reclaim_callback) (grk_io_init io_init, grk_io_callback reclaim_callback, void *io_user_data, void *reclaim_user_data)

◆ grk_msg_callback

typedef void(* grk_msg_callback) (const char *msg, void *client_data)

Logging callback.

Parameters
msgmessage
client_dataclient data passed to callback

◆ grk_object

typedef struct _grk_object grk_object

Grok ref-counted object.

◆ grk_palette_data

Palette data.

◆ grk_plugin_band

Plugin band.

◆ grk_plugin_code_block

Plugin code block.

◆ grk_plugin_compress_batch_info

typedef struct grk_plugin_compress_batch_info grk_plugin_compress_batch_info

◆ GRK_PLUGIN_COMPRESS_USER_CALLBACK

typedef uint64_t(* GRK_PLUGIN_COMPRESS_USER_CALLBACK) (grk_plugin_compress_user_callback_info *info)

◆ grk_plugin_compress_user_callback_info

typedef struct grk_plugin_compress_user_callback_info grk_plugin_compress_user_callback_info

◆ grk_plugin_decompress_callback

typedef int32_t(* grk_plugin_decompress_callback) (grk_plugin_decompress_callback_info *info)

◆ grk_plugin_decompress_callback_info

◆ grk_plugin_init_info

◆ grk_plugin_load_info

◆ grk_plugin_pass

Plugin pass.

◆ grk_plugin_precinct

Plugin precinct.

◆ grk_plugin_resolution

Plugin resolution.

◆ grk_plugin_tile

Plugin tile.

◆ grk_plugin_tile_component

typedef struct grk_plugin_tile_component grk_plugin_tile_component

Plugin tile component.

◆ grk_precision

typedef struct _grk_precision grk_precision

Precision.

◆ grk_precision_mode

Precision mode.

◆ GRK_PROG_ORDER

Progression order.

◆ grk_progression

Progression order change.

◆ GRK_RATE_CONTROL_ALGORITHM

Rate control algorithms GRK_RATE_CONTROL_BISECT: bisect with all truncation points GRK_RATE_CONTROL_PCRD_OPT: bisect with only feasible truncation points.

◆ grk_raw_comp_cparameters

RAW component compress parameters.

◆ grk_raw_cparameters

RAW image compress parameters.

◆ grk_stream_free_user_data_fn

typedef void(* grk_stream_free_user_data_fn) (void *user_data)

free user data callback

@user_data user data

◆ grk_stream_params

JPEG 2000 stream parameters.

Client must populate one of the following options :

  1. File
  2. Buffer
  3. Callback

◆ grk_stream_read_fn

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

read stream callback

@buffer buffer to write stream to @numBytes number of bytes to write to buffer @user_data user data

◆ grk_stream_seek_fn

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

seek (absolute) callback

@offset absolute stream offset @user_data user data

◆ grk_stream_write_fn

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

write stream callback

@buffer buffer to read stream from @numBytes number of bytes to read from buffer @user_data user data

◆ GRK_SUPPORTED_FILE_FMT

All supported file formats.

◆ GRK_TILE_CACHE_STRATEGY

◆ GROK_INIT_DECOMPRESSORS

typedef int(* GROK_INIT_DECOMPRESSORS) (grk_header_info *header_info, grk_image *image)

Enumeration Type Documentation

◆ _GRK_CHANNEL_ASSOC

Enumerator
GRK_CHANNEL_ASSOC_WHOLE_IMAGE 
GRK_CHANNEL_ASSOC_COLOUR_1 
GRK_CHANNEL_ASSOC_COLOUR_2 
GRK_CHANNEL_ASSOC_COLOUR_3 
GRK_CHANNEL_ASSOC_UNASSOCIATED 

◆ _GRK_CHANNEL_TYPE

Enumerator
GRK_CHANNEL_TYPE_COLOUR 
GRK_CHANNEL_TYPE_OPACITY 
GRK_CHANNEL_TYPE_PREMULTIPLIED_OPACITY 
GRK_CHANNEL_TYPE_UNSPECIFIED 

◆ _GRK_CODEC_FORMAT

Supported JPEG 2000 formats.

Enumerator
GRK_CODEC_UNK 

unknown format

GRK_CODEC_J2K 

JPEG 2000 code stream format.

GRK_CODEC_JP2 

JP2 file format.

◆ _GRK_COLOR_SPACE

Supported color spaces.

Enumerator
GRK_CLRSPC_UNKNOWN 

unknown

GRK_CLRSPC_SRGB 

sRGB

GRK_CLRSPC_GRAY 

grayscale

GRK_CLRSPC_SYCC 

standard YCC (YUV)

GRK_CLRSPC_EYCC 

extended YCC

GRK_CLRSPC_CMYK 

CMYK.

GRK_CLRSPC_DEFAULT_CIE 

default CIE LAB

GRK_CLRSPC_CUSTOM_CIE 

custom CIE LAB

GRK_CLRSPC_ICC 

ICC profile.

◆ _GRK_ENUM_COLOUR_SPACE

Enumerator
GRK_ENUM_CLRSPC_UNKNOWN 
GRK_ENUM_CLRSPC_BILEVEL1 
GRK_ENUM_CLRSPC_YCBCR1 
GRK_ENUM_CLRSPC_YCBCR2 
GRK_ENUM_CLRSPC_YCBCR3 
GRK_ENUM_CLRSPC_PHOTO_YCC 
GRK_ENUM_CLRSPC_CMY 
GRK_ENUM_CLRSPC_CMYK 
GRK_ENUM_CLRSPC_YCCK 
GRK_ENUM_CLRSPC_CIE 
GRK_ENUM_CLRSPC_BILEVEL2 
GRK_ENUM_CLRSPC_SRGB 
GRK_ENUM_CLRSPC_GRAY 
GRK_ENUM_CLRSPC_SYCC 
GRK_ENUM_CLRSPC_CIEJAB 
GRK_ENUM_CLRSPC_ESRGB 
GRK_ENUM_CLRSPC_ROMMRGB 
GRK_ENUM_CLRSPC_YPBPR60 
GRK_ENUM_CLRSPC_YPBPR50 
GRK_ENUM_CLRSPC_EYCC 

◆ _grk_precision_mode

Precision mode.

Enumerator
GRK_PREC_MODE_CLIP 
GRK_PREC_MODE_SCALE 

◆ _GRK_PROG_ORDER

Progression order.

Enumerator
GRK_PROG_UNKNOWN 

place-holder

GRK_LRCP 

layer-resolution-component-precinct order

GRK_RLCP 

resolution-layer-component-precinct order

GRK_RPCL 

resolution-precinct-component-layer order

GRK_PCRL 

precinct-component-resolution-layer order

GRK_CPRL 

component-precinct-resolution-layer order

GRK_NUM_PROGRESSION_ORDERS 

◆ _GRK_RATE_CONTROL_ALGORITHM

Rate control algorithms GRK_RATE_CONTROL_BISECT: bisect with all truncation points GRK_RATE_CONTROL_PCRD_OPT: bisect with only feasible truncation points.

Enumerator
GRK_RATE_CONTROL_BISECT 
GRK_RATE_CONTROL_PCRD_OPT 

◆ _GRK_SUPPORTED_FILE_FMT

All supported file formats.

Enumerator
GRK_FMT_UNK 
GRK_FMT_J2K 
GRK_FMT_JP2 
GRK_FMT_PXM 
GRK_FMT_PGX 
GRK_FMT_PAM 
GRK_FMT_BMP 
GRK_FMT_TIF 
GRK_FMT_RAW 
GRK_FMT_PNG 
GRK_FMT_RAWL 
GRK_FMT_JPG 

◆ _GRK_TILE_CACHE_STRATEGY

Enumerator
GRK_TILE_CACHE_NONE 
GRK_TILE_CACHE_IMAGE 

Function Documentation

◆ grk_compress()

GRK_API 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_init()

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

◆ grk_compress_set_default_params()

GRK_API 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_decompress()

GRK_API 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_detect_format()

GRK_API 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_API 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_API 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_API 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()

GRK_API 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()

GRK_API 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()

GRK_API 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()

GRK_API 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()

GRK_API 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_image_meta_new()

GRK_API grk_image_meta *GRK_CALLCONV grk_image_meta_new ( void )

◆ grk_image_new()

GRK_API 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()

GRK_API 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()

GRK_API 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()

GRK_API int32_t GRK_CALLCONV grk_plugin_batch_decompress ( void )

◆ grk_plugin_cleanup()

GRK_API 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()

GRK_API 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()

GRK_API 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()

GRK_API 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()

GRK_API 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_load()

GRK_API bool GRK_CALLCONV grk_plugin_load ( grk_plugin_load_info info)

◆ grk_plugin_stop_batch_compress()

GRK_API void GRK_CALLCONV grk_plugin_stop_batch_compress ( void )

◆ grk_plugin_stop_batch_decompress()

GRK_API 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_set_default_stream_params()

GRK_API 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()

GRK_API 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_version()

GRK_API const char *GRK_CALLCONV grk_version ( void )

Library version.

References grk::grk_read().

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