Skip to content
GitLab
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    Projects Groups Topics Snippets
  • Register
  • Sign in
  • S spng_compat
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Packages and registries
    • Packages and registries
    • Container Registry
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • libspng
  • spng_compat
  • Issues
  • #2
Closed
Open
Issue created Aug 06, 2018 by Randy@randy408Owner

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()
Edited Feb 18, 2019 by Randy
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking