NTrace
GPU ray tracing framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
lodepng.cpp File Reference
#include "lodepng.h"
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Classes

struct  vector
 
struct  uivector
 
struct  ucvector
 
struct  HuffmanTree
 
struct  Coin
 

Macros

#define VERSION_STRING   "20110823"
 
#define CERROR_BREAK(errorvar, code)
 
#define ERROR_BREAK(code)   CERROR_BREAK(error, code)
 
#define READBIT(bitpointer, bitstream)   ((bitstream[bitpointer >> 3] >> (bitpointer & 0x7)) & (unsigned char)1)
 
#define FIRST_LENGTH_CODE_INDEX   257
 
#define LAST_LENGTH_CODE_INDEX   285
 
#define NUM_DEFLATE_CODE_SYMBOLS   288
 
#define NUM_DISTANCE_SYMBOLS   32
 
#define NUM_CODE_LENGTH_CODES   19
 
#define DEFAULT_WINDOWSIZE   2048
 

Typedefs

typedef struct vector vector
 
typedef struct uivector uivector
 
typedef struct ucvector ucvector
 
typedef struct HuffmanTree HuffmanTree
 
typedef struct Coin Coin
 

Functions

unsigned LodePNG_read32bitInt (const unsigned char *buffer)
 
unsigned LodePNG_loadFile (unsigned char **out, size_t *outsize, const char *filename)
 
unsigned LodePNG_saveFile (const unsigned char *buffer, size_t buffersize, const char *filename)
 
unsigned LodePNG_zlib_decompress (unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize, const LodePNG_DecompressSettings *settings)
 
unsigned LodePNG_zlib_compress (unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize, const LodePNG_CompressSettings *settings)
 
void LodePNG_CompressSettings_init (LodePNG_CompressSettings *settings)
 
void LodePNG_DecompressSettings_init (LodePNG_DecompressSettings *settings)
 
unsigned LodePNG_chunk_length (const unsigned char *chunk)
 
void LodePNG_chunk_type (char type[5], const unsigned char *chunk)
 
unsigned char LodePNG_chunk_type_equals (const unsigned char *chunk, const char *type)
 
unsigned char LodePNG_chunk_critical (const unsigned char *chunk)
 
unsigned char LodePNG_chunk_private (const unsigned char *chunk)
 
unsigned char LodePNG_chunk_safetocopy (const unsigned char *chunk)
 
unsigned char * LodePNG_chunk_data (unsigned char *chunk)
 
const unsigned char * LodePNG_chunk_data_const (const unsigned char *chunk)
 
unsigned LodePNG_chunk_check_crc (const unsigned char *chunk)
 
void LodePNG_chunk_generate_crc (unsigned char *chunk)
 
unsigned char * LodePNG_chunk_next (unsigned char *chunk)
 
const unsigned char * LodePNG_chunk_next_const (const unsigned char *chunk)
 
unsigned LodePNG_append_chunk (unsigned char **out, size_t *outlength, const unsigned char *chunk)
 
unsigned LodePNG_create_chunk (unsigned char **out, size_t *outlength, unsigned length, const char *type, const unsigned char *data)
 
void LodePNG_InfoColor_init (LodePNG_InfoColor *info)
 
void LodePNG_InfoColor_cleanup (LodePNG_InfoColor *info)
 
void LodePNG_InfoColor_clearPalette (LodePNG_InfoColor *info)
 
unsigned LodePNG_InfoColor_addPalette (LodePNG_InfoColor *info, unsigned char r, unsigned char g, unsigned char b, unsigned char a)
 
unsigned LodePNG_InfoColor_getBpp (const LodePNG_InfoColor *info)
 
unsigned LodePNG_InfoColor_getChannels (const LodePNG_InfoColor *info)
 
unsigned LodePNG_InfoColor_isGreyscaleType (const LodePNG_InfoColor *info)
 
unsigned LodePNG_InfoColor_isAlphaType (const LodePNG_InfoColor *info)
 
unsigned LodePNG_InfoColor_isPaletteType (const LodePNG_InfoColor *info)
 
