-int getPNG(char*sname, int*destwidth, int*destheight, unsigned char**destdata);
-int getPNGdimensions(char*sname, int*destwidth, int*destheight);
-void writePNG(char*filename, unsigned char*data, int width, int height);
+int png_apply_filter_32(unsigned char*dest, unsigned char*src, int width, int y);
+void png_inverse_filter_32(int mode, unsigned char*src, unsigned char*old, unsigned char*dest, int width);
+
+int getPNG(const char*sname, int*destwidth, int*destheight, unsigned char**destdata);
+int getPNGdimensions(const char*sname, int*destwidth, int*destheight);
+
+void savePNG(const char*filename, unsigned char*data, int width, int height, int numcolors);
+
+void writePNG(const char*filename, unsigned char*data, int width, int height);
+void writePalettePNG(const char*filename, unsigned char*data, int width, int height);