42#ifndef LODEPNG_NO_COMPILE_ZLIB
44#define LODEPNG_COMPILE_ZLIB
48#ifndef LODEPNG_NO_COMPILE_PNG
50#define LODEPNG_COMPILE_PNG
54#ifndef LODEPNG_NO_COMPILE_DECODER
56#define LODEPNG_COMPILE_DECODER
60#ifndef LODEPNG_NO_COMPILE_ENCODER
62#define LODEPNG_COMPILE_ENCODER
66#ifndef LODEPNG_NO_COMPILE_DISK
68#define LODEPNG_COMPILE_DISK
72#ifndef LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS
75#define LODEPNG_COMPILE_ANCILLARY_CHUNKS
79#ifndef LODEPNG_NO_COMPILE_ERROR_TEXT
82#define LODEPNG_COMPILE_ERROR_TEXT
88#ifndef LODEPNG_NO_COMPILE_ALLOCATORS
91#define LODEPNG_COMPILE_ALLOCATORS
99#ifndef LODEPNG_NO_COMPILE_CRC
102#define LODEPNG_COMPILE_CRC
107#ifndef LODEPNG_NO_COMPILE_CPP
110#define LODEPNG_COMPILE_CPP
114#ifdef LODEPNG_COMPILE_CPP
119#ifdef LODEPNG_COMPILE_PNG
135#ifdef LODEPNG_COMPILE_DECODER
152 const unsigned char* in,
size_t insize,
157 const unsigned char* in,
size_t insize);
161 const unsigned char* in,
size_t insize);
163#ifdef LODEPNG_COMPILE_DISK
171 const char* filename,
179 const char* filename);
186 const char* filename);
191#ifdef LODEPNG_COMPILE_ENCODER
209 const unsigned char*
image,
unsigned w,
unsigned h,
214 const unsigned char*
image,
unsigned w,
unsigned h);
218 const unsigned char*
image,
unsigned w,
unsigned h);
220#ifdef LODEPNG_COMPILE_DISK
230 const unsigned char*
image,
unsigned w,
unsigned h,
238 const unsigned char*
image,
unsigned w,
unsigned h);
245 const unsigned char*
image,
unsigned w,
unsigned h);
250#ifdef LODEPNG_COMPILE_CPP
252#ifdef LODEPNG_COMPILE_DECODER
255unsigned decode(std::vector<unsigned char>& out,
unsigned&
w,
unsigned&
h,
256 const unsigned char* in,
size_t insize,
258unsigned decode(std::vector<unsigned char>& out,
unsigned&
w,
unsigned&
h,
259 const std::vector<unsigned char>& in,
261#ifdef LODEPNG_COMPILE_DISK
269unsigned decode(std::vector<unsigned char>& out,
unsigned&
w,
unsigned&
h,
270 const std::string& filename,
275#ifdef LODEPNG_COMPILE_ENCODER
278unsigned encode(std::vector<unsigned char>& out,
279 const unsigned char* in,
unsigned w,
unsigned h,
281unsigned encode(std::vector<unsigned char>& out,
282 const std::vector<unsigned char>& in,
unsigned w,
unsigned h,
284#ifdef LODEPNG_COMPILE_DISK
294unsigned encode(
const std::string& filename,
295 const unsigned char* in,
unsigned w,
unsigned h,
297unsigned encode(
const std::string& filename,
298 const std::vector<unsigned char>& in,
unsigned w,
unsigned h,
306#ifdef LODEPNG_COMPILE_ERROR_TEXT
311#ifdef LODEPNG_COMPILE_DECODER
329 const unsigned char*, size_t,
335 const unsigned char*, size_t,
345#ifdef LODEPNG_COMPILE_ENCODER
362 const unsigned char*, size_t,
368 const unsigned char*, size_t,
378#ifdef LODEPNG_COMPILE_PNG
437 unsigned char r,
unsigned char g,
unsigned char b,
unsigned char a);
464#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
484#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
697#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
702 const char* transkey,
const char* str);
723 unsigned w,
unsigned h);
725#ifdef LODEPNG_COMPILE_DECODER
744#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
765#ifdef LODEPNG_COMPILE_ENCODER
814 const unsigned char*
image,
unsigned w,
unsigned h,
844#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS
856#if defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER)
859#ifdef LODEPNG_COMPILE_DECODER
862#ifdef LODEPNG_COMPILE_ENCODER
876#ifdef LODEPNG_COMPILE_DECODER
883 const unsigned char* in,
size_t insize);
892 const unsigned char* in,
size_t insize);
908 const unsigned char* in,
size_t insize);
910#ifdef LODEPNG_COMPILE_ENCODER
913 const unsigned char*
image,
unsigned w,
unsigned h,
1005 const char*
type,
const unsigned char*
data);
1013#ifdef LODEPNG_COMPILE_ZLIB
1020#ifdef LODEPNG_COMPILE_DECODER
1023 const unsigned char* in,
size_t insize,
1033 const unsigned char* in,
size_t insize,
1037#ifdef LODEPNG_COMPILE_ENCODER
1046 const unsigned char* in,
size_t insize,
1054 size_t numcodes,
unsigned maxbitlen);
1058 const unsigned char* in,
size_t insize,
1064#ifdef LODEPNG_COMPILE_DISK
1092#ifdef LODEPNG_COMPILE_CPP
1095#ifdef LODEPNG_COMPILE_PNG
1099 State(
const State& other);
1101 State& operator=(
const State& other);
1104#ifdef LODEPNG_COMPILE_DECODER
1106unsigned decode(std::vector<unsigned char>& out,
unsigned&
w,
unsigned&
h,
1108 const unsigned char* in,
size_t insize);
1109unsigned decode(std::vector<unsigned char>& out,
unsigned&
w,
unsigned&
h,
1111 const std::vector<unsigned char>& in);
1114#ifdef LODEPNG_COMPILE_ENCODER
1116unsigned encode(std::vector<unsigned char>& out,
1117 const unsigned char* in,
unsigned w,
unsigned h,
1119unsigned encode(std::vector<unsigned char>& out,
1120 const std::vector<unsigned char>& in,
unsigned w,
unsigned h,
1124#ifdef LODEPNG_COMPILE_DISK
1132unsigned load_file(std::vector<unsigned char>&
buffer,
const std::string& filename);
1141unsigned save_file(
const std::vector<unsigned char>&
buffer,
const std::string& filename);
1145#ifdef LODEPNG_COMPILE_ZLIB
1146#ifdef LODEPNG_COMPILE_DECODER
1148unsigned decompress(std::vector<unsigned char>& out,
const unsigned char* in,
size_t insize,
1152unsigned decompress(std::vector<unsigned char>& out,
const std::vector<unsigned char>& in,
1156#ifdef LODEPNG_COMPILE_ENCODER
1158unsigned compress(std::vector<unsigned char>& out,
const unsigned char* in,
size_t insize,
1162unsigned compress(std::vector<unsigned char>& out,
const std::vector<unsigned char>& in,
GLsizei GLenum GLenum GLuint GLenum GLsizei * lengths
GLenum GLuint GLenum GLsizei const GLchar * buf
GLboolean GLboolean GLboolean b
GLsizei GLsizei GLchar * source
GLenum GLenum GLsizei void * image
GLint GLint GLsizei GLint GLenum GLenum type
GLuint const GLchar * name
GLuint GLsizei GLsizei * length
GLboolean GLboolean GLboolean GLboolean a
GLfloat GLfloat GLfloat GLfloat h
GLdouble GLdouble GLdouble w
unsigned lodepng_encode_file(const char *filename, const unsigned char *image, unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth)
unsigned lodepng_encode32_file(const char *filename, const unsigned char *image, unsigned w, unsigned h)
unsigned lodepng_chunk_check_crc(const unsigned char *chunk)
unsigned lodepng_inspect_chunk(LodePNGState *state, size_t pos, const unsigned char *in, size_t insize)
unsigned lodepng_palette_add(LodePNGColorMode *info, unsigned char r, unsigned char g, unsigned char b, unsigned char a)
const LodePNGCompressSettings lodepng_default_compress_settings
unsigned lodepng_inspect(unsigned *w, unsigned *h, LodePNGState *state, const unsigned char *in, size_t insize)
unsigned lodepng_add_text(LodePNGInfo *info, const char *key, const char *str)
unsigned lodepng_info_copy(LodePNGInfo *dest, const LodePNGInfo *source)
unsigned lodepng_crc32(const unsigned char *buf, size_t len)
void lodepng_clear_icc(LodePNGInfo *info)
unsigned char * lodepng_chunk_next(unsigned char *chunk, unsigned char *end)
unsigned char * lodepng_chunk_find(unsigned char *chunk, unsigned char *end, const char type[5])
unsigned char lodepng_chunk_private(const unsigned char *chunk)
void lodepng_palette_clear(LodePNGColorMode *info)
void lodepng_chunk_type(char type[5], const unsigned char *chunk)
unsigned char lodepng_chunk_safetocopy(const unsigned char *chunk)
unsigned lodepng_decode32_file(unsigned char **out, unsigned *w, unsigned *h, const char *filename)
unsigned lodepng_encode24(unsigned char **out, size_t *outsize, const unsigned char *image, unsigned w, unsigned h)
LodePNGColorMode lodepng_color_mode_make(LodePNGColorType colortype, unsigned bitdepth)
unsigned lodepng_has_palette_alpha(const LodePNGColorMode *info)
unsigned lodepng_encode24_file(const char *filename, const unsigned char *image, unsigned w, unsigned h)
unsigned char lodepng_chunk_type_equals(const unsigned char *chunk, const char *type)
void lodepng_clear_text(LodePNGInfo *info)
size_t lodepng_get_raw_size(unsigned w, unsigned h, const LodePNGColorMode *color)
const unsigned char * lodepng_chunk_data_const(const unsigned char *chunk)
void lodepng_chunk_generate_crc(unsigned char *chunk)
unsigned char * lodepng_chunk_data(unsigned char *chunk)
unsigned lodepng_decode_memory(unsigned char **out, unsigned *w, unsigned *h, const unsigned char *in, size_t insize, LodePNGColorType colortype, unsigned bitdepth)
void lodepng_color_mode_init(LodePNGColorMode *info)
unsigned lodepng_decode32(unsigned char **out, unsigned *w, unsigned *h, const unsigned char *in, size_t insize)
unsigned lodepng_decode_file(unsigned char **out, unsigned *w, unsigned *h, const char *filename, LodePNGColorType colortype, unsigned bitdepth)
unsigned lodepng_deflate(unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize, const LodePNGCompressSettings *settings)
void lodepng_compress_settings_init(LodePNGCompressSettings *settings)
unsigned lodepng_decode(unsigned char **out, unsigned *w, unsigned *h, LodePNGState *state, const unsigned char *in, size_t insize)
unsigned lodepng_zlib_compress(unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize, const LodePNGCompressSettings *settings)
void lodepng_state_cleanup(LodePNGState *state)
unsigned lodepng_encode32(unsigned char **out, size_t *outsize, const unsigned char *image, unsigned w, unsigned h)
unsigned lodepng_color_mode_copy(LodePNGColorMode *dest, const LodePNGColorMode *source)
void lodepng_color_stats_init(LodePNGColorStats *stats)
unsigned lodepng_huffman_code_lengths(unsigned *lengths, const unsigned *frequencies, size_t numcodes, unsigned maxbitlen)
unsigned lodepng_get_bpp(const LodePNGColorMode *info)
unsigned lodepng_save_file(const unsigned char *buffer, size_t buffersize, const char *filename)
void lodepng_encoder_settings_init(LodePNGEncoderSettings *settings)
void lodepng_state_copy(LodePNGState *dest, const LodePNGState *source)
const unsigned char * lodepng_chunk_next_const(const unsigned char *chunk, const unsigned char *end)
const char * LODEPNG_VERSION_STRING
unsigned lodepng_encode(unsigned char **out, size_t *outsize, const unsigned char *image, unsigned w, unsigned h, LodePNGState *state)
void lodepng_decoder_settings_init(LodePNGDecoderSettings *settings)
unsigned lodepng_can_have_alpha(const LodePNGColorMode *info)
unsigned lodepng_inflate(unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize, const LodePNGDecompressSettings *settings)
unsigned lodepng_is_alpha_type(const LodePNGColorMode *info)
const LodePNGDecompressSettings lodepng_default_decompress_settings
unsigned char lodepng_chunk_ancillary(const unsigned char *chunk)
unsigned lodepng_chunk_create(unsigned char **out, size_t *outsize, unsigned length, const char *type, const unsigned char *data)
unsigned lodepng_add_itext(LodePNGInfo *info, const char *key, const char *langtag, const char *transkey, const char *str)
unsigned lodepng_decode24_file(unsigned char **out, unsigned *w, unsigned *h, const char *filename)
void lodepng_color_mode_cleanup(LodePNGColorMode *info)
void lodepng_decompress_settings_init(LodePNGDecompressSettings *settings)
unsigned lodepng_get_channels(const LodePNGColorMode *info)
unsigned lodepng_convert(unsigned char *out, const unsigned char *in, const LodePNGColorMode *mode_out, const LodePNGColorMode *mode_in, unsigned w, unsigned h)
unsigned lodepng_chunk_append(unsigned char **out, size_t *outsize, const unsigned char *chunk)
const char * lodepng_error_text(unsigned code)
void lodepng_info_cleanup(LodePNGInfo *info)
unsigned lodepng_chunk_length(const unsigned char *chunk)
unsigned lodepng_decode24(unsigned char **out, unsigned *w, unsigned *h, const unsigned char *in, size_t insize)
unsigned lodepng_is_palette_type(const LodePNGColorMode *info)
unsigned lodepng_encode_memory(unsigned char **out, size_t *outsize, const unsigned char *image, unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth)
unsigned lodepng_is_greyscale_type(const LodePNGColorMode *info)
void lodepng_state_init(LodePNGState *state)
void lodepng_info_init(LodePNGInfo *info)
unsigned lodepng_zlib_decompress(unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize, const LodePNGDecompressSettings *settings)
const unsigned char * lodepng_chunk_find_const(const unsigned char *chunk, const unsigned char *end, const char type[5])
unsigned lodepng_compute_color_stats(LodePNGColorStats *stats, const unsigned char *image, unsigned w, unsigned h, const LodePNGColorMode *mode_in)
void lodepng_clear_itext(LodePNGInfo *info)
unsigned lodepng_set_icc(LodePNGInfo *info, const char *name, const unsigned char *profile, unsigned profile_size)
unsigned lodepng_load_file(unsigned char **out, size_t *outsize, const char *filename)
LodePNGColorType colortype
unsigned char palette[1024]
unsigned(* custom_zlib)(unsigned char **, size_t *, const unsigned char *, size_t, const LodePNGCompressSettings *)
unsigned(* custom_deflate)(unsigned char **, size_t *, const unsigned char *, size_t, const LodePNGCompressSettings *)
const void * custom_context
unsigned remember_unknown_chunks
LodePNGDecompressSettings zlibsettings
unsigned read_text_chunks
unsigned(* custom_inflate)(unsigned char **, size_t *, const unsigned char *, size_t, const LodePNGDecompressSettings *)
const void * custom_context
unsigned(* custom_zlib)(unsigned char **, size_t *, const unsigned char *, size_t, const LodePNGDecompressSettings *)
unsigned filter_palette_zero
LodePNGCompressSettings zlibsettings
const unsigned char * predefined_filters
LodePNGFilterStrategy filter_strategy
unsigned text_compression
unsigned iccp_profile_size
size_t unknown_chunks_size[3]
unsigned compression_method
unsigned char * iccp_profile
unsigned interlace_method
unsigned char * unknown_chunks_data[3]
unsigned background_defined
LodePNGColorMode info_raw
LodePNGDecoderSettings decoder
LodePNGEncoderSettings encoder