Changes 10.30:

Add pambayer.

Add pamrgbatopng.

Add pamtilt.  Thanks Gregg Townsend <gmt@cs.arizona.edu>.

pamtotiff: create from pnmtotiff.

pamtofits: create from pnmtofits.

pamaddnoise: crate from pnmaddnoise.

pamarith: Add -divide.

pammasksharpen: Add -sharpness.

pnmtopng: add -comp_mem_level, -comp_strategy, -comp_method,
-comp_window_bits, -comp_buffer_size.

pnmtopng: use Shhopt command line processor; replace
-chroma with -rgb, -phys with -size, -time with -modtime.

pnmremap: Handle multiple image stream.

xpmtoppm: Expand capacity from 2K character input lines to
8K character input lines.

libnetpbm: improved messages for "color xxx cannot be
represented precisely with maxval M"

libnetpbm color specification parsing:  Improve warning message
about rounding.

libnetpbm/everything: speed up ppm_writeppmrow() and
pgm_writepgmrow() by doing one fwrite per row instead of
a pgm_writerawsample() per sample.

pnmtopng: fix "meaningful bits" optimization of PGM so it
optimizes all the way instead of stopping at 4 bits.

pnmtopng: fix crash when no -alpha option, due to dereferencing
of undefined alpha_mask.

pnmtopng: fix bug: arbitrary color made transparent in
paletted PNG when nothing should be transparent.

pnmtops: bug: selects wrong Postscript level.

bmptopnm: Don't crash on BMP with no color map.

bmptopnm: Fix wrong file name in error messages.

ppmtowinicon: use REALLOCARRAY instead of arithmetic-overflowing
realloc().

anytopnm: fix bug: fails when 'file' database doesn't
have mime type but does have human-readable type.

manweb: recognize directory as not executable in search of PATH.

pgm_allocrow(), ppm_allocrow(), pnm_allocrow(): cure
arithmetic overflow.

libnetpbm: On plain formats, check for sample value exceeding
maxval.

libnetpbm: reject maxval > 65535 in "pam" functions.

pamarith: Use normalized libnetpbm facilities to get
proper accuracy.  Thanks Thomas Henlich
<http://sourceforge.net/users/thenlich/>.

pamarith: fix bug: shift functions don't work when maxvals
are not identical.

pamarith: fix rounding error on multiply.

pgmtexture: correct calculation of normalizing constants
for d > 1.  Thanks Marc Breithecker
<Marc.Breithecker@informatik.uni-erlangen.de>.

pnmnorm: fix divide by zero crash.

pnmnorm: fix bug that doesn't let you specify
-luminosity, -colorvalue, or -saturation.

ilbmtoppm: fix variable used before set.

pnmtofits: fix 16 bit sample values > 2**15.

pnmtopsnr: minor adjustments to messages.

pnmnorm: don't crash when wvalue == bvalue.  Thanks Thomas
<http://sourceforge.net/users/thenlich/>.

pnmnorm: fix rounding of output values.  Thanks Thomas
<http://sourceforge.net/users/thenlich/>.

pnmhisteq: Fix external map to have width maxval + 1 instead
of maxval, so full intensity input pixels map properly.

pnmhisteq: Fix -rmap.

Fix typos in error messages in various programs.

pgmmedian: change syntax to Netpbm standard.

pammasksharpen: fix signedness bug that caused random bright
pixels at edges.

pammasksharpen: fix bug with maxval != 255.

Clean up a bunch of function prototypes so some broken
compilers don't complain about missing "const" in them.

Remove dependency of pnmtops on basename().  It isn't in
some C libraries and we don't want to mess with linking
extra libraries.

Build of ppmsvgalib: work properly when LINUXSVGALIB is
a "default path" value such as "libvga.so".
This commit is contained in:
adam 2005-10-19 09:30:08 +00:00
parent e73a26e51b
commit 9e9c489b88
8 changed files with 28 additions and 230 deletions

View file

@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.125 2005/09/20 05:04:11 schmonz Exp $
# $NetBSD: Makefile,v 1.126 2005/10/19 09:30:08 adam Exp $
DISTNAME= netpbm-10.29
PKGREVISION= 3
DISTNAME= netpbm-10.30
CATEGORIES= graphics
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=netpbm/}
EXTRACT_SUFX= .tgz

View file

