QR optimize encoding modes

This commit is contained in:
gitlost
2019-12-16 17:31:52 +00:00
parent 74082e4d1b
commit e331fd1e90
11 changed files with 1944 additions and 971 deletions

View File

@ -68,7 +68,6 @@ extern "C" {
extern int module_is_set(const struct zint_symbol *symbol, const int y_coord, const int x_coord);
extern void set_module(struct zint_symbol *symbol, const int y_coord, const int x_coord);
extern int istwodigits(const unsigned char source[], const size_t position);
extern int parunmodd(const unsigned char llyth);
extern void expand(struct zint_symbol *symbol, const char data[]);
extern void unset_module(struct zint_symbol *symbol, const int y_coord, const int x_coord);
extern int is_stackable(const int symbology);
@ -79,11 +78,14 @@ extern "C" {
extern void set_minimum_height(struct zint_symbol *symbol, const int min_height);
typedef unsigned int* (*pn_head_costs)(unsigned int state[]);
typedef unsigned int (*pn_switch_cost)(unsigned int state[], const int j, const int k);
typedef unsigned int (*pn_switch_cost)(unsigned int state[], const int k, const int j);
typedef unsigned int (*pn_eod_cost)(unsigned int state[], const int k);
typedef void (*pn_cur_cost)(unsigned int state[], const unsigned int data[], const size_t length, const int i, char* char_modes, unsigned int prev_costs[], unsigned int cur_costs[]);
extern void pn_define_mode(char* mode, const unsigned int data[], const size_t length, const int debug,
unsigned int state[], const char mode_types[], const int num_modes, pn_head_costs head_costs, pn_switch_cost switch_cost, pn_eod_cost eod_cost, pn_cur_cost cur_cost);
extern void debug_test_codeword_dump(struct zint_symbol *symbol, unsigned char* codewords, int length);
#ifdef __cplusplus
}
#endif /* __cplusplus */