Atmel Software Framework

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LodePNG PNG Decoder

LodePNG is a PNG image decoder.

It is made for C (ISO C90), and has a C++ wrapper with a more convenient interface on top. More info at: http://members.gamedev.net/lode/projects/LodePNG/

Data Structures

struct  LodePNG_Decoder
 
struct  LodePNG_DecodeSettings
 
struct  LodePNG_InfoColor
 
struct  LodePNG_InfoPng
 
struct  LodePNG_InfoRaw
 
struct  LodePNG_IText
 
struct  LodePNG_Text
 
struct  LodePNG_Time
 
struct  LodePNG_UnknownChunks
 
struct  LodeZlib_DecompressSettings
 

Macros

#define LODEPNG_COMPILE_ANCILLARY_CHUNKS   /*any code or struct datamember related to chunks other than IHDR, IDAT, PLTE, tRNS, IEND*/
 
#define LODEPNG_COMPILE_DECODER   /*deflate&zlib decoder and png decoder*/
 
#define LODEPNG_COMPILE_PNG   /*png encoder and png decoder*/
 
#define LODEPNG_COMPILE_UNKNOWN_CHUNKS   /*handling of unknown chunks*/
 
#define LODEPNG_COMPILE_ZLIB   /*deflate&zlib encoder and deflate&zlib decoder*/
 

Typedefs

typedef struct LodePNG_Decoder LodePNG_Decoder
 
typedef struct
LodePNG_DecodeSettings 
LodePNG_DecodeSettings
 
typedef struct LodePNG_InfoColor LodePNG_InfoColor
 
typedef struct LodePNG_InfoPng LodePNG_InfoPng
 
typedef struct LodePNG_InfoRaw LodePNG_InfoRaw
 
typedef struct LodePNG_IText LodePNG_IText
 
typedef struct LodePNG_Text LodePNG_Text
 
typedef struct LodePNG_Time LodePNG_Time
 
typedef struct
LodePNG_UnknownChunks 
LodePNG_UnknownChunks
 
typedef struct
LodeZlib_DecompressSettings 
LodeZlib_DecompressSettings
 

Functions

unsigned LodePNG_append_chunk (unsigned char **out, size_t *outlength, const unsigned char *chunk)
 
unsigned LodePNG_chunk_check_crc (const unsigned char *chunk)
 
unsigned char LodePNG_chunk_critical (const unsigned char *chunk)
 
unsigned char * LodePNG_chunk_data (unsigned char *chunk)
 
const unsigned char * LodePNG_chunk_data_const (const unsigned char *chunk)
 
void LodePNG_chunk_generate_crc (unsigned char *chunk)
 
unsigned LodePNG_chunk_length (const unsigned char *chunk)
 
unsigned char * LodePNG_chunk_next (unsigned char *chunk)
 
const unsigned char * LodePNG_chunk_next_const (const unsigned char *chunk)
 
unsigned char LodePNG_chunk_private (const unsigned char *chunk)
 