@ -1,16 +1,12 @@
$NetBSD: distinfo,v 1.44 2005/09/20 05:04:11 schmonz Exp $
$NetBSD: distinfo,v 1.45 2005/10/19 09:30:08 adam Exp $
SHA1 (netpbm-10.29.tgz) = 0733a0e1a7413e48eeb060aed1d1cc326e12ef8d
RMD160 (netpbm-10.29.tgz) = c88d01b1106c7eb1f087d98a5570c0c61200d083
Size (netpbm-10.29.tgz) = 2359729 bytes
SHA1 (patch-aa) = 113be91facd060cd4b788db9df30d0f1f55d6bcb
SHA1 (netpbm-10.30.tgz) = b07ff527f4b2f8adaf7b44abd00f16b10b0ab403
RMD160 (netpbm-10.30.tgz) = 6e0409e7c7085751d266f1137a89d2a3d37022da
Size (netpbm-10.30.tgz) = 2370761 bytes
SHA1 (patch-aa) = e10c9a7266714bb980f7d515b2fa43e18d580d44
SHA1 (patch-ab) = 900c36d6ab145c807ecb3dec6b77ae2ad50d4dad
SHA1 (patch-ac) = 07f109139bf30da22b05d00189cbb7b4a5f8f05a
SHA1 (patch-ad) = 7393993077852e845c1bec14227347b39e973c83
SHA1 (patch-ae) = 33a5be2843dd85b530f5e6ba496cd0380cd5edd1
SHA1 (patch-af) = 82e366af1c8b644cf374706c2eb113c370447de9
SHA1 (patch-ag) = 806f5e87c4b0c6dc2f6127a138809b0587a41de6
SHA1 (patch-ah) = be2ebb908859da6e030b04acb9e33b6c774137ad
SHA1 (patch-ah) = f9cd1864c3298fbba7241646a49fe845bbc716ba
SHA1 (patch-ai) = 1d8c9585a08f96422f4180719ecc26e305929c62
SHA1 (patch-aj) = 89845e68fb152f46743213dc0d124b49a42b0f0b
SHA1 (patch-ak) = 2e2be93baa243b16460252d02bbc8f5d00ce6592

View file

