Grok 10.0.0
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 - either file or buffer. 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_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_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_MAX_SUPPORTED_IMAGE_PRECISION   16 /* Maximum supported precision in library */
 
#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. More...
 
#define GRK_J2K_MH_IND   16
 Codestream index based only on the main header. More...
 
#define GRK_J2K_TH_IND   32
 Tile index based on the current tile. More...
 
#define GRK_JP2_INFO   128
 JP2 file information. More...
 
#define GRK_JP2_IND   256
 JP2 file index. More...
 
#define GRK_CBLKSTY_LAZY   0x001
 Selective arithmetic coding bypass. More...
 
#define GRK_CBLKSTY_RESET   0x002
 Reset context probabilities on coding pass boundaries. More...
 
#define GRK_CBLKSTY_TERMALL   0x004
 Termination on each coding pass. More...
 
#define GRK_CBLKSTY_VSC   0x008
 Vertical stripe causal context. More...
 
#define GRK_CBLKSTY_PTERM   0x010
 Predictable termination. More...
 
#define GRK_CBLKSTY_SEGSYM   0x020
 Segmentation symbols are used. More...
 
#define GRK_CBLKSTY_HT   0x040
 high throughput block coding More...
 
#define GRK_CBLKSTY_HT_MIXED   0x080
 high throughput block coding - mixed More...
 
#define GRK_CBLKSTY_HT_PHLD   0x100
 high throughput block coding - placeholder More...
 
#define GRK_JPH_RSIZ_FLAG   0x4000
 for JPH, bit 14 of RSIZ must be set to 1 More...
 
#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. More...
 
#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. More...
 
#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_24_CS   1302083U /** Maximum code stream length @ 24fps */
 JPEG 2000 cinema profile code stream and component size limits. More...
 
#define GRK_CINEMA_48_CS   651041U /** Maximum code stream length @ 48fps */
 
#define GRK_CINEMA_24_COMP   1041666U /** Maximum size per color component @ 24fps */
 
#define GRK_CINEMA_48_COMP   520833U /** Maximum size per color component @ 48fps */
 
#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. More...
 
#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. More...
 
typedef enum _GRK_COLOR_SPACE GRK_COLOR_SPACE
 Supported color spaces. More...
 
typedef enum _GRK_ENUM_COLOUR_SPACE GRK_ENUM_COLOUR_SPACE
 
typedef void(* grk_msg_callback) (const char *msg, void *client_data)
 Logging callback. More...
 
typedef struct _grk_object grk_object
 Grok ref-counted object. More...
 
typedef struct _grk_progression grk_progression
 Progression order change. More...
 
typedef struct _grk_raw_comp_cparameters grk_raw_comp_cparameters
 RAW component compress parameters. More...
 
typedef struct _grk_raw_cparameters grk_raw_cparameters
 RAW image compress parameters. More...
 
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. More...
 
typedef enum _GRK_SUPPORTED_FILE_FMT GRK_SUPPORTED_FILE_FMT
 All supported file formats. More...
 
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. More...
 
typedef struct _grk_palette_data grk_palette_data
 Palette data. More...
 
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. More...
 
typedef struct _grk_channel_definition grk_channel_definition
 Channel definitions and number of definitions. More...
 
typedef struct _grk_color grk_color
 ICC profile, palette, channel definition. More...
 
typedef struct _grk_asoc grk_asoc
 Association box info. More...
 
typedef enum _grk_precision_mode grk_precision_mode
 Precision mode. More...
 
typedef struct _grk_precision grk_precision
 Precision. More...
 
typedef struct _grk_header_info grk_header_info
 Header info. More...
 
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 struct _grk_stream_params grk_stream_params
 JPEG 2000 stream parameters - either file or buffer. More...
 
typedef enum _GRK_TILE_CACHE_STRATEGY GRK_TILE_CACHE_STRATEGY
 
typedef struct _grk_decompress_core_params grk_decompress_core_params
 Core decompression parameters. More...
 
typedef enum _GRK_CODEC_FORMAT GRK_CODEC_FORMAT
 Supported JPEG 2000 formats. More...
 
typedef struct _grk_decompress_params grk_decompress_parameters
 Decompression parameters. More...
 
typedef struct _grk_image_comp grk_image_comp
 Image component. More...
 
typedef struct _grk_image_meta grk_image_meta
 
typedef struct _grk_image grk_image
 
typedef struct _grk_plugin_pass grk_plugin_pass
 Plugin pass. More...
 
typedef struct _grk_plugin_code_block grk_plugin_code_block
 Plugin code block. More...
 
typedef struct _grk_plugin_precinct grk_plugin_precinct
 Plugin precinct. More...
 
typedef struct _grk_plugin_band grk_plugin_band
 Plugin band. More...
 
typedef struct _grk_plugin_resolution grk_plugin_resolution
 Plugin resolution. More...
 
typedef struct grk_plugin_tile_component grk_plugin_tile_component
 Plugin tile component. More...
 
typedef struct _grk_plugin_tile grk_plugin_tile
 Plugin tile. More...
 
typedef grk_object grk_codec
 