unsigned LodePNG_InfoColor_hasPaletteAlpha (const LodePNG_InfoColor *info)
 
unsigned LodePNG_InfoColor_canHaveAlpha (const LodePNG_InfoColor *info)
 
unsigned LodePNG_InfoColor_equal (const LodePNG_InfoColor *info1, const LodePNG_InfoColor *info2)
 
void LodePNG_UnknownChunks_init (LodePNG_UnknownChunks *chunks)
 
void LodePNG_UnknownChunks_cleanup (LodePNG_UnknownChunks *chunks)
 
unsigned LodePNG_UnknownChunks_copy (LodePNG_UnknownChunks *dest, const LodePNG_UnknownChunks *src)
 
void LodePNG_Text_init (LodePNG_Text *text)
 
void LodePNG_Text_cleanup (LodePNG_Text *text)
 
unsigned LodePNG_Text_copy (LodePNG_Text *dest, const LodePNG_Text *source)
 
void LodePNG_Text_clear (LodePNG_Text *text)
 
unsigned LodePNG_Text_add (LodePNG_Text *text, const char *key, const char *str)
 
void LodePNG_IText_init (LodePNG_IText *text)
 
void LodePNG_IText_cleanup (LodePNG_IText *text)
 
unsigned LodePNG_IText_copy (LodePNG_IText *dest, const LodePNG_IText *source)
 
void LodePNG_IText_clear (LodePNG_IText *text)
 
unsigned LodePNG_IText_add (LodePNG_IText *text, const char *key, const char *langtag, const char *transkey, const char *str)
 
void LodePNG_InfoPng_init (LodePNG_InfoPng *info)
 
void LodePNG_InfoPng_cleanup (LodePNG_InfoPng *info)
 
unsigned LodePNG_InfoPng_copy (LodePNG_InfoPng *dest, const LodePNG_InfoPng *source)
 
void LodePNG_InfoPng_swap (LodePNG_InfoPng *a, LodePNG_InfoPng *b)
 
unsigned LodePNG_InfoColor_copy (LodePNG_InfoColor *dest, const LodePNG_InfoColor *source)
 
void LodePNG_InfoRaw_init (LodePNG_InfoRaw *info)
 
void LodePNG_InfoRaw_cleanup (LodePNG_InfoRaw *info)
 
unsigned LodePNG_InfoRaw_copy (LodePNG_InfoRaw *dest, const LodePNG_InfoRaw *source)
 
unsigned LodePNG_convert (unsigned char *out, const unsigned char *in, LodePNG_InfoColor *infoOut, LodePNG_InfoColor *infoIn, unsigned w, unsigned h)
 
void LodePNG_Decoder_inspect (LodePNG_Decoder *decoder, const unsigned char *in, size_t inlength)
 
void LodePNG_Decoder_decode (LodePNG_Decoder *decoder, unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize)
 
unsigned LodePNG_decode (unsigned char **out, unsigned *w, unsigned *h, const unsigned char *in, size_t insize, unsigned colorType, unsigned bitDepth)
 
unsigned LodePNG_decode32 (unsigned char **out, unsigned *w, unsigned *h, const unsigned char *in, size_t insize)
 
unsigned LodePNG_decode24 (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, unsigned colorType, unsigned bitDepth)
 
unsigned LodePNG_decode32_file (unsigned char **out, unsigned *w, unsigned *h, const char *filename)
 
unsigned LodePNG_decode24_file (unsigned char **out, unsigned *w, unsigned *h, const char *filename)
 
void LodePNG_DecodeSettings_init (LodePNG_DecodeSettings *settings)
 
void LodePNG_Decoder_init (LodePNG_Decoder *decoder)
 
void LodePNG_Decoder_cleanup (LodePNG_Decoder *decoder)
 
void LodePNG_Decoder_copy (LodePNG_Decoder *dest, const LodePNG_Decoder *source)
 
void LodePNG_Encoder_encode (LodePNG_Encoder *encoder, unsigned char **out, size_t *outsize, const unsigned char *image, unsigned w, unsigned h)
 
unsigned LodePNG_encode (unsigned char **out, size_t *outsize, const unsigned char *image, unsigned w, unsigned h, unsigned colorType, unsigned bitDepth)
 