@ -1,6 +1,6 @@
$NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
$NetBSD: patch-aa,v 1.33 2005/10/19 09:30:09 adam Exp $
--- Makefile.config.in.orig 2005-05-25 06:15:26.000000000 +1000
--- Makefile.config.in.orig 2005-10-08 02:37:24.000000000 +0000
+++ Makefile.config.in
@@ -24,7 +24,7 @@ DEFAULT_TARGET = nonmerge
# and skip it on those systems unless you want to debug it and fix it.
@ -20,7 +20,7 @@ $NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
# The linker.
LD = $(CC)
@@ -92,7 +92,7 @@ LD_FOR_BUILD = $(LD)
@@ -98,7 +98,7 @@ LD_FOR_BUILD = $(LD)
# MAKE is set automatically by Make to what was used to invoke Make.
@ -29,7 +29,7 @@ $NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
#Solaris:
#INSTALL = /usr/ucb/install
#Tru64:
@@ -104,7 +104,7 @@ INSTALL = $(SRCDIR)/buildtools/install.s
@@ -110,7 +110,7 @@ INSTALL = $(SRCDIR)/buildtools/install.s
# STRIPFLAG is the option you pass to the above install program to make it
# strip unnecessary information out of binaries.
@ -38,7 +38,7 @@ $NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
# If you don't want to strip the binaries, just leave it null:
#STRIPFLAG =
@@ -123,8 +123,10 @@ MANPAGE_FORMAT = nroff
@@ -129,8 +129,10 @@ MANPAGE_FORMAT = nroff
AR = ar
RANLIB = ranlib
# IRIX, SCO don't have Ranlib:
@ -51,7 +51,7 @@ $NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
# Solaris:
# LEX = flex -e
# Or just skip parts that need Lex:
@@ -210,7 +212,7 @@ EXE =
@@ -216,7 +218,7 @@ EXE =
# Here, $(SONAME) resolves to the soname for the shared library being created.
# The following are gcc options. This works on GNU libc systems.
@ -60,7 +60,7 @@ $NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
# You need -nostart instead of -shared on BeOS. Though the BeOS compiler is
# ostensibly gcc, it has the -nostart option, which is not mentioned in gcc
# documentation and doesn't exist in at least one non-BeOS installation.
@@ -243,6 +245,18 @@ LDRELOC = NONE
@@ -249,6 +251,18 @@ LDRELOC = NONE
#LDRELOC = ld --reloc
#LDRELOC = ld -r
@ -79,7 +79,7 @@ $NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
# On older systems, you have to make shared libraries out of position
# independent code, so you need -fpic or fPIC here. (The rule is: if
@@ -265,11 +279,23 @@ LDRELOC = NONE
@@ -271,11 +285,23 @@ LDRELOC = NONE
CFLAGS_SHLIB =
# Solaris or SunOS with gcc, and NetBSD:
#CFLAGS_SHLIB = -fpic
@ -104,7 +104,7 @@ $NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
# SHLIB_CLIB is the link option to include the C library in a shared library,
# normally "-lc". On typical systems, this serves no purpose. On some,
# though, it causes information about which C library to use to be recorded
@@ -338,8 +364,8 @@ TIFFHDR_DIR =
@@ -344,8 +370,8 @@ TIFFHDR_DIR =
#TIFFLIB = libtiff.so
#TIFFHDR_DIR = /usr/include/libtiff
#NetBSD:
@ -115,7 +115,7 @@ $NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
# OSF, Tru64:
#TIFFLIB = /usr/local1/DEC/lib/libtiff.so
#TIFFHDR_DIR = /usr/local1/DEC/include
@@ -369,8 +395,8 @@ JPEGHDR_DIR =
@@ -375,8 +401,8 @@ JPEGHDR_DIR =
#JPEGLIB = libjpeg.so
#JPEGHDR_DIR = /usr/include/jpeg
# Netbsd:
@ -126,7 +126,7 @@ $NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
# OSF, Tru64:
#JPEGLIB = /usr/local1/DEC/libjpeg.so
#JPEGHDR_DIR = /usr/local1/DEC/include
@@ -394,8 +420,8 @@ PNGVER =
@@ -400,8 +426,8 @@ PNGVER =
#PNGLIB = libpng$(PNGVER).so
#PNGHDR_DIR = /usr/include/libpng$(PNGVER)
# NetBSD:
@ -137,7 +137,7 @@ $NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
# OSF/Tru64:
#PNGLIB = /usr/local1/DEC/lib/libpng$(PNGVER).so
#PNGHDR_DIR = /usr/local1/DEC/include
@@ -405,8 +431,8 @@ PNGVER =
@@ -411,8 +437,8 @@ PNGVER =
# NONE for the PNG library, it doesn't matter what you specify here --
# it won't get used.
@ -148,7 +148,7 @@ $NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
#ZLIB = libz.so
# The JBIG lossless image compression library (aka JBIG-KIT):
@@ -415,8 +441,8 @@ JBIGLIB = $(BUILDDIR)/converter/other/jb
@@ -421,8 +447,8 @@ JBIGLIB = $(BUILDDIR)/converter/other/jb
JBIGHDR_DIR = $(SRCDIR)/converter/other/jbig
# The Jasper JPEG-2000 image compression library (aka JasPer):
@ -159,7 +159,7 @@ $NetBSD: patch-aa,v 1.32 2005/08/21 04:47:24 grant Exp $
# JASPERDEPLIBS is the libraries (-l options or file names) on which
# The Jasper library depends -- i.e. what you have to link into any
# executable that links in the Jasper library.
@@ -452,7 +478,7 @@ OMIT_NETWORK =
@@ -458,7 +484,7 @@ OMIT_NETWORK =
# built into the standard C library, so this can be null. This is irrelevant
# if OMIT_NETWORK is "y".

View file

