diff options
Diffstat (limited to 'converter/other/jpeg2000')
-rw-r--r-- | converter/other/jpeg2000/Makefile | 8 | ||||
-rw-r--r-- | converter/other/jpeg2000/jpeg2ktopam.c | 1 | ||||
-rw-r--r-- | converter/other/jpeg2000/libjasper/Makefile | 4 | ||||
-rw-r--r-- | converter/other/jpeg2000/libjasper/base/Makefile | 4 | ||||
-rw-r--r-- | converter/other/jpeg2000/libjasper/base/jas_stream.c | 71 | ||||
-rw-r--r-- | converter/other/jpeg2000/libjasper/common.mk (renamed from converter/other/jpeg2000/libjasper/Makefile.common) | 7 | ||||
-rw-r--r-- | converter/other/jpeg2000/libjasper/include/jasper/jas_types.h.orig | 228 | ||||
-rw-r--r-- | converter/other/jpeg2000/libjasper/jp2/Makefile | 4 | ||||
-rw-r--r-- | converter/other/jpeg2000/libjasper/jpc/Makefile | 4 | ||||
-rw-r--r-- | converter/other/jpeg2000/libjasper/jpc/jpc_math.c | 128 | ||||
-rw-r--r-- | converter/other/jpeg2000/libjasper/jpc/jpc_qmfb.c | 34 | ||||
-rw-r--r-- | converter/other/jpeg2000/pamtojpeg2k.c | 1 |
12 files changed, 333 insertions, 161 deletions
diff --git a/converter/other/jpeg2000/Makefile b/converter/other/jpeg2000/Makefile index bf3f5e4a..f4fee87f 100644 --- a/converter/other/jpeg2000/Makefile +++ b/converter/other/jpeg2000/Makefile @@ -7,11 +7,11 @@ VPATH=.:$(SRCDIR)/$(SUBDIR) SUBDIRS = libjasper -include $(BUILDDIR)/Makefile.config +include $(BUILDDIR)/config.mk -INCLUDES = +EXTERN_INCLUDES = ifneq ($(JASPERHDR_DIR),NONE) - INCLUDES += -I$(JASPERHDR_DIR) + EXTERN_INCLUDES += -I$(JASPERHDR_DIR) endif @@ -55,7 +55,7 @@ MERGEBINARIES = $(BINARIES) .PHONY: all all: $(BINARIES) -include $(SRCDIR)/Makefile.common +include $(SRCDIR)/common.mk LIBOPTS = $(shell $(LIBOPT) $(NETPBMLIB) $(JASPERLIB_USE)) diff --git a/converter/other/jpeg2000/jpeg2ktopam.c b/converter/other/jpeg2000/jpeg2ktopam.c index e11e9fb4..e6db7658 100644 --- a/converter/other/jpeg2000/jpeg2ktopam.c +++ b/converter/other/jpeg2000/jpeg2ktopam.c @@ -13,6 +13,7 @@ #define _XOPEN_SOURCE 600 #include <string.h> +#include "pm_c_util.h" #include "pam.h" #include "shhopt.h" #include "nstring.h" diff --git a/converter/other/jpeg2000/libjasper/Makefile b/converter/other/jpeg2000/libjasper/Makefile index 965f15ad..ddbd148a 100644 --- a/converter/other/jpeg2000/libjasper/Makefile +++ b/converter/other/jpeg2000/libjasper/Makefile @@ -5,7 +5,7 @@ endif SUBDIR = converter/other/jpeg2000/libjasper VPATH=.:$(SRCDIR)/$(SUBDIR) -include $(BUILDDIR)/Makefile.config +include $(BUILDDIR)/config.mk SUBDIRS = base jp2 jpc LIB_OBJECTS = @@ -17,7 +17,7 @@ JASPERSRCDIR = $(SRCDIR)/$(SUBDIR) all: libjasper.a -include $(SRCDIR)/$(SUBDIR)/Makefile.common +include $(SRCDIR)/$(SUBDIR)/common.mk # We cheat a bit here -- the real dependencies are all the .o files listed # in the part list, but since we don't know what those are, we just do a diff --git a/converter/other/jpeg2000/libjasper/base/Makefile b/converter/other/jpeg2000/libjasper/base/Makefile index 0ee65b5e..ad84f043 100644 --- a/converter/other/jpeg2000/libjasper/base/Makefile +++ b/converter/other/jpeg2000/libjasper/base/Makefile @@ -7,7 +7,7 @@ VPATH=.:$(SRCDIR)/$(SUBDIR) JASPERSRCDIR=$(SRCDIR)/$(SUBDIR)/.. -include $(BUILDDIR)/Makefile.config +include $(BUILDDIR)/config.mk LIB_OBJECTS = jas_debug.o jas_getopt.o jas_image.o jas_init.o \ jas_malloc.o jas_seq.o jas_stream.o jas_string.o \ @@ -17,5 +17,5 @@ MERGE_OBJECTS = all: partlist $(LIB_OBJECTS) -include $(JASPERSRCDIR)/Makefile.common +include $(JASPERSRCDIR)/common.mk diff --git a/converter/other/jpeg2000/libjasper/base/jas_stream.c b/converter/other/jpeg2000/libjasper/base/jas_stream.c index f450aabf..4c84e6c2 100644 --- a/converter/other/jpeg2000/libjasper/base/jas_stream.c +++ b/converter/other/jpeg2000/libjasper/base/jas_stream.c @@ -130,6 +130,8 @@ #include <io.h> #endif +#include "pm.h" + #include "jasper/jas_types.h" #include "jasper/jas_stream.h" #include "jasper/jas_malloc.h" @@ -380,51 +382,6 @@ jas_stream_t *jas_stream_freopen(const char *path, const char *mode, FILE *fp) } -static int -tmpfilex(void) { -/*---------------------------------------------------------------------------- - This is a copy of pm_tmpfile() without the libnetpbm dependencies - and returning a file descriptor instead of stream. ------------------------------------------------------------------------------*/ - const char libname[] = "jasper"; - - int fd; - char buf[FILENAME_MAX]; - const char * tbuf; - unsigned int fnamelen; - - fnamelen = strlen(libname) + 10; /* "/" + "_XXXXXX\0" */ - - tbuf = getenv("TMPDIR"); - - if ((tbuf != NULL) && (strlen(tbuf) > FILENAME_MAX - fnamelen)) - /* length of TMPDIR value too big for buf */ - tbuf = NULL; - - buf[FILENAME_MAX - fnamelen -1] = 0; - - if ((tbuf == NULL) || (strlen(tbuf) == 0)) - /* environment variable not suitable to construct file name. - Use default. - */ - strncpy(buf, TMPDIR, sizeof(buf) - fnamelen); - else - strncpy(buf, tbuf, sizeof(buf) - fnamelen); - - if (buf[strlen(buf) - 1] != '/') - strcat (buf, "/"); - - strcat(buf, libname); - strcat(buf, "_XXXXXX"); - - fd = mkstemp(buf); - - if (fd >= 0) - unlink(buf); - - return fd; -} - jas_stream_t *jas_stream_tmpfile() { jas_stream_t *stream; @@ -444,13 +401,23 @@ jas_stream_t *jas_stream_tmpfile() return 0; } stream->obj_ = obj; - - /* This is a Netpbm enhancement. Original Jasper library uses - tmpnam(), which is unsafe. - */ - if ((*obj = tmpfilex()) < 0) { - jas_stream_destroy(stream); - return 0; + + { + /* This is a Netpbm enhancement. Original Jasper library uses + tmpnam(), which is unsafe. + */ + jmp_buf jmpbuf; + int rc; + + rc = setjmp(jmpbuf); + if (rc == 0) { + pm_setjmpbuf(&jmpbuf); + *obj = pm_tmpfile_fd(); + } else { + /* pm_tmpfile_fd() threw an error */ + jas_stream_destroy(stream); + return 0; + } } /* Use full buffering. */ jas_stream_initbuf(stream, JAS_STREAM_FULLBUF, 0, 0); diff --git a/converter/other/jpeg2000/libjasper/Makefile.common b/converter/other/jpeg2000/libjasper/common.mk index 525e9c2d..687a9f3f 100644 --- a/converter/other/jpeg2000/libjasper/Makefile.common +++ b/converter/other/jpeg2000/libjasper/common.mk @@ -1,4 +1,3 @@ -# -*-makefile-*- <-- an Emacs control # This is common rules for the libjasper subdirectories. # # Set the following variables before including this: @@ -19,14 +18,14 @@ $(SUBDIRS:%=%/partlist): %/partlist: $(CURDIR)/% $(MAKE) -C $(dir $@) -f $(SRCDIR)/$(SUBDIR)/$(dir $@)Makefile \ SRCDIR=$(SRCDIR) BUILDDIR=$(BUILDDIR) $(notdir $@) -INCLUDES = -I$(JASPERSRCDIR)/include -Iimportinc +include $(SRCDIR)/common.mk -include $(SRCDIR)/Makefile.common +INCLUDES = -I$(JASPERSRCDIR)/include -Iimportinc DEFS = -DHAVE_LIBM=1 -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STDDEF_H=1 -DEXCLUDE_BMP_SUPPORT -DEXCLUDE_RAS_SUPPORT -DEXCLUDE_MIF_SUPPORT -DEXCLUDE_JPG_SUPPORT -DEXCLUDE_PGX_SUPPORT -DEXCLUDE_PNM_SUPPORT $(LIB_OBJECTS):%.o:%.c - $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(CADD) $< + $(CC) -c $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(CADD) $< $(LIB_OBJECTS): importinc diff --git a/converter/other/jpeg2000/libjasper/include/jasper/jas_types.h.orig b/converter/other/jpeg2000/libjasper/include/jasper/jas_types.h.orig new file mode 100644 index 00000000..10c1152d --- /dev/null +++ b/converter/other/jpeg2000/libjasper/include/jasper/jas_types.h.orig @@ -0,0 +1,228 @@ +/* + * Copyright (c) 1999-2000 Image Power, Inc. and the University of + * British Columbia. + * Copyright (c) 2001-2002 Michael David Adams. + * All rights reserved. + */ + +/* __START_OF_JASPER_LICENSE__ + * + * JasPer Software License + * + * IMAGE POWER JPEG-2000 PUBLIC LICENSE + * ************************************ + * + * GRANT: + * + * Permission is hereby granted, free of charge, to any person (the "User") + * obtaining a copy of this software and associated documentation, to deal + * in the JasPer Software without restriction, including without limitation + * the right to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the JasPer Software (in source and binary forms), + * and to permit persons to whom the JasPer Software is furnished to do so, + * provided further that the License Conditions below are met. + * + * License Conditions + * ****************** + * + * A. Redistributions of source code must retain the above copyright notice, + * and this list of conditions, and the following disclaimer. + * + * B. Redistributions in binary form must reproduce the above copyright + * notice, and this list of conditions, and the following disclaimer in + * the documentation and/or other materials provided with the distribution. + * + * C. Neither the name of Image Power, Inc. nor any other contributor + * (including, but not limited to, the University of British Columbia and + * Michael David Adams) may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * D. User agrees that it shall not commence any action against Image Power, + * Inc., the University of British Columbia, Michael David Adams, or any + * other contributors (collectively "Licensors") for infringement of any + * intellectual property rights ("IPR") held by the User in respect of any + * technology that User owns or has a right to license or sublicense and + * which is an element required in order to claim compliance with ISO/IEC + * 15444-1 (i.e., JPEG-2000 Part 1). "IPR" means all intellectual property + * rights worldwide arising under statutory or common law, and whether + * or not perfected, including, without limitation, all (i) patents and + * patent applications owned or licensable by User; (ii) rights associated + * with works of authorship including copyrights, copyright applications, + * copyright registrations, mask work rights, mask work applications, + * mask work registrations; (iii) rights relating to the protection of + * trade secrets and confidential information; (iv) any right analogous + * to those set forth in subsections (i), (ii), or (iii) and any other + * proprietary rights relating to intangible property (other than trademark, + * trade dress, or service mark rights); and (v) divisions, continuations, + * renewals, reissues and extensions of the foregoing (as and to the extent + * applicable) now existing, hereafter filed, issued or acquired. + * + * E. If User commences an infringement action against any Licensor(s) then + * such Licensor(s) shall have the right to terminate User's license and + * all sublicenses that have been granted hereunder by User to other parties. + * + * F. This software is for use only in hardware or software products that + * are compliant with ISO/IEC 15444-1 (i.e., JPEG-2000 Part 1). No license + * or right to this Software is granted for products that do not comply + * with ISO/IEC 15444-1. The JPEG-2000 Part 1 standard can be purchased + * from the ISO. + * + * THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. + * NO USE OF THE JASPER SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER + * THIS DISCLAIMER. THE JASPER SOFTWARE IS PROVIDED BY THE LICENSORS AND + * CONTRIBUTORS UNDER THIS LICENSE ON AN ``AS-IS'' BASIS, WITHOUT WARRANTY + * OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, + * WARRANTIES THAT THE JASPER SOFTWARE IS FREE OF DEFECTS, IS MERCHANTABLE, + * IS FIT FOR A PARTICULAR PURPOSE OR IS NON-INFRINGING. THOSE INTENDING + * TO USE THE JASPER SOFTWARE OR MODIFICATIONS THEREOF FOR USE IN HARDWARE + * OR SOFTWARE PRODUCTS ARE ADVISED THAT THEIR USE MAY INFRINGE EXISTING + * PATENTS, COPYRIGHTS, TRADEMARKS, OR OTHER INTELLECTUAL PROPERTY RIGHTS. + * THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE JASPER SOFTWARE + * IS WITH THE USER. SHOULD ANY PART OF THE JASPER SOFTWARE PROVE DEFECTIVE + * IN ANY RESPECT, THE USER (AND NOT THE INITIAL DEVELOPERS, THE UNIVERSITY + * OF BRITISH COLUMBIA, IMAGE POWER, INC., MICHAEL DAVID ADAMS, OR ANY + * OTHER CONTRIBUTOR) SHALL ASSUME THE COST OF ANY NECESSARY SERVICING, + * REPAIR OR CORRECTION. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, + * WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE + * INITIAL DEVELOPER, THE UNIVERSITY OF BRITISH COLUMBIA, IMAGE POWER, INC., + * MICHAEL DAVID ADAMS, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE + * JASPER SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO + * THE USER OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR + * CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, + * DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR + * MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF + * SUCH PARTY HAD BEEN INFORMED, OR OUGHT TO HAVE KNOWN, OF THE POSSIBILITY + * OF SUCH DAMAGES. THE JASPER SOFTWARE AND UNDERLYING TECHNOLOGY ARE NOT + * FAULT-TOLERANT AND ARE NOT DESIGNED, MANUFACTURED OR INTENDED FOR USE OR + * RESALE AS ON-LINE CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING + * FAIL-SAFE PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, + * AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT + * LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE + * JASPER SOFTWARE OR UNDERLYING TECHNOLOGY OR PRODUCT COULD LEAD DIRECTLY + * TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE + * ("HIGH RISK ACTIVITIES"). LICENSOR SPECIFICALLY DISCLAIMS ANY EXPRESS + * OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES. USER WILL NOT + * KNOWINGLY USE, DISTRIBUTE OR RESELL THE JASPER SOFTWARE OR UNDERLYING + * TECHNOLOGY OR PRODUCTS FOR HIGH RISK ACTIVITIES AND WILL ENSURE THAT ITS + * CUSTOMERS AND END-USERS OF ITS PRODUCTS ARE PROVIDED WITH A COPY OF THE + * NOTICE SPECIFIED IN THIS SECTION. + * + * __END_OF_JASPER_LICENSE__ + */ + +/* + * Primitive Types + * + * $Id$ + */ + +#ifndef JAS_TYPES_H +#define JAS_TYPES_H + +#if defined(HAVE_STDLIB_H) +#include <stdlib.h> +#endif +#if defined(HAVE_STDDEF_H) +#include <stddef.h> +#endif +#if defined(HAVE_SYS_TYPES_H) +#include <sys/types.h> +#endif + +#if defined(HAVE_STDBOOL_H) +/* + * The C language implementation does correctly provide the standard header + * file "stdbool.h". + */ +#include <stdbool.h> +#else + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * The C language implementation does not provide the standard header file + * "stdbool.h" as required by ISO/IEC 9899:1999. Try to compensate for this + * braindamage below. + */ +#if !defined(bool) +#define bool int +#endif +#if !defined(true) +#define true 1 +#endif +#if !defined(false) +#define false 0 +#endif + +#ifdef __cplusplus +} +#endif + +/* pm_config.h defines the FAST integer types if possible (typically by + including <inttypes.h>. If not, the following try to take care + of it. +*/ +/**********/ +#if !defined(INT_FAST8_MAX) +typedef signed char int_fast8_t; +#define INT_FAST8_MIN (-127) +#define INT_FAST8_MAX 128 +#endif +/**********/ +#if !defined(UINT_FAST8_MAX) +typedef unsigned char uint_fast8_t; +#define UINT_FAST8_MAX 255 +#endif +/**********/ +#if !defined(INT_FAST16_MAX) +typedef short int_fast16_t; +#define INT_FAST16_MIN SHRT_MIN +#define INT_FAST16_MAX SHRT_MAX +#endif +/**********/ +#if !defined(UINT_FAST16_MAX) +typedef unsigned short uint_fast16_t; +#define UINT_FAST16_MAX USHRT_MAX +#endif +/**********/ +#if !defined(INT_FAST32_MAX) +typedef int int_fast32_t; +#define INT_FAST32_MIN INT_MIN +#define INT_FAST32_MAX INT_MAX +#endif +/**********/ +#if !defined(UINT_FAST32_MAX) +typedef unsigned int uint_fast32_t; +#define UINT_FAST32_MAX UINT_MAX +#endif +/**********/ +#if !defined(INT_FAST64_MAX) +typedef int int_fast64_t; +#define INT_FAST64_MIN LLONG_MIN +#define INT_FAST64_MAX LLONG_MAX +#endif +/**********/ +#if !defined(UINT_FAST64_MAX) +typedef unsigned int uint_fast64_t; +#define UINT_FAST64_MAX ULLONG_MAX +#endif +/**********/ +#endif + +/* The below macro is intended to be used for type casts. By using this + macro, type casts can be easily located in the source code with + tools like "grep". */ +#define JAS_CAST(t, e) \ + ((t) (e)) + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/converter/other/jpeg2000/libjasper/jp2/Makefile b/converter/other/jpeg2000/libjasper/jp2/Makefile index 254b7f56..65838cc2 100644 --- a/converter/other/jpeg2000/libjasper/jp2/Makefile +++ b/converter/other/jpeg2000/libjasper/jp2/Makefile @@ -7,7 +7,7 @@ VPATH=.:$(SRCDIR)/$(SUBDIR) JASPERSRCDIR=$(SRCDIR)/$(SUBDIR)/.. -include $(BUILDDIR)/Makefile.config +include $(BUILDDIR)/config.mk LIB_OBJECTS = jp2_cod.o jp2_dec.o jp2_enc.o @@ -15,5 +15,5 @@ MERGE_OBJECTS = all: partlist $(LIB_OBJECTS) -include $(JASPERSRCDIR)/Makefile.common +include $(JASPERSRCDIR)/common.mk diff --git a/converter/other/jpeg2000/libjasper/jpc/Makefile b/converter/other/jpeg2000/libjasper/jpc/Makefile index e176bd48..ffc4c64f 100644 --- a/converter/other/jpeg2000/libjasper/jpc/Makefile +++ b/converter/other/jpeg2000/libjasper/jpc/Makefile @@ -7,7 +7,7 @@ VPATH=.:$(SRCDIR)/$(SUBDIR) JASPERSRCDIR=$(SRCDIR)/$(SUBDIR)/.. -include $(BUILDDIR)/Makefile.config +include $(BUILDDIR)/config.mk LIB_OBJECTS = jpc_bs.o jpc_cs.o jpc_dec.o jpc_enc.o \ jpc_math.o jpc_mct.o jpc_mqcod.o jpc_mqdec.o jpc_mqenc.o \ @@ -18,5 +18,5 @@ MERGE_OBJECTS = all: partlist $(LIB_OBJECTS) -include $(JASPERSRCDIR)/Makefile.common +include $(JASPERSRCDIR)/common.mk diff --git a/converter/other/jpeg2000/libjasper/jpc/jpc_math.c b/converter/other/jpeg2000/libjasper/jpc/jpc_math.c index d860847d..72e3ac37 100644 --- a/converter/other/jpeg2000/libjasper/jpc/jpc_math.c +++ b/converter/other/jpeg2000/libjasper/jpc/jpc_math.c @@ -1,3 +1,72 @@ +#include <assert.h> +#include <stdio.h> +#include <string.h> +#include <math.h> +#include <stdlib.h> +#include <stdarg.h> + +#include "jpc_math.h" + + + +/* Calculate the integer quantity floor(log2(x)), where x is a positive + integer. */ +int +jpc_floorlog2(int const arg) { + + int y; + int x; + + assert(arg > 0); + + y = 0; + x = arg; + while (x > 1) { + x >>= 1; + ++y; + } + return y; +} + + + +/* + jpc_floorlog2() and jpc_firstone() do the same thing. + The only difference is how input 0 is handled. + +n : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 +ceil(log2(n)) : x 0 1 2 2 3 3 3 3 4 4 4 4 4 4 4 4 5 5 5 +floor(log2(n)) : x 0 1 1 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 +31-__builtin_clz(n): x 0 1 1 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 +jpc_floorlog2(n) : x 0 1 1 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 +jpc_firstone(n) :-1 0 1 1 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 + +*/ + + + +int +jpc_firstone(int const arg) { +/*---------------------------------------------------------------------------- + Calculate the bit position of the first leading one in a nonnegative + integer. +-----------------------------------------------------------------------------*/ + int n; + int x; + + assert(arg >= 0); + + n = -1; + x = arg; + while (x > 0) { + x >>= 1; + ++n; + } + return n; +} + + + /* * Copyright (c) 1999-2000 Image Power, Inc. and the University of * British Columbia. @@ -109,62 +178,3 @@ * * __END_OF_JASPER_LICENSE__ */ - -/* - * Math Library - * - * $Id$ - */ - -/******************************************************************************\ -* Includes -\******************************************************************************/ - -#include <assert.h> -#include <stdio.h> -#include <string.h> -#include <math.h> -#include <stdlib.h> -#include <stdarg.h> - -#include "jpc_math.h" - -/******************************************************************************\ -* Miscellaneous Functions -\******************************************************************************/ - -/* Calculate the integer quantity floor(log2(x)), where x is a positive - integer. */ -int jpc_floorlog2(int x) -{ - int y; - - /* The argument must be positive. */ - assert(x > 0); - - y = 0; - while (x > 1) { - x >>= 1; - ++y; - } - return y; -} - -/* Calculate the bit position of the first leading one in a nonnegative - integer. */ -/* This function is the basically the same as ceillog2(x), except that the - allowable range for x is slightly different. */ -int jpc_firstone(int x) -{ - int n; - - /* The argument must be nonnegative. */ - assert(x >= 0); - - n = -1; - while (x > 0) { - x >>= 1; - ++n; - } - return n; -} diff --git a/converter/other/jpeg2000/libjasper/jpc/jpc_qmfb.c b/converter/other/jpeg2000/libjasper/jpc/jpc_qmfb.c index 1ed0dd90..1d41d5c5 100644 --- a/converter/other/jpeg2000/libjasper/jpc/jpc_qmfb.c +++ b/converter/other/jpeg2000/libjasper/jpc/jpc_qmfb.c @@ -205,16 +205,6 @@ static void jpc_qmfb1d_split(jpc_fix_t *startptr, int startind, int endind, llen = lendind - lstartind; hlen = hendind - hstartind; -#if defined(WIN32) - /* Get a buffer. */ - if (bufsize > QMFB_SPLITBUFSIZE) { - if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) { - /* We have no choice but to commit suicide in this case. */ - abort(); - } - } -#endif - if (hstartind < lstartind) { /* The first sample in the input signal is to appear in the highpass subband signal. */ @@ -294,13 +284,6 @@ static void jpc_qmfb1d_split(jpc_fix_t *startptr, int startind, int endind, hptr -= step; } } - -#if defined(WIN32) - /* If the split buffer was allocated on the heap, free this memory. */ - if (buf != splitbuf) { - jas_free(buf); - } -#endif } static void jpc_qmfb1d_join(jpc_fix_t *startptr, int startind, int endind, @@ -320,16 +303,6 @@ static void jpc_qmfb1d_join(jpc_fix_t *startptr, int startind, int endind, register int n; int state; -#if defined(WIN32) - /* Allocate memory for the join buffer from the heap. */ - if (bufsize > QMFB_JOINBUFSIZE) { - if (!(buf = jas_malloc(bufsize * sizeof(jpc_fix_t)))) { - /* We have no choice but to commit suicide. */ - abort(); - } - } -#endif - twostep = step << 1; llen = lendind - lstartind; hlen = hendind - hstartind; @@ -414,13 +387,6 @@ static void jpc_qmfb1d_join(jpc_fix_t *startptr, int startind, int endind, state ^= 1; } } - -#if defined(WIN32) - /* If the join buffer was allocated on the heap, free this memory. */ - if (buf != joinbuf) { - jas_free(buf); - } -#endif } /******************************************************************************\ diff --git a/converter/other/jpeg2000/pamtojpeg2k.c b/converter/other/jpeg2000/pamtojpeg2k.c index 851d2bf9..70774725 100644 --- a/converter/other/jpeg2000/pamtojpeg2k.c +++ b/converter/other/jpeg2000/pamtojpeg2k.c @@ -13,6 +13,7 @@ #define _XOPEN_SOURCE 600 #include <string.h> +#include "pm_c_util.h" #include "pam.h" #include "shhopt.h" #include "nstring.h" |