unsigned LodePNG_encode32 (unsigned char **out, size_t *outsize, const unsigned char *image, unsigned w, unsigned h)
 
unsigned LodePNG_encode24 (unsigned char **out, size_t *outsize, const unsigned char *image, unsigned w, unsigned h)
 
unsigned LodePNG_encode_file (const char *filename, const unsigned char *image, unsigned w, unsigned h, unsigned colorType, unsigned bitDepth)
 
unsigned LodePNG_encode32_file (const char *filename, const unsigned char *image, unsigned w, unsigned h)
 
unsigned LodePNG_encode24_file (const char *filename, const unsigned char *image, unsigned w, unsigned h)
 
void LodePNG_EncodeSettings_init (LodePNG_EncodeSettings *settings)
 
void LodePNG_Encoder_init (LodePNG_Encoder *encoder)
 
void LodePNG_Encoder_cleanup (LodePNG_Encoder *encoder)
 
void LodePNG_Encoder_copy (LodePNG_Encoder *dest, const LodePNG_Encoder *source)
 
const char * LodePNG_error_text (unsigned code)
 

Variables

const LodePNG_CompressSettings LodePNG_defaultCompressSettings = {2, 1, DEFAULT_WINDOWSIZE}
 
const LodePNG_DecompressSettings LodePNG_defaultDecompressSettings = {0}
 

Macro Definition Documentation

#define CERROR_BREAK (   errorvar,
  code 
)
Value:
{\
errorvar = code;\
break;\
}

Definition at line 64 of file lodepng.cpp.

#define DEFAULT_WINDOWSIZE   2048

Definition at line 2163 of file lodepng.cpp.

#define ERROR_BREAK (   code)    CERROR_BREAK(error, code)

Definition at line 71 of file lodepng.cpp.

#define FIRST_LENGTH_CODE_INDEX   257

Definition at line 496 of file lodepng.cpp.

#define LAST_LENGTH_CODE_INDEX   285

Definition at line 497 of file lodepng.cpp.

#define NUM_CODE_LENGTH_CODES   19

Definition at line 503 of file lodepng.cpp.

#define NUM_DEFLATE_CODE_SYMBOLS   288

Definition at line 499 of file lodepng.cpp.

#define NUM_DISTANCE_SYMBOLS   32

Definition at line 501 of file lodepng.cpp.

#define READBIT (   bitpointer,
  bitstream 
)    ((bitstream[bitpointer >> 3] >> (bitpointer & 0x7)) & (unsigned char)1)

Definition at line 471 of file lodepng.cpp.

#define VERSION_STRING   "20110823"

Definition at line 40 of file lodepng.cpp.

Typedef Documentation

typedef struct Coin Coin
typedef struct HuffmanTree HuffmanTree
typedef struct ucvector ucvector
typedef struct uivector uivector
typedef struct vector vector

Function Documentation

unsigned LodePNG_append_chunk ( unsigned char **  out,
size_t *  outlength,
const unsigned char *  chunk 
)

Definition at line 2361 of file lodepng.cpp.

unsigned LodePNG_chunk_check_crc ( const unsigned char *  chunk)

Definition at line 2332 of file lodepng.cpp.

unsigned char LodePNG_chunk_critical ( const unsigned char *  chunk)

Definition at line 2307 of file lodepng.cpp.

unsigned char* LodePNG_chunk_data ( unsigned char *  chunk)

Definition at line 2322 of file lodepng.cpp.

const unsigned char* LodePNG_chunk_data_const ( const unsigned char *  chunk)

Definition at line 2327 of file lodepng.cpp.

void LodePNG_chunk_generate_crc ( unsigned char *  chunk)

Definition at line 2342 of file lodepng.cpp.

unsigned LodePNG_chunk_length ( const unsigned char *  chunk)

Definition at line 2289 of file lodepng.cpp.

unsigned char* LodePNG_chunk_next ( unsigned char *  chunk)

Definition at line 2349 of file lodepng.cpp.

const unsigned char* LodePNG_chunk_next_const ( const unsigned char *  chunk)

