Hello community, here is the log from the commit of package jasper for openSUSE:Factory checked in at 2020-10-06 17:10:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/jasper (Old) and /work/SRC/openSUSE:Factory/.jasper.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jasper" Tue Oct 6 17:10:07 2020 rev:3 rq:839698 version:2.0.22 Changes: -------- --- /work/SRC/openSUSE:Factory/jasper/jasper.changes 2020-09-23 18:46:46.913673559 +0200 +++ /work/SRC/openSUSE:Factory/.jasper.new.4249/jasper.changes 2020-10-06 17:12:47.513614424 +0200 @@ -1,0 +2,10 @@ +Tue Oct 6 07:16:41 UTC 2020 - Michael Vetter <mvet...@suse.com> + +- Update to 2.0.22: + * Update manual + * Remove JPEG dummy codec + * Fix test suite build failure regarding disabled MIF codec (#249) + * Fix OpenGL/glut detection (#247) +- Remove jasper-2.0.21-glut.patch: upstreamed + +------------------------------------------------------------------- Old: ---- jasper-2.0.21-glut.patch version-2.0.21.tar.gz New: ---- version-2.0.22.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ jasper.spec ++++++ --- /var/tmp/diff_new_pack.y2Mo88/_old 2020-10-06 17:12:50.821617281 +0200 +++ /var/tmp/diff_new_pack.y2Mo88/_new 2020-10-06 17:12:50.825617284 +0200 @@ -17,7 +17,7 @@ Name: jasper -Version: 2.0.21 +Version: 2.0.22 Release: 0 Summary: An Implementation of the JPEG-2000 Standard, Part 1 License: SUSE-Public-Domain @@ -25,8 +25,6 @@ URL: https://jasper-software.github.io/jasper Source: https://github.com/jasper-software/jasper/archive/version-%{version}.tar.gz Source2: baselibs.conf -# https://github.com/jasper-software/jasper/issues/247 -Patch0: jasper-2.0.21-glut.patch BuildRequires: Mesa-libGL-devel BuildRequires: cmake BuildRequires: doxygen @@ -78,7 +76,6 @@ %prep %setup -q -n %{name}-version-%{version} -%patch0 -p1 %build export CFLAGS="%{optflags} -Wall -std=c99 -D_BSD_SOURCE" ++++++ version-2.0.21.tar.gz -> version-2.0.22.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/CMakeLists.txt new/jasper-version-2.0.22/CMakeLists.txt --- old/jasper-version-2.0.21/CMakeLists.txt 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/CMakeLists.txt 2020-10-05 18:41:38.000000000 +0200 @@ -17,7 +17,7 @@ # The major, minor, and micro version numbers of the project. set(JAS_VERSION_MAJOR 2) set(JAS_VERSION_MINOR 0) -set(JAS_VERSION_PATCH 21) +set(JAS_VERSION_PATCH 22) # The project version. set(JAS_VERSION @@ -79,8 +79,6 @@ include(CTest) include(Sanitizers) -include(JasOpenGL) - cmake_policy(SET CMP0012 NEW) ################################################################################ @@ -205,6 +203,8 @@ # Perform plaform checks. ################################################################################ +include(JasOpenGL) + find_program(BASH_PROGRAM bash) check_include_files(fcntl.h JAS_HAVE_FCNTL_H) @@ -266,6 +266,9 @@ set(JPEG_INCLUDE_DIR "") set(JPEG_LIBRARIES "") endif() +if (NOT JAS_HAVE_LIBJPEG) + set(JAS_INCLUDE_JPG_CODEC 0) +endif() ################################################################################ # Check for the Math library. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/NEWS new/jasper-version-2.0.22/NEWS --- old/jasper-version-2.0.21/NEWS 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/NEWS 2020-10-05 18:41:38.000000000 +0200 @@ -1,23 +1,25 @@ 2.0.21 (2020-09-20) =================== -* fixed ZDI-15-529 +* Fix ZDI-15-529 + https://github.com/jasper-software/jasper/pull/245 -* fixed CVE-2018-19541 +* Fix CVE-2018-19541 in decoder + https://github.com/jasper-software/jasper/pull/244 2.0.20 (2020-09-05) =================== -* fixed several ISO/IEC 15444-4 conformance bugs +* Fix several ISO/IEC 15444-4 conformance bugs -* fixed new variant of CVE-2016-9398 +* Fix new variant of CVE-2016-9398 -* disabled the MIF codec by default for security reasons (but it is still +* 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 -* added documentation for the I/O streams library API +* Add documentation for the I/O streams library API 2.0.19 (2020-07-11) =================== @@ -28,7 +30,7 @@ https://github.com/jasper-software/jasper/issues/175 https://github.com/jasper-maint/jasper/issues/8 -* Fix CVE-2018-19541 +* Fix CVE-2018-19541 in encoder https://github.com/jasper-software/jasper/pull/199 https://github.com/jasper-maint/jasper/issues/6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/build/travis/build new/jasper-version-2.0.22/build/travis/build --- old/jasper-version-2.0.21/build/travis/build 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/build/travis/build 2020-10-05 18:41:38.000000000 +0200 @@ -42,7 +42,10 @@ (cd "$source_dir" && make install) || panic "make install failed" - (cd "$source_dir" && CTEST_OUTPUT_ON_FAILURE=TRUE make test ARGS="-V") || \ + (cd "$source_dir" && \ + JAS_INTERNAL_TESTING_MODE=1 \ + CTEST_OUTPUT_ON_FAILURE=TRUE \ + make test ARGS="-V") || \ panic "make test failed" else @@ -197,6 +200,7 @@ ctest_opts+=(--output-on-failure) echo "Running ctest ${ctest_opts[@]}" (cd "$build_dir" && \ + JAS_INTERNAL_TESTING_MODE=1 \ ctest "${ctest_opts[@]}") || panic "ctest failed" fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/doc/src/bugs.dox new/jasper-version-2.0.22/doc/src/bugs.dox --- old/jasper-version-2.0.21/doc/src/bugs.dox 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/doc/src/bugs.dox 2020-10-05 18:41:38.000000000 +0200 @@ -8,7 +8,7 @@ check the issue tracker for JasPer on GitHub, which can be found at the following URL: - https://github.com/mdadams/jasper/issues + https://github.com/jasper-software/jasper/issues If you happed to find a bug that has not been previously reported, please report it so that it can be fixed. New bugs can be reported by diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/doc/src/mainpage.dox.in new/jasper-version-2.0.22/doc/src/mainpage.dox.in --- old/jasper-version-2.0.21/doc/src/mainpage.dox.in 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/doc/src/mainpage.dox.in 2020-10-05 18:41:38.000000000 +0200 @@ -9,10 +9,13 @@ 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 -<a href="http://www.ece.uvic.ca/~mdadams">Michael Adams</a> +<a href="https://www.ece.uvic.ca/~mdadams">Michael Adams</a> from the Department of Electrical and Computer Engineering at the University of Victoria, Victoria, BC, Canada. +@section news News +@verbinclude @CMAKE_SOURCE_DIR@/NEWS + @section license License @verbinclude @CMAKE_SOURCE_DIR@/LICENSE @@ -22,7 +25,7 @@ provided by GitHub. To submit a bug report, go the the following URL and click on the "New issue" button: - https://github.com/mdadams/jasper/issues + 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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/doc/src/modules.dox new/jasper-version-2.0.22/doc/src/modules.dox --- old/jasper-version-2.0.21/doc/src/modules.dox 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/doc/src/modules.dox 2020-10-05 18:41:38.000000000 +0200 @@ -1,5 +1,8 @@ /*! +@defgroup init Initialization and Clean Up +@brief Initialization and Clean Up + @defgroup iostreams I/O Streams @brief I/O streams diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/src/libjasper/CMakeLists.txt new/jasper-version-2.0.22/src/libjasper/CMakeLists.txt --- old/jasper-version-2.0.21/src/libjasper/CMakeLists.txt 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/src/libjasper/CMakeLists.txt 2020-10-05 18:41:38.000000000 +0200 @@ -92,17 +92,9 @@ if (JAS_INCLUDE_JPG_CODEC) set(libjasper_jpg_sources jpg/jpg_val.c + jpg/jpg_dec.c + jpg/jpg_enc.c ) - if(JAS_HAVE_LIBJPEG) - list(APPEND libjasper_jpg_sources - jpg/jpg_dec.c - jpg/jpg_enc.c - ) - else() - list(APPEND libjasper_jpg_sources - jpg/jpg_dummy.c - ) - endif() else() set(libjasper_jpg_sources "") endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/src/libjasper/base/jas_init.c new/jasper-version-2.0.22/src/libjasper/base/jas_init.c --- old/jasper-version-2.0.21/src/libjasper/base/jas_init.c 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/src/libjasper/base/jas_init.c 2020-10-05 18:41:38.000000000 +0200 @@ -73,6 +73,7 @@ \******************************************************************************/ /* Initialize the image format table. */ +JAS_DLLEXPORT int jas_init() { jas_image_fmtops_t fmtops; @@ -159,6 +160,7 @@ return 0; } +JAS_DLLEXPORT void jas_cleanup() { jas_image_clearfmts(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/src/libjasper/include/jasper/jas_image.h new/jasper-version-2.0.22/src/libjasper/include/jasper/jas_image.h --- old/jasper-version-2.0.21/src/libjasper/include/jasper/jas_image.h 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/src/libjasper/include/jasper/jas_image.h 2020-10-05 18:41:38.000000000 +0200 @@ -86,6 +86,11 @@ extern "C" { #endif +/*! + * @addtogroup image + * @{ + */ + /******************************************************************************\ * Constants. \******************************************************************************/ @@ -123,26 +128,35 @@ * Simple types. \******************************************************************************/ -/* Image coordinate. */ +/*! +@brief Image coordinate. */ typedef int_fast32_t jas_image_coord_t; #define JAS_IMAGE_COORD_MAX INT_FAST32_MAX #define JAS_IMAGE_COORD_MIN INT_FAST32_MIN -/* Color space (e.g., RGB, YCbCr). */ +/*! +@brief Color space (e.g., RGB, YCbCr). +*/ typedef int_fast16_t jas_image_colorspc_t; -/* Component type (e.g., color, opacity). */ +/*! +@brief Component type (e.g., color, opacity). +*/ typedef int_fast32_t jas_image_cmpttype_t; -/* Component sample data format (e.g., real/integer, signedness, precision). */ +/*! +@brief Component sample data format +(e.g., real/integer, signedness, precision). +*/ typedef int_fast16_t jas_image_smpltype_t; /******************************************************************************\ * Image class and supporting classes. \******************************************************************************/ -/* Image component class. */ - +/*! +@brief Image component class. +*/ typedef struct { jas_image_coord_t tlx_; @@ -182,8 +196,9 @@ } jas_image_cmpt_t; -/* Image class. */ - +/*! +@brief Image class. +*/ typedef struct { jas_image_coord_t tlx_; @@ -218,10 +233,13 @@ } jas_image_t; -/* Component parameters class. */ -/* This data type exists solely/mainly for the purposes of the - jas_image_create function. */ +/*! +@brief Component parameters class. +@details +This data type exists solely/mainly for the purposes of the +jas_image_create function. +*/ typedef struct { jas_image_coord_t tlx; @@ -254,11 +272,14 @@ * File format related classes. \******************************************************************************/ +/*! +@brief The maximum number of image data formats supported. +*/ #define JAS_IMAGE_MAXFMTS 32 -/* The maximum number of image data formats supported. */ - -/* Image format-dependent operations. */ +/*! +@brief Image format-dependent operations. +*/ typedef struct { jas_image_t *(*decode)(jas_stream_t *in, const char *opts); @@ -272,8 +293,9 @@ } jas_image_fmtops_t; -/* Image format information. */ - +/*! +@brief Image format information. +*/ typedef struct { int id; @@ -297,56 +319,82 @@ * Image operations. \******************************************************************************/ -/* Create an image. */ +/*! +@brief Create an image. +*/ JAS_DLLEXPORT jas_image_t *jas_image_create(unsigned numcmpts, const jas_image_cmptparm_t *cmptparms, jas_clrspc_t clrspc); -/* Create an "empty" image. */ +/*! +@brief Create an "empty" image. +*/ JAS_DLLEXPORT jas_image_t *jas_image_create0(void); -/* Clone an image. */ +/*! +@brief Clone an image. +*/ JAS_DLLEXPORT jas_image_t *jas_image_copy(jas_image_t *image); -/* Deallocate any resources associated with an image. */ +/*! +@brief Deallocate any resources associated with an image. +*/ JAS_DLLEXPORT void jas_image_destroy(jas_image_t *image); -/* Get the width of the image in units of the image reference grid. */ +/*! +@brief Get the width of the image in units of the image reference grid. +*/ #define jas_image_width(image) \ ((image)->brx_ - (image)->tlx_) -/* Get the height of the image in units of the image reference grid. */ +/*! +@brief Get the height of the image in units of the image reference grid. +*/ #define jas_image_height(image) \ ((image)->bry_ - (image)->tly_) -/* Get the x-coordinate of the top-left corner of the image bounding box - on the reference grid. */ +/*! +@brief Get the x-coordinate of the top-left corner of the image bounding box +on the reference grid. +*/ #define jas_image_tlx(image) \ ((image)->tlx_) -/* Get the y-coordinate of the top-left corner of the image bounding box - on the reference grid. */ +/*! +@brief Get the y-coordinate of the top-left corner of the image bounding box + on the reference grid. +*/ #define jas_image_tly(image) \ ((image)->tly_) -/* Get the x-coordinate of the bottom-right corner of the image bounding box - on the reference grid (plus one). */ +/*! +@brief Get the x-coordinate of the bottom-right corner of the image bounding box + on the reference grid (plus one). +*/ #define jas_image_brx(image) \ ((image)->brx_) -/* Get the y-coordinate of the bottom-right corner of the image bounding box - on the reference grid (plus one). */ +/*! +@brief Get the y-coordinate of the bottom-right corner of the image bounding +box on the reference grid (plus one). +*/ #define jas_image_bry(image) \ ((image)->bry_) -/* Get the number of image components. */ +/*! +@brief Get the number of image components. +*/ #define jas_image_numcmpts(image) \ ((image)->numcmpts_) -/* Get the color model used by the image. */ +/*! +@brief Get the color model used by the image. +*/ #define jas_image_clrspc(image) \ ((image)->clrspc_) -/* Set the color model for an image. */ +/*! +@brief Set the color model for an image. +*/ #define jas_image_setclrspc(image, clrspc) \ ((image)->clrspc_ = (clrspc)) @@ -355,86 +403,131 @@ #define jas_image_setcmpttype(image, cmptno, type) \ ((image)->cmpts_[(cmptno)]->type_ = (type)) -/* Get the width of a component. */ +/*! +@brief Get the width of a component. +*/ #define jas_image_cmptwidth(image, cmptno) \ ((image)->cmpts_[cmptno]->width_) -/* Get the height of a component. */ +/*! +@brief Get the height of a component. +*/ #define jas_image_cmptheight(image, cmptno) \ ((image)->cmpts_[cmptno]->height_) -/* Get the signedness of the sample data for a component. */ +/*! +@brief Get the signedness of the sample data for a component. +*/ #define jas_image_cmptsgnd(image, cmptno) \ ((image)->cmpts_[cmptno]->sgnd_) -/* Get the precision of the sample data for a component. */ +/*! +@brief Get the precision of the sample data for a component. +*/ #define jas_image_cmptprec(image, cmptno) \ ((image)->cmpts_[cmptno]->prec_) -/* Get the horizontal subsampling factor for a component. */ +/*! +@brief Get the horizontal subsampling factor for a component. +*/ #define jas_image_cmpthstep(image, cmptno) \ ((image)->cmpts_[cmptno]->hstep_) -/* Get the vertical subsampling factor for a component. */ +/*! +@brief Get the vertical subsampling factor for a component. +*/ #define jas_image_cmptvstep(image, cmptno) \ ((image)->cmpts_[cmptno]->vstep_) -/* Get the x-coordinate of the top-left corner of a component. */ +/*! +@brief Get the x-coordinate of the top-left corner of a component. +*/ #define jas_image_cmpttlx(image, cmptno) \ ((image)->cmpts_[cmptno]->tlx_) -/* Get the y-coordinate of the top-left corner of a component. */ +/*! +@brief Get the y-coordinate of the top-left corner of a component. +*/ #define jas_image_cmpttly(image, cmptno) \ ((image)->cmpts_[cmptno]->tly_) -/* Get the x-coordinate of the bottom-right corner of a component - (plus "one"). */ +/*! +@brief Get the x-coordinate of the bottom-right corner of a component +(plus "one"). +*/ #define jas_image_cmptbrx(image, cmptno) \ ((image)->cmpts_[cmptno]->tlx_ + (image)->cmpts_[cmptno]->width_ * \ (image)->cmpts_[cmptno]->hstep_) -/* Get the y-coordinate of the bottom-right corner of a component - (plus "one"). */ +/*! +@brief Get the y-coordinate of the bottom-right corner of a component +(plus "one"). +*/ #define jas_image_cmptbry(image, cmptno) \ ((image)->cmpts_[cmptno]->tly_ + (image)->cmpts_[cmptno]->height_ * \ (image)->cmpts_[cmptno]->vstep_) -// Test if all components are specified at the same positions in space. */ +/*! +@brief Test if all components are specified at the same positions in space. +*/ JAS_ATTRIBUTE_PURE JAS_DLLEXPORT bool jas_image_cmpt_domains_same(const jas_image_t *image); -/* Get the raw size of an image (i.e., the nominal size of the image without - any compression. */ +/*! +@brief Get the raw size of an image +(i.e., the nominal size of the image without any compression. +*/ JAS_ATTRIBUTE_PURE -JAS_DLLEXPORT uint_fast32_t jas_image_rawsize(const jas_image_t *image); +JAS_DLLEXPORT +uint_fast32_t jas_image_rawsize(const jas_image_t *image); -/* Create an image from a stream in some specified format. */ -JAS_DLLEXPORT jas_image_t *jas_image_decode(jas_stream_t *in, int fmt, const char *optstr); - -/* Write an image to a stream in a specified format. */ -JAS_DLLEXPORT int jas_image_encode(jas_image_t *image, jas_stream_t *out, int fmt, +/*! +@brief Create an image from a stream in some specified format. +*/ +JAS_DLLEXPORT +jas_image_t *jas_image_decode(jas_stream_t *in, int fmt, const char *optstr); + +/*! +@brief Write an image to a stream in a specified format. +*/ +JAS_DLLEXPORT +int jas_image_encode(jas_image_t *image, jas_stream_t *out, int fmt, const char *optstr); -/* Read a rectangular region of an image component. */ -/* The position and size of the rectangular region to be read is specified -relative to the component's coordinate system. */ -JAS_DLLEXPORT int jas_image_readcmpt(jas_image_t *image, unsigned cmptno, jas_image_coord_t x, - jas_image_coord_t y, jas_image_coord_t width, jas_image_coord_t height, - jas_matrix_t *data); +/*! +@brief Read a rectangular region of an image component. -/* Write a rectangular region of an image component. */ -JAS_DLLEXPORT int jas_image_writecmpt(jas_image_t *image, unsigned cmptno, jas_image_coord_t x, - jas_image_coord_t y, jas_image_coord_t width, jas_image_coord_t height, - const jas_matrix_t *data); - -/* Delete a component from an image. */ +@details +The position and size of the rectangular region to be read is specified +relative to the component's coordinate system. +*/ +JAS_DLLEXPORT +int jas_image_readcmpt(jas_image_t *image, unsigned cmptno, + jas_image_coord_t x, jas_image_coord_t y, jas_image_coord_t width, + jas_image_coord_t height, jas_matrix_t *data); + +/*! +@brief Write a rectangular region of an image component. +*/ +JAS_DLLEXPORT +int jas_image_writecmpt(jas_image_t *image, unsigned cmptno, + jas_image_coord_t x, jas_image_coord_t y, jas_image_coord_t width, + jas_image_coord_t height, const jas_matrix_t *data); + +/*! +@brief Delete a component from an image. +*/ JAS_DLLEXPORT void jas_image_delcmpt(jas_image_t *image, unsigned cmptno); -/* Add a component to an image. */ +/*! +@brief Add a component to an image. +*/ JAS_DLLEXPORT int jas_image_addcmpt(jas_image_t *image, int cmptno, const jas_image_cmptparm_t *cmptparm); -/* Copy a component from one image to another. */ +/*! +@brief Copy a component from one image to another. +*/ JAS_DLLEXPORT int jas_image_copycmpt(jas_image_t *dstimage, unsigned dstcmptno, jas_image_t *srcimage, unsigned srccmptno); @@ -469,68 +562,144 @@ JAS_IMAGE_CDT_SETPREC(image->cmpts_[cmptno]->prec_); } -JAS_DLLEXPORT int jas_image_depalettize(jas_image_t *image, unsigned cmptno, unsigned numlutents, - const int_fast32_t *lutents, unsigned dtype, unsigned newcmptno); - -JAS_DLLEXPORT int jas_image_readcmptsample(jas_image_t *image, unsigned cmptno, unsigned x, unsigned y); -JAS_DLLEXPORT void jas_image_writecmptsample(jas_image_t *image, unsigned cmptno, unsigned x, unsigned y, - int_fast32_t v); - +/*! +@brief Depalettize an image +*/ +JAS_DLLEXPORT +int jas_image_depalettize(jas_image_t *image, unsigned cmptno, + unsigned numlutents, const int_fast32_t *lutents, unsigned dtype, + unsigned newcmptno); + +/*! +@brief Read a component sample for an image. +*/ +JAS_DLLEXPORT +int jas_image_readcmptsample(jas_image_t *image, unsigned cmptno, unsigned x, + unsigned y); + +/*! +@brief Write a component sample for an image. +*/ +JAS_DLLEXPORT +void jas_image_writecmptsample(jas_image_t *image, unsigned cmptno, + unsigned x, unsigned y, int_fast32_t v); + +/*! +@brief Get an image component by its type. +*/ JAS_ATTRIBUTE_PURE -JAS_DLLEXPORT int jas_image_getcmptbytype(const jas_image_t *image, jas_image_cmpttype_t ctype); +JAS_DLLEXPORT +int jas_image_getcmptbytype(const jas_image_t *image, jas_image_cmpttype_t ctype); /******************************************************************************\ * Image format-related operations. \******************************************************************************/ -/* Clear the table of image formats. */ -JAS_DLLEXPORT void jas_image_clearfmts(void); - -/* Add entry to table of image formats. */ -JAS_DLLEXPORT int jas_image_addfmt(int id, const char *name, const char *ext, const char *desc, - const jas_image_fmtops_t *ops); - -/* Get the ID for the image format with the specified name. */ +/*! +@brief Clear the table of image formats. +*/ +JAS_DLLEXPORT +void jas_image_clearfmts(void); + +/*! +@brief Add entry to table of image formats. +*/ +JAS_DLLEXPORT +int jas_image_addfmt(int id, const char *name, const char *ext, + const char *desc, const jas_image_fmtops_t *ops); + +/*! +@brief Get the ID for the image format with the specified name. +*/ JAS_ATTRIBUTE_PURE -JAS_DLLEXPORT int jas_image_strtofmt(const char *s); +JAS_DLLEXPORT +int jas_image_strtofmt(const char *s); -/* Get the name of the image format with the specified ID. */ +/*! +@brief Get the name of the image format with the specified ID. +*/ JAS_ATTRIBUTE_CONST -JAS_DLLEXPORT const char *jas_image_fmttostr(int fmt); +JAS_DLLEXPORT +const char *jas_image_fmttostr(int fmt); -/* Lookup image format information by the format ID. */ +/*! +@brief Lookup image format information by the format ID. +*/ JAS_ATTRIBUTE_CONST -JAS_DLLEXPORT const jas_image_fmtinfo_t *jas_image_lookupfmtbyid(int id); +JAS_DLLEXPORT +const jas_image_fmtinfo_t *jas_image_lookupfmtbyid(int id); -/* Lookup image format information by the format name. */ +/*! +@brief Lookup image format information by the format name. +*/ JAS_ATTRIBUTE_PURE -JAS_DLLEXPORT const jas_image_fmtinfo_t *jas_image_lookupfmtbyname(const char *name); +JAS_DLLEXPORT +const jas_image_fmtinfo_t *jas_image_lookupfmtbyname(const char *name); -/* Guess the format of an image file based on its name. */ +/*! +@brief Guess the format of an image file based on its name. +*/ JAS_ATTRIBUTE_PURE -JAS_DLLEXPORT int jas_image_fmtfromname(const char *filename); +JAS_DLLEXPORT +int jas_image_fmtfromname(const char *filename); -/* Get the format of image data in a stream. */ +/*! +@brief Get the format of image data in a stream. +*/ JAS_ATTRIBUTE_PURE -JAS_DLLEXPORT int jas_image_getfmt(jas_stream_t *in); +JAS_DLLEXPORT +int jas_image_getfmt(jas_stream_t *in); +/*! +@brief Get the color management profile of an image. +*/ #define jas_image_cmprof(image) ((image)->cmprof_) + +/*! +@brief ??? +*/ JAS_ATTRIBUTE_PURE -JAS_DLLEXPORT int jas_image_ishomosamp(const jas_image_t *image); -JAS_DLLEXPORT int jas_image_sampcmpt(jas_image_t *image, unsigned cmptno, unsigned newcmptno, +JAS_DLLEXPORT +int jas_image_ishomosamp(const jas_image_t *image); + +/*! +@brief ??? +*/ +JAS_DLLEXPORT +int jas_image_sampcmpt(jas_image_t *image, unsigned cmptno, unsigned newcmptno, jas_image_coord_t ho, jas_image_coord_t vo, jas_image_coord_t hs, jas_image_coord_t vs, int sgnd, unsigned prec); + +/*! +@brief Write sample data in a component of an image. +*/ JAS_DLLEXPORT int jas_image_writecmpt2(jas_image_t *image, unsigned cmptno, jas_image_coord_t x, jas_image_coord_t y, jas_image_coord_t width, jas_image_coord_t height, const long *buf); -JAS_DLLEXPORT int jas_image_readcmpt2(jas_image_t *image, unsigned cmptno, jas_image_coord_t x, - jas_image_coord_t y, jas_image_coord_t width, jas_image_coord_t height, - long *buf); +/*! +@brief Read sample data in a component of an image. +*/ +JAS_DLLEXPORT +int jas_image_readcmpt2(jas_image_t *image, unsigned cmptno, + jas_image_coord_t x, jas_image_coord_t y, jas_image_coord_t width, + jas_image_coord_t height, long *buf); + +/*! +@brief Set the color management profile for an image. +*/ #define jas_image_setcmprof(image, cmprof) ((image)->cmprof_ = cmprof) + +/*! +@brief Change the color space for an image. +*/ JAS_DLLEXPORT jas_image_t *jas_image_chclrspc(jas_image_t *image, const jas_cmprof_t *outprof, jas_cmxform_intent_t intent); + +/*! +@brief Dump the information for an image (for debugging). +*/ JAS_DLLEXPORT void jas_image_dump(jas_image_t *image, FILE *out); /******************************************************************************\ @@ -593,6 +762,10 @@ JAS_DLLEXPORT int pgx_validate(jas_stream_t *in); #endif +/*! + * @} + */ + #ifdef __cplusplus } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/src/libjasper/include/jasper/jas_init.h new/jasper-version-2.0.22/src/libjasper/include/jasper/jas_init.h --- old/jasper-version-2.0.21/src/libjasper/include/jasper/jas_init.h 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/src/libjasper/include/jasper/jas_init.h 2020-10-05 18:41:38.000000000 +0200 @@ -74,13 +74,41 @@ extern "C" { #endif +/*! + * @addtogroup init + * @{ + */ + /******************************************************************************\ * Functions. \******************************************************************************/ -JAS_DLLEXPORT int jas_init(void); +/*! +@brief Initialize the JasPer library. + +@details +This function must be called before any other code in the JasPer library +is invoked. +This function registers the codecs that are enabled by default. + +@returns +If successful, zero is returned; otherwise, a nonzero value is returned. +*/ +JAS_DLLEXPORT +int jas_init(void); + +/*! +@brief Perform any clean up for the JasPer library. + +@details +This function performs any clean up for the JasPer library. +*/ +JAS_DLLEXPORT +void jas_cleanup(void); -JAS_DLLEXPORT void jas_cleanup(void); +/*! + * @} + */ #ifdef __cplusplus } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/src/libjasper/jpg/jpg_dummy.c new/jasper-version-2.0.22/src/libjasper/jpg/jpg_dummy.c --- old/jasper-version-2.0.21/src/libjasper/jpg/jpg_dummy.c 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/src/libjasper/jpg/jpg_dummy.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,117 +0,0 @@ -/* - * Copyright (c) 2001-2002 Michael David Adams. - * All rights reserved. - */ - -/* __START_OF_JASPER_LICENSE__ - * - * JasPer License Version 2.0 - * - * Copyright (c) 2001-2006 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. - * - * __END_OF_JASPER_LICENSE__ - */ - -/******************************************************************************\ -* Includes. -\******************************************************************************/ - -#include "jasper/jas_tvp.h" -#include "jasper/jas_stream.h" -#include "jasper/jas_image.h" -#include "jasper/jas_string.h" -#include "jasper/jas_debug.h" - -#include "jpg_cod.h" - -#include <assert.h> - -/******************************************************************************\ -* -\******************************************************************************/ - -#define JPG_IJGINFO \ - "The source code for the IJG JPEG library can be downloaded from:\n" \ - " http://www.ijg.org\n" - -/******************************************************************************\ -* Code for load operation. -\******************************************************************************/ - -/* Load an image from a stream in the JPG format. */ - -jas_image_t *jpg_decode(jas_stream_t *in, const char *optstr) -{ - (void)in; - (void)optstr; - - jas_eprintf("error: JPEG decoder not available\n"); - jas_eprintf("The IJG JPEG library is required for JPEG decoding support.\n"); - jas_eprintf("%s", JPG_IJGINFO); - return 0; -} - -/******************************************************************************\ -* Code for save operation. -\******************************************************************************/ - -/* Save an image to a stream in the the JPG format. */ - -int jpg_encode(jas_image_t *image, jas_stream_t *out, const char *optstr) -{ - (void)image; - (void)out; - (void)optstr; - - jas_eprintf("error: JPEG encoder not available\n"); - jas_eprintf("The IJG JPEG library is required for JPEG encoding support.\n"); - jas_eprintf("%s", JPG_IJGINFO); - return -1; -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/test/bin/run_codec_test new/jasper-version-2.0.22/test/bin/run_codec_test --- old/jasper-version-2.0.21/test/bin/run_codec_test 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/test/bin/run_codec_test 2020-10-05 18:41:38.000000000 +0200 @@ -1,4 +1,4 @@ -#! /bin/bash +#! /usr/bin/env bash # Copyright (c) 2016 Michael David Adams cmd_dir=$(dirname "$0") || exit 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/test/bin/run_test_1 new/jasper-version-2.0.22/test/bin/run_test_1 --- old/jasper-version-2.0.21/test/bin/run_test_1 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/test/bin/run_test_1 2020-10-05 18:41:38.000000000 +0200 @@ -1,4 +1,4 @@ -#! /bin/bash +#! /usr/bin/env bash # Copyright (c) 2016 Michael David Adams ################################################################################ @@ -25,6 +25,8 @@ ################################################################################ +internal_testing_mode="${JAS_INTERNAL_TESTING_MODE:-0}" + verbose=0 if [ $# -ge 1 ]; then verbose=1 @@ -33,10 +35,34 @@ ################################################################################ # Decoder tests for valid data. -good_list=("$data_dir"/test/good/*.*) +good_list=() +for file in "$data_dir"/test/good/*.*; do + skip=0 + if [ "$internal_testing_mode" -eq 0 ]; then + case "$file" in + *.mif) + skip=1;; + esac + fi + if [ "$skip" -eq 0 ]; then + good_list+=("$file") + fi +done # Decoder tests for invalid data. -bad_list=("$data_dir"/test/bad/*.*) +bad_list=() +for file in "$data_dir"/test/bad/*.*; do + skip=0 + if [ "$internal_testing_mode" -eq 0 ]; then + case "$file" in + *.mif) + skip=1;; + esac + fi + if [ "$skip" -eq 0 ]; then + bad_list+=("$file") + fi +done # Encoder tests that should fail. enc_list=() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/test/bin/run_test_2 new/jasper-version-2.0.22/test/bin/run_test_2 --- old/jasper-version-2.0.21/test/bin/run_test_2 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/test/bin/run_test_2 2020-10-05 18:41:38.000000000 +0200 @@ -1,4 +1,4 @@ -#! /bin/bash +#! /usr/bin/env bash # Copyright (c) 2016 Michael David Adams ################################################################################ @@ -25,6 +25,8 @@ imgcmp="$abs_top_builddir/src/appl/imgcmp" jiv="$abs_top_builddir/src/appl/jiv" +internal_testing_mode="${JAS_INTERNAL_TESTING_MODE:-0}" + debug=0 image_path="$data_dir/images" @@ -52,7 +54,9 @@ image_formats+=(pgx) image_formats+=(pnm) image_formats+=(ras) -image_formats+=(mif) +if [ "$internal_testing_mode" -eq 1 ]; then + image_formats+=(mif) +fi # NOTE: Since the test requires lossless coding, we cannot use JPEG format. #image_formats+=(jpg) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/test/bin/run_test_3 new/jasper-version-2.0.22/test/bin/run_test_3 --- old/jasper-version-2.0.21/test/bin/run_test_3 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/test/bin/run_test_3 2020-10-05 18:41:38.000000000 +0200 @@ -1,4 +1,4 @@ -#! /bin/bash +#! /usr/bin/env bash # Copyright (c) 2016 Michael David Adams ################################################################################ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jasper-version-2.0.21/test/bin/run_test_4 new/jasper-version-2.0.22/test/bin/run_test_4 --- old/jasper-version-2.0.21/test/bin/run_test_4 2020-09-20 20:55:35.000000000 +0200 +++ new/jasper-version-2.0.22/test/bin/run_test_4 2020-10-05 18:41:38.000000000 +0200 @@ -1,4 +1,4 @@ -#! /bin/bash +#! /usr/bin/env bash # Copyright (c) 2016 Michael David Adams ################################################################################