@ -1,137 +0,0 @@
$NetBSD: patch-ad,v 1.18 2005/08/31 19:47:53 reed Exp $
Fixes error: invalid lvalue in assignment
Found idea from DarwinPorts
--- editor/pnmaddnoise.c.orig 2005-08-31 01:14:52.000000000 -0700
+++ editor/pnmaddnoise.c 2005-08-31 01:31:56.000000000 -0700
@@ -252,14 +252,14 @@
int rows, cols, format, row;
double rtemp, gtemp, btemp;
double u, u1;
- double INFINITY;
+ double infinity;
double const EPSILON = 1.0e-5;
int const forceplain = 0;
pnm_readpnminit( ifp, &cols, &rows, &maxval, &format );
xelrow = pnm_allocrow( cols );
- INFINITY = (double) maxval;
+ infinity = (double) maxval;
pnm_writepnminit( stdout, cols, rows, maxval, format, forceplain );
@@ -272,12 +272,12 @@
u = ( rand( ) & RANDOM_MASK ) / arand;
if ( u <= 0.5 ) {
if ( u <= EPSILON )
- rtemp = PPM_GETR( *xP ) - INFINITY;
+ rtemp = PPM_GETR( *xP ) - infinity;
else
rtemp = PPM_GETR( *xP ) + lsigma * log( 2.0 * u );
} else {
if ( ( u1 = 1.0 - u ) <= 0.5 * EPSILON )
- rtemp = PPM_GETR( *xP ) + INFINITY;
+ rtemp = PPM_GETR( *xP ) + infinity;
else
rtemp = PPM_GETR( *xP ) - lsigma * log( 2.0 * u1 );
}
@@ -285,12 +285,12 @@
u = ( rand( ) & RANDOM_MASK ) / arand;
if ( u <= 0.5 ) {
if ( u <= EPSILON )
- gtemp = PPM_GETG( *xP ) - INFINITY;
+ gtemp = PPM_GETG( *xP ) - infinity;
else
gtemp = PPM_GETG( *xP ) + lsigma * log( 2.0 * u );
} else {
if ( ( u1 = 1.0 - u ) <= 0.5 * EPSILON )
- gtemp = PPM_GETG( *xP ) + INFINITY;
+ gtemp = PPM_GETG( *xP ) + infinity;
else
gtemp = PPM_GETG( *xP ) - lsigma * log( 2.0 * u1 );
}
@@ -298,12 +298,12 @@
u = ( rand( ) & RANDOM_MASK ) / arand;
if ( u <= 0.5 ) {
if ( u <= EPSILON )
- btemp = PPM_GETB( *xP ) - INFINITY;
+ btemp = PPM_GETB( *xP ) - infinity;
else
btemp = PPM_GETB( *xP ) + lsigma * log( 2.0 * u );
} else {
if ( ( u1 = 1.0 - u ) <= 0.5 * EPSILON )
- btemp = PPM_GETB( *xP ) + INFINITY;
+ btemp = PPM_GETB( *xP ) + infinity;
else
btemp = PPM_GETB( *xP ) - lsigma * log( 2.0 * u1 );
}
@@ -318,12 +318,12 @@
u = ( rand( ) & RANDOM_MASK ) / arand;
if ( u <= 0.5 ) {
if ( u <= EPSILON )
- gtemp = PNM_GET1( *xP ) - INFINITY;
+ gtemp = PNM_GET1( *xP ) - infinity;
else
gtemp = PNM_GET1( *xP ) + lsigma * log( 2.0 * u );
} else {
if ( ( u1 = 1.0 - u ) <= 0.5 * EPSILON )
- gtemp = PNM_GET1( *xP ) + INFINITY;
+ gtemp = PNM_GET1( *xP ) + infinity;
else
gtemp = PNM_GET1( *xP ) - lsigma * log( 2.0 * u1 );
}
@@ -356,14 +356,14 @@
int rows, cols, format, row;
double rtemp, gtemp, btemp;
double uniform, rayleigh, gauss;
- double INFINITY;
+ double infinity;
double const EPSILON = 1.0e-5;
int const forceplain = 0;
pnm_readpnminit( ifp, &cols, &rows, &maxval, &format );
xelrow = pnm_allocrow( cols );
- INFINITY = (double) maxval;
+ infinity = (double) maxval;
pnm_writepnminit( stdout, cols, rows, maxval, format, forceplain );
@@ -375,7 +375,7 @@
case PPM_TYPE:
uniform = ( rand( ) & RANDOM_MASK ) / arand;
if ( uniform <= EPSILON )
- rayleigh = INFINITY;
+ rayleigh = infinity;
else
rayleigh = sqrt( -2.0 * log( uniform ) );
uniform = ( rand( ) & RANDOM_MASK ) / arand;
@@ -384,7 +384,7 @@
uniform = ( rand( ) & RANDOM_MASK ) / arand;
if ( uniform <= EPSILON )
- rayleigh = INFINITY;
+ rayleigh = infinity;
else
rayleigh = sqrt( -2.0 * log( uniform ) );
uniform = ( rand( ) & RANDOM_MASK ) / arand;
@@ -393,7 +393,7 @@
uniform = ( rand( ) & RANDOM_MASK ) / arand;
if ( uniform <= EPSILON )
- rayleigh = INFINITY;
+ rayleigh = infinity;
else
rayleigh = sqrt( -2.0 * log( uniform ) );
uniform = ( rand( ) & RANDOM_MASK ) / arand;
@@ -409,7 +409,7 @@
default:
uniform = ( rand( ) & RANDOM_MASK ) / arand;
if ( uniform <= EPSILON )
- rayleigh = INFINITY;
+ rayleigh = infinity;
else
rayleigh = sqrt( -2.0 * log( uniform ) );
uniform = ( rand( ) & RANDOM_MASK ) / arand;