Definition at line 2355 of file lodepng.cpp.

unsigned char LodePNG_chunk_private ( const unsigned char *  chunk)

Definition at line 2312 of file lodepng.cpp.

unsigned char LodePNG_chunk_safetocopy ( const unsigned char *  chunk)

Definition at line 2317 of file lodepng.cpp.

void LodePNG_chunk_type ( char  type[5],
const unsigned char *  chunk 
)

Definition at line 2294 of file lodepng.cpp.

unsigned char LodePNG_chunk_type_equals ( const unsigned char *  chunk,
const char *  type 
)

Definition at line 2301 of file lodepng.cpp.

void LodePNG_CompressSettings_init ( LodePNG_CompressSettings settings)

Definition at line 2165 of file lodepng.cpp.

unsigned LodePNG_convert ( unsigned char *  out,
const unsigned char *  in,
LodePNG_InfoColor infoOut,
LodePNG_InfoColor infoIn,
unsigned  w,
unsigned  h 
)

Definition at line 3257 of file lodepng.cpp.

unsigned LodePNG_create_chunk ( unsigned char **  out,
size_t *  outlength,
unsigned  length,
const char *  type,
const unsigned char *  data 
)

Definition at line 2380 of file lodepng.cpp.

unsigned LodePNG_decode ( unsigned char **  out,
unsigned *  w,
unsigned *  h,
const unsigned char *  in,
size_t  insize,
unsigned  colorType,
unsigned  bitDepth 
)

Definition at line 4114 of file lodepng.cpp.

unsigned LodePNG_decode24 ( unsigned char **  out,
unsigned *  w,
unsigned *  h,
const unsigned char *  in,
size_t  insize 
)

Definition at line 4136 of file lodepng.cpp.

unsigned LodePNG_decode24_file ( unsigned char **  out,
unsigned *  w,
unsigned *  h,
const char *  filename 
)

Definition at line 4159 of file lodepng.cpp.

unsigned LodePNG_decode32 ( unsigned char **  out,
unsigned *  w,
unsigned *  h,
const unsigned char *  in,
size_t  insize 
)

Definition at line 4131 of file lodepng.cpp.

unsigned LodePNG_decode32_file ( unsigned char **  out,
unsigned *  w,
unsigned *  h,
const char *  filename 
)

Definition at line 4154 of file lodepng.cpp.

unsigned LodePNG_decode_file ( unsigned char **  out,
unsigned *  w,
unsigned *  h,
const char *  filename,
unsigned  colorType,
unsigned  bitDepth 
)

Definition at line 4142 of file lodepng.cpp.

void LodePNG_Decoder_cleanup ( LodePNG_Decoder decoder)

Definition at line 4186 of file lodepng.cpp.

void LodePNG_Decoder_copy ( LodePNG_Decoder dest,
const LodePNG_Decoder source 
)

Definition at line 4192 of file lodepng.cpp.

void LodePNG_Decoder_decode ( LodePNG_Decoder decoder,
unsigned char **  out,
size_t *  outsize,
const unsigned char *  in,
size_t  insize 
)

Definition at line 4068 of file lodepng.cpp.

void LodePNG_Decoder_init ( LodePNG_Decoder decoder)

Definition at line 4178 of file lodepng.cpp.

void LodePNG_Decoder_inspect ( LodePNG_Decoder decoder,
const unsigned char *  in,
size_t  inlength 
)

Definition at line 3359 of file lodepng.cpp.

void LodePNG_DecodeSettings_init ( LodePNG_DecodeSettings settings)

Definition at line 4165 of file lodepng.cpp.

void LodePNG_DecompressSettings_init ( LodePNG_DecompressSettings settings)

Definition at line 2179 of file lodepng.cpp.

unsigned LodePNG_encode ( unsigned char **  out,
size_t *  outsize,
const unsigned char *  image,
unsigned  w,
unsigned  h,
unsigned  colorType,
unsigned  bitDepth 
)

Definition at line 5142 of file lodepng.cpp.

unsigned LodePNG_encode24 ( unsigned char **  out,
size_t *  outsize,
const unsigned char *  image,
unsigned  w,
unsigned  h 
)