typedef struct _grk_cparameters grk_cparameters
 Compress parameters. More...
 
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 bool(* GRK_PLUGIN_COMPRESS_USER_CALLBACK) (grk_plugin_compress_user_callback_info *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_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 }
 
enum  _GRK_CODEC_FORMAT { GRK_CODEC_UNK = -1 , GRK_CODEC_J2K = 0 , GRK_CODEC_JP2 = 2 }
 Supported JPEG 2000 formats. More...
 

Functions

GRK_API const char *GRK_CALLCONV grk_version (void)
 Library version. More...
 
GRK_API bool GRK_CALLCONV grk_initialize (const char *pluginPath, uint32_t numthreads)
 Initialize library. More...
 
GRK_API void GRK_CALLCONV grk_deinitialize ()
 De-initialize library. More...
 
GRK_API grk_object *GRK_CALLCONV grk_object_ref (grk_object *obj)
 Increment ref count. More...
 
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)
 Create image. More...
 
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. More...
 
GRK_API bool GRK_CALLCONV 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. More...
 
GRK_API void GRK_CALLCONV grk_decompress_set_default_params (grk_decompress_core_params *parameters)
 Initialize decompress parameters with default values. More...
 
GRK_API grk_codec *GRK_CALLCONV grk_decompress_init (grk_stream_params *stream_params, grk_decompress_core_params *core_params)
 Initialize decompressor. More...
 
GRK_API bool GRK_CALLCONV grk_decompress_read_header (grk_codec *codec, grk_header_info *header_info)
 Decompress JPEG 2000 header. More...
 
GRK_API grk_image *GRK_CALLCONV grk_decompress_get_tile_image (grk_codec *codec, uint16_t tileIndex)
 Get decompressed tile image. More...
 
GRK_API grk_image *GRK_CALLCONV grk_decompress_get_composited_image (grk_codec *codec)
 Get decompressed composite image. More...
 
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. More...
 
GRK_API bool GRK_CALLCONV grk_decompress (grk_codec *codec, grk_plugin_tile *tile)
 Decompress image from a JPEG 2000 code stream. More...
 
GRK_API bool GRK_CALLCONV grk_decompress_tile (grk_codec *codec, uint16_t tileIndex)
 Decompress a specific tile. More...
 
GRK_API void GRK_CALLCONV grk_compress_set_default_params (grk_cparameters *parameters)
 Set compressing parameters to default values: More...
 
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. More...
 
GRK_API bool GRK_CALLCONV grk_compress (grk_codec *codec, grk_plugin_tile *tile)
 Compress an image into a JPEG 2000 code stream using plugin. More...
 
GRK_API void GRK_CALLCONV grk_dump_codec (grk_codec *codec, uint32_t info_flag, FILE *output_stream)
 Dump codec information to file. More...
 
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. More...
 
GRK_API bool GRK_CALLCONV grk_plugin_load (grk_plugin_load_info info)
 Load plugin. More...
 
GRK_API void GRK_CALLCONV grk_plugin_cleanup (void)
 Release plugin resources. More...
 
GRK_API uint32_t GRK_CALLCONV grk_plugin_get_debug_state ()
 Get debug state of plugin. More...
 
GRK_API bool GRK_CALLCONV grk_plugin_init (grk_plugin_init_info initInfo)
 Initialize plugin. More...
 
GRK_API int32_t GRK_CALLCONV grk_plugin_compress (grk_cparameters *compress_parameters, GRK_PLUGIN_COMPRESS_USER_CALLBACK callback)
 Compress with plugin. More...
 
GRK_API int32_t GRK_CALLCONV grk_plugin_batch_compress (const char *input_dir, const char *output_dir, grk_cparameters *compress_parameters, GRK_PLUGIN_COMPRESS_USER_CALLBACK callback)
 Batch compress with plugin. More...
 
GRK_API bool GRK_CALLCONV grk_plugin_is_batch_complete (void)
 Check if batch job is complete. More...
 
GRK_API void GRK_CALLCONV grk_plugin_stop_batch_compress (void)
 Stop batch compress. More...
 
GRK_API int32_t GRK_CALLCONV grk_plugin_decompress (grk_decompress_parameters *decompress_parameters, grk_plugin_decompress_callback callback)
 Decompress with plugin. More...
 
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. More...
 
GRK_API int32_t GRK_CALLCONV grk_plugin_batch_decompress (void)
 Initiate batch decompress. More...
 
GRK_API void GRK_CALLCONV grk_plugin_stop_batch_decompress (void)
 Stop batch decompress. More...
 

Macro Definition Documentation

◆ 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

high throughput block coding

◆ 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

Selective arithmetic coding bypass.

◆ GRK_CBLKSTY_PTERM

#define GRK_CBLKSTY_PTERM   0x010

Predictable termination.

◆ GRK_CBLKSTY_RESET

#define GRK_CBLKSTY_RESET   0x002

Reset context probabilities on coding pass boundaries.

◆ GRK_CBLKSTY_SEGSYM

#define GRK_CBLKSTY_SEGSYM   0x020

Segmentation symbols are used.

◆ GRK_CBLKSTY_TERMALL

#define GRK_CBLKSTY_TERMALL   0x004

