Grok  7.6.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 
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 
_grk_decompress_params
Decompress parameters.
Definition: grok.h:742
grk::plugin_encode_user_callback_info::outputFileNameIsRelative
bool outputFileNameIsRelative
Definition: plugin_interface.h:58
grk::PLUGIN_ENCODE
int32_t(* PLUGIN_ENCODE)(grk_cparameters *encoding_parameters, PLUGIN_ENCODE_USER_CALLBACK callback)
Definition: plugin_interface.h:71
grk::PluginDecodeCallbackInfo::PluginDecodeCallbackInfo
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::PluginDecodeCallbackInfo::decompress_flags
uint32_t decompress_flags
Definition: plugin_interface.h:128
grk::plugin_encode_user_callback_info::image
grk_image * image
Definition: plugin_interface.h:61
grk::PLUGIN_ENCODE_USER_CALLBACK
void(* PLUGIN_ENCODE_USER_CALLBACK)(plugin_encode_user_callback_info *info)
Definition: plugin_interface.h:66
grk::PluginDecodeCallbackInfo::deviceId
size_t deviceId
Definition: plugin_interface.h:112
grk::plugin_encode_user_callback_info::input_file_name
const char * input_file_name
Definition: plugin_interface.h:57
grk::PluginDecodeCallbackInfo::image
grk_image * image
Definition: plugin_interface.h:124
GRK_UNK_FMT
@ GRK_UNK_FMT
Definition: grok.h:60
grk_codec
void * grk_codec
Definition: grok.h:791
grk::grk_plugin_debug_mqc::compno
uint32_t compno
Definition: plugin_interface.h:42
grk::PLUGIN_STOP_BATCH_ENCODE
void(* PLUGIN_STOP_BATCH_ENCODE)(void)
Definition: plugin_interface.h:78
grk::PLUGIN_BATCH_DECODE
int32_t(* PLUGIN_BATCH_DECODE)(void)
Definition: plugin_interface.h:141
grk::PLUGIN_DECODE_USER_CALLBACK
int32_t(* PLUGIN_DECODE_USER_CALLBACK)(PluginDecodeCallbackInfo *info)
Definition: plugin_interface.h:132
grk::grk_plugin_debug_mqc::contextCacheCount
uint32_t contextCacheCount
Definition: plugin_interface.h:40
grk::PLUGIN_DECODE
int32_t(* PLUGIN_DECODE)(grk_decompress_parameters *decoding_parameters, PLUGIN_DECODE_USER_CALLBACK userCallback)
Definition: plugin_interface.h:134
_grk_plugin_tile
Plugin tile.
Definition: grok.h:1251
grk::PluginDecodeCallbackInfo::l_stream
grk_stream * l_stream
Definition: plugin_interface.h:120
grk::PLUGIN_GET_DEBUG_STATE
uint32_t(* PLUGIN_GET_DEBUG_STATE)(void)
Definition: plugin_interface.h:46
grk::grk_plugin_debug_mqc::contextStream
uint32_t * contextStream
Definition: plugin_interface.h:37
grk::PLUGIN_INIT_BATCH_DECODE
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
grk::PluginDecodeCallbackInfo::user_data
void * user_data
Definition: plugin_interface.h:129
grk::grk_plugin_debug_mqc::contextCache
uint8_t contextCache[DEBUG_CONTEXT_CACHE_SIZE]
Definition: plugin_interface.h:39
grk::grk_plugin_debug_mqc::orientation
uint8_t orientation
Definition: plugin_interface.h:41
grk::grk_plugin_debug_mqc::context_number
uint8_t context_number
Definition: plugin_interface.h:36
grk::PluginDecodeCallbackInfo::PluginDecodeCallbackInfo
PluginDecodeCallbackInfo()
Definition: plugin_interface.h:87
grk::plugin_encode_user_callback_info::tile
grk_plugin_tile * tile
Definition: plugin_interface.h:62
grk::grk_plugin_debug_mqc
Definition: plugin_interface.h:34
grk::PluginDecodeCallbackInfo::inputFile
std::string inputFile
Definition: plugin_interface.h:114
grk::PLUGIN_DEBUG_MQC_NEXT_CXD
void(* PLUGIN_DEBUG_MQC_NEXT_CXD)(grk_plugin_debug_mqc *mqc, uint32_t d)
Definition: plugin_interface.h:48
grk::grk_plugin_debug_mqc::debug_state
uint32_t debug_state
Definition: plugin_interface.h:35
grk::plugin_encode_user_callback_info::error_code
int32_t error_code
Definition: plugin_interface.h:63
GRK_SUPPORTED_FILE_FMT
GRK_SUPPORTED_FILE_FMT
Definition: grok.h:59
grk::plugin_encode_user_callback_info::output_file_name
const char * output_file_name
Definition: plugin_interface.h:59
grk::PluginDecodeCallbackInfo
Definition: plugin_interface.h:86
grk::PLUGIN_DEBUG_MQC_NEXT_PLANE
void(* PLUGIN_DEBUG_MQC_NEXT_PLANE)(grk_plugin_debug_mqc *mqc)
Definition: plugin_interface.h:50
grk
Copyright (C) 2016-2021 Grok Image Compression Inc.
Definition: BitIO.cpp:23
minpf_plugin.h
grok.h
grk::plugin_encode_user_callback_info::compressor_parameters
grk_cparameters * compressor_parameters
Definition: plugin_interface.h:60
_grk_header_info
Header info.
Definition: grok.h:623
grk::PluginDecodeCallbackInfo::init_decompressors_func
GROK_INIT_DECOMPRESSORS init_decompressors_func
Definition: plugin_interface.h:113
grk::PluginDecodeCallbackInfo::cod_format
GRK_SUPPORTED_FILE_FMT cod_format
Definition: plugin_interface.h:119
grk::PLUGIN_IS_BATCH_COMPLETE
bool(* PLUGIN_IS_BATCH_COMPLETE)(void)
Definition: plugin_interface.h:80
grk::PluginDecodeCallbackInfo::l_codec
grk_codec l_codec
Definition: plugin_interface.h:121
DEBUG_CONTEXT_CACHE_SIZE
#define DEBUG_CONTEXT_CACHE_SIZE
Definition: plugin_interface.h:31
grk::grk_plugin_debug_mqc::level
uint32_t level
Definition: plugin_interface.h:43
grk::PluginDecodeCallbackInfo::header_info
grk_header_info header_info
Definition: plugin_interface.h:123
grk::grk_plugin_debug_mqc::contextStreamByteCount
uint32_t contextStreamByteCount
Definition: plugin_interface.h:38
grk::PluginDecodeCallbackInfo::tile
grk_plugin_tile * tile
Definition: plugin_interface.h:126
grk::PluginDecodeCallbackInfo::decompressor_parameters
grk_decompress_parameters * decompressor_parameters
Definition: plugin_interface.h:122
GROK_INIT_DECOMPRESSORS
int(* GROK_INIT_DECOMPRESSORS)(grk_header_info *header_info, grk_image *image)
Definition: grok.h:1843
grk_stream
void * grk_stream
Definition: grok.h:827
grk::PLUGIN_STOP_BATCH_DECODE
void(* PLUGIN_STOP_BATCH_DECODE)(void)
Definition: plugin_interface.h:143
grk::PluginDecodeCallbackInfo::decod_format
GRK_SUPPORTED_FILE_FMT decod_format
Definition: plugin_interface.h:117
grk::PLUGIN_BATCH_ENCODE
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
_grk_plugin_init_info
Definition: grok.h:1778
_grk_image
Image.
Definition: grok.h:890
grk::PluginDecodeCallbackInfo::plugin_owns_image
bool plugin_owns_image
Definition: plugin_interface.h:125
_grk_cparameters
Compress parameters.
Definition: grok.h:440
grk::PLUGIN_INIT
bool(* PLUGIN_INIT)(grk_plugin_init_info initInfo)
Definition: plugin_interface.h:69
grk::PluginDecodeCallbackInfo::error_code
int32_t error_code
Definition: plugin_interface.h:127
grk::PluginDecodeCallbackInfo::outputFile
std::string outputFile
Definition: plugin_interface.h:115
ojph::info
message_info info
Definition: ojph_message.cpp:50
grk::plugin_encode_user_callback_info
Definition: plugin_interface.h:56