Definition at line 5163 of file lodepng.cpp.

unsigned LodePNG_encode24_file ( const char *  filename,
const unsigned char *  image,
unsigned  w,
unsigned  h 
)

Definition at line 5185 of file lodepng.cpp.

unsigned LodePNG_encode32 ( unsigned char **  out,
size_t *  outsize,
const unsigned char *  image,
unsigned  w,
unsigned  h 
)

Definition at line 5158 of file lodepng.cpp.

unsigned LodePNG_encode32_file ( const char *  filename,
const unsigned char *  image,
unsigned  w,
unsigned  h 
)

Definition at line 5180 of file lodepng.cpp.

unsigned LodePNG_encode_file ( const char *  filename,
const unsigned char *  image,
unsigned  w,
unsigned  h,
unsigned  colorType,
unsigned  bitDepth 
)

Definition at line 5169 of file lodepng.cpp.

void LodePNG_Encoder_cleanup ( LodePNG_Encoder encoder)

Definition at line 5211 of file lodepng.cpp.

void LodePNG_Encoder_copy ( LodePNG_Encoder dest,
const LodePNG_Encoder source 
)

Definition at line 5217 of file lodepng.cpp.

void LodePNG_Encoder_encode ( LodePNG_Encoder encoder,
unsigned char **  out,
size_t *  outsize,
const unsigned char *  image,
unsigned  w,
unsigned  h 
)

Definition at line 4938 of file lodepng.cpp.

void LodePNG_Encoder_init ( LodePNG_Encoder encoder)

Definition at line 5203 of file lodepng.cpp.

void LodePNG_EncodeSettings_init ( LodePNG_EncodeSettings settings)

Definition at line 5191 of file lodepng.cpp.

const char* LodePNG_error_text ( unsigned  code)

Definition at line 5239 of file lodepng.cpp.

unsigned LodePNG_InfoColor_addPalette ( LodePNG_InfoColor info,
unsigned char  r,
unsigned char  g,
unsigned char  b,
unsigned char  a 
)

Definition at line 2472 of file lodepng.cpp.

unsigned LodePNG_InfoColor_canHaveAlpha ( const LodePNG_InfoColor info)

Definition at line 2530 of file lodepng.cpp.

void LodePNG_InfoColor_cleanup ( LodePNG_InfoColor info)

Definition at line 2461 of file lodepng.cpp.

void LodePNG_InfoColor_clearPalette ( LodePNG_InfoColor info)

Definition at line 2466 of file lodepng.cpp.

unsigned LodePNG_InfoColor_copy ( LodePNG_InfoColor dest,
const LodePNG_InfoColor source 
)

Definition at line 2787 of file lodepng.cpp.

unsigned LodePNG_InfoColor_equal ( const LodePNG_InfoColor info1,
const LodePNG_InfoColor info2 
)

Definition at line 2537 of file lodepng.cpp.

unsigned LodePNG_InfoColor_getBpp ( const LodePNG_InfoColor info)

Definition at line 2494 of file lodepng.cpp.

unsigned LodePNG_InfoColor_getChannels ( const LodePNG_InfoColor info)

Definition at line 2500 of file lodepng.cpp.

unsigned LodePNG_InfoColor_hasPaletteAlpha ( const LodePNG_InfoColor info)

Definition at line 2520 of file lodepng.cpp.

void LodePNG_InfoColor_init ( LodePNG_InfoColor info)

Definition at line 2451 of file lodepng.cpp.

unsigned LodePNG_InfoColor_isAlphaType ( const LodePNG_InfoColor info)

Definition at line 2510 of file lodepng.cpp.

unsigned LodePNG_InfoColor_isGreyscaleType ( const LodePNG_InfoColor info)

Definition at line 2505 of file lodepng.cpp.

unsigned LodePNG_InfoColor_isPaletteType ( const LodePNG_InfoColor info)

Definition at line 2515 of file lodepng.cpp.

void LodePNG_InfoPng_cleanup ( LodePNG_InfoPng info)

Definition at line 2748 of file lodepng.cpp.

