diff options
Diffstat (limited to 'editor/specialty')
-rw-r--r-- | editor/specialty/Makefile | 8 | ||||
-rw-r--r-- | editor/specialty/pammixinterlace.c | 62 | ||||
-rw-r--r-- | editor/specialty/pampaintspill.c | 2 | ||||
-rw-r--r-- | editor/specialty/pgmabel.c | 5 | ||||
-rw-r--r-- | editor/specialty/pnmindex.c | 1 | ||||
-rw-r--r-- | editor/specialty/pnmmercator.c | 2 | ||||
-rw-r--r-- | editor/specialty/ppmglobe.c | 2 | ||||
-rw-r--r-- | editor/specialty/ppmntsc.c | 4 |
8 files changed, 45 insertions, 41 deletions
diff --git a/editor/specialty/Makefile b/editor/specialty/Makefile index 427c2c8f..8d9ca044 100644 --- a/editor/specialty/Makefile +++ b/editor/specialty/Makefile @@ -41,12 +41,14 @@ OBJECTS = $(BINARIES:%=%.o) MERGE_OBJECTS = $(MERGEBINARIES:%=%.o2) +HAVE_MERGE_COMPAT=YES + .PHONY: all all: $(BINARIES) include $(SRCDIR)/common.mk -install.bin: install.bin.local +install.bin install.merge: install.bin.local .PHONY: install.bin.local install.bin.local: $(PKGDIR)/bin @@ -55,3 +57,7 @@ install.bin.local: $(PKGDIR)/bin cd $(PKGDIR)/bin ; \ rm -f pgmoil$(EXE) ; \ $(SYMLINK) pamoil$(EXE) pgmoil$(EXE) + +mergecomptrylist: + cat /dev/null >$@ + echo "TRY(\"pgmoil\", main_pamoil);" >>$@ diff --git a/editor/specialty/pammixinterlace.c b/editor/specialty/pammixinterlace.c index 7410a8f1..28dace25 100644 --- a/editor/specialty/pammixinterlace.c +++ b/editor/specialty/pammixinterlace.c @@ -2,7 +2,7 @@ pammixinterlace ******************************************************************************* De-interlace an image by merging adjacent rows. - + Copyright (C) 2007 Bruce Guenter, FutureQuest, Inc. Permission to use, copy, modify, and distribute this software and its @@ -14,6 +14,7 @@ ******************************************************************************/ +#define _DEFAULT_SOURCE /* New name for SVID & BSD source defines */ #define _BSD_SOURCE /* Make sure strcaseeq() is in nstring.h */ #include <string.h> @@ -36,9 +37,9 @@ clamp(sample const val, static bool -distant(long const above, - long const mid, - long const below) { +distant(int const above, + int const mid, + int const below) { return abs(mid - (above + below) / 2) > abs(above - below); } @@ -59,9 +60,9 @@ filterLinearBlend(tuple * const outputrow, unsigned int plane; for (plane = 0; plane < depth; ++plane) { - long const above = tuplerowWindow[0][col][plane]; - long const mid = tuplerowWindow[1][col][plane]; - long const below = tuplerowWindow[2][col][plane]; + int const above = tuplerowWindow[0][col][plane]; + int const mid = tuplerowWindow[1][col][plane]; + int const below = tuplerowWindow[2][col][plane]; sample out; @@ -69,7 +70,7 @@ filterLinearBlend(tuple * const outputrow, out = (above + mid * 2 + below) / 4; else out = mid; - + outputrow[col][plane] = out; } } @@ -86,23 +87,23 @@ filterFfmpeg(tuple * const outputrow, sample const maxval) { unsigned int col; - + for (col = 0; col < width; ++col) { unsigned int plane; - + for (plane = 0; plane < depth; ++plane) { - long const above = tuplerowWindow[1][col][plane]; - long const mid = tuplerowWindow[2][col][plane]; - long const below = tuplerowWindow[3][col][plane]; + int const above = tuplerowWindow[1][col][plane]; + int const mid = tuplerowWindow[2][col][plane]; + int const below = tuplerowWindow[3][col][plane]; sample out; - + if (!adaptive || distant(above, mid, below)) { - long const a = (- (long)tuplerowWindow[0][col][plane] + int const a = (- (int)tuplerowWindow[0][col][plane] + above * 4 + mid * 2 + below * 4 - - (long)tuplerowWindow[4][col][plane]) / 8; + - (int)tuplerowWindow[4][col][plane]) / 8; out = clamp(a, maxval); } else out = mid; @@ -129,22 +130,22 @@ filterFIR(tuple * const outputrow, for (plane = 0; plane < depth; ++plane) { - long const above = tuplerowWindow[1][col][plane]; - long const mid = tuplerowWindow[2][col][plane]; - long const below = tuplerowWindow[3][col][plane]; + int const above = tuplerowWindow[1][col][plane]; + int const mid = tuplerowWindow[2][col][plane]; + int const below = tuplerowWindow[3][col][plane]; sample out; if (!adaptive || distant(above, mid, below)) { - long const a = (- (long)tuplerowWindow[0][col][plane] + int const a = (- (int)tuplerowWindow[0][col][plane] + above * 2 + mid * 6 + below * 2 - - (long)tuplerowWindow[4][col][plane]) / 8; + - (int)tuplerowWindow[4][col][plane]) / 8; out = clamp(a, maxval); } else out = mid; - + outputrow[col][plane] = out; } } @@ -217,7 +218,7 @@ parseCommandLine(int argc, char ** argv, if (!cmdlineP->filterP) pm_error("The filter name '%s' is not known.", filterName); } - + if (argc-1 < 1) cmdlineP->inputFileName = "-"; else if (argc-1 == 1) @@ -279,12 +280,12 @@ main(int argc, char *argv[]) { FILE * ifP; struct cmdlineInfo cmdline; - struct pam inpam; + struct pam inpam; struct pam outpam; tuple * tuplerowWindow[5]; tuple * outputrow; unsigned int rows; - + pnm_init(&argc, argv); parseCommandLine(argc, argv, &cmdline); @@ -292,7 +293,7 @@ main(int argc, char *argv[]) { rows = cmdline.filterP->rows; ifP = pm_openr(cmdline.inputFileName); - + pnm_readpaminit(ifP, &inpam, PAM_STRUCT_SIZE(tuple_type)); outpam = inpam; /* Initial value -- most fields should be same */ @@ -327,10 +328,10 @@ main(int argc, char *argv[]) { inpam.width, inpam.depth, cmdline.adaptive, inpam.maxval); pnm_writepamrow(&outpam, outputrow); - + slideWindowDown(tuplerowWindow, rows); } - + /* Pass through last rows */ for (row = rows/2; row < rows-1; ++row) pnm_writepamrow(&outpam, tuplerowWindow[row]); @@ -340,6 +341,9 @@ main(int argc, char *argv[]) { pnm_freepamrow(outputrow); pm_close(inpam.file); pm_close(outpam.file); - + return 0; } + + + diff --git a/editor/specialty/pampaintspill.c b/editor/specialty/pampaintspill.c index 745c9b68..eb1888f7 100644 --- a/editor/specialty/pampaintspill.c +++ b/editor/specialty/pampaintspill.c @@ -253,7 +253,7 @@ locatePaintSources(struct pam * const pamP, if (downsample > 0 && downsample < paintSources.size) { unsigned int i; - srand(time(NULL)); + srand(pm_randseed()); for (i = 0; i < downsample; ++i) { unsigned int const swapIdx = diff --git a/editor/specialty/pgmabel.c b/editor/specialty/pgmabel.c index 1764c5d7..1a6e481f 100644 --- a/editor/specialty/pgmabel.c +++ b/editor/specialty/pgmabel.c @@ -171,7 +171,6 @@ int main( argc, argv ) float pixsize=0.1; /* no verbose, calculating both sides */ int verb = FALSE, left = TRUE, right = TRUE; - int nologo = FALSE; const char* const usage = "[-help] [-axis N] [-factor N] [-pixsize N] [-left|-right] [-verbose] [pgmfile]"; pgm_init( &argc, argv ); @@ -213,10 +212,6 @@ int main( argc, argv ) if ( right ) left = FALSE; else pm_usage( usage ); } - else if ( pm_keymatch( argv[argn], "-nologo", 4 ) ) - { - nologo = TRUE; - } else pm_usage( usage ); ++ argn; diff --git a/editor/specialty/pnmindex.c b/editor/specialty/pnmindex.c index 4ec9edaa..0a8e35cc 100644 --- a/editor/specialty/pnmindex.c +++ b/editor/specialty/pnmindex.c @@ -14,6 +14,7 @@ ============================================================================*/ +#define _DEFAULT_SOURCE /* New name for SVID & BSD source defines */ #define _XOPEN_SOURCE 500 /* Make sure strdup() is in string.h */ #define _BSD_SOURCE /* Make sure strdup is in string.h */ diff --git a/editor/specialty/pnmmercator.c b/editor/specialty/pnmmercator.c index cd9ff19b..81f7f148 100644 --- a/editor/specialty/pnmmercator.c +++ b/editor/specialty/pnmmercator.c @@ -16,7 +16,7 @@ ** */ -#define _XOPEN_SOURCE /* Make sure M_PI is in <math.h> */ +#define _XOPEN_SOURCE 500 /* get M_PI in math.h */ #include <math.h> #include <string.h> diff --git a/editor/specialty/ppmglobe.c b/editor/specialty/ppmglobe.c index 92e22746..bb043cc6 100644 --- a/editor/specialty/ppmglobe.c +++ b/editor/specialty/ppmglobe.c @@ -9,7 +9,7 @@ */ -#define _XOPEN_SOURCE /* get M_PI in math.h */ +#define _XOPEN_SOURCE 500 /* get M_PI in math.h */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> diff --git a/editor/specialty/ppmntsc.c b/editor/specialty/ppmntsc.c index a721b891..08fbc835 100644 --- a/editor/specialty/ppmntsc.c +++ b/editor/specialty/ppmntsc.c @@ -39,6 +39,7 @@ */ +#define _DEFAULT_SOURCE 1 /* New name for SVID & BSD source defines */ #define _BSD_SOURCE 1 /* Make sure strdup() is in string.h */ #define _XOPEN_SOURCE 500 /* Make sure strdup() is in string.h */ @@ -392,14 +393,11 @@ convertOneImage(FILE * const ifP, pixel * const inputRow = ppm_allocrow(cols); pixel * const outputRow = ppm_allocrow(cols); - pixel lastIllegalPixel; - /* Value of the illegal pixel we most recently processed */ pixel black; /* A constant - black pixel */ PPM_ASSIGN(black, 0, 0, 0); - PPM_ASSIGN(lastIllegalPixel, 0, 0, 0); /* initial value */ { unsigned int row; |