View file

@ -1,13 +0,0 @@
$NetBSD: patch-ag,v 1.10 2005/09/20 05:04:11 schmonz Exp $
--- converter/other/pnmtopng.c.orig 2005-08-06 13:26:55.000000000 -0400
+++ converter/other/pnmtopng.c
@@ -1690,7 +1690,7 @@ writeRaster(png_struct * const p
pnm_promoteformatrow(xelrow, cols, maxval, format, maxval,
PPM_TYPE);
- makePngLine(line, xelrow, cols, maxval, alpha, alpha_mask[row],
+ makePngLine(line, xelrow, cols, maxval, alpha, alpha ? alpha_mask[row] : NULL,
cht, caht, info_ptr, png_maxval, depth);
png_write_row(png_ptr, line);

View file

@ -1,23 +1,15 @@
$NetBSD: patch-ah,v 1.7 2005/08/31 08:04:58 jlam Exp $
$NetBSD: patch-ah,v 1.8 2005/10/19 09:30:09 adam Exp $
--- converter/other/cameratopam/camera.c.orig Mon Aug 15 06:12:51 2005
--- converter/other/cameratopam/camera.c.orig 2005-09-17 21:51:41.000000000 +0000
+++ converter/other/cameratopam/camera.c
@@ -4,6 +4,7 @@
#include <stdlib.h>
#include <string.h>
#include <assert.h>
+#include <sys/types.h>
#include <netinet/in.h>
#ifdef HAVE_JPEG
@@ -21,6 +22,10 @@
#include "dng.h"
@@ -23,6 +23,10 @@
#include "camera.h"
+
+#ifdef __sun
+#define setenv(x, y, z) putenv(x"="y)
+#endif
+
#if HAVE_INT64
typedef int64_t INT64;
static bool const have64BitArithmetic = true;

View file

@ -1,17 +0,0 @@
$NetBSD: patch-aj,v 1.7 2005/09/20 05:04:11 schmonz Exp $
--- editor/pammasksharpen.c.orig 2004-05-29 14:15:46.000000000 -0400
+++ editor/pammasksharpen.c
@@ -114,10 +114,10 @@ main(int argc, char *argv[]) {
unsigned int plane;
for (plane = 0; plane < outpam.depth; ++plane) {
- unsigned int const rawResult =
+ int const rawResult =
2 * inputTuplerow[col][plane] - maskTuplerow[col][plane];
- outputTuplerow[col][plane] = MIN(255, MAX(0, rawResult));
+ outputTuplerow[col][plane] = MIN(outpam.maxval, MAX(0, rawResult));
}
}
pnm_writepamrow(&outpam, outputTuplerow);

View file

@ -1,22 +0,0 @@
$NetBSD: patch-ak,v 1.5 2005/09/20 05:04:11 schmonz Exp $
--- editor/pnmhisteq.c.orig 2004-09-17 23:25:46.000000000 -0400
+++ editor/pnmhisteq.c
@@ -275,6 +275,8 @@ int main(argc, argv)
luminosity mapping table which gives the histogram-equalized
luminosity for each original luminosity. */
+ if (rmap == NULL) {
+
/* Calculate initial histogram equalisation curve. */
for (i = 0; i <= (int) maxval; i++) {
@@ -301,6 +303,8 @@ int main(argc, argv)
MIN(((long) maxval), ((long) (lumamap[0][i] * lscale + 0.5)));
}
+ }
+
/* If requested, print the luminosity map and original histogram. */
if (verbose) {