unsigned LodePNG_InfoPng_copy ( LodePNG_InfoPng dest,
const LodePNG_InfoPng source 
)

Definition at line 2760 of file lodepng.cpp.

void LodePNG_InfoPng_init ( LodePNG_InfoPng info)

Definition at line 2726 of file lodepng.cpp.

void LodePNG_InfoPng_swap ( LodePNG_InfoPng a,
LodePNG_InfoPng b 
)

Definition at line 2780 of file lodepng.cpp.

void LodePNG_InfoRaw_cleanup ( LodePNG_InfoRaw info)

Definition at line 2803 of file lodepng.cpp.

unsigned LodePNG_InfoRaw_copy ( LodePNG_InfoRaw dest,
const LodePNG_InfoRaw source 
)

Definition at line 2808 of file lodepng.cpp.

void LodePNG_InfoRaw_init ( LodePNG_InfoRaw info)

Definition at line 2798 of file lodepng.cpp.

unsigned LodePNG_IText_add ( LodePNG_IText text,
const char *  key,
const char *  langtag,
const char *  transkey,
const char *  str 
)

Definition at line 2688 of file lodepng.cpp.

void LodePNG_IText_cleanup ( LodePNG_IText text)

Definition at line 2650 of file lodepng.cpp.

void LodePNG_IText_clear ( LodePNG_IText text)

Definition at line 2672 of file lodepng.cpp.

unsigned LodePNG_IText_copy ( LodePNG_IText dest,
const LodePNG_IText source 
)

Definition at line 2655 of file lodepng.cpp.

void LodePNG_IText_init ( LodePNG_IText text)

Definition at line 2641 of file lodepng.cpp.

unsigned LodePNG_loadFile ( unsigned char **  out,
size_t *  outsize,
const char *  filename 
)

Definition at line 393 of file lodepng.cpp.

unsigned LodePNG_read32bitInt ( const unsigned char *  buffer)

Definition at line 365 of file lodepng.cpp.

unsigned LodePNG_saveFile ( const unsigned char *  buffer,
size_t  buffersize,
const char *  filename 
)

Definition at line 421 of file lodepng.cpp.

unsigned LodePNG_Text_add ( LodePNG_Text text,
const char *  key,
const char *  str 
)

Definition at line 2615 of file lodepng.cpp.

void LodePNG_Text_cleanup ( LodePNG_Text text)

Definition at line 2584 of file lodepng.cpp.

void LodePNG_Text_clear ( LodePNG_Text text)

Definition at line 2603 of file lodepng.cpp.

unsigned LodePNG_Text_copy ( LodePNG_Text dest,
const LodePNG_Text source 
)

Definition at line 2589 of file lodepng.cpp.

void LodePNG_Text_init ( LodePNG_Text text)

Definition at line 2577 of file lodepng.cpp.

void LodePNG_UnknownChunks_cleanup ( LodePNG_UnknownChunks chunks)

Definition at line 2551 of file lodepng.cpp.

unsigned LodePNG_UnknownChunks_copy ( LodePNG_UnknownChunks dest,
const LodePNG_UnknownChunks src 
)

Definition at line 2557 of file lodepng.cpp.

void LodePNG_UnknownChunks_init ( LodePNG_UnknownChunks chunks)

Definition at line 2544 of file lodepng.cpp.

unsigned LodePNG_zlib_compress ( unsigned char **  out,
size_t *  outsize,
const unsigned char *  in,
size_t  insize,
const LodePNG_CompressSettings settings 
)

Definition at line 2086 of file lodepng.cpp.

unsigned LodePNG_zlib_decompress ( unsigned char **  out,
size_t *  outsize,
const unsigned char *  in,
size_t  insize,
const LodePNG_DecompressSettings settings 
)

Definition at line 2032 of file lodepng.cpp.

Variable Documentation

const LodePNG_CompressSettings LodePNG_defaultCompressSettings = {2, 1, DEFAULT_WINDOWSIZE}

Definition at line 2173 of file lodepng.cpp.

const LodePNG_DecompressSettings LodePNG_defaultDecompressSettings = {0}

Definition at line 2184 of file lodepng.cpp.