Drop-in compatibility
For spng_compat
to become drop-in compatible the following additional features/functions have to be implemented on top of libspng
:
-
Error reporting with setjmp() -
Reading from a FILE*
-
(Alpha) filler bytes ( png_set_filler()
). -
Various alpha blending modes ( png_set_alpha_mode()
). -
png_get_pixels_per_inch()
,png_get_x/y_offset_inches()
and fixed-point equivalents. -
Extensions: pCAL, sCAL, these require parsing of text. -
png_set_sig_bytes()
,png_sig_cmp()
. -
low-level PNG writing functions: png_write_sig()
,png_write_chunk()
, etc. -
png_set_shift()
-
png_set_invert_mono()
-
png_set_compression_level()
and similar functions. -
png_get_channels()
-
png_set_rows()
-
png_get/set_image_width/height/bit_depth/color_type/etc()
-
png_get_(x/y)_pixels_per_meter()
-
png_get_pixel_aspect_ratio(_fixed)()
-
png_get_(x/y)_offset_(pixels/microns)()
-
png_get_copyright()
,png_get_header_ver()
,png_get_header_version()
,png_get_libpng_ver()
. -
png_permit_mng_features()
-
png_set_user_limits()
, etc. -
png_get_pHYs_dpi()