Grok  7.6.6
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 
25 namespace grk {
26 
28 // Debug Interface
30 
31 #define DEBUG_CONTEXT_CACHE_SIZE 3
32 
33 // debugging variables
35  uint32_t debug_state;
36  uint8_t context_number;
37  uint32_t *contextStream;
41  uint8_t orientation;
42  uint32_t compno;
43  uint32_t level;
44 };
45 
46 typedef uint32_t (*PLUGIN_GET_DEBUG_STATE)(void);
47 
48 typedef void (*PLUGIN_DEBUG_MQC_NEXT_CXD)(grk_plugin_debug_mqc *mqc, uint32_t d);
49 
51 
53 // compressor interface
55 
57  const char *input_file_name;
59  const char *output_file_name;
63  int32_t error_code;
64 };
65 
68 
69 typedef bool (*PLUGIN_INIT)(grk_plugin_init_info initInfo);
70 
71 typedef int32_t (*PLUGIN_ENCODE)( grk_cparameters *encoding_parameters,
73 
74 typedef int32_t (*PLUGIN_BATCH_ENCODE)(const char *input_dir,
75  const char *output_dir, grk_cparameters *encoding_parameters,
76  PLUGIN_ENCODE_USER_CALLBACK userCallback);
77 
78 typedef void (*PLUGIN_STOP_BATCH_ENCODE)(void);
79 
80 typedef bool (*PLUGIN_IS_BATCH_COMPLETE)(void);
81 
83 // decompressor interface
85 
88  PluginDecodeCallbackInfo("", "", nullptr, GRK_UNK_FMT, 0) {
89  }
90  PluginDecodeCallbackInfo(std::string input, std::string output,
91  grk_decompress_parameters *decompressorParameters, GRK_SUPPORTED_FILE_FMT format,
92  uint32_t flags) :
93  deviceId(0),
94  init_decompressors_func(nullptr),
95  inputFile(input),
96  outputFile( output),
97  decod_format(format),
99  l_stream(nullptr),
100  l_codec(nullptr),
101  decompressor_parameters(decompressorParameters),
102  image(nullptr),
103  plugin_owns_image(false),
104  tile(nullptr),
105  error_code(0),
106  decompress_flags(flags),
107  user_data(nullptr)
108 
109  {
110  memset(&header_info, 0, sizeof(header_info));
111  }
112  size_t deviceId;
114  std::string inputFile;
115  std::string outputFile;
116  // input file format 0: J2K, 1: JP2
118  // output file format 0: PGX, 1: PxM, 2: BMP etc
127  int32_t error_code;
129  void* user_data;
130 };
131 
133 
134 typedef int32_t (*PLUGIN_DECODE)(grk_decompress_parameters *decoding_parameters,
135  PLUGIN_DECODE_USER_CALLBACK userCallback);
136 
137 typedef int32_t (*PLUGIN_INIT_BATCH_DECODE)(const char *input_dir,
138  const char *output_dir, grk_decompress_parameters *decoding_parameters,
139  PLUGIN_DECODE_USER_CALLBACK userCallback);
140 
141 typedef int32_t (*PLUGIN_BATCH_DECODE)(void);
142 
143 typedef void (*PLUGIN_STOP_BATCH_DECODE)(void);
144 
145 }
146 
void * grk_codec
Definition: grok.h:798
GRK_SUPPORTED_FILE_FMT
Definition: grok.h:59
@ GRK_UNK_FMT
Definition: grok.h:60
int(* GROK_INIT_DECOMPRESSORS)(grk_header_info *header_info, grk_image *image)
Definition: grok.h:1859
void * grk_stream
Definition: grok.h:829
Copyright (C) 2016-2021 Grok Image Compression Inc.
Definition: BitIO.cpp:23
void(* PLUGIN_ENCODE_USER_CALLBACK)(plugin_encode_user_callback_info *info)
Definition: plugin_interface.h:66
int32_t(* PLUGIN_DECODE)(grk_decompress_parameters *decoding_parameters, PLUGIN_DECODE_USER_CALLBACK userCallback)
Definition: plugin_interface.h:134
void(* PLUGIN_STOP_BATCH_DECODE)(void)
Definition: plugin_interface.h:143
bool(* PLUGIN_INIT)(grk_plugin_init_info initInfo)
Definition: plugin_interface.h:69
void(* PLUGIN_STOP_BATCH_ENCODE)(void)
Definition: plugin_interface.h:78
uint32_t(* PLUGIN_GET_DEBUG_STATE)(void)
Definition: plugin_interface.h:46
void(* PLUGIN_DEBUG_MQC_NEXT_CXD)(grk_plugin_debug_mqc *mqc, uint32_t d)
Definition: plugin_interface.h:48
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
void(* PLUGIN_DEBUG_MQC_NEXT_PLANE)(grk_plugin_debug_mqc *mqc)
Definition: plugin_interface.h:50
bool(* PLUGIN_IS_BATCH_COMPLETE)(void)
Definition: plugin_interface.h:80
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
int32_t(* PLUGIN_ENCODE)(grk_cparameters *encoding_parameters, PLUGIN_ENCODE_USER_CALLBACK callback)
Definition: plugin_interface.h:71
int32_t(* PLUGIN_BATCH_DECODE)(void)
Definition: plugin_interface.h:141
int32_t(* PLUGIN_DECODE_USER_CALLBACK)(PluginDecodeCallbackInfo *info)
Definition: plugin_interface.h:132
message_info info
Definition: ojph_message.cpp:50
#define DEBUG_CONTEXT_CACHE_SIZE
Definition: plugin_interface.h:31
Compress parameters.
Definition: grok.h:446
Decompress parameters.
Definition: grok.h:749
Header info.
Definition: grok.h:629
Image.
Definition: grok.h:892
Definition: grok.h:1794
Plugin tile.
Definition: grok.h:1254
Definition: plugin_interface.h:86
GRK_SUPPORTED_FILE_FMT decod_format
Definition: plugin_interface.h:117
grk_image * image
Definition: plugin_interface.h:124
grk_plugin_tile * tile
Definition: plugin_interface.h:126
std::string inputFile
Definition: plugin_interface.h:114
PluginDecodeCallbackInfo(std::string input, std::string output, grk_decompress_parameters *decompressorParameters, GRK_SUPPORTED_FILE_FMT format, uint32_t flags)
Definition: plugin_interface.h:90
grk_codec l_codec
Definition: plugin_interface.h:121
GROK_INIT_DECOMPRESSORS init_decompressors_func
Definition: plugin_interface.h:113
grk_header_info header_info
Definition: plugin_interface.h:123
uint32_t decompress_flags
Definition: plugin_interface.h:128
void * user_data
Definition: plugin_interface.h:129
grk_stream * l_stream
Definition: plugin_interface.h:120
std::string outputFile
Definition: plugin_interface.h:115
GRK_SUPPORTED_FILE_FMT cod_format
Definition: plugin_interface.h:119
int32_t error_code
Definition: plugin_interface.h:127
size_t deviceId
Definition: plugin_interface.h:112
grk_decompress_parameters * decompressor_parameters
Definition: plugin_interface.h:122
PluginDecodeCallbackInfo()
Definition: plugin_interface.h:87
bool plugin_owns_image
Definition: plugin_interface.h:125
Definition: plugin_interface.h:34
uint32_t debug_state
Definition: plugin_interface.h:35
uint32_t * contextStream
Definition: plugin_interface.h:37
uint8_t contextCache[DEBUG_CONTEXT_CACHE_SIZE]
Definition: plugin_interface.h:39
uint8_t context_number
Definition: plugin_interface.h:36
uint32_t contextCacheCount
Definition: plugin_interface.h:40
uint8_t orientation
Definition: plugin_interface.h:41
uint32_t contextStreamByteCount
Definition: plugin_interface.h:38
uint32_t compno
Definition: plugin_interface.h:42
uint32_t level
Definition: plugin_interface.h:43
Definition: plugin_interface.h:56
grk_plugin_tile * tile
Definition: plugin_interface.h:62
int32_t error_code
Definition: plugin_interface.h:63
bool outputFileNameIsRelative
Definition: plugin_interface.h:58
const char * input_file_name
Definition: plugin_interface.h:57
grk_image * image
Definition: plugin_interface.h:61
const char * output_file_name
Definition: plugin_interface.h:59
grk_cparameters * compressor_parameters
Definition: plugin_interface.h:60