32 #define LODEPNG_COMPILE_DECODER 33 #define LODEPNG_COMPILE_PNG 34 #define LODEPNG_COMPILE_DISK 35 #define LODEPNG_COMPILE_ANCILLARY_CHUNKS 50 #ifndef LODEPNG_NO_COMPILE_ZLIB 51 #define LODEPNG_COMPILE_ZLIB 54 #ifndef LODEPNG_NO_COMPILE_PNG 55 #define LODEPNG_COMPILE_PNG 58 #ifndef LODEPNG_NO_COMPILE_DECODER 59 #define LODEPNG_COMPILE_DECODER 62 #ifndef LODEPNG_NO_COMPILE_ENCODER 63 #define LODEPNG_COMPILE_ENCODER 66 #ifndef LODEPNG_NO_COMPILE_DISK 67 #define LODEPNG_COMPILE_DISK 70 #ifndef LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS 71 #define LODEPNG_COMPILE_ANCILLARY_CHUNKS 74 #ifndef LODEPNG_NO_COMPILE_ERROR_TEXT 75 #define LODEPNG_COMPILE_ERROR_TEXT 80 #ifndef LODEPNG_NO_COMPILE_ALLOCATORS 81 #define LODEPNG_COMPILE_ALLOCATORS 85 #ifndef LODEPNG_NO_COMPILE_CPP 86 #define LODEPNG_COMPILE_CPP 90 #ifdef LODEPNG_COMPILE_CPP 95 #ifdef LODEPNG_COMPILE_PNG 106 #ifdef LODEPNG_COMPILE_DECODER 123 const unsigned char* in,
size_t insize,
128 const unsigned char* in,
size_t insize);
132 const unsigned char* in,
size_t insize);
134 #ifdef LODEPNG_COMPILE_DISK 140 const char* filename,
145 const char* filename);
149 const char* filename);
154 #ifdef LODEPNG_COMPILE_ENCODER 172 const unsigned char* image,
unsigned w,
unsigned h,
177 const unsigned char* image,
unsigned w,
unsigned h);
181 const unsigned char* image,
unsigned w,
unsigned h);
183 #ifdef LODEPNG_COMPILE_DISK 190 const unsigned char* image,
unsigned w,
unsigned h,
195 const unsigned char* image,
unsigned w,
unsigned h);
199 const unsigned char* image,
unsigned w,
unsigned h);
204 #ifdef LODEPNG_COMPILE_CPP 207 #ifdef LODEPNG_COMPILE_DECODER 210 unsigned decode(std::vector<unsigned char>& out,
unsigned& w,
unsigned& h,
211 const unsigned char* in,
size_t insize,
213 unsigned decode(std::vector<unsigned char>& out,
unsigned& w,
unsigned& h,
214 const std::vector<unsigned char>& in,
216 #ifdef LODEPNG_COMPILE_DISK 221 unsigned decode(std::vector<unsigned char>& out,
unsigned& w,
unsigned& h,
222 const std::string& filename,
227 #ifdef LODEPNG_COMPILE_ENCODER 230 unsigned encode(std::vector<unsigned char>& out,
231 const unsigned char* in,
unsigned w,
unsigned h,
233 unsigned encode(std::vector<unsigned char>& out,
234 const std::vector<unsigned char>& in,
unsigned w,
unsigned h,
236 #ifdef LODEPNG_COMPILE_DISK 242 unsigned encode(
const std::string& filename,
243 const unsigned char* in,
unsigned w,
unsigned h,
245 unsigned encode(
const std::string& filename,
246 const std::vector<unsigned char>& in,
unsigned w,
unsigned h,
254 #ifdef LODEPNG_COMPILE_ERROR_TEXT 259 #ifdef LODEPNG_COMPILE_DECODER 268 unsigned (*custom_zlib)(
unsigned char**,
size_t*,
269 const unsigned char*, size_t,
274 unsigned (*custom_inflate)(
unsigned char**,
size_t*,
275 const unsigned char*, size_t,
285 #ifdef LODEPNG_COMPILE_ENCODER 302 unsigned (*custom_zlib)(
unsigned char**,
size_t*,
303 const unsigned char*, size_t,
308 unsigned (*custom_deflate)(
unsigned char**,
size_t*,
309 const unsigned char*, size_t,
319 #ifdef LODEPNG_COMPILE_PNG 373 unsigned char r,
unsigned char g,
unsigned char b,
unsigned char a);
400 #ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS 422 #ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS 486 unsigned char* unknown_chunks_data[3];
487 size_t unknown_chunks_size[3];
497 #ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS 503 const char* transkey,
const char*
str);
519 unsigned w,
unsigned h);
521 #ifdef LODEPNG_COMPILE_DECODER 537 #ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS 547 #ifdef LODEPNG_COMPILE_ENCODER 578 unsigned char palette[1024];
586 const unsigned char* image,
unsigned w,
unsigned h,
591 const unsigned char* image,
unsigned w,
unsigned h,
618 #ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS 630 #if defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) 634 #ifdef LODEPNG_COMPILE_DECODER 637 #ifdef LODEPNG_COMPILE_ENCODER 643 #ifdef LODEPNG_COMPILE_CPP 655 #ifdef LODEPNG_COMPILE_DECODER 660 unsigned lodepng_decode(
unsigned char** out,
unsigned* w,
unsigned* h,
662 const unsigned char* in,
size_t insize);
671 const unsigned char* in,
size_t insize);
675 #ifdef LODEPNG_COMPILE_ENCODER 678 const unsigned char* image,
unsigned w,
unsigned h,
735 unsigned lodepng_chunk_append(
unsigned char** out,
size_t* outlength,
const unsigned char* chunk);
744 const char* type,
const unsigned char* data);
752 #ifdef LODEPNG_COMPILE_ZLIB 759 #ifdef LODEPNG_COMPILE_DECODER 762 const unsigned char* in,
size_t insize,
772 const unsigned char* in,
size_t insize,
776 #ifdef LODEPNG_COMPILE_ENCODER 785 const unsigned char* in,
size_t insize,
793 size_t numcodes,
unsigned maxbitlen);
797 const unsigned char* in,
size_t insize,
803 #ifdef LODEPNG_COMPILE_DISK 812 unsigned lodepng_load_file(
unsigned char** out,
size_t* outsize,
const char* filename);
822 unsigned lodepng_save_file(
const unsigned char* buffer,
size_t buffersize,
const char* filename);
825 #ifdef LODEPNG_COMPILE_CPP 829 #ifdef LODEPNG_COMPILE_PNG 834 State(
const State& other);
836 State& operator=(
const State& other);
839 #ifdef LODEPNG_COMPILE_DECODER 841 unsigned decode(std::vector<unsigned char>& out,
unsigned& w,
unsigned& h,
843 const unsigned char* in,
size_t insize);
844 unsigned decode(std::vector<unsigned char>& out,
unsigned& w,
unsigned& h,
846 const std::vector<unsigned char>& in);
849 #ifdef LODEPNG_COMPILE_ENCODER 851 unsigned encode(std::vector<unsigned char>& out,
852 const unsigned char* in,
unsigned w,
unsigned h,
854 unsigned encode(std::vector<unsigned char>& out,
855 const std::vector<unsigned char>& in,
unsigned w,
unsigned h,
859 #ifdef LODEPNG_COMPILE_DISK 864 unsigned load_file(std::vector<unsigned char>& buffer,
const std::string& filename);
870 unsigned save_file(
const std::vector<unsigned char>& buffer,
const std::string& filename);
874 #ifdef LODEPNG_COMPILE_ZLIB 875 #ifdef LODEPNG_COMPILE_DECODER 877 unsigned decompress(std::vector<unsigned char>& out,
const unsigned char* in,
size_t insize,
881 unsigned decompress(std::vector<unsigned char>& out,
const std::vector<unsigned char>& in,
885 #ifdef LODEPNG_COMPILE_ENCODER 887 unsigned compress(std::vector<unsigned char>& out,
const unsigned char* in,
size_t insize,
891 unsigned compress(std::vector<unsigned char>& out,
const std::vector<unsigned char>& in,
unsigned second
Definition: lodepng.h:409
unsigned lodepng_get_bpp(const LodePNGColorMode *info)
Definition: lodepng.c:2671
unsigned key_g
Definition: lodepng.h:360
unsigned day
Definition: lodepng.h:406
LodePNGColorMode info_raw
Definition: lodepng.h:640
unsigned text_compression
Definition: lodepng.h:622
unsigned char lodepng_chunk_safetocopy(const unsigned char *chunk)
Definition: lodepng.c:2455
void lodepng_color_mode_cleanup(LodePNGColorMode *info)
Definition: lodepng.c:2599
unsigned lodepng_get_color_profile(LodePNGColorProfile *profile, const unsigned char *image, unsigned w, unsigned h, const LodePNGColorMode *mode_in)
Definition: lodepng.c:3575
unsigned lodepng_auto_choose_color(LodePNGColorMode *mode_out, const unsigned char *image, unsigned w, unsigned h, const LodePNGColorMode *mode_in)
Definition: lodepng.c:3771
unsigned lodepng_inflate(unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize, const LodePNGDecompressSettings *settings)
Definition: lodepng.c:1289
Definition: lodepng.h:103
char ** text_strings
Definition: lodepng.h:454
unsigned bitdepth
Definition: lodepng.h:329
unsigned ignore_crc
Definition: lodepng.h:531
unsigned char * palette
Definition: lodepng.h:344
unsigned char lodepng_chunk_private(const unsigned char *chunk)
Definition: lodepng.c:2450
unsigned lodepng_info_copy(LodePNGInfo *dest, const LodePNGInfo *source)
Definition: lodepng.c:2960
unsigned lodepng_chunk_create(unsigned char **out, size_t *outlength, unsigned length, const char *type, const unsigned char *data)
Definition: lodepng.c:2518
struct LodePNGColorProfile LodePNGColorProfile
char ** itext_keys
Definition: lodepng.h:462
Definition: lodepng.h:569
struct LodePNGDecoderSettings LodePNGDecoderSettings
struct LodePNGColorMode LodePNGColorMode
unsigned background_g
Definition: lodepng.h:436
unsigned lodepng_save_file(const unsigned char *buffer, size_t buffersize, const char *filename)
Definition: lodepng.c:406
Definition: lodepng.h:632
const unsigned char * predefined_filters
Definition: lodepng.h:613
unsigned phys_y
Definition: lodepng.h:474
unsigned lodepng_convert(unsigned char *out, const unsigned char *in, const LodePNGColorMode *mode_out, const LodePNGColorMode *mode_in, unsigned w, unsigned h)
Definition: lodepng.c:3465
unsigned lodepng_deflate(unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize, const LodePNGCompressSettings *settings)
Definition: lodepng.c:2064
Definition: lodepng.h:557
unsigned interlace_method
Definition: lodepng.h:419
unsigned short key_b
Definition: lodepng.h:575
Definition: lodepng.h:554
unsigned key_r
Definition: lodepng.h:359
unsigned lodepng_encode_file(const char *filename, const unsigned char *image, unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth)
Definition: lodepng.c:5884
unsigned read_text_chunks
Definition: lodepng.h:538
void lodepng_info_init(LodePNGInfo *info)
Definition: lodepng.c:2929
Definition: lodepng.h:101
const LodePNGCompressSettings lodepng_default_compress_settings
Definition: lodepng.c:2294
size_t lodepng_get_raw_size(unsigned w, unsigned h, const LodePNGColorMode *color)
Definition: lodepng.c:2714
size_t itext_num
Definition: lodepng.h:461
unsigned lodepng_is_palette_type(const LodePNGColorMode *info)
Definition: lodepng.c:2692
unsigned lodepng_decode(unsigned char **out, unsigned *w, unsigned *h, LodePNGState *state, const unsigned char *in, size_t insize)
Definition: lodepng.c:4745
unsigned char lodepng_chunk_type_equals(const unsigned char *chunk, const char *type)
Definition: lodepng.c:2439
unsigned background_defined
Definition: lodepng.h:434
unsigned add_id
Definition: lodepng.h:620
unsigned lodepng_decode24(unsigned char **out, unsigned *w, unsigned *h, const unsigned char *in, size_t insize)
Definition: lodepng.c:4808
unsigned lodepng_encode(unsigned char **out, size_t *outsize, const unsigned char *image, unsigned w, unsigned h, LodePNGState *state)
Definition: lodepng.c:5664
unsigned filter_palette_zero
Definition: lodepng.h:605
void lodepng_chunk_generate_crc(unsigned char *chunk)
Definition: lodepng.c:2480
LodePNGDecompressSettings zlibsettings
Definition: lodepng.h:528
void lodepng_color_profile_init(LodePNGColorProfile *profile)
Definition: lodepng.c:3541
unsigned lodepng_encode24_file(const char *filename, const unsigned char *image, unsigned w, unsigned h)
Definition: lodepng.c:5900
unsigned lodepng_encode32(unsigned char **out, size_t *outsize, const unsigned char *image, unsigned w, unsigned h)
Definition: lodepng.c:5873
unsigned lodepng_is_greyscale_type(const LodePNGColorMode *info)
Definition: lodepng.c:2682
LodePNGColorType colortype
Definition: lodepng.h:328
unsigned background_r
Definition: lodepng.h:435
char str[6]
Definition: panvswr2.c:1674
void lodepng_color_mode_init(LodePNGColorMode *info)
Definition: lodepng.c:2589
char ** itext_strings
Definition: lodepng.h:465
unsigned ignore_adler32
Definition: lodepng.h:265
const char * LODEPNG_VERSION_STRING
Definition: lodepng.c:48
Definition: lodepng.h:564
void lodepng_state_copy(LodePNGState *dest, const LodePNGState *source)
Definition: lodepng.c:4873
unsigned nicematch
Definition: lodepng.h:298
unsigned char lodepng_chunk_ancillary(const unsigned char *chunk)
Definition: lodepng.c:2445
void lodepng_clear_text(LodePNGInfo *info)
Definition: lodepng.c:2814
void lodepng_state_cleanup(LodePNGState *state)
Definition: lodepng.c:4867
void lodepng_info_cleanup(LodePNGInfo *info)
Definition: lodepng.c:2949
const void * custom_context
Definition: lodepng.h:278
unsigned background_b
Definition: lodepng.h:437
unsigned phys_unit
Definition: lodepng.h:475
struct LodePNGInfo LodePNGInfo
unsigned short key_g
Definition: lodepng.h:574
unsigned lodepng_decode_file(unsigned char **out, unsigned *w, unsigned *h, const char *filename, LodePNGColorType colortype, unsigned bitdepth)
Definition: lodepng.c:4814
unsigned ignore_end
Definition: lodepng.h:533
Definition: lodepng.h:562
unsigned lodepng_has_palette_alpha(const LodePNGColorMode *info)
Definition: lodepng.c:2697
unsigned color_convert
Definition: lodepng.h:535
unsigned lodepng_get_channels(const LodePNGColorMode *info)
Definition: lodepng.c:2677
unsigned error
Definition: lodepng.h:642
unsigned lodepng_zlib_decompress(unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize, const LodePNGDecompressSettings *settings)
Definition: lodepng.c:2132
void lodepng_clear_itext(LodePNGInfo *info)
Definition: lodepng.c:2886
Definition: lodepng.h:102
unsigned key
Definition: lodepng.h:572
unsigned lodepng_encode32_file(const char *filename, const unsigned char *image, unsigned w, unsigned h)
Definition: lodepng.c:5895
LodePNGInfo info_png
Definition: lodepng.h:641
unsigned compression_method
Definition: lodepng.h:417
LodePNGFilterStrategy
Definition: lodepng.h:549
unsigned lodepng_inspect(unsigned *w, unsigned *h, LodePNGState *state, const unsigned char *in, size_t insize)
Definition: lodepng.c:3911
unsigned lodepng_encode24(unsigned char **out, size_t *outsize, const unsigned char *image, unsigned w, unsigned h)
Definition: lodepng.c:5878
void lodepng_decoder_settings_init(LodePNGDecoderSettings *settings)
Definition: lodepng.c:4837
LodePNGTime time
Definition: lodepng.h:469
Definition: lodepng.h:402
Definition: lodepng.h:291
const unsigned char * lodepng_chunk_next_const(const unsigned char *chunk)
Definition: lodepng.c:2493
Definition: lodepng.h:325
unsigned lodepng_crc32(const unsigned char *buf, size_t len)
Definition: lodepng.c:2365
unsigned lodepng_decode_memory(unsigned char **out, unsigned *w, unsigned *h, const unsigned char *in, size_t insize, LodePNGColorType colortype, unsigned bitdepth)
Definition: lodepng.c:4790
unsigned lodepng_chunk_append(unsigned char **out, size_t *outlength, const unsigned char *chunk)
Definition: lodepng.c:2499
Definition: lodepng.h:414
uint32_t color
Definition: keyboard.c:29
LodePNGCompressSettings zlibsettings
Definition: lodepng.h:597
void lodepng_compress_settings_init(LodePNGCompressSettings *settings)
Definition: lodepng.c:2279
unsigned lodepng_add_text(LodePNGInfo *info, const char *key, const char *str)
Definition: lodepng.c:2819
struct LodePNGEncoderSettings LodePNGEncoderSettings
unsigned ignore_critical
Definition: lodepng.h:532
unsigned char * lodepng_chunk_next(unsigned char *chunk)
Definition: lodepng.c:2487
unsigned lodepng_encode_memory(unsigned char **out, size_t *outsize, const unsigned char *image, unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth)
Definition: lodepng.c:5857
unsigned lodepng_palette_add(LodePNGColorMode *info, unsigned char r, unsigned char g, unsigned char b, unsigned char a)
Definition: lodepng.c:2650
unsigned phys_defined
Definition: lodepng.h:472
Definition: lodepng.h:100
const LodePNGDecompressSettings lodepng_default_decompress_settings
Definition: lodepng.c:2310
unsigned month
Definition: lodepng.h:405
void lodepng_palette_clear(LodePNGColorMode *info)
Definition: lodepng.c:2643
const void * custom_context
Definition: lodepng.h:312
unsigned phys_x
Definition: lodepng.h:473
unsigned year
Definition: lodepng.h:404
unsigned lodepng_decode24_file(unsigned char **out, unsigned *w, unsigned *h, const char *filename)
Definition: lodepng.c:4831
unsigned char * lodepng_chunk_data(unsigned char *chunk)
Definition: lodepng.c:2460
void lodepng_encoder_settings_init(LodePNGEncoderSettings *settings)
Definition: lodepng.c:5906
char ** itext_langtags
Definition: lodepng.h:463
Definition: lodepng.h:552
unsigned lodepng_load_file(unsigned char **out, size_t *outsize, const char *filename)
Definition: lodepng.c:393
unsigned key_defined
Definition: lodepng.h:358
LodePNGFilterStrategy filter_strategy
Definition: lodepng.h:608
Definition: lodepng.h:595
unsigned windowsize
Definition: lodepng.h:296
Definition: lodepng.h:262
void settings()
Definition: emrtc.c:457
unsigned time_defined
Definition: lodepng.h:468
LodePNGColorType
Definition: lodepng.h:97
unsigned lodepng_add_itext(LodePNGInfo *info, const char *key, const char *langtag, const char *transkey, const char *str)
Definition: lodepng.c:2891
unsigned lodepng_can_have_alpha(const LodePNGColorMode *info)
Definition: lodepng.c:2707
const char * lodepng_error_text(unsigned code)
Definition: lodepng.c:5928
void lodepng_state_init(LodePNGState *state)
Definition: lodepng.c:4854
unsigned lazymatching
Definition: lodepng.h:299
unsigned short key_r
Definition: lodepng.h:573
char ** itext_transkeys
Definition: lodepng.h:464
unsigned btype
Definition: lodepng.h:294
LodePNGDecoderSettings decoder
Definition: lodepng.h:635
unsigned force_palette
Definition: lodepng.h:617
void lodepng_chunk_type(char type[5], const unsigned char *chunk)
Definition: lodepng.c:2432
unsigned hour
Definition: lodepng.h:407
LodePNGColorMode color
Definition: lodepng.h:420
unsigned use_lz77
Definition: lodepng.h:295
char ** text_keys
Definition: lodepng.h:453
unsigned key_b
Definition: lodepng.h:361
unsigned colored
Definition: lodepng.h:571
unsigned lodepng_decode32_file(unsigned char **out, unsigned *w, unsigned *h, const char *filename)
Definition: lodepng.c:4826
LodePNGEncoderSettings encoder
Definition: lodepng.h:638
unsigned bits
Definition: lodepng.h:579
Definition: lodepng.h:526
unsigned minute
Definition: lodepng.h:408
unsigned lodepng_is_alpha_type(const LodePNGColorMode *info)
Definition: lodepng.c:2687
unsigned alpha
Definition: lodepng.h:576
unsigned lodepng_color_mode_copy(LodePNGColorMode *dest, const LodePNGColorMode *source)
Definition: lodepng.c:2604
const unsigned char * lodepng_chunk_data_const(const unsigned char *chunk)
Definition: lodepng.c:2465
unsigned auto_convert
Definition: lodepng.h:599
unsigned numcolors
Definition: lodepng.h:577
unsigned lodepng_decode32(unsigned char **out, unsigned *w, unsigned *h, const unsigned char *in, size_t insize)
Definition: lodepng.c:4803
unsigned filter_method
Definition: lodepng.h:418
size_t palettesize
Definition: lodepng.h:345
unsigned minmatch
Definition: lodepng.h:297
unsigned lodepng_zlib_compress(unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize, const LodePNGCompressSettings *settings)
Definition: lodepng.c:2194
void lodepng_decompress_settings_init(LodePNGDecompressSettings *settings)
Definition: lodepng.c:2301
struct LodePNGTime LodePNGTime
unsigned remember_unknown_chunks
Definition: lodepng.h:540
static char buf[64]
Definition: panvswr2.c:111
unsigned lodepng_huffman_code_lengths(unsigned *lengths, const unsigned *frequencies, size_t numcodes, unsigned maxbitlen)
Definition: lodepng.c:795
unsigned lodepng_chunk_length(const unsigned char *chunk)
Definition: lodepng.c:2427
size_t text_num
Definition: lodepng.h:452
unsigned lodepng_chunk_check_crc(const unsigned char *chunk)
Definition: lodepng.c:2470
struct LodePNGState LodePNGState