#ifdef _HAVE_ZLIB_
#include <zlib.h>
#endif
#ifdef _HAVE_PNG_
#include <png.h>
#ifdef _HAVE_LIB_PPM_
#include <netpbm/ppm.h>
#include "png.h"
static void spudec_handle_rest(spudec_handle_t *this);
// read a big endian 16 bit value
static inline unsigned int get_be16(const unsigned char *p)