Termination on each coding pass.

◆ GRK_CBLKSTY_VSC

#define GRK_CBLKSTY_VSC   0x008

Vertical stripe causal context.

◆ 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   1041666U /** Maximum size per color component @ 24fps */

◆ GRK_CINEMA_24_CS

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

JPEG 2000 cinema profile code stream and component size limits.

◆ GRK_CINEMA_48_COMP

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

◆ GRK_CINEMA_48_CS

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

◆ GRK_CUSTOM_CIELAB_SPACE

#define GRK_CUSTOM_CIELAB_SPACE   0x0

◆ GRK_DECODE_ALL

#define GRK_DECODE_ALL
Value:
GRK_DECODE_POST_T1)
#define GRK_DECODE_T1
Definition: grok.h:728
#define GRK_DECODE_T2
Definition: grok.h:727
#define GRK_DECODE_HEADER
Definition: grok.h:726
#define GRK_PLUGIN_DECODE_CLEAN
Definition: grok.h:730

◆ 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.

◆ 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:1151
#define GRK_PROFILE_BC_SINGLE
Definition: grok.h:1149
const vfloat64m1_t v
Definition: rvv-inl.h:1742

◆ 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:1161
#define GRK_PROFILE_IMF_2K
Definition: grok.h:1154

◆ 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 \
*/

◆ 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.

◆ 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.

◆ 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.

◆ GRK_JP2_INFO

#define GRK_JP2_INFO   128

JP2 file information.

◆ GRK_JPH_RSIZ_FLAG

#define GRK_JPH_RSIZ_FLAG   0x4000

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

◆ 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_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 */

◆ 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 */

◆ 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.

◆ 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_USER_CALLBACK

typedef bool(* GRK_PLUGIN_COMPRESS_USER_CALLBACK) (grk_plugin_compress_user_callback_info *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

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_params

JPEG 2000 stream parameters - either file or buffer.

◆ 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 

place-holder

GRK_CODEC_J2K 

JPEG 2000 code stream : read/write.

GRK_CODEC_JP2 

JP2 file format : read/write.

◆ _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 bool 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
Returns true if successful, returns false otherwise

References GrkCodec::getImpl().

◆ grk_compress_init()

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.

Parameters
codeccompression codec
parameterscompression parameters
imageinput image

References _grk_stream_params::buf, _grk_cparameters::cod_format, _grk_stream_params::file, GrkCodec::getImpl(), GRK_CODEC_J2K, GRK_CODEC_JP2, grk_compress_create(), grk_compress_start(), grk::GRK_ERROR(), GRK_FMT_J2K, GRK_FMT_JP2, grk_object_unref(), grk_stream_create_file_stream(), grk_stream_create_mem_stream(), and _grk_stream_params::len.

◆ grk_compress_set_default_params()

GRK_API void GRK_CALLCONV grk_compress_set_default_params ( grk_cparameters parameters)

◆ 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().

◆ grk_decompress_buffer_detect_format()

GRK_API bool GRK_CALLCONV 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_CODEC_J2K, GRK_CODEC_JP2, GRK_CODEC_UNK, grk::GRK_ERROR(), J2K_CODESTREAM_MAGIC, and JP2_RFC3745_MAGIC.

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

◆ 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().

◆ 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().

◆ 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().

◆ 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::file, GrkCodec::getImpl(), grk_decompress_create_from_buffer(), grk_decompress_create_from_file(), grk_object_unref(), and _grk_stream_params::len.

◆ 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().

◆ grk_decompress_set_default_params()

GRK_API void GRK_CALLCONV grk_decompress_set_default_params ( grk_decompress_core_params parameters)

Initialize decompress parameters with default values.

Parameters
parametersdecompression parameters

References GRK_RANDOM_ACCESS_PLM, GRK_RANDOM_ACCESS_PLT, GRK_RANDOM_ACCESS_TLM, GRK_TILE_CACHE_NONE, _grk_decompress_core_params::randomAccessFlags_, and _grk_decompress_core_params::tileCacheStrategy.

◆ 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().

◆ 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().

◆ grk_deinitialize()

GRK_API void GRK_CALLCONV grk_deinitialize ( )

De-initialize library.

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

◆ 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().

◆ 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 
)

Create image.

Parameters
numcmptsnumber of components
cmptparmscomponent parameters
clrspcimage color space
Returns
returns a new image if successful, otherwise nullptr

◆ grk_initialize()

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

Initialize library.

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

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

◆ 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 ( const char *  input_dir,
const char *  output_dir,
grk_cparameters compress_parameters,
GRK_PLUGIN_COMPRESS_USER_CALLBACK  callback 
)

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_internal_encode_callback(), 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::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::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::minpf_get_plugin_manager(), grk::minpf_get_symbol(), plugin_init_batch_decode_method_name, and pluginLoaded.

◆ grk_plugin_is_batch_complete()

GRK_API bool GRK_CALLCONV grk_plugin_is_batch_complete ( void  )

◆ 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_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, _grk_cparameters::irreversible, _grk_cparameters::mct, _grk_cparameters::mct_data, and _grk_cparameters::rsiz.

◆ 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.

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