Grok 10.0.3
plugin_interface.h
Go to the documentation of this file.
1
18#include <plugin/minpf_plugin.h>
19#include "grok.h"
20#include <cstring>
21#include <string>
22
23#pragma once
24
25namespace grk
26{
28// Debug Interface
30
31#define DEBUG_CONTEXT_CACHE_SIZE 3
32
33// debugging variables
35{
36 uint32_t debug_state;
38 uint32_t* contextStream;
42 uint8_t orientation;
43 uint16_t compno;
44 uint32_t level;
45};
46
47typedef uint32_t (*PLUGIN_GET_DEBUG_STATE)(void);
48
49typedef void (*PLUGIN_DEBUG_MQC_NEXT_CXD)(grk_plugin_debug_mqc* mqc, uint32_t d);
50
52
54// compressor interface
56
58{
59 const char* input_file_name;
61 const char* output_file_name;
65 int32_t error_code;
66};
67
69
70typedef bool (*PLUGIN_INIT)(grk_plugin_init_info initInfo);
71
72typedef int32_t (*PLUGIN_ENCODE)(grk_cparameters* encoding_parameters,
74
75typedef int32_t (*PLUGIN_BATCH_ENCODE)(const char* input_dir, const char* output_dir,
76 grk_cparameters* encoding_parameters,
77 PLUGIN_ENCODE_USER_CALLBACK userCallback);
78
79typedef void (*PLUGIN_STOP_BATCH_ENCODE)(void);
80
81typedef bool (*PLUGIN_IS_BATCH_COMPLETE)(void);
82
84// decompressor interface
86
88{
90 PluginDecodeCallbackInfo(std::string input, std::string output,
91 grk_decompress_parameters* decompressorParameters,
92 GRK_CODEC_FORMAT format, uint32_t flags)
93 : deviceId(0), init_decompressors_func(nullptr), inputFile(input), outputFile(output),
95 decompressor_parameters(decompressorParameters), image(nullptr), plugin_owns_image(false),
96 tile(nullptr), error_code(0), decompress_flags(flags), user_data(nullptr)
97
98 {
99 memset(&header_info, 0, sizeof(header_info));
100 }
101 size_t deviceId;
103 std::string inputFile;
104 std::string outputFile;
105 // input file format 0: J2K, 1: JP2
107 // output file format 0: PGX, 1: PxM, 2: BMP etc
115 int32_t error_code;
118};
119
121
122typedef int32_t (*PLUGIN_DECODE)(grk_decompress_parameters* decoding_parameters,
123 PLUGIN_DECODE_USER_CALLBACK userCallback);
124
125typedef int32_t (*PLUGIN_INIT_BATCH_DECODE)(const char* input_dir, const char* output_dir,
126 grk_decompress_parameters* decoding_parameters,
127 PLUGIN_DECODE_USER_CALLBACK userCallback);
128
129typedef int32_t (*PLUGIN_BATCH_DECODE)(void);
130
131typedef void (*PLUGIN_STOP_BATCH_DECODE)(void);
132
133} // namespace grk
@ GRK_FMT_UNK
Definition: grok.h:209
enum _GRK_CODEC_FORMAT GRK_CODEC_FORMAT
Supported JPEG 2000 formats.
enum _GRK_SUPPORTED_FILE_FMT GRK_SUPPORTED_FILE_FMT
All supported file formats.
int(* GROK_INIT_DECOMPRESSORS)(grk_header_info *header_info, grk_image *image)
Definition: grok.h:1454
@ GRK_CODEC_UNK
place-holder
Definition: grok.h:512
Copyright (C) 2016-2022 Grok Image Compression Inc.
Definition: ICacheable.h:20
void(* PLUGIN_ENCODE_USER_CALLBACK)(plugin_encode_user_callback_info *info)
Definition: plugin_interface.h:68
int32_t(* PLUGIN_DECODE)(grk_decompress_parameters *decoding_parameters, PLUGIN_DECODE_USER_CALLBACK userCallback)
Definition: plugin_interface.h:122
void(* PLUGIN_STOP_BATCH_DECODE)(void)
Definition: plugin_interface.h:131
bool(* PLUGIN_INIT)(grk_plugin_init_info initInfo)
Definition: plugin_interface.h:70
void(* PLUGIN_STOP_BATCH_ENCODE)(void)
Definition: plugin_interface.h:79
uint32_t(* PLUGIN_GET_DEBUG_STATE)(void)
Definition: plugin_interface.h:47
void(* PLUGIN_DEBUG_MQC_NEXT_CXD)(grk_plugin_debug_mqc *mqc, uint32_t d)
Definition: plugin_interface.h:49
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:75
void(* PLUGIN_DEBUG_MQC_NEXT_PLANE)(grk_plugin_debug_mqc *mqc)
Definition: plugin_interface.h:51
bool(* PLUGIN_IS_BATCH_COMPLETE)(void)
Definition: plugin_interface.h:81
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:125
int32_t(* PLUGIN_ENCODE)(grk_cparameters *encoding_parameters, PLUGIN_ENCODE_USER_CALLBACK callback)
Definition: plugin_interface.h:72
int32_t(* PLUGIN_BATCH_DECODE)(void)
Definition: plugin_interface.h:129
int32_t(* PLUGIN_DECODE_USER_CALLBACK)(PluginDecodeCallbackInfo *info)
Definition: plugin_interface.h:120
d
Definition: rvv-inl.h:1742
HWY_DLLEXPORT HWY_NORETURN void int const char * format
Definition: base.h:848
#define DEBUG_CONTEXT_CACHE_SIZE
Definition: plugin_interface.h:31
Compress parameters.
Definition: grok.h:912
Decompression parameters.
Definition: grok.h:521
Header info.
Definition: grok.h:361
Definition: grok.h:613
Grok ref-counted object.
Definition: grok.h:126
Definition: grok.h:1390
Plugin tile.
Definition: grok.h:739
Definition: plugin_interface.h:88
grk_image * image
Definition: plugin_interface.h:112
grk_plugin_tile * tile
Definition: plugin_interface.h:114
std::string inputFile
Definition: plugin_interface.h:103
GROK_INIT_DECOMPRESSORS init_decompressors_func
Definition: plugin_interface.h:102
grk_header_info header_info
Definition: plugin_interface.h:111
uint32_t decompress_flags
Definition: plugin_interface.h:116
void * user_data
Definition: plugin_interface.h:117
grk_codec * codec
Definition: plugin_interface.h:109
std::string outputFile
Definition: plugin_interface.h:104
GRK_SUPPORTED_FILE_FMT cod_format
Definition: plugin_interface.h:108
int32_t error_code
Definition: plugin_interface.h:115
size_t deviceId
Definition: plugin_interface.h:101
grk_decompress_parameters * decompressor_parameters
Definition: plugin_interface.h:110
GRK_CODEC_FORMAT decod_format
Definition: plugin_interface.h:106
PluginDecodeCallbackInfo()
Definition: plugin_interface.h:89
PluginDecodeCallbackInfo(std::string input, std::string output, grk_decompress_parameters *decompressorParameters, GRK_CODEC_FORMAT format, uint32_t flags)
Definition: plugin_interface.h:90
bool plugin_owns_image
Definition: plugin_interface.h:113
Definition: plugin_interface.h:35
uint32_t debug_state
Definition: plugin_interface.h:36
uint32_t * contextStream
Definition: plugin_interface.h:38
uint8_t contextCache[DEBUG_CONTEXT_CACHE_SIZE]
Definition: plugin_interface.h:40
uint8_t context_number
Definition: plugin_interface.h:37
uint32_t contextCacheCount
Definition: plugin_interface.h:41
uint16_t compno
Definition: plugin_interface.h:43
uint8_t orientation
Definition: plugin_interface.h:42
uint32_t contextStreamByteCount
Definition: plugin_interface.h:39
uint32_t level
Definition: plugin_interface.h:44
Definition: plugin_interface.h:58
grk_plugin_tile * tile
Definition: plugin_interface.h:64
int32_t error_code
Definition: plugin_interface.h:65
bool outputFileNameIsRelative
Definition: plugin_interface.h:60
const char * input_file_name
Definition: plugin_interface.h:59
grk_image * image
Definition: plugin_interface.h:63
const char * output_file_name
Definition: plugin_interface.h:61
grk_cparameters * compressor_parameters
Definition: plugin_interface.h:62