Grok  7.6.0
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 orient;
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 // encoder 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 // decoder interface
85 
88  PluginDecodeCallbackInfo("", "", nullptr, GRK_UNK_FMT, 0) {
89  }
90  PluginDecodeCallbackInfo(std::string input, std::string output,
91  grk_decompress_parameters *decoderParameters, GRK_SUPPORTED_FILE_FMT format,
92  uint32_t flags) :
93  deviceId(0), init_decoders_func(nullptr), inputFile(input), outputFile(
94  output), decod_format(format), cod_format(GRK_UNK_FMT), l_stream(
95  nullptr), l_codec(nullptr), decoder_parameters(
96  decoderParameters), image(nullptr), plugin_owns_image(
97  false), tile(nullptr), error_code(0), decode_flags(flags) {
98  memset(&header_info, 0, sizeof(header_info));
99  }
100  size_t deviceId;
102  std::string inputFile;
103  std::string outputFile;
104  // input file format 0: J2K, 1: JP2
106  // output file format 0: PGX, 1: PxM, 2: BMP etc
115  int32_t error_code;
116  uint32_t decode_flags;
117 };
118 
120 
121 typedef int32_t (*PLUGIN_DECODE)(grk_decompress_parameters *decoding_parameters,
122  PLUGIN_DECODE_USER_CALLBACK userCallback);
123 
124 typedef int32_t (*PLUGIN_INIT_BATCH_DECODE)(const char *input_dir,
125  const char *output_dir, grk_decompress_parameters *decoding_parameters,
126  PLUGIN_DECODE_USER_CALLBACK userCallback);
127 
128 typedef int32_t (*PLUGIN_BATCH_DECODE)(void);
129 
130 typedef void (*PLUGIN_STOP_BATCH_DECODE)(void);
131 
132 }
133 
_grk_decompress_params
Decompress parameters.
Definition: grok.h:730
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::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:100
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:112
GRK_UNK_FMT
@ GRK_UNK_FMT
Definition: grok.h:60
grk_codec
void * grk_codec
Definition: grok.h:779
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:128
grk::PLUGIN_DECODE_USER_CALLBACK
int32_t(* PLUGIN_DECODE_USER_CALLBACK)(PluginDecodeCallbackInfo *info)
Definition: plugin_interface.h:119
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:121
_grk_plugin_tile
Plugin tile.
Definition: grok.h:1242
GROK_INIT_DECODERS
int(* GROK_INIT_DECODERS)(grk_header_info *header_info, grk_image *image)
Definition: grok.h:1866
grk::PluginDecodeCallbackInfo::l_stream
grk_stream * l_stream
Definition: plugin_interface.h:108
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:124
grk::grk_plugin_debug_mqc::contextCache
uint8_t contextCache[DEBUG_CONTEXT_CACHE_SIZE]
Definition: plugin_interface.h:39
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:102
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::encoder_parameters
grk_cparameters * encoder_parameters
Definition: plugin_interface.h:60
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::PluginDecodeCallbackInfo::PluginDecodeCallbackInfo
PluginDecodeCallbackInfo(std::string input, std::string output, grk_decompress_parameters *decoderParameters, GRK_SUPPORTED_FILE_FMT format, uint32_t flags)
Definition: plugin_interface.h:90
grk
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: BitIO.h:27
minpf_plugin.h
grk::grk_plugin_debug_mqc::orient
uint8_t orient
Definition: plugin_interface.h:41
grok.h
grk::PluginDecodeCallbackInfo::decode_flags
uint32_t decode_flags
Definition: plugin_interface.h:116
_grk_header_info
Header info.
Definition: grok.h:603
grk::PluginDecodeCallbackInfo::cod_format
GRK_SUPPORTED_FILE_FMT cod_format
Definition: plugin_interface.h:107
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:109
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:111
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:114
grk_stream
void * grk_stream
Definition: grok.h:819
grk::PLUGIN_STOP_BATCH_DECODE
void(* PLUGIN_STOP_BATCH_DECODE)(void)
Definition: plugin_interface.h:130
grk::PluginDecodeCallbackInfo::decod_format
GRK_SUPPORTED_FILE_FMT decod_format
Definition: plugin_interface.h:105
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:1802
_grk_image
Image.
Definition: grok.h:880
grk::PluginDecodeCallbackInfo::plugin_owns_image
bool plugin_owns_image
Definition: plugin_interface.h:113
_grk_cparameters
Compress parameters.
Definition: grok.h:428
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:115
grk::PluginDecodeCallbackInfo::decoder_parameters
grk_decompress_parameters * decoder_parameters
Definition: plugin_interface.h:110
grk::PluginDecodeCallbackInfo::outputFile
std::string outputFile
Definition: plugin_interface.h:103
grk::plugin_encode_user_callback_info
Definition: plugin_interface.h:56
grk::PluginDecodeCallbackInfo::init_decoders_func
GROK_INIT_DECODERS init_decoders_func
Definition: plugin_interface.h:101