Go to the documentation of this file.
28 #include "grk_config.h"
35 #define GRK_DEPRECATED(func) func __attribute__ ((deprecated))
36 #elif defined(_MSC_VER)
37 #define GRK_DEPRECATED(func) __declspec(deprecated) func
39 #pragma message("WARNING: You need to implement DEPRECATED for this compiler")
40 #define GRK_DEPRECATED(func) func
43 #if defined(GRK_STATIC) || !defined(_WIN32)
44 # if defined(GRK_STATIC)
45 # define GRK_API __attribute__ ((visibility ("hidden")))
47 # define GRK_API __attribute__ ((visibility ("default")))
51 # define GRK_CALLCONV __stdcall
52 # if defined(GRK_EXPORTS) || defined(DLL_EXPORT)
53 # define GRK_API __declspec(dllexport)
55 # define GRK_API __declspec(dllimport)
74 #define GRK_PATH_LEN 4096
81 #define GRK_J2K_MAX_DECOMP_LVLS 32
82 #define GRK_J2K_MAXRLVLS (GRK_J2K_MAX_DECOMP_LVLS+1)
83 #define GRK_J2K_MAXBANDS (3*GRK_J2K_MAXRLVLS-2)
86 #define GRK_IMG_INFO 1
87 #define GRK_J2K_MH_INFO 2
88 #define GRK_J2K_TH_INFO 4
89 #define GRK_J2K_TCH_INFO 8
90 #define GRK_J2K_MH_IND 16
91 #define GRK_J2K_TH_IND 32
92 #define GRK_JP2_INFO 128
93 #define GRK_JP2_IND 256
95 #define GRK_CBLKSTY_LAZY 0x01
96 #define GRK_CBLKSTY_RESET 0x02
97 #define GRK_CBLKSTY_TERMALL 0x04
98 #define GRK_CBLKSTY_VSC 0x08
99 #define GRK_CBLKSTY_PTERM 0x10
100 #define GRK_CBLKSTY_SEGSYM 0x20
101 #define GRK_CBLKSTY_HT 0x40
102 #define GRK_JPH_RSIZ_FLAG 0x4000
123 #define GRK_PROFILE_NONE 0x0000
124 #define GRK_PROFILE_0 0x0001
125 #define GRK_PROFILE_1 0x0002
126 #define GRK_PROFILE_CINEMA_2K 0x0003
127 #define GRK_PROFILE_CINEMA_4K 0x0004
128 #define GRK_PROFILE_CINEMA_S2K 0x0005
129 #define GRK_PROFILE_CINEMA_S4K 0x0006
130 #define GRK_PROFILE_CINEMA_LTS 0x0007
131 #define GRK_PROFILE_BC_SINGLE 0x0100
132 #define GRK_PROFILE_BC_MULTI 0x0200
133 #define GRK_PROFILE_BC_MULTI_R 0x0300
134 #define GRK_PROFILE_BC_MASK 0x030F
135 #define GRK_PROFILE_IMF_2K 0x0400
136 #define GRK_PROFILE_IMF_4K 0x0500
137 #define GRK_PROFILE_IMF_8K 0x0600
138 #define GRK_PROFILE_IMF_2K_R 0x0700
139 #define GRK_PROFILE_IMF_4K_R 0x0800
140 #define GRK_PROFILE_IMF_8K_R 0x0900
141 #define GRK_PROFILE_MASK 0x0FFF
142 #define GRK_PROFILE_PART2 0x8000
143 #define GRK_PROFILE_PART2_EXTENSIONS_MASK 0x3FFF // Mask for Part-2 extension bits
148 #define GRK_EXTENSION_NONE 0x0000
149 #define GRK_EXTENSION_MCT 0x0100
150 #define GRK_IS_PART2(v) ((v) & GRK_PROFILE_PART2)
152 #define GRK_IS_CINEMA(v) (((v) >= GRK_PROFILE_CINEMA_2K) && ((v) <= GRK_PROFILE_CINEMA_S4K))
153 #define GRK_IS_STORAGE(v) ((v) == GRK_PROFILE_CINEMA_LTS)
207 #define GRK_GET_IMF_OR_BROADCAST_PROFILE(v) ((v) & 0x0f00)
209 #define GRK_LEVEL_MAX 11U
210 #define GRK_GET_LEVEL(v) ((v) & 0xf)
214 #define GRK_IS_BROADCAST(v) ( ((v) >= GRK_PROFILE_BC_SINGLE) && \
215 ((v) <= (GRK_PROFILE_BC_MULTI_R | 0x000b) ) && \
216 ( ((v) & 0xf) <= 0xb ) )
219 #define GRK_BROADCAST_LEVEL_1_MBITSSEC 200U
220 #define GRK_BROADCAST_LEVEL_2_MBITSSEC 200U
221 #define GRK_BROADCAST_LEVEL_3_MBITSSEC 200U
222 #define GRK_BROADCAST_LEVEL_4_MBITSSEC 400U
223 #define GRK_BROADCAST_LEVEL_5_MBITSSEC 800U
224 #define GRK_BROADCAST_LEVEL_6_MBITSSEC 1600U
225 #define GRK_BROADCAST_LEVEL_7_MBITSSEC 3200U
226 #define GRK_BROADCAST_LEVEL_8_MBITSSEC 6400U
227 #define GRK_BROADCAST_LEVEL_9_MBITSSEC 12800U
228 #define GRK_BROADCAST_LEVEL_10_MBITSSEC 25600U
229 #define GRK_BROADCAST_LEVEL_11_MBITSSEC 51200U
231 #define GRK_BROADCAST_LEVEL_1_MSAMPLESSEC 64U
232 #define GRK_BROADCAST_LEVEL_2_MSAMPLESSEC 130U
233 #define GRK_BROADCAST_LEVEL_3_MSAMPLESSEC 195U
234 #define GRK_BROADCAST_LEVEL_4_MSAMPLESSEC 260U
235 #define GRK_BROADCAST_LEVEL_5_MSAMPLESSEC 520U
236 #define GRK_BROADCAST_LEVEL_6_MSAMPLESSEC 1200U
237 #define GRK_BROADCAST_LEVEL_7_MSAMPLESSEC 2400U
238 #define GRK_BROADCAST_LEVEL_8_MSAMPLESSEC 4800U
239 #define GRK_BROADCAST_LEVEL_9_MSAMPLESSEC 9600U
240 #define GRK_BROADCAST_LEVEL_10_MSAMPLESSEC 19200U
241 #define GRK_BROADCAST_LEVEL_11_MSAMPLESSEC 38400U
245 #define GRK_IS_IMF(v) ( ((v) >= GRK_PROFILE_IMF_2K) && \
246 ((v) <= (GRK_PROFILE_IMF_8K_R | 0x009b) ) && \
247 ( ((v) & 0xf) <= 0xb ) && \
248 ( ((v) & 0xf0) <= 0x90 ) )
251 #define GRK_IMF_MAINLEVEL_1_MSAMPLESSEC 65U
252 #define GRK_IMF_MAINLEVEL_2_MSAMPLESSEC 130U
253 #define GRK_IMF_MAINLEVEL_3_MSAMPLESSEC 195U
254 #define GRK_IMF_MAINLEVEL_4_MSAMPLESSEC 260U
255 #define GRK_IMF_MAINLEVEL_5_MSAMPLESSEC 520U
256 #define GRK_IMF_MAINLEVEL_6_MSAMPLESSEC 1200U
257 #define GRK_IMF_MAINLEVEL_7_MSAMPLESSEC 2400U
258 #define GRK_IMF_MAINLEVEL_8_MSAMPLESSEC 4800U
259 #define GRK_IMF_MAINLEVEL_9_MSAMPLESSEC 9600U
260 #define GRK_IMF_MAINLEVEL_10_MSAMPLESSEC 19200U
261 #define GRK_IMF_MAINLEVEL_11_MSAMPLESSEC 38400U
263 #define GRK_IMF_SUBLEVEL_MAX 9U
264 #define GRK_GET_IMF_SUBLEVEL(v) (((v) >> 4) & 0xf)
267 #define GRK_IMF_SUBLEVEL_1_MBITSSEC 200U
268 #define GRK_IMF_SUBLEVEL_2_MBITSSEC 400U
269 #define GRK_IMF_SUBLEVEL_3_MBITSSEC 800U
270 #define GRK_IMF_SUBLEVEL_4_MBITSSEC 1600U
271 #define GRK_IMF_SUBLEVEL_5_MBITSSEC 3200U
272 #define GRK_IMF_SUBLEVEL_6_MBITSSEC 6400U
273 #define GRK_IMF_SUBLEVEL_7_MBITSSEC 12800U
274 #define GRK_IMF_SUBLEVEL_8_MBITSSEC 25600U
275 #define GRK_IMF_SUBLEVEL_9_MBITSSEC 51200U
281 #define GRK_CINEMA_24_CS 1302083U
282 #define GRK_CINEMA_48_CS 651041U
283 #define GRK_CINEMA_24_COMP 1041666U
284 #define GRK_CINEMA_48_COMP 520833U
289 typedef enum _GRK_PROG_ORDER {
303 #define GRK_CUSTOM_CIELAB_SPACE 0x0
304 #define GRK_DEFAULT_CIELAB_SPACE 0x44454600 //'DEF'
305 #define GRK_CIE_DAY ((((uint32_t) 'C')<<24) + (((uint32_t) 'T')<<16))
306 #define GRK_CIE_D50 ((uint32_t) 0x00443530)
307 #define GRK_CIE_D65 ((uint32_t) 0x00443635)
308 #define GRK_CIE_D75 ((uint32_t) 0x00443735)
309 #define GRK_CIE_SA ((uint32_t) 0x00005341)
310 #define GRK_CIE_SC ((uint32_t) 0x00005343)
311 #define GRK_CIE_F2 ((uint32_t) 0x00004632)
312 #define GRK_CIE_F7 ((uint32_t) 0x00004637)
313 #define GRK_CIE_F11 ((uint32_t) 0x00463131)
350 #define GRK_NUM_COMMENTS_SUPPORTED 256
351 #define GRK_MAX_COMMENT_LENGTH (UINT16_MAX-2)
726 #define GRK_DECOMPRESS_COMPRESSION_LEVEL_DEFAULT (UINT_MAX)
1230 #define GRK_DECODE_HEADER (1 << 0)
1231 #define GRK_DECODE_T2 (1 << 1)
1232 #define GRK_DECODE_T1 (1 << 2)
1233 #define GRK_DECODE_POST_T1 (1 << 3)
1234 #define GRK_PLUGIN_DECODE_CLEAN (1 << 4)
1235 #define GRK_DECODE_ALL (GRK_PLUGIN_DECODE_CLEAN | GRK_DECODE_HEADER | GRK_DECODE_T2 | GRK_DECODE_T1 | GRK_DECODE_POST_T1)
1258 uint32_t numthreads);
1379 uint64_t data_length);
1388 const char *fname,
size_t buffer_size,
bool is_read_stream);
1399 size_t buffer_len,
bool ownsBuffer,
bool is_read_stream);
1416 const char *fname,
bool read_stream);
1506 grk_image *image, uint32_t start_x, uint32_t start_y, uint32_t end_x,
1623 uint16_t tile_index, uint8_t *data, uint64_t data_size);
1668 FILE *output_stream);
1710 float *pEncodingMatrix, int32_t *p_dc_shift, uint32_t pNbComp);
1737 #define GRK_PLUGIN_STATE_NO_DEBUG 0x0
1754 #define GRK_PLUGIN_STATE_DEBUG 0x1
1755 #define GRK_PLUGIN_STATE_PRE_TR1 0x2
1756 #define GRK_PLUGIN_STATE_DWT_QUANTIZATION 0x4
1757 #define GRK_PLUGIN_STATE_MCT_ONLY 0x8
1881 const char *input_dir,
const char *output_dir,
Decompress parameters.
Definition: grok.h:731
uint32_t nb_tps
number of tile parts
Definition: grok.h:1129
@ GRK_COMPONENT_ASSOC_WHOLE_IMAGE
Definition: grok.h:837
Code stream index info.
Definition: grok.h:1147
void GRK_CALLCONV grk_image_single_component_data_free(grk_image_comp *comp)
Deallocate data for single image component.
Definition: grok.cpp:569
uint32_t prch[GRK_J2K_MAXRLVLS]
precinct height
Definition: grok.h:1065
int32_t minpf_load_from_path(const char *path, minpf_invoke_service_func func)
Definition: minpf_plugin_manager.cpp:169
uint32_t pw[GRK_J2K_MAXRLVLS]
precinct number for each resolution level (width)
Definition: grok.h:981
uint32_t duration
Definition: grok.h:555
uint32_t t_width
XTsiz.
Definition: grok.h:447
size_t rate
Definition: grok.h:1173
uint16_t compno0
Definition: grok.h:374
struct _grk_component_mapping_comp grk_component_mapping_comp
Component mappings: component index, mapping type, palette column.
uint16_t cp_layer
Set the maximum number of quality layers to decompress.
Definition: grok.h:685
uint32_t w
data width
Definition: grok.h:918
enum grk_prec_mode grk_precision_mode
Precision mode.
char infile[GRK_PATH_LEN]
input file name
Definition: grok.h:735
GRK_API grk_stream *GRK_CALLCONV grk_stream_create(size_t buffer_size, bool is_input)
Create an abstract stream.
Definition: BufferedStream.cpp:424
GRK_API void GRK_CALLCONV grk_plugin_stop_batch_decompress(void)
Stop batch decompress.
Definition: grok.cpp:829
int32_t(* grk_plugin_decompress_callback)(grk_plugin_decompress_callback_info *info)
Definition: grok.h:1857
uint32_t dx
Definition: grok.h:399
struct _grk_tile_index grk_tile_index
Tile index info.
void GRK_CALLCONV grk_set_default_compress_params(grk_cparameters *parameters)
Set compressing parameters to default values, that means :
Definition: grok.cpp:329
@ GRK_PROG_UNKNOWN
place-holder
Definition: grok.h:290
@ GRK_ENUM_CLRSPC_SYCC
Definition: grok.h:337
@ GRK_ENUM_CLRSPC_SRGB
Definition: grok.h:335
unsigned int * contextStream
Definition: grok.h:1184
GRK_API void GRK_CALLCONV grk_stream_set_read_function(grk_stream *stream, grk_stream_read_fn p_function)
Set the given function to be used as a read function.
Definition: BufferedStream.cpp:432
Definition: ThreadPool.hpp:37
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.
Definition: grok.cpp:799
struct _grk_prec grk_precision
Precision.
int32_t(* PLUGIN_ENCODE)(grk_cparameters *encoding_parameters, PLUGIN_ENCODE_USER_CALLBACK callback)
Definition: plugin_interface.h:71
const GRK_PROG_ORDER GRK_COMP_PARAM_DEFAULT_PROG_ORDER
Definition: CodeStream.h:42
uint16_t component_index
Definition: grok.h:584
void grk_aligned_free(void *ptr)
Definition: MemManager.cpp:123
bool GRK_CALLCONV grk_end_compress(grk_codec p_codec)
End to compress the current image.
Definition: grok.cpp:393
GRK_API grk_stream *GRK_CALLCONV grk_stream_create_mem_stream(uint8_t *buf, size_t buffer_len, bool ownsBuffer, bool is_read_stream)
Create stream from buffer.
Definition: grok.cpp:549
grk_cparameters * compressor_parameters
Definition: grok.h:1781
grk_stream * create_mapped_file_write_stream(const char *fname)
Definition: GrkMappedFile.cpp:225
GRK_API bool GRK_CALLCONV grk_decompress_tile(grk_codec codec, grk_image *image, uint16_t tile_index)
Decompress a specific tile.
Definition: grok.cpp:291
static const char * plugin_init_batch_decode_method_name
Definition: grok.cpp:590
int32_t roi_compno
region of interest: affected component in [0..3]; -1 indicates no ROI
Definition: grok.h:489
static bool grk_seek_in_file(int64_t nb_bytes, FILE *p_user_data)
Definition: grok.cpp:110
void GRK_CALLCONV grk_plugin_stop_batch_decompress(void)
Stop batch decompress.
Definition: grok.cpp:829
enum _GRK_CODEC_FORMAT GRK_CODEC_FORMAT
Supported codecs.
Plugin precinct.
Definition: grok.h:1198
uint64_t start_pos
packet start position (including SOP marker if it exists)
Definition: grok.h:944
bool GRK_CALLCONV grk_compress_tile(grk_codec p_codec, uint16_t tile_index, uint8_t *p_data, uint64_t data_size)
Compress uncompressed data stored in a buffer.
Definition: grok.cpp:437
const char * output_file_name
Definition: grok.h:1838
GRK_API bool GRK_CALLCONV grk_set_error_handler(grk_msg_callback p_callback, void *user_data)
Set error handler.
Definition: grok.cpp:87
grk_codestream_info_v2 *GRK_CALLCONV grk_get_cstr_info(grk_codec p_codec)
Get code stream information from codec.
Definition: grok.cpp:469
static const char * plugin_init_method_name
Definition: grok.cpp:582
uint32_t nb_tile_to_decompress
Number of tiles to decompress.
Definition: grok.h:707
#define GRK_PATH_LEN
Maximum allowed size for filenames.
Definition: grok.h:74
int32_t deviceId
Definition: grok.h:772
grk_msg_callback error_handler
Definition: logger.h:27
@ GRK_TIF_FMT
Definition: grok.h:67
uint32_t rateControlAlgorithm
Definition: grok.h:552
char progorder[5]
Progression order string.
Definition: grok.h:385
Progression order changes.
Definition: grok.h:371
void * m_error_data
Definition: logger.h:24
void GRK_CALLCONV grk_dump_codec(grk_codec p_codec, uint32_t info_flag, FILE *output_stream)
Dump codec information to file.
Definition: grok.cpp:461
GRK_API void GRK_CALLCONV grk_dump_codec(grk_codec codec, uint32_t info_flag, FILE *output_stream)
Dump codec information to file.
Definition: grok.cpp:461
uint32_t full_image_x0
Definition: grok.h:1852
grk_marker_info * marker
list of markers
Definition: grok.h:1139
GRK_API grk_codestream_index *GRK_CALLCONV grk_get_cstr_index(grk_codec codec)
Get the code stream index from the codec.
Definition: grok.cpp:485
grk_palette_data * palette
Definition: grok.h:608
static const char * plugin_batch_encode_method_name
Definition: grok.cpp:584
@ GRK_COMPONENT_ASSOC_COLOUR_1
Definition: grok.h:838
@ GRK_PXM_FMT
Definition: grok.h:63
char outfile[GRK_PATH_LEN]
output file name
Definition: grok.h:689
uint32_t maxmarknum
actual size of markers array
Definition: grok.h:997
bool GRK_CALLCONV grk_init_compress(grk_codec p_codec, grk_cparameters *parameters, grk_image *p_image)
Set up the compressor parameters using the current image and user parameters.
Definition: grok.cpp:358
bool has_colour_specification_box
Definition: grok.h:609
uint32_t dy
subsampling in Y direction
Definition: grok.h:414
double display_resolution[2]
Definition: grok.h:549
bool m_verbose
Verbose mode.
Definition: grok.h:753
uint32_t txS
Start and end values of tile width and height, initialized in pi_initialise_encode.
Definition: grok.h:399
grk_plugin_tile * tile
Definition: grok.h:1849
GRK_API grk_codec GRK_CALLCONV grk_create_decompress(GRK_CODEC_FORMAT format, grk_stream *stream)
Create J2K/JP2 decompression structure.
Definition: grok.cpp:219
uint32_t y0
Definition: grok.h:1183
@ GRK_CLRSPC_CMYK
CMYK.
Definition: grok.h:324
grk_plugin_band ** band
Definition: grok.h:1219
bool write_capture_resolution_from_file
Definition: grok.h:542
uint32_t stride
data stride
Definition: grok.h:856
uint32_t roishift
Region Of Interest shift.
Definition: grok.h:1061
grk_tile_info * tile
information regarding tiles inside image
Definition: grok.h:1031
bool(* GRK_PLUGIN_COMPRESS_USER_CALLBACK)(grk_plugin_compress_user_callback_info *info)
Definition: grok.h:1789
void * m_warning_data
Definition: logger.h:25
grk_codec GRK_CALLCONV grk_create_compress(GRK_CODEC_FORMAT p_format, grk_stream *stream)
Creates a J2K/JP2 compression structure.
Definition: grok.cpp:305
uint16_t tileno
number (index) of tile
Definition: grok.h:1073
enum _GRK_COLOR_SPACE GRK_COLOR_SPACE
Supported image color spaces.
uint32_t compno
component index
Definition: grok.h:1039
ICodeStream * m_codeStreamBase
Definition: grok.cpp:42
bool sgnd
true if data is signed
Definition: grok.h:930
@ GRK_LRCP
layer-resolution-component-precinct order
Definition: grok.h:291
bool is_decompressor
Flag to indicate if the codec is used to decompress or compress.
Definition: grok.cpp:45
void GRK_CALLCONV grk_plugin_cleanup(void)
Release plugin resources.
Definition: grok.cpp:646
bool verbose
Definition: grok.h:776
@ GRK_COMPONENT_ASSOC_COLOUR_3
Definition: grok.h:840
grk_jp2_color color
Definition: grok.h:896
GRK_SUPPORTED_FILE_FMT cod_format
Definition: grok.h:1842
grk_stream *GRK_CALLCONV grk_stream_create_file_stream(const char *fname, size_t p_size, bool is_read_stream)
Create stream from a file identified with its filename with a specific buffer size.
Definition: grok.cpp:507
GRK_COMPONENT_TYPE
Definition: grok.h:825
uint8_t resno1
Definition: grok.h:377
uint32_t repeats
Definition: grok.h:775
@ GRK_ENUM_CLRSPC_CIE
Definition: grok.h:334
#define GRK_CALLCONV
Definition: grok.h:49
uint64_t main_head_end
main header end position (first SOT position)
Definition: grok.h:1151
uint32_t mct
multi-component transform identifier
Definition: grok.h:1081
double display_resolution[2]
Definition: grok.h:900
uint8_t prec
bit depth of the raw image
Definition: grok.h:428
static const char * plugin_batch_decode_method_name
Definition: grok.cpp:592
bool GRK_CALLCONV grk_plugin_load(grk_plugin_load_info info)
Load plugin.
Definition: grok.cpp:605
@ GRK_CLRSPC_SRGB
sRGB
Definition: grok.h:320
uint16_t compE
Definition: grok.h:396
Byte input-output stream.
Definition: BufferedStream.h:38
uint32_t nbcomps
number of components
Definition: grok.h:1105
uint32_t subsampling_dx
subsampling value for dx
Definition: grok.h:507
size_t deviceId
Definition: grok.h:1835
grk_image_comp * comps
image components
Definition: grok.h:895
uint8_t res_t
Definition: grok.h:402
GRK_API bool GRK_CALLCONV grk_plugin_init(grk_plugin_init_info initInfo)
Initialize plugin.
Definition: grok.cpp:650
GRK_API void GRK_CALLCONV grk_destroy_cstr_info(grk_codestream_info_v2 **cstr_info)
Destroy Codestream information after compression or decompression.
Definition: grok.cpp:476
uint32_t stepsizes_expn[GRK_J2K_MAXBANDS]
stepsizes used for quantization
Definition: grok.h:1057
static ThreadPool * singleton
Definition: ThreadPool.hpp:92
bool write_capture_resolution
Definition: grok.h:545
double tcp_rates[100]
rates of layers, expressed as compression ratios.
Definition: grok.h:471
bool serialize_xml
Definition: grok.h:767
struct _grk_codestream_index grk_codestream_index
Code stream index info.
uint32_t marknum
number of markers
Definition: grok.h:1019
uint16_t typ
Definition: grok.h:568
uint64_t start_pos
start position
Definition: grok.h:975
uint8_t * xmp_buf
Definition: grok.h:903
Tile info.
Definition: grok.h:969
GRK_SUPPORTED_FILE_FMT decod_format
input file format
Definition: grok.h:691
@ GRK_UNK_FMT
Definition: grok.h:60
GRK_API grk_codestream_info_v2 *GRK_CALLCONV grk_get_cstr_info(grk_codec codec)
Get code stream information from codec.
Definition: grok.cpp:469
uint32_t t_width
tile size in x = XTsiz
Definition: grok.h:1097
void(* grk_msg_callback)(const char *msg, void *client_data)
Callback function prototype for logging.
Definition: grok.h:359
@ GRK_NUM_PROGRESSION_ORDERS
Definition: grok.h:296
void * grk_codec
Definition: grok.h:780
bool force_rgb
Definition: grok.h:761
Plugin code block.
Definition: grok.h:1180
void(* PLUGIN_STOP_BATCH_ENCODE)(void)
Definition: plugin_interface.h:78
void j2k_destroy_cstr_index(grk_codestream_index *p_cstr_ind)
Destroys a code stream index structure.
Definition: Dump.cpp:502
#define GROK_FTELL(stream)
Definition: grk_includes.h:78
void * grk_calloc(size_t num, size_t size)
Allocate a memory block with elements initialized to 0.
Definition: MemManager.cpp:111
bool tile_size_on
size of tile: tile_size_on = false (not in argument) or = true (in argument)
Definition: grok.h:441
const char * output_file_name
Definition: grok.h:1780
uint32_t cblockh_init
initial code block height (default to 64)
Definition: grok.h:479
GRK_PROG_ORDER prog_order
progression order (default GRK_LRCP)
Definition: grok.h:462
grk_stream * m_stream
Definition: grok.cpp:43
uint64_t main_head_start
main header start position (SOC position)
Definition: grok.h:1149
uint32_t compression
Definition: grok.h:768
uint16_t tile_index
tile number of the decompressed tile
Definition: grok.h:755
size_t numBitPlanes
Definition: grok.h:1189
GRK_API void GRK_CALLCONV grk_set_default_decompress_params(grk_dparameters *parameters)
Initialize decompress parameters with default values.
Definition: grok.cpp:243
@ GRK_CLRSPC_GRAY
grayscale
Definition: grok.h:321
uint32_t prch_init[GRK_J2K_MAXRLVLS]
initial precinct height
Definition: grok.h:497
Tile part index info.
Definition: grok.h:1113
uint32_t DA_y1
Decompress window bottom boundary.
Definition: grok.h:751
uint32_t decompress_flags
Definition: grok.h:1851
int32_t(* PLUGIN_BATCH_DECODE)(void)
Definition: plugin_interface.h:141
uint32_t dy
YRsiz: vertical separation of a sample of component with respect to the reference grid.
Definition: grok.h:916
double capture_resolution_from_file[2]
Definition: grok.h:543
uint8_t prec
precision
Definition: grok.h:928
@ GRK_CLRSPC_SYCC
standard YCC (YUV)
Definition: grok.h:322
bool grk_image_single_component_data_alloc(grk_image_comp *comp)
Allocate data for single image component.
Definition: CodeStream.cpp:200
grk_codestream_index *GRK_CALLCONV grk_get_cstr_index(grk_codec p_codec)
Get the code stream index from the codec.
Definition: grok.cpp:485
uint32_t DA_x1
Decompress window right boundary.
Definition: grok.h:747
Code stream info.
Definition: grok.h:1005
@ GRK_PREC_MODE_SCALE
Definition: grok.h:715
uint32_t height
height of the raw image
Definition: grok.h:424
uint8_t tp_on
Tile part generation.
Definition: grok.h:521
uint64_t end_ph_pos
end of packet header position (including EPH marker if it exists)
Definition: grok.h:946
#define GRK_EXTENSION_MCT
Definition: grok.h:149
Palette data.
Definition: grok.h:592
Plugin pass.
Definition: grok.h:1171
GRK_PROG_ORDER prg
Definition: grok.h:383
const char *GRK_CALLCONV grk_version(void)
library version
Definition: grok.cpp:140
grk_msg_callback info_handler
Definition: logger.h:29
uint32_t cblkh
code-blocks height
Definition: grok.h:1047
struct _grk_plugin_tile grk_plugin_tile
Plugin tile.
bool GRK_CALLCONV grk_start_compress(grk_codec p_codec)
Start compressing current image.
Definition: grok.cpp:369
Plugin tile component.
Definition: grok.h:1225
@ GRK_ENUM_CLRSPC_CMYK
Definition: grok.h:333
uint8_t numgbits
number of guard bits
Definition: grok.h:1059
GRK_API void GRK_CALLCONV grk_destroy_cstr_index(grk_codestream_index **p_cstr_index)
Destroy code stream index.
Definition: grok.cpp:492
void grk_free(void *ptr)
Deallocates or frees a memory block.
Definition: MemManager.cpp:141
grk_marker_info * marker
list of markers
Definition: grok.h:1157
bool * channel_sign
Definition: grok.h:597
int32_t(* PLUGIN_DECODE)(grk_decompress_parameters *decoding_parameters, PLUGIN_DECODE_USER_CALLBACK userCallback)
Definition: plugin_interface.h:134
grk_tccp_info * tccp_info
information concerning tile component parameters
Definition: grok.h:1083
uint32_t prcw_init[GRK_J2K_MAXRLVLS]
initial precinct width
Definition: grok.h:495
uint32_t h
data height
Definition: grok.h:922
uint16_t numcomps
number of components in the image
Definition: grok.h:891
grk_channel_definition * channel_definition
Definition: grok.h:607
uint32_t numPix
Definition: grok.h:1186
void * minpf_get_symbol(minpf_dynamic_library *library, const char *symbol)
Definition: minpf_dynamic_library.cpp:150
uint64_t numPrecincts
Definition: grok.h:1208
uint32_t nb_tile_to_decompress
Number of tiles to decompress.
Definition: grok.h:757
Plugin tile.
Definition: grok.h:1240
grk_marker_info * marker
list of markers
Definition: grok.h:1021
uint16_t compS
Definition: grok.h:392
uint64_t end_pos
end position
Definition: grok.h:979
#define GROK_FSEEK(stream, offset, whence)
Definition: grk_includes.h:76
uint32_t icc_profile_len
Definition: grok.h:606
GRK_API int32_t GRK_CALLCONV grk_plugin_decompress(grk_decompress_parameters *decompress_parameters, grk_plugin_decompress_callback callback)
Decompress with plugin.
Definition: grok.cpp:783
GRK_API bool GRK_CALLCONV grk_start_compress(grk_codec codec)
Start compressing current image.
Definition: grok.cpp:369
void grk_plugin_internal_encode_callback(plugin_encode_user_callback_info *info)
Definition: grok.cpp:670
grk_plugin_pass passes[67]
Definition: grok.h:1191
struct grk_plugin_compress_user_callback_info grk_plugin_compress_user_callback_info
uint16_t type
marker type
Definition: grok.h:958
uint32_t roi_shift
region of interest: upshift value
Definition: grok.h:491
uint32_t w
data width
Definition: grok.h:854
@ GRK_COMPONENT_TYPE_PREMULTIPLIED_OPACITY
Definition: grok.h:829
grk_precision_mode mode
Definition: grok.h:723
GRK_API uint32_t GRK_CALLCONV grk_plugin_get_debug_state()
Get debug state of plugin.
Definition: grok.cpp:633
grk_plugin_code_block ** blocks
Definition: grok.h:1200
uint32_t(* PLUGIN_GET_DEBUG_STATE)(void)
Definition: plugin_interface.h:46
@ GRK_CLRSPC_CUSTOM_CIE
custom CIE LAB
Definition: grok.h:326
bool GRK_CALLCONV grk_set_MCT(grk_cparameters *parameters, float *pEncodingMatrix, int32_t *p_dc_shift, uint32_t pNbComp)
Set the MCT matrix to use.
Definition: grok.cpp:412
uint32_t kernelBuildOptions
Definition: grok.h:556
int32_t GRK_CALLCONV grk_plugin_batch_decompress(void)
Batch decompress.
Definition: grok.cpp:817
int32_t(* PLUGIN_INIT_BATCH_DECODE)(const char *input_dir, const char *output_dir, grk_decompress_parameters *decoding_parameters, PLUGIN_DECODE_USER_CALLBACK userCallback)
Definition: plugin_interface.h:137
uint64_t end_pos
end position
Definition: grok.h:1119
bool writePLT
Definition: grok.h:558
@ GRK_J2K_FMT
Definition: grok.h:61
struct _grk_plugin_precinct grk_plugin_precinct
Plugin precinct.
uint32_t numcomps
component numbers
Definition: grok.h:1013
struct _grk_jp2_color grk_jp2_color
ICC profile, palette, channel definition.
void GRK_CALLCONV grk_image_all_components_data_free(grk_image *image)
Deallocate all component data for an image.
Definition: grok.cpp:561
unsigned int error_code
Definition: grok.h:1786
static void grk_free_file(void *p_user_data)
Definition: grok.cpp:502
uint32_t tx0_t
Definition: grok.h:404
grk_stream * create_mapped_file_read_stream(const char *fname)
Definition: GrkMappedFile.cpp:196
GRK_API bool GRK_CALLCONV grk_compress_with_plugin(grk_codec codec, grk_plugin_tile *tile)
Encode an image into a JPEG 2000 code stream using plugin.
Definition: grok.cpp:382
GRK_SUPPORTED_FILE_FMT cod_format
output file format 0: PGX, 1: PxM, 2: BMP
Definition: grok.h:741
uint32_t kernelBuildOptions
Definition: grok.h:774
double capture_resolution[2]
Definition: grok.h:546
uint32_t x0
Definition: grok.h:1183
uint16_t compno1
Definition: grok.h:378
GRK_API bool GRK_CALLCONV grk_compress(grk_codec codec)
Encode an image into a JPEG 2000 code stream.
Definition: grok.cpp:379
grk_stream * l_stream
Definition: grok.h:1843
uint8_t mapping_type
Definition: grok.h:585
struct _grk_packet_info grk_packet_info
Packet info.
uint32_t full_image_y0
Definition: grok.h:1853
GRK_API void GRK_CALLCONV grk_image_destroy(grk_image *image)
Deallocate all resources associated with an image.
Definition: grok.cpp:201
uint32_t res_spec
Definition: grok.h:493
uint32_t current_tpsno
current tile-part index
Definition: grok.h:1133
@ GRK_CODEC_JP2
JP2 file format : read/write.
Definition: grok.h:347
GRK_API void GRK_CALLCONV grk_plugin_cleanup(void)
Release plugin resources.
Definition: grok.cpp:646
GRK_API void GRK_CALLCONV grk_deinitialize()
De-initialize library.
Definition: grok.cpp:66
uint64_t codestream_size
code stream's size
Definition: grok.h:1153
const char * input_file_name
Definition: grok.h:1837
uint32_t marknum
number of markers
Definition: grok.h:1155
@ GRK_COMPONENT_TYPE_COLOUR
Definition: grok.h:827
#define GRK_J2K_MAXBANDS
Maximum number of sub-bands.
Definition: grok.h:83
uint32_t marknum
number of markers
Definition: grok.h:993
bool split_pnm
Definition: grok.h:765
bool GRK_CALLCONV grk_decompress(grk_codec p_codec, grk_plugin_tile *tile, grk_image *p_image)
Decompress image from a JPEG 2000 code stream.
Definition: grok.cpp:270
uint32_t ty0
tile origin in y = YTOsiz
Definition: grok.h:1095
grk_header_info header_info
Definition: grok.h:1845
size_t get_mem_stream_offset(grk_stream *stream)
Definition: MemStream.cpp:127
uint32_t GRK_CALLCONV grk_plugin_get_debug_state()
Get debug state of plugin.
Definition: grok.cpp:633
bool GRK_CALLCONV grk_read_header(grk_codec p_codec, grk_header_info *header_info, grk_image **p_image)
Decompress JPEG 2000 header.
Definition: grok.cpp:259
uint16_t num_entries
Definition: grok.h:594
int32_t grk_plugin_internal_decode_callback(PluginDecodeCallbackInfo *info)
Definition: grok.cpp:754
static const char * plugin_decode_method_name
Definition: grok.cpp:589
uint32_t len
length, marker value included
Definition: grok.h:962
@ GRK_CODEC_J2K
JPEG 2000 code stream : read/write.
Definition: grok.h:346
GRK_COMPONENT_ASSOC association
Definition: grok.h:873
double capture_resolution[2]
Definition: grok.h:898
grk_dparameters core
core library parameters
Definition: grok.h:733
uint64_t prcE
Definition: grok.h:397
GRK_COMPONENT_TYPE type
Definition: grok.h:872
uint8_t orientation
Definition: grok.h:1207
int32_t GRK_CALLCONV grk_plugin_compress(grk_cparameters *compress_parameters, GRK_PLUGIN_COMPRESS_USER_CALLBACK callback)
Compress with plugin.
Definition: grok.cpp:684
GRK_API bool GRK_CALLCONV grk_end_decompress(grk_codec codec)
End decompression.
Definition: grok.cpp:403
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.
Definition: grok.cpp:699
uint64_t end_header
end position of the header
Definition: grok.h:977
bool GRK_CALLCONV grk_init_decompress(grk_codec p_codec, grk_dparameters *parameters)
Set up the decompressor with decompress parameters.
Definition: grok.cpp:249
Tile index info.
Definition: grok.h:1125
bool GRK_CALLCONV grk_compress(grk_codec p_codec)
Encode an image into a JPEG 2000 code stream.
Definition: grok.cpp:379
GRK_API int32_t GRK_CALLCONV grk_plugin_batch_decompress(void)
Batch decompress.
Definition: grok.cpp:817
void GRK_CALLCONV grk_destroy_cstr_index(grk_codestream_index **p_cstr_index)
Destroy code stream index.
Definition: grok.cpp:492
struct _grk_plugin_pass grk_plugin_pass
Plugin pass.
enum _GRK_PROG_ORDER GRK_PROG_ORDER
Progression order.
uint32_t current_nb_tps
current nb of tile part (allocated)
Definition: grok.h:1131
size_t length
Definition: grok.h:1174
bool has_display_resolution
Definition: grok.h:899
GRK_API void GRK_CALLCONV grk_destroy_codec(grk_codec codec)
Destroy codec.
Definition: grok.cpp:450
int32_t deviceId
Definition: grok.h:1768
struct _grk_codestream_info grk_codestream_info
Code stream info.
@ GRK_CLRSPC_UNKNOWN
unknown
Definition: grok.h:319
uint32_t numpocs
number of progression order changes (POCs), default to 0
Definition: grok.h:466
size_t cp_num_comments
Definition: grok.h:458
struct _grk_codestream_info_v2 grk_codestream_info_v2
Code stream info v2.
uint8_t * channel_prec
Definition: grok.h:598
uint8_t palette_column
Definition: grok.h:586
size_t(* grk_stream_read_fn)(void *p_buffer, size_t nb_bytes, void *user_data)
Definition: grok.h:792
bool GRK_CALLCONV grk_set_warning_handler(grk_msg_callback p_callback, void *p_user_data)
Set warning handler.
Definition: grok.cpp:81
GRK_API bool GRK_CALLCONV grk_plugin_load(grk_plugin_load_info info)
Load plugin.
Definition: grok.cpp:605
@ GRK_JP2_FMT
Definition: grok.h:62
uint16_t tileno
tile index
Definition: grok.h:1127
bool upsample
Definition: grok.h:763
grk_plugin_resolution ** resolutions
Definition: grok.h:1227
uint32_t t_grid_height
number of tiles in Y
Definition: grok.h:1103
int32_t GRK_CALLCONV grk_plugin_decompress(grk_decompress_parameters *decompress_parameters, grk_plugin_decompress_callback callback)
Decompress with plugin.
Definition: grok.cpp:783
GRK_API void GRK_CALLCONV grk_stream_set_write_function(grk_stream *stream, grk_stream_write_fn p_function)
Set the given function to be used as a write function.
Definition: BufferedStream.cpp:446
void minpf_cleanup_plugin_manager(void)
Definition: minpf_plugin_manager.cpp:110
GRK_API grk_codec GRK_CALLCONV grk_create_compress(GRK_CODEC_FORMAT format, grk_stream *stream)
Creates a J2K/JP2 compression structure.
Definition: grok.cpp:305
Definition: CodeStream.h:164
grk_msg_callback warning_handler
Definition: logger.h:28
uint8_t resno0
Resolution num start, component num start, given by POC.
Definition: grok.h:373
GRK_API grk_image *GRK_CALLCONV grk_image_create(uint16_t numcmpts, grk_image_cmptparm *cmptparms, GRK_COLOR_SPACE clrspc, bool allocData)
Create image.
Definition: grok.cpp:145
uint64_t main_head_start
main header position
Definition: grok.h:1025
uint32_t ty0
YTOsiz.
Definition: grok.h:445
grk_prec_mode
Precision mode.
Definition: grok.h:714
#define GRK_API
Definition: grok.h:47
void * user_data
Definition: grok.h:1854
uint32_t compressionLevel
Definition: grok.h:771
@ GRK_BMP_FMT
Definition: grok.h:66
uint64_t end_pos
packet end position
Definition: grok.h:948
GRK_API bool GRK_CALLCONV grk_set_decompress_window(grk_codec codec, grk_image *image, uint32_t start_x, uint32_t start_y, uint32_t end_x, uint32_t end_y)
Set the given area to be decompressed.
Definition: grok.cpp:280
Image component.
Definition: grok.h:848
char outfile[GRK_PATH_LEN]
output file name
Definition: grok.h:737
GRK_API void GRK_CALLCONV grk_plugin_stop_batch_compress(void)
Stop batch compress.
Definition: grok.cpp:734
uint32_t dx
XRsiz: horizontal separation of a sample of component with respect to the reference grid.
Definition: grok.h:913
uint32_t tyS
Definition: grok.h:399
uint32_t dy
YRsiz: vertical separation of a sample of with component with respect to the reference grid.
Definition: grok.h:852
uint8_t * iptc_buf
Definition: grok.h:901
static const char * plugin_get_debug_state_method_name
Definition: grok.cpp:581
uint32_t ty0_t
Definition: grok.h:404
uint32_t marknum
number of markers
Definition: grok.h:1137
Core decompress parameters.
Definition: grok.h:670
uint64_t prc_t
Definition: grok.h:405
grk_stream *GRK_CALLCONV grk_stream_create_mem_stream(uint8_t *buf, size_t len, bool ownsBuffer, bool is_read_stream)
Create stream from buffer.
Definition: grok.cpp:549
GRK_API void GRK_CALLCONV grk_deinitialize()
De-initialize library.
Definition: grok.cpp:66
@ GRK_CODEC_UNKNOWN
place-holder
Definition: grok.h:345
bool decode_vlc_init_tables()
Initializes vlc_tbl0 and vlc_tbl1 tables, from table0.h and table1.h.
Definition: ojph_block_decoder.cpp:585
uint16_t layno1
Layer num end, resolution num end, component num end, given by POC.
Definition: grok.h:376
uint32_t tx0
XTOsiz.
Definition: grok.h:443
@ GRK_COMPONENT_TYPE_UNSPECIFIED
Definition: grok.h:830
uint32_t compressedDataLength
Definition: grok.h:1188
void GRK_CALLCONV grk_destroy_codec(grk_codec p_codec)
Destroy codec.
Definition: grok.cpp:450
Component mappings: component index, mapping type, palette column.
Definition: grok.h:583
uint32_t nb_precision
Definition: grok.h:759
double disto
packet distortion
Definition: grok.h:950
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKW
Definition: CodeStream.h:40
struct _grk_tccp_info grk_tccp_info
Component coding parameters info.
static ThreadPool * instance(uint32_t numthreads)
Definition: ThreadPool.hpp:54
@ GRK_RPCL
resolution-precinct-component-layer order
Definition: grok.h:293
int framerate
Definition: grok.h:539
struct _grk_plugin_decompress_callback_info grk_plugin_decompress_callback_info
Code stream info v2.
Definition: grok.h:1090
uint16_t rsiz
RSIZ value To be used to combine GRK_PROFILE_*, GRK_EXTENSION_* and (sub)levels values.
Definition: grok.h:538
bool sgnd
signed/unsigned raw image
Definition: grok.h:430
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.
Definition: grok.cpp:699
struct grk_plugin_tile_component grk_plugin_tile_component
Plugin tile component.
bool GRK_CALLCONV grk_initialize(const char *plugin_path, uint32_t numthreads)
Initialize library.
Definition: grok.cpp:52
int32_t deviceId
Definition: grok.h:554
GRK_SUPPORTED_FILE_FMT
Definition: grok.h:59
bool verbose
Definition: grok.h:560
uint32_t maxmarknum
actual size of markers array
Definition: grok.h:1141
uint32_t y0
y component offset compared to the whole image
Definition: grok.h:926
bool GRK_CALLCONV grk_set_error_handler(grk_msg_callback p_callback, void *p_user_data)
Set error handler.
Definition: grok.cpp:87
size_t compressBufferLen
Definition: grok.h:1785
_GRK_CODEC_FORMAT
Supported codecs.
Definition: grok.h:344
PLUGIN_IS_BATCH_COMPLETE funcPluginIsBatchComplete
Definition: grok.cpp:718
struct _grk_channel_description grk_channel_description
Channel definition: channel index, type, association.
bool sgnd
Definition: grok.h:867
uint32_t maxmarknum
actual size of markers array
Definition: grok.h:1159
uint32_t * numdecompos
number of decomposition for each component
Definition: grok.h:1017
uint32_t y1
Definition: grok.h:1183
uint16_t lay_t
Temporary values for Tile parts, initialized in pi_create_encode.
Definition: grok.h:401
struct _grk_plugin_band grk_plugin_band
Plugin band.
struct _grk_tp_index grk_tp_index
Tile part index info.
struct _grk_palette_data grk_palette_data
Palette data.
static size_t grk_write_to_file(void *p_buffer, size_t nb_bytes, FILE *p_file)
Definition: grok.cpp:106
uint32_t nb_of_tiles
Definition: grok.h:1160
bool cp_disto_alloc
allocation by rate/distortion
Definition: grok.h:451
double D_max
maximum distortion reduction on the whole image (add for Marcela)
Definition: grok.h:1007
grk_image * image
Definition: grok.h:1782
grk_component_mapping_comp * component_mapping
Definition: grok.h:595
uint32_t cblkw
code-blocks width
Definition: grok.h:1045
Definition: plugin_interface.h:86
uint8_t numresolution
number of resolutions
Definition: grok.h:475
uint32_t y0
YOsiz: vertical offset from the origin of the reference grid to the top side of the image area.
Definition: grok.h:885
uint32_t ph[GRK_J2K_MAXRLVLS]
precinct number for each resolution level (height)
Definition: grok.h:983
Component coding parameters info.
Definition: grok.h:1037
@ GRK_ENUM_CLRSPC_GRAY
Definition: grok.h:336
#define GRK_NUM_COMMENTS_SUPPORTED
Definition: grok.h:350
Precision.
Definition: grok.h:721
bool GRK_CALLCONV grk_compress_with_plugin(grk_codec p_info, grk_plugin_tile *tile)
Encode an image into a JPEG 2000 code stream using plugin.
Definition: grok.cpp:382
#define GRK_PROFILE_NONE
JPEG 2000 Profiles, see Table A.10 from 15444-1 (updated in various AMDs)
Definition: grok.h:123
static const char * get_path_separator()
Definition: grok.cpp:596
uint8_t tp_flag
Flag for tile part generation.
Definition: grok.h:523
uint32_t tx1
Definition: grok.h:389
@ GRK_PCRL
precinct-component-resolution-layer order
Definition: grok.h:294
@ GRK_CLRSPC_DEFAULT_CIE
default CIE LAB
Definition: grok.h:325
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: BitIO.cpp:23
uint32_t maxmarknum
actual size of markers array
Definition: grok.h:1023
uint16_t layno0
Layer num start,precinct num start, precinct num end.
Definition: grok.h:380
@ GRK_RAWL_FMT
Definition: grok.h:70
static std::mutex singleton_mutex
Definition: ThreadPool.hpp:93
static const char * plugin_is_batch_complete_method_name
Definition: grok.cpp:587
void * mct_data
Naive implementation of MCT restricted to a single reversible array based compressing without offset ...
Definition: grok.h:528
Plugin band.
Definition: grok.h:1206
uint32_t x1
Definition: grok.h:1183
void(* grk_stream_free_user_data_fn)(void *user_data)
Definition: grok.h:811
@ GRK_JPG_FMT
Definition: grok.h:71
uint32_t repeats
Definition: grok.h:557
uint32_t pdy[GRK_J2K_MAXRLVLS]
precinct size (in power of 2), in Y for each resolution level
Definition: grok.h:987
uint8_t * compressedData
Definition: grok.h:1187
bool outputFileNameIsRelative
Definition: grok.h:1779
grk_tile_info_v2 m_default_tile_info
Default information regarding tiles inside image.
Definition: grok.h:1107
uint32_t image_offset_x0
subimage compressing: origin image offset in x direction
Definition: grok.h:503
uint16_t layE
End value, initialized in pi_initialise_encode.
Definition: grok.h:394
@ GRK_RAW_FMT
Definition: grok.h:68
struct _grk_image_comptparm grk_image_cmptparm
Image component parameters.
bool has_capture_resolution
Definition: grok.h:897
uint32_t numresolutions
number of resolutions
Definition: grok.h:1043
GRK_API const char *GRK_CALLCONV grk_version(void)
library version
Definition: grok.cpp:140
@ GRK_ENUM_CLRSPC_UNKNOWN
Definition: grok.h:332
GRK_API bool GRK_CALLCONV grk_set_MCT(grk_cparameters *parameters, float *pEncodingMatrix, int32_t *p_dc_shift, uint32_t pNbComp)
Set the MCT matrix to use.
Definition: grok.cpp:412
size_t numPasses
Definition: grok.h:1190
grk_image *GRK_CALLCONV grk_image_create(uint16_t numcmpts, grk_image_cmptparm *cmptparms, GRK_COLOR_SPACE clrspc, bool allocData)
Create image.
Definition: grok.cpp:145
grk_plugin_tile_component ** tileComponents
Definition: grok.h:1243
static logger m_logger
Definition: logger.h:31
void * grk_malloc(size_t size)
Allocate an uninitialized memory block.
Definition: MemManager.cpp:105
static const char * plugin_stop_batch_encode_method_name
Definition: grok.cpp:585
uint16_t numcomps
number of components of the raw image
Definition: grok.h:426
uint32_t h
data height
Definition: grok.h:858
GRK_SUPPORTED_FILE_FMT decod_format
input file format
Definition: grok.h:511
uint8_t num_channels
Definition: grok.h:596
Channel definitions and number of definitions.
Definition: grok.h:575
static uint32_t hardware_concurrency()
Definition: ThreadPool.hpp:65
bool cp_is_binary_comment[GRK_NUM_COMMENTS_SUPPORTED]
Definition: grok.h:457
uint32_t pdx[GRK_J2K_MAXRLVLS]
precinct size (in power of 2), in X for each resolution level
Definition: grok.h:985
GRK_API void GRK_CALLCONV grk_image_single_component_data_free(grk_image_comp *image)
Deallocate data for single image component.
Definition: grok.cpp:569
@ GRK_CLRSPC_EYCC
extended YCC
Definition: grok.h:323
void GRK_CALLCONV grk_plugin_stop_batch_compress(void)
Stop batch compress.
Definition: grok.cpp:734
struct _grk_image grk_image
Image.
GRK_SUPPORTED_FILE_FMT decod_format
Definition: grok.h:1840
bool verbose
Definition: grok.h:1769
const uint32_t GRK_COMP_PARAM_DEFAULT_CBLOCKH
Definition: CodeStream.h:41
uint32_t subsampling_dy
subsampling value for dy
Definition: grok.h:509
bool irreversible
1 : use the irreversible DWT 9-7, 0 : use lossless compression (default)
Definition: grok.h:486
void * m_info_data
Definition: logger.h:26
uint16_t tileno
number of tile
Definition: grok.h:973
grk_plugin_tile * tile
Definition: grok.h:1783
bool encode_vlc_init_tables()
Definition: ojph_block_encoder.cpp:69
int32_t * data
image component data
Definition: grok.h:869
uint32_t stride
Definition: grok.h:920
unsigned int error_code
Definition: grok.h:1850
#define GRK_PLUGIN_STATE_NO_DEBUG
Definition: grok.h:1737
GRK_API bool GRK_CALLCONV grk_end_compress(grk_codec codec)
End to compress the current image.
Definition: grok.cpp:393
struct _grk_tile_info grk_tile_info
Tile info.
GRK_API bool GRK_CALLCONV grk_init_decompress(grk_codec codec, grk_dparameters *parameters)
Set up the decompressor with decompress parameters.
Definition: grok.cpp:249
bool encode_uvlc_init_tables()
Definition: ojph_block_encoder.cpp:189
size_t iptc_len
Definition: grok.h:902
uint64_t precno0
Definition: grok.h:381
GRK_PROG_ORDER prg1
Progression order enum.
Definition: grok.h:383
minpf_plugin_manager * minpf_get_plugin_manager(void)
Definition: minpf_plugin_manager.cpp:98
bool(* grk_stream_seek_fn)(uint64_t nb_bytes, void *user_data)
Definition: grok.h:806
double tcp_distoratio[100]
different psnr for successive layers
Definition: grok.h:473
uint32_t numThreads
Definition: grok.h:777
uint32_t dx
subsampling in X direction
Definition: grok.h:412
#define GRK_PROFILE_PART2
Definition: grok.h:142
uint64_t pos
position in code stream
Definition: grok.h:960
uint32_t flags
Definition: grok.h:708
uint16_t tcp_numlayers
number of layers
Definition: grok.h:468
bool(* PLUGIN_IS_BATCH_COMPLETE)(void)
Definition: plugin_interface.h:80
bool writeTLM
Definition: grok.h:559
GRK_API bool GRK_CALLCONV grk_plugin_init(grk_plugin_init_info initInfo)
Initialize plugin.
Definition: grok.cpp:650
static const char * plugin_stop_batch_decode_method_name
Definition: grok.cpp:593
GRK_API bool GRK_CALLCONV grk_read_header(grk_codec codec, grk_header_info *header_info, grk_image **image)
Decompress JPEG 2000 header.
Definition: grok.cpp:259
uint32_t duration
Definition: grok.h:773
GRK_PLUGIN_COMPRESS_USER_CALLBACK userEncodeCallback
Definition: grok.cpp:667
static size_t grk_read_from_file(void *p_buffer, size_t nb_bytes, FILE *p_file)
Definition: grok.cpp:95
grk_packet_info * packet
information concerning packets inside tile
Definition: grok.h:989
Channel definition: channel index, type, association.
Definition: grok.h:566
static const char * plugin_encode_method_name
Definition: grok.cpp:583
struct _grk_image_comp grk_image_comp
Image component.
struct _grk_raw_cparameters grk_raw_cparameters
struct _grk_poc grk_poc
Progression order changes.
const uint32_t GRK_COMP_PARAM_DEFAULT_NUMRESOLUTION
Definition: CodeStream.h:43
size_t xmp_len
Definition: grok.h:904
grk_codec GRK_CALLCONV grk_create_decompress(GRK_CODEC_FORMAT p_format, grk_stream *stream)
Create J2K/JP2 decompression structure.
Definition: grok.cpp:219
uint32_t ty1
Definition: grok.h:389
uint32_t packno
packet number
Definition: grok.h:1009
uint8_t prec
Definition: grok.h:722
bool pluginLoaded
Definition: grok.cpp:604
uint32_t x0
x component offset compared to the whole image
Definition: grok.h:860
uint8_t tcp_mct
MCT (multiple component transform)
Definition: grok.h:525
uint8_t csty
coding style
Definition: grok.h:1041
grk_raw_comp_cparameters * comps
raw components parameters
Definition: grok.h:432
uint32_t width
width of the raw image
Definition: grok.h:422
static void release()
Definition: ThreadPool.hpp:60
Marker info.
Definition: grok.h:956
void GRK_CALLCONV grk_destroy_cstr_info(grk_codestream_info_v2 **cstr_info)
Destroy Codestream information after compression or decompression.
Definition: grok.cpp:476
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.
Definition: grok.cpp:799
uint32_t DA_x1
Decompress window right boundary.
Definition: grok.h:697
GRK_API void GRK_CALLCONV grk_stream_set_user_data(grk_stream *stream, void *data, grk_stream_free_user_data_fn p_function)
Set the given data to be used as a user data for the stream.
Definition: BufferedStream.cpp:455
uint64_t numBlocks
Definition: grok.h:1199
uint16_t Xcrg
Definition: grok.h:864
GRK_COLOR_SPACE color_space
color space: sRGB, Greyscale or YUV
Definition: grok.h:893
struct _grk_channel_definition grk_channel_definition
Channel definitions and number of definitions.
uint8_t resE
Definition: grok.h:395
grk_stream *GRK_CALLCONV grk_stream_create_mapped_file_stream(const char *fname, bool read_stream)
Create mapped file stream.
Definition: grok.cpp:553
int(* GROK_INIT_DECOMPRESSORS)(grk_header_info *header_info, grk_image *image)
Definition: grok.h:1831
uint32_t DA_y0
Decompress window up boundary.
Definition: grok.h:749
@ GRK_PREC_MODE_CLIP
Definition: grok.h:715
grk_poc POC[32]
progression order changes
Definition: grok.h:464
GRK_API bool GRK_CALLCONV grk_set_info_handler(grk_msg_callback p_callback, void *user_data)
Set info handler.
Definition: grok.cpp:74
uint32_t DA_x0
Decompress window left boundary.
Definition: grok.h:745
struct _grk_tile_v2_info grk_tile_info_v2
Tile coding parameter info.
GRK_API bool GRK_CALLCONV grk_init_compress(grk_codec codec, grk_cparameters *parameters, grk_image *image)
Set up the compressor parameters using the current image and user parameters.
Definition: grok.cpp:358
uint8_t resS
Start value, initialized in pi_initialise_encode.
Definition: grok.h:391
grk_codec l_codec
Definition: grok.h:1844
uint32_t prcw[GRK_J2K_MAXRLVLS]
precinct width
Definition: grok.h:1063
const char * input_file_name
Definition: grok.h:1778
GRK_API bool GRK_CALLCONV grk_decompress(grk_codec p_decompressor, grk_plugin_tile *tile, grk_image *image)
Decompress image from a JPEG 2000 code stream.
Definition: grok.cpp:270
#define GRK_UNUSED(x)
Definition: grk_includes.h:150
Tile coding parameter info.
Definition: grok.h:1071
@ GRK_CPRL
component-precinct-resolution-layer order
Definition: grok.h:295
uint32_t ty0
Definition: grok.h:389
@ GRK_COMPONENT_ASSOC_UNASSOCIATED
Definition: grok.h:841
uint32_t num_tps
number of tile parts
Definition: grok.h:999
uint64_t max_cs_size
Maximum size (in bytes) for the whole code stream.
Definition: grok.h:535
GRK_API size_t GRK_CALLCONV grk_stream_get_write_mem_stream_length(grk_stream *stream)
Get length of memory stream.
Definition: grok.cpp:543
Packet info.
Definition: grok.h:942
uint32_t tyE
Definition: grok.h:399
uint64_t codestream_size
code stream's size
Definition: grok.h:1029
size_t(* grk_stream_write_fn)(void *p_buffer, size_t nb_bytes, void *user_data)
Definition: grok.h:800
const char * minpf_get_dynamic_library_extension(void)
Definition: minpf_plugin_manager.cpp:74
char outfile[GRK_PATH_LEN]
output file name
Definition: grok.h:501
uint32_t cblockw_init
initial code block width (default to 64)
Definition: grok.h:477
const char * plugin_path
Definition: grok.h:1721
uint32_t txE
Definition: grok.h:399
struct _grk_cparameters grk_cparameters
Compress parameters.
void * grk_stream
Definition: grok.h:816
struct _grk_dparameters grk_dparameters
Core decompress parameters.
size_t numBands
Definition: grok.h:1218
grk_decompress_parameters * decompressor_parameters
Definition: grok.h:1846
struct _grk_header_info grk_header_info
Header info.
bool cp_fixed_quality
allocation by fixed_quality
Definition: grok.h:453
GRK_API void GRK_CALLCONV grk_stream_destroy(grk_stream *stream)
Destroy a stream created by grk_create_stream.
Definition: BufferedStream.cpp:429
uint32_t t_height
tile size in y = YTsiz
Definition: grok.h:1099
GROK_INIT_DECOMPRESSORS init_decompressors_func
Definition: grok.h:1836
uint32_t x0
x component offset compared to the whole image
Definition: grok.h:924
GRK_API bool GRK_CALLCONV grk_compress_tile(grk_codec codec, uint16_t tile_index, uint8_t *data, uint64_t data_size)
Compress uncompressed data stored in a buffer.
Definition: grok.cpp:437
_GRK_COLOR_SPACE
Supported image color spaces.
Definition: grok.h:318
char infile[GRK_PATH_LEN]
input file name
Definition: grok.h:499
uint16_t comp_t
Definition: grok.h:403
grk_stream * create_mem_stream(uint8_t *buf, size_t len, bool ownsBuffer, bool is_read_stream)
Definition: MemStream.cpp:138
uint32_t dx
XRsiz: horizontal separation of a sample of with component with respect to the reference grid.
Definition: grok.h:850
float stepsize
Definition: grok.h:1210
@ GRK_PNG_FMT
Definition: grok.h:69
Main codec handler used for compression or decompression.
Definition: grok.cpp:41
uint32_t decompress_flags
Definition: grok.h:1241
GRK_API grk_stream *GRK_CALLCONV grk_stream_create_mapped_file_stream(const char *fname, bool read_stream)
Create mapped file stream.
Definition: grok.cpp:553
double distotile
Definition: grok.h:991
GRK_PROG_ORDER prg
progression order
Definition: grok.h:1077
@ GRK_PGX_FMT
Definition: grok.h:64
uint32_t index_write
writing the packet in the index with t2_encode_packets
Definition: grok.h:1011
GRK_SUPPORTED_FILE_FMT decod_format
input file format 0: J2K, 1: JP2
Definition: grok.h:739
struct _grk_decompress_params grk_decompress_parameters
Decompress parameters.
uint32_t tx0
tile origin in x = XTOsiz
Definition: grok.h:1093
Definition: CodeStream.h:125
#define GRK_IS_PART2(v)
Definition: grok.h:150
uint32_t x1
Xsiz: width of the reference grid.
Definition: grok.h:887
@ GRK_CLRSPC_ICC
ICC profile.
Definition: grok.h:327
grk_channel_description * descriptions
Definition: grok.h:576
GRK_API void GRK_CALLCONV grk_stream_set_seek_function(grk_stream *stream, grk_stream_seek_fn p_function)
Set the given function to be used as a seek function, the stream is then seekable.
Definition: BufferedStream.cpp:440
void(* PLUGIN_STOP_BATCH_DECODE)(void)
Definition: plugin_interface.h:143
@ GRK_COMPONENT_ASSOC_COLOUR_2
Definition: grok.h:839
uint16_t tile_index
tile number of the decompressed tile
Definition: grok.h:705
GRK_API bool GRK_CALLCONV grk_plugin_is_batch_complete(void)
Check if batch job is complete.
Definition: grok.cpp:719
uint16_t cp_comment_len[GRK_NUM_COMMENTS_SUPPORTED]
Definition: grok.h:456
uint32_t tile
Tile number.
Definition: grok.h:387
uint16_t num_channel_descriptions
Definition: grok.h:577
uint16_t numlayers
number of layers
Definition: grok.h:1079
uint8_t * icc_profile_buf
Definition: grok.h:605
uint64_t precno1
Definition: grok.h:381
uint8_t cblk_sty
code block mode
Definition: grok.h:1049
ICC profile, palette, channel definition.
Definition: grok.h:604
struct _grk_plugin_init_info grk_plugin_init_info
uint32_t max_comp_size
Maximum size (in bytes) for each component.
Definition: grok.h:519
static uint64_t grk_get_data_length_from_file(FILE *p_file)
Definition: grok.cpp:100
uint32_t DA_y1
Decompress window bottom boundary.
Definition: grok.h:701
double * thresh
value of thresh for each layer by tile cfr.
Definition: grok.h:971
Image component parameters.
Definition: grok.h:910
GRK_API grk_stream *GRK_CALLCONV grk_stream_create_file_stream(const char *fname, size_t buffer_size, bool is_read_stream)
Create stream from a file identified with its filename with a specific buffer size.
Definition: grok.cpp:507
GRK_API void GRK_CALLCONV grk_image_all_components_data_free(grk_image *image)
Deallocate all component data for an image.
Definition: grok.cpp:561
uint8_t cp_reduce
Set the number of highest resolution levels to be discarded.
Definition: grok.h:678
uint32_t DA_y0
Decompress window up boundary.
Definition: grok.h:699
int32_t(* PLUGIN_BATCH_ENCODE)(const char *input_dir, const char *output_dir, grk_cparameters *encoding_parameters, PLUGIN_ENCODE_USER_CALLBACK userCallback)
Definition: plugin_interface.h:74
bool GRK_CALLCONV grk_end_decompress(grk_codec p_codec)
End decompression.
Definition: grok.cpp:403
size_t numResolutions
Definition: grok.h:1226
double distortionDecrease
Definition: grok.h:1172
int64_t numpix
Definition: grok.h:990
GRK_API int32_t GRK_CALLCONV grk_plugin_compress(grk_cparameters *compress_parameters, GRK_PLUGIN_COMPRESS_USER_CALLBACK callback)
Compress with plugin.
Definition: grok.cpp:684
char infile[GRK_PATH_LEN]
input file name
Definition: grok.h:687
uint16_t Ycrg
Definition: grok.h:864
grk_marker_info * marker
list of markers
Definition: grok.h:995
uint32_t numlayers
number of layer
Definition: grok.h:1015
bool isHT
Definition: grok.h:483
grk_image * image
Definition: grok.h:1847
grk_raw_cparameters raw_cp
Definition: grok.h:514
uint8_t csty
csty : coding style
Definition: grok.h:460
GRK_API bool GRK_CALLCONV grk_set_warning_handler(grk_msg_callback p_callback, void *user_data)
Set warning handler.
Definition: grok.cpp:81
uint32_t csty
coding style
Definition: grok.h:1075
bool GRK_CALLCONV grk_decompress_tile(grk_codec p_codec, grk_image *p_image, uint16_t tile_index)
Decompress a specific tile.
Definition: grok.cpp:291
struct _grk_raw_comp_cparameters grk_raw_comp_cparameters
#define GRK_J2K_MAXRLVLS
Maximum number of resolution levels authorized.
Definition: grok.h:82
Image.
Definition: grok.h:879
uint32_t t_height
YTsiz.
Definition: grok.h:449
bool GRK_CALLCONV grk_set_info_handler(grk_msg_callback p_callback, void *p_user_data)
Set info handler.
Definition: grok.cpp:74
uint8_t qntsty
quantisation style
Definition: grok.h:1053
grk_tp_index * tp_index
information concerning tile parts
Definition: grok.h:1135
char * cp_comment[GRK_NUM_COMMENTS_SUPPORTED]
comment for coding
Definition: grok.h:455
uint32_t * lut
Definition: grok.h:593
GRK_SUPPORTED_FILE_FMT cod_format
output file format
Definition: grok.h:513
Compress parameters.
Definition: grok.h:439
struct _grk_marker_info grk_marker_info
Marker info.
size_t level
Definition: grok.h:1217
grk_plugin_precinct ** precincts
Definition: grok.h:1209
GRK_API void GRK_CALLCONV grk_stream_set_user_data_length(grk_stream *stream, uint64_t data_length)
Set the length of the user data for the stream.
Definition: BufferedStream.cpp:463
unsigned int sortedIndex
Definition: grok.h:1192
bool(* PLUGIN_INIT)(grk_plugin_init_info initInfo)
Definition: plugin_interface.h:69
@ GRK_ENUM_CLRSPC_EYCC
Definition: grok.h:338
@ GRK_COMPONENT_TYPE_OPACITY
Definition: grok.h:828
uint64_t end_header
end position of the header
Definition: grok.h:1117
uint32_t DA_x0
Decompress window left boundary.
Definition: grok.h:695
GRK_API bool GRK_CALLCONV grk_initialize(const char *plugin_path, uint32_t numthreads)
Initialize library.
Definition: grok.cpp:52
static bool is_plugin_initialized
Definition: grok.cpp:51
size_t numComponents
Definition: grok.h:1242
uint32_t t_grid_width
number of tiles in X
Definition: grok.h:1101
struct _grk_plugin_code_block grk_plugin_code_block
Plugin code block.
uint64_t start_pos
start position
Definition: grok.h:1115
uint8_t qmfbid
discrete wavelet transform identifier
Definition: grok.h:1051
uint16_t cn
Definition: grok.h:567
uint32_t y1
Ysiz: height of the reference grid.
Definition: grok.h:889
uint8_t prec
precision
Definition: grok.h:866
GRK_COMPONENT_ASSOC
Definition: grok.h:835
GRK_API size_t GRK_CALLCONV grk_stream_get_write_mem_stream_length(grk_stream *stream)
Get length of memory stream.
Definition: grok.cpp:543
uint32_t y0
y component offset compared to the whole image
Definition: grok.h:862
void GRK_CALLCONV grk_set_default_decompress_params(grk_dparameters *parameters)
Initialize decompress parameters with default values.
Definition: grok.cpp:243
grk_precision * precision
Definition: grok.h:758
struct _grk_plugin_load_info grk_plugin_load_info
uint8_t cblk_sty
code block style
Definition: grok.h:481
char indexfilename[GRK_PATH_LEN]
index file name
Definition: grok.h:743
Plugin resolution.
Definition: grok.h:1216
@ GRK_RLCP
resolution-layer-component-precinct order
Definition: grok.h:292
uint32_t numThreads
Definition: grok.h:553
grk_plugin_decompress_callback decodeCallback
Definition: grok.cpp:751
bool write_display_resolution
Definition: grok.h:548
void GRK_ERROR(const char *fmt,...)
Definition: logger.cpp:57
bool GRK_CALLCONV grk_set_decompress_window(grk_codec p_codec, grk_image *p_image, uint32_t start_x, uint32_t start_y, uint32_t end_x, uint32_t end_y)
Set the given area to be decompressed.
Definition: grok.cpp:280
uint8_t * compressBuffer
Definition: grok.h:1784
uint32_t dy
Definition: grok.h:399
bool owns_data
Definition: grok.h:871
struct _grk_plugin_resolution grk_plugin_resolution
Plugin resolution.
message_info info
Definition: ojph_message.cpp:50
uint16_t asoc
Definition: grok.h:569
GRK_ENUM_COLOUR_SPACE
Definition: grok.h:331
void GRK_CALLCONV grk_image_destroy(grk_image *image)
Deallocate all resources associated with an image.
Definition: grok.cpp:201
bool plugin_owns_image
Definition: grok.h:1848
GRK_SUPPORTED_FILE_FMT cod_format
output file format
Definition: grok.h:693
Definition: plugin_interface.h:56
bool m_verbose
Verbose mode.
Definition: grok.h:703
GRK_API void GRK_CALLCONV grk_set_default_compress_params(grk_cparameters *parameters)
Set compressing parameters to default values, that means :
Definition: grok.cpp:329
uint32_t image_offset_y0
subimage compressing: origin image offset in y direction
Definition: grok.h:505
@ GRK_PAM_FMT
Definition: grok.h:65
grk_tile_index * tile_index
Definition: grok.h:1161
uint32_t stepsizes_mant[GRK_J2K_MAXBANDS]
stepsizes used for quantization
Definition: grok.h:1055
uint64_t main_head_end
main header position
Definition: grok.h:1027
uint32_t tx0
Start and end values for tile width and height.
Definition: grok.h:389
GRK_API bool GRK_CALLCONV grk_plugin_is_batch_complete(void)
Check if batch job is complete.
Definition: grok.cpp:719
uint32_t x0
XOsiz: horizontal offset from the origin of the reference grid to the left side of the image area.
Definition: grok.h:882