unsigned char LodePNG_chunk_safetocopy (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 LodePNG_convert (unsigned char *out, const unsigned char *in, LodePNG_InfoColor *infoOut, LodePNG_InfoColor *infoIn, unsigned w, unsigned h)
 
unsigned LodePNG_create_chunk (unsigned char **out, size_t *outlength, unsigned length, const char *type, const unsigned char *data)
 
void LodePNG_decode (LodePNG_Decoder *decoder, unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize)
 
unsigned LodePNG_decode32 (unsigned char **out, unsigned *w, unsigned *h, const unsigned char *in, size_t insize)
 
void LodePNG_Decoder_cleanup (LodePNG_Decoder *decoder)
 
void LodePNG_Decoder_copy (LodePNG_Decoder *dest, const LodePNG_Decoder *source)
 
void LodePNG_Decoder_init (LodePNG_Decoder *decoder)
 
void LodePNG_DecodeSettings_init (LodePNG_DecodeSettings *settings)
 
unsigned LodePNG_InfoColor_addPalette (LodePNG_InfoColor *info, unsigned char r, unsigned char g, unsigned char b, unsigned char a)
 
void LodePNG_InfoColor_cleanup (LodePNG_InfoColor *info)
 
void LodePNG_InfoColor_clearPalette (LodePNG_InfoColor *info)
 
unsigned LodePNG_InfoColor_copy (LodePNG_InfoColor *dest, const LodePNG_InfoColor *source)
 
unsigned LodePNG_InfoColor_getBpp (const LodePNG_InfoColor *info)
 
unsigned LodePNG_InfoColor_getChannels (const LodePNG_InfoColor *info)
 
void LodePNG_InfoColor_init (LodePNG_InfoColor *info)
 
unsigned LodePNG_InfoColor_isAlphaType (const LodePNG_InfoColor *info)
 
unsigned LodePNG_InfoColor_isGreyscaleType (const LodePNG_InfoColor *info)
 
void LodePNG_InfoPng_cleanup (LodePNG_InfoPng *info)
 
unsigned LodePNG_InfoPng_copy (LodePNG_InfoPng *dest, const LodePNG_InfoPng *source)
 
void LodePNG_InfoPng_init (LodePNG_InfoPng *info)
 
void LodePNG_InfoRaw_cleanup (LodePNG_InfoRaw *info)
 
unsigned LodePNG_InfoRaw_copy (LodePNG_InfoRaw *dest, const LodePNG_InfoRaw *source)
 
void LodePNG_InfoRaw_init (LodePNG_InfoRaw *info)
 
void LodePNG_inspect (LodePNG_Decoder *decoder, const unsigned char *in, size_t size)
 
unsigned LodePNG_IText_add (LodePNG_IText *text, const char *key, const char *langtag, const char *transkey, const char *str)
 
void LodePNG_IText_cleanup (LodePNG_IText *text)
 
void LodePNG_IText_clear (LodePNG_IText *text)
 
unsigned LodePNG_IText_copy (LodePNG_IText *dest, const LodePNG_IText *source)
 
void LodePNG_IText_init (LodePNG_IText *text)
 
unsigned LodePNG_Text_add (LodePNG_Text *text, const char *key, const char *str)
 
void LodePNG_Text_cleanup (LodePNG_Text *text)
 
void LodePNG_Text_clear (LodePNG_Text *text)
 
unsigned LodePNG_Text_copy (LodePNG_Text *dest, const LodePNG_Text *source)
 
void LodePNG_Text_init (LodePNG_Text *text)
 
void LodePNG_UnknownChunks_cleanup (LodePNG_UnknownChunks *chunks)
 
unsigned LodePNG_UnknownChunks_copy (LodePNG_UnknownChunks *dest, const LodePNG_UnknownChunks *src)
 
void LodePNG_UnknownChunks_init (LodePNG_UnknownChunks *chunks)
 
unsigned LodeZlib_decompress (unsigned char **out, size_t *outsize, const unsigned char *in, size_t insize, const LodeZlib_DecompressSettings *settings)
 
void LodeZlib_DecompressSettings_init (LodeZlib_DecompressSettings *settings)
 

Variables

const LodeZlib_DecompressSettings LodeZlib_defaultDecompressSettings
 

#define LODEPNG_COMPILE_ANCILLARY_CHUNKS   /*any code or struct datamember related to chunks other than IHDR, IDAT, PLTE, tRNS, IEND*/
#define LODEPNG_COMPILE_DECODER   /*deflate&zlib decoder and png decoder*/
#define LODEPNG_COMPILE_PNG   /*png encoder and png decoder*/
#define LODEPNG_COMPILE_UNKNOWN_CHUNKS   /*handling of unknown chunks*/
#define LODEPNG_COMPILE_ZLIB   /*deflate&zlib encoder and deflate&zlib decoder*/

typedef struct LodePNG_IText LodePNG_IText
typedef struct LodePNG_Text LodePNG_Text
typedef struct LodePNG_Time LodePNG_Time

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

References i, and LodePNG_chunk_length().

Referenced by decodeGeneric().

unsigned LodePNG_chunk_check_crc ( const unsigned char *  chunk)
unsigned char LodePNG_chunk_critical ( const unsigned char *  chunk)

Referenced by decodeGeneric().

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

Referenced by decodeGeneric().

void LodePNG_chunk_generate_crc ( unsigned char *  chunk)
unsigned LodePNG_chunk_length ( const unsigned char *  chunk)
unsigned char* LodePNG_chunk_next ( unsigned char *  chunk)
const unsigned char* LodePNG_chunk_next_const ( const unsigned char *  chunk)

References LodePNG_chunk_length().

Referenced by decodeGeneric().

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

References i.

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

Referenced by decodeGeneric().

unsigned LodePNG_create_chunk ( unsigned char **  out,
size_t *  outlength,
unsigned  length,
const char *  type,
const unsigned char *  data 
)
unsigned LodePNG_decode32 ( unsigned char **  out,
unsigned *  w,
unsigned *  h,
const unsigned char *  in,
size_t  insize 
)
unsigned LodePNG_InfoColor_addPalette ( LodePNG_InfoColor info,
unsigned char  r,
unsigned char  g,
unsigned char  b,
unsigned char  a 
)
void LodePNG_InfoColor_cleanup ( LodePNG_InfoColor info)
void LodePNG_InfoColor_clearPalette ( LodePNG_InfoColor info)
unsigned LodePNG_InfoColor_getChannels ( const LodePNG_InfoColor info)
unsigned LodePNG_InfoColor_isAlphaType ( const LodePNG_InfoColor info)

References LodePNG_InfoColor::colorType.

Referenced by LodePNG_convert().

unsigned LodePNG_InfoColor_isGreyscaleType ( const LodePNG_InfoColor info)

References LodePNG_InfoColor::colorType.

Referenced by LodePNG_convert().

void LodePNG_InfoRaw_cleanup ( LodePNG_InfoRaw info)
unsigned LodePNG_InfoRaw_copy ( LodePNG_InfoRaw dest,
const LodePNG_InfoRaw source 
)
void LodePNG_InfoRaw_init ( LodePNG_InfoRaw info)
unsigned LodePNG_IText_add ( LodePNG_IText text,
const char *  key,
const char *  langtag,
const char *  transkey,
const char *  str 
)
void LodePNG_IText_cleanup ( LodePNG_IText text)
unsigned LodePNG_Text_add ( LodePNG_Text text,
const char *  key,
const char *  str 
)
void LodePNG_Text_cleanup ( LodePNG_Text text)

References LodePNG_Text_clear().

Referenced by LodePNG_InfoPng_cleanup().

void LodePNG_Text_clear ( LodePNG_Text text)
unsigned LodePNG_Text_copy ( LodePNG_Text dest,
const LodePNG_Text source 
)
void LodePNG_Text_init ( LodePNG_Text text)
void LodePNG_UnknownChunks_cleanup ( LodePNG_UnknownChunks chunks)
unsigned LodePNG_UnknownChunks_copy ( LodePNG_UnknownChunks dest,
const LodePNG_UnknownChunks src 
)
void LodePNG_UnknownChunks_init ( LodePNG_UnknownChunks chunks)
unsigned LodeZlib_decompress ( unsigned char **  out,
size_t *  outsize,
const unsigned char *  in,
size_t  insize,
const LodeZlib_DecompressSettings settings 
)
void LodeZlib_DecompressSettings_init ( LodeZlib_DecompressSettings settings)

const LodeZlib_DecompressSettings LodeZlib_defaultDecompressSettings