JasPer: Reference Manual (Version 2.0.24)

JasPer 2.0.24 |

Reference Manual (Version 2.0.24)

# Introduction

JasPer is a collection of software (i.e., a library and application programs) for the coding and manipulation of images. This software can handle image data in a variety of formats. One such format supported by JasPer is the JPEG-2000 format defined in ISO/IEC 15444-1. This software was developed by Michael Adams from the Department of Electrical and Computer Engineering at the University of Victoria, Victoria, BC, Canada.

# News

    2.0.24 (2021-01-03)
    ===================

    * Add JAS_VERSION_MAJOR, JAS_VERSION_MINOR, JAS_VERSION_PATCH
      for easier access to the JasPer version.
    * Fixes stack overflow bug on Windows, where variable-length
      arrays are not available. (#256)

    2.0.23 (2020-12-08)
    ===================

    * Fix CVE-2020-27828, heap-overflow in cp_create() in jpc_enc.c
      https://github.com/jasper-software/jasper/issues/252

    2.0.22 (2020-10-05)
    ===================

    * Update manual

    * Remove JPEG dummy codec. Jasper needs libjpeg for JPEG support

    * Fix test suite build failure regarding disabled MIF codec (#249)

    * Fix OpenGL/glut detection (#247)

    2.0.21 (2020-09-20)
    ===================

    * Fix ZDI-15-529
      https://github.com/jasper-software/jasper/pull/245

    * Fix CVE-2018-19541 in decoder
      https://github.com/jasper-software/jasper/pull/244

    2.0.20 (2020-09-05)
    ===================

    * Fix several ISO/IEC 15444-4 conformance bugs

    * Fix new variant of CVE-2016-9398

    * Disable the MIF codec by default for security reasons (but it is still
      included in the library);
      in a future release, the MIF codec may also be excluded from the
      library by default

    * Add documentation for the I/O streams library API

    2.0.19 (2020-07-11)
    ===================

    * Fix CVE-2018-9154
      https://github.com/jasper-software/jasper/issues/215
      https://github.com/jasper-software/jasper/issues/166
      https://github.com/jasper-software/jasper/issues/175
      https://github.com/jasper-maint/jasper/issues/8

    * Fix CVE-2018-19541 in encoder
      https://github.com/jasper-software/jasper/pull/199
      https://github.com/jasper-maint/jasper/issues/6

    * Fix CVE-2016-9399, CVE-2017-13751
      https://github.com/jasper-maint/jasper/issues/1

    * Fix CVE-2018-19540
      https://github.com/jasper-software/jasper/issues/182
      https://github.com/jasper-maint/jasper/issues/22

    * Fix CVE-2018-9055
      https://github.com/jasper-maint/jasper/issues/9

    * Fix CVE-2017-13748
      https://github.com/jasper-software/jasper/issues/168

    * Fix CVE-2017-5503, CVE-2017-5504, CVE-2017-5505
      https://github.com/jasper-maint/jasper/issues/3
      https://github.com/jasper-maint/jasper/issues/4
      https://github.com/jasper-maint/jasper/issues/5
      https://github.com/jasper-software/jasper/issues/88
      https://github.com/jasper-software/jasper/issues/89
      https://github.com/jasper-software/jasper/issues/90

    * Fix CVE-2018-9252
      https://github.com/jasper-maint/jasper/issues/16

    * Fix CVE-2018-19139
      https://github.com/jasper-maint/jasper/issues/14

    * Fix CVE-2018-19543, CVE-2017-9782
      https://github.com/jasper-maint/jasper/issues/13
      https://github.com/jasper-maint/jasper/issues/18
      https://github.com/jasper-software/jasper/issues/140
      https://github.com/jasper-software/jasper/issues/182

    * Fix CVE-2018-20570
      https://github.com/jasper-maint/jasper/issues/11
      https://github.com/jasper-software/jasper/issues/191

    * Fix CVE-2018-20622
      https://github.com/jasper-maint/jasper/issues/12
      https://github.com/jasper-software/jasper/issues/193

    * Fix CVE-2016-9398
      https://github.com/jasper-maint/jasper/issues/10

    * Fix CVE-2017-14132
      https://github.com/jasper-maint/jasper/issues/17

    * Fix CVE-2017-5499
      https://github.com/jasper-maint/jasper/issues/2
      https://github.com/jasper-software/jasper/issues/63

    * Fix CVE-2018-18873
      https://github.com/jasper-maint/jasper/issues/15
      https://github.com/jasper-software/jasper/issues/184

    * Fix https://github.com/jasper-software/jasper/issues/207

    * Fix https://github.com/jasper-software/jasper/issues/194 part 1

    * Fix CVE-2017-13750
      https://github.com/jasper-software/jasper/issues/165
      https://github.com/jasper-software/jasper/issues/174

    * New option -DJAS_ENABLE_HIDDEN=true to not export internal symbols in the public symbol table

    * Fix various memory leaks

    * Plenty of code cleanups, and performance improvements

# License

    JasPer License Version 2.0

    Copyright (c) 2001-2016 Michael David Adams
    Copyright (c) 1999-2000 Image Power, Inc.
    Copyright (c) 1999-2000 The University of British Columbia

    All rights reserved.

    Permission is hereby granted, free of charge, to any person (the
    "User") obtaining a copy of this software and associated documentation
    files (the "Software"), to deal in the Software without restriction,
    including without limitation the rights to use, copy, modify, merge,
    publish, distribute, and/or sell copies of the Software, and to permit
    persons to whom the Software is furnished to do so, subject to the
    following conditions:

    1.  The above copyright notices and this permission notice (which
    includes the disclaimer below) shall be included in all copies or
    substantial portions of the Software.

    2.  The name of a copyright holder shall not be used to endorse or
    promote products derived from the Software without specific prior
    written permission.

    THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
    LICENSE.  NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER
    THIS DISCLAIMER.  THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS
    "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
    BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
    PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.  IN NO
    EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
    INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
    FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
    NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
    WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.  NO ASSURANCES ARE
    PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE
    THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY.
    EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS
    BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL
    PROPERTY RIGHTS OR OTHERWISE.  AS A CONDITION TO EXERCISING THE RIGHTS
    GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE
    ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY.  THE SOFTWARE
    IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL
    SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES,
    AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL
    SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH
    THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH,
    PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
    RISK ACTIVITIES").  THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY
    EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.

# Reporting Bugs

All bug reports should be submitted via the issue-tracking system provided by GitHub. To submit a bug report, go the the following URL and click on the "New issue" button:

    https://github.com/jasper-software/jasper/issues

Please do not submit bug reports directly to the author of JasPer via email, as bug reports that are not submitted via the above issue-tracking system on GitHub are easy to be lost.