diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2015-06-28 15:34:21 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2015-06-28 15:34:21 +0000 |
commit | 620ecbee2ed1cb478e0289722d86dd72717f1cb8 (patch) | |
tree | 7a427b24d86f6789706acee21a52dca15b88806b /converter/ppm | |
parent | 8c2dab4922b514045cbae8e71ba93aaf8c0fff48 (diff) | |
download | netpbm-mirror-620ecbee2ed1cb478e0289722d86dd72717f1cb8.tar.gz netpbm-mirror-620ecbee2ed1cb478e0289722d86dd72717f1cb8.tar.xz netpbm-mirror-620ecbee2ed1cb478e0289722d86dd72717f1cb8.zip |
Release 10.71.00
git-svn-id: http://svn.code.sf.net/p/netpbm/code/advanced@2588 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter/ppm')
30 files changed, 391 insertions, 515 deletions
diff --git a/converter/ppm/ppmtoarbtxt.c b/converter/ppm/ppmtoarbtxt.c index 93b3605b..83a93441 100644 --- a/converter/ppm/ppmtoarbtxt.c +++ b/converter/ppm/ppmtoarbtxt.c @@ -225,8 +225,9 @@ writeIcol(FILE * const ofP, */ struct Icdat * const icdataP = &objectP->odata.icolData; - unsigned int const outValue = icdataP->icolmin + - ROUNDU(((double) icdataP->icolmax - icdataP->icolmin) * value); + unsigned int const outValue = + ROUNDU( icdataP->icolmin + + ((double)icdataP->icolmax - icdataP->icolmin) * value); fprintf(ofP, icdataP->icformat, outValue); } @@ -470,7 +471,7 @@ validateFormatWithPpf(const char * const format, default: pm_asprintf(errorP, "Has %lu extra transformation%s ", - n-1, n-1 > 1 ? "s" : ""); + (unsigned long)n-1, n-1 > 1 ? "s" : ""); break; } } diff --git a/converter/ppm/ppmtobmp.c b/converter/ppm/ppmtobmp.c index 24b1b3e5..6d65d744 100644 --- a/converter/ppm/ppmtobmp.c +++ b/converter/ppm/ppmtobmp.c @@ -20,6 +20,7 @@ #include <string.h> #include "pm_c_util.h" +#include "nstring.h" #include "mallocvar.h" #include "shhopt.h" #include "bmp.h" @@ -131,13 +132,22 @@ parseCommandLine(int argc, const char ** argv, cmdlineP->mapfile = NULL; if (argc - 1 == 0) - cmdlineP->inputFilename = strdup("-"); /* he wants stdin */ + cmdlineP->inputFilename = pm_strdup("-"); /* he wants stdin */ else if (argc - 1 == 1) - cmdlineP->inputFilename = strdup(argv[1]); + cmdlineP->inputFilename = pm_strdup(argv[1]); else pm_error("Too many arguments. The only argument accepted " "is the input file specificaton"); + free(option_def); +} + + + +static void +freeCommandLine(struct CmdlineInfo const cmdline) { + + pm_strfree(cmdline.inputFilename); } @@ -821,7 +831,6 @@ doPbm(FILE * const ifP, 32 bit borders and that in BMP the bottom row comes first in order. */ - int const CHARBITS = (sizeof(unsigned char)*8); int const colChars = pbm_packed_bytes(cols); int const adjustedCols = (cols+31) /32 * 32; int const packedBytes = adjustedCols /8; @@ -853,11 +862,8 @@ doPbm(FILE * const ifP, some BMP viewers may get confused with that. */ - if (cols % 8 >0) { - /* adjust final partial byte */ - thisRow[colChars-1] >>= CHARBITS - cols % CHARBITS; - thisRow[colChars-1] <<= CHARBITS - cols % CHARBITS; - } + /* Clean off remainder of fractional last character */ + pbm_cleanrowend_packed(thisRow, cols); } bmpEncodePbm(ofP, class, cols, rows, bitrow); @@ -907,6 +913,8 @@ doPgmPpm(FILE * const ifP, cols, rows, (const pixel**)pixels, maxval, &colorMap); freeColorMap(&colorMap); + + ppm_freearray(pixels, rows); } @@ -937,6 +945,8 @@ main(int argc, cmdline.class, cmdline.bppSpec, cmdline.bpp, cmdline.mapfile, stdout); + freeCommandLine(cmdline); + pm_close(ifP); pm_close(stdout); diff --git a/converter/ppm/ppmtoicr.c b/converter/ppm/ppmtoicr.c index feca0c18..3c8be421 100644 --- a/converter/ppm/ppmtoicr.c +++ b/converter/ppm/ppmtoicr.c @@ -10,311 +10,255 @@ ** implied warranty. */ +#include <stdbool.h> +#include <assert.h> #include "ppm.h" -#define MAXCOLORS 256 -#define CLUTCOLORS 768 +#define MAXCOLORCT 256 +#define CLUTCOLORCT 768 -static int colorstobpp ARGS(( int colors )); -static int GetPixel ARGS(( int x, int y )); -static int rleit ARGS(( char* buf, char* bufto, int len )); -static pixel** pixels; -static colorhash_table cht; -static char* testimage; -int -main(argc, argv) -int argc; -char* argv[]; -{ - FILE* ifp; - int argn, rows, cols, colors, i, j, BitsPerPixel, newxsize; - pixval maxval; - colorhist_vector chv; - char rgb[CLUTCOLORS]; - const char* windowname; - char* thischar; - char* thisline; - char* space; - register unsigned char c; - register char* p; - int display, expand; - int rleflag, winflag; - const char* const usage = "[-windowname windowname] [-expand expand] [-display display] [-rle] [ppmfile]"; - - - ppm_init( &argc, argv ); - - argn = 1; - windowname = "untitled"; - winflag = 0; - expand = 1; - display = 0; - rleflag = 0; - - while ( argn < argc && argv[argn][0] == '-' && argv[argn][1] != '\0' ) - { - if ( pm_keymatch(argv[argn],"-windowname",2) && argn + 1 < argc ) - { - ++argn; - windowname = argv[argn]; - winflag = 1; - } - else if ( pm_keymatch(argv[argn],"-expand",2) && argn + 1 < argc ) - { - ++argn; - if ( sscanf( argv[argn], "%d",&expand ) != 1 ) - pm_usage( usage ); - } - else if ( pm_keymatch(argv[argn],"-display",2) && argn + 1 < argc ) - { - ++argn; - if ( sscanf( argv[argn], "%d",&display ) != 1 ) - pm_usage( usage ); - } - else if ( pm_keymatch(argv[argn],"-rle",2) ) - rleflag = 1; - else if ( pm_keymatch(argv[argn],"-norle",2) ) - rleflag = 0; - else - pm_usage( usage ); - } - - if ( argn < argc ) - { - ifp = pm_openr( argv[argn] ); - if ( ! winflag ) - windowname = argv[argn]; - ++argn; - } - else - ifp = stdin; - - if ( argn != argc ) - pm_usage( usage ); - - pixels = ppm_readppm( ifp, &cols, &rows, &maxval ); - - pm_close( ifp ); - - for (i = 0; i < CLUTCOLORS; i++) - rgb[i] = 0; - - /* Figure out the colormap. */ - pm_message("computing colormap..." ); - chv = ppm_computecolorhist(pixels, cols, rows, MAXCOLORS, &colors); - if (chv == (colorhist_vector) 0) - pm_error( "too many colors - try doing a 'pnmquant %d'", MAXCOLORS ); - pm_message("%d colors found", colors ); - - /* Turn the ppm colormap into an ICR colormap. */ - if (maxval > 255) - pm_message( - "maxval is not 255 - automatically rescaling colors" ); - for (i = 0; i < colors; i++) - { - j = (3 * i); - if (maxval == 255) - { - rgb[j] = PPM_GETR(chv[i].color) ; - j++; - rgb[j] = PPM_GETG(chv[i].color) ; - j++; - rgb[j] = PPM_GETB(chv[i].color) ; - } - else - { - rgb[j] = (int) PPM_GETR(chv[i].color) * 255 / maxval; - j++; - rgb[j] = (int) PPM_GETG(chv[i].color) * 255 / maxval; - j++; - rgb[j] = (int) PPM_GETB(chv[i].color) * 255 / maxval; - } - } - BitsPerPixel = colorstobpp(colors); - - /* And make a hash table for fast lookup. */ - cht = ppm_colorhisttocolorhash(chv, colors); - ppm_freecolorhist(chv); - - - /************** Create a new window using ICR protocol *********/ - /* Format is "ESC^W;left;top;width;height;display;windowname" */ - - pm_message("creating window %s ...", windowname ); - (void)printf("\033^W;%d;%d;%d;%d;%d;%s^",0,0,cols*expand,rows*expand,display,windowname); - fflush(stdout); - - - /****************** Download the colormap. ********************/ - pm_message("downloading colormap for %s ...", windowname ); - - (void)printf("\033^M;%d;%d;%d;%s^",0,MAXCOLORS,CLUTCOLORS,windowname); - thischar = rgb; - for (j=0; j<CLUTCOLORS; j++) { - c = *thischar++; - if (c > 31 && c < 123 ) { /* printable ASCII */ - putchar(c); - } - else { - putchar((c>>6)+123); /* non-printable, so encode it */ - putchar((c & 0x3f) + 32); - } - } - fflush(stdout); - - /**************** send out picture *************************/ - /* Protocol's RLE scheme is quicker but buggy */ - - if (rleflag) { - pm_message("sending run-length encoded picture data ..." ); - testimage = (char*) malloc(rows*cols); - p = testimage; - for (i=0; i<rows; i++) - for (j=0; j<cols; j++) - *p++ = GetPixel(j,i); - space = (char*) malloc(rows*3); - thisline = testimage; - for (i = 0; i < rows; i++) { - newxsize = rleit(thisline,space,cols); - thisline += cols; /* increment to next line */ - (void)printf("\033^R;%d;%d;%d;%d;%s^",0,i*expand,expand,newxsize,windowname); - thischar = space; - for (j=0; j< newxsize; j++) { - c= *thischar++; /*get byte to send */ - if (c>31 && c <123) { - putchar(c); - } - else { - putchar((c>>6) + 123); - putchar((c & 0x3f) + 32); - } - } - fflush(stdout); - } - free(space); - exit(0); - } - - /* Otherwise, send out uncompressed pixel data via the slow method */ - - else { - pm_message("sending picture data ..." ); - for (i = 0; i < rows; i++) { - (void)printf("\033^P;%d;%d;%d;%d;%s^",0,i*expand,expand,cols,windowname); - for (j = 0; j < cols; j++) { - c = GetPixel(j,i); - if (c > 31 && c < 123) { - putchar(c); - } - else { - putchar((c>>6)+123); - putchar((c & 0x3f) + 32); - } - } - } - fflush(stdout); - exit(0); - } - } +static void +makeIcrColormap(colorhist_vector const chv, + unsigned int const colorCt, + pixval const maxval, + char * const rgb) { + + unsigned int i; + + if (maxval > 255) + pm_message("Maxval is not 255 - automatically rescaling colors" ); + + for (i = 0; i < CLUTCOLORCT; ++i) + rgb[i] = 0; + + for (i = 0; i < colorCt; ++i) { + unsigned int j; + + j = (3 * i); + + if (maxval == 255) { + rgb[j++] = PPM_GETR(chv[i].color) ; + rgb[j++] = PPM_GETG(chv[i].color) ; + rgb[j++] = PPM_GETB(chv[i].color) ; + } else { + rgb[j++] = (unsigned int) PPM_GETR(chv[i].color) * 255 / maxval; + rgb[j++] = (unsigned int) PPM_GETG(chv[i].color) * 255 / maxval; + rgb[j++] = (unsigned int) PPM_GETB(chv[i].color) * 255 / maxval; + } + } +} + + static int -colorstobpp(colors) -int colors; - { - int bpp; - - if (colors <= 2) - bpp = 1; - else if (colors <= 4) - bpp = 2; - else if (colors <= 8) - bpp = 3; - else if (colors <= 16) - bpp = 4; - else if (colors <= 32) - bpp = 5; - else if (colors <= 64) - bpp = 6; - else if (colors <= 128) - bpp = 7; - else if (colors <= 256) - bpp = 8; - else - pm_error("can't happen" ); - return bpp; - } +bppFromColorCt(unsigned int const colorCt) { + + unsigned int bpp; + + if (colorCt <= 2) + bpp = 1; + else if (colorCt <= 4) + bpp = 2; + else if (colorCt <= 8) + bpp = 3; + else if (colorCt <= 16) + bpp = 4; + else if (colorCt <= 32) + bpp = 5; + else if (colorCt <= 64) + bpp = 6; + else if (colorCt <= 128) + bpp = 7; + else if (colorCt <= 256) + bpp = 8; + else + assert(false); + + return bpp; +} + + static int -GetPixel(x, y) -int x, y; - { - int color; +colorIndexAtPosition(unsigned int const x, + unsigned int const y, + pixel ** const pixels, + colorhash_table const cht) { - color = ppm_lookupcolor(cht, &pixels[y][x]); - return color; - } + int rc; + rc = ppm_lookupcolor(cht, &pixels[y][x]); -/* rleit compress with run length encoding as per NCSA's documentation */ + /* Every color in the image is in the palette */ + assert(rc >= 0); -static int -rleit(buf,bufto,len) - char* buf; - char* bufto; - int len; - { - register char* p; - register char* q; - register char* cfoll; - register char* clead; - char* begp; - int i; - - p = buf; - cfoll = bufto; - clead = cfoll + 1; - - begp = p; - while (len > 0 ) { /* encode until gone */ - - q = p + 1; - i = len-1; - while (*p == *q && i+120 > len && i) { - q++; - i--; - } - - if (q > p +2) { /* three in a row */ - if (p > begp) { - *cfoll = p - begp; - cfoll = clead; - } - *cfoll++ = 128 | (q-p); /*len of seq*/ - *cfoll++ = *p; /* char of seq */ - len -= q-p; /* subtract len of seq */ - p = q; - clead = cfoll+1; - begp = p; - } - else { - *clead++ = *p++; /* copy one char */ - len--; - if (p>begp + 120) { - *cfoll = p - begp; - cfoll = clead++; - begp = p; - } - } - } - -/* fillin last bytecount */ - - if (p>begp) - *cfoll = (p - begp); - else - clead--; - - return((int) (clead-bufto)); /*how many stored as encoded */ + return rc; } + + + +static void +downloadColormap(char const rgb[CLUTCOLORCT], + const char * const windowName) { + + unsigned int i; + + pm_message("Downloading colormap for %s ...", windowName); + + printf("\033^M;%d;%d;%d;%s^", + 0, MAXCOLORCT, CLUTCOLORCT, windowName); + + for (i = 0; i < CLUTCOLORCT; ++i) { + unsigned char const c = rgb[i]; + + if (c > 31 && c < 123) { + /* printable ASCII */ + putchar(c); + } else { + /* non-printable, so encode it */ + putchar((c >> 6) + 123); + putchar((c & 0x3f) + 32); + } + } + fflush(stdout); +} + + + +static void +sendOutPicture(pixel ** const pixels, + unsigned int const rows, + unsigned int const cols, + colorhash_table const cht, + int const expand, + const char * const windowName) { + + unsigned int row; + + pm_message("Sending picture data ..." ); + + for (row = 0; row < rows; ++row) { + unsigned int col; + printf("\033^P;%d;%d;%d;%d;%s^", + 0, row * expand, expand, cols, windowName); + for (col = 0; col < cols; ++col) { + unsigned char const c = + colorIndexAtPosition(col, row, pixels, cht); + if (c > 31 && c < 123) { + putchar(c); + } else { + putchar((c >> 6) + 123); + putchar((c & 0x3f) + 32); + } + } + } + fflush(stdout); +} + + + +int +main(int argc, const char ** const argv) { + + FILE * ifP; + int rows, cols; + int colorCt; + int argn; + unsigned int bitsPerPixel; + pixval maxval; + colorhist_vector chv; + char rgb[CLUTCOLORCT]; + const char * windowName; + int display, expand; + int winflag; + const char* const usage = "[-windowname windowname] [-expand expand] [-display display] [ppmfile]"; + pixel** pixels; + colorhash_table cht; + + pm_proginit(&argc, argv); + + argn = 1; + windowName = "untitled"; + winflag = 0; + expand = 1; + display = 0; + + while ( argn < argc && argv[argn][0] == '-' && argv[argn][1] != '\0' ) + { + if ( pm_keymatch(argv[argn],"-windowname",2) && argn + 1 < argc ) + { + ++argn; + windowName = argv[argn]; + winflag = 1; + } + else if ( pm_keymatch(argv[argn],"-expand",2) && argn + 1 < argc ) + { + ++argn; + if ( sscanf( argv[argn], "%d",&expand ) != 1 ) + pm_usage( usage ); + } + else if ( pm_keymatch(argv[argn],"-display",2) && argn + 1 < argc ) + { + ++argn; + if ( sscanf( argv[argn], "%d",&display ) != 1 ) + pm_usage( usage ); + } + else + pm_usage( usage ); + } + + if ( argn < argc ) + { + ifP = pm_openr( argv[argn] ); + if ( ! winflag ) + windowName = argv[argn]; + ++argn; + } + else + ifP = stdin; + + if ( argn != argc ) + pm_usage( usage ); + + pixels = ppm_readppm(ifP, &cols, &rows, &maxval); + + pm_close(ifP); + + /* Figure out the colormap. */ + pm_message("Computing colormap..." ); + chv = ppm_computecolorhist(pixels, cols, rows, MAXCOLORCT, &colorCt); + if (!chv) + pm_error("Too many colors - try doing a 'pnmquant %u'", MAXCOLORCT); + pm_message("%u colors found", colorCt ); + + makeIcrColormap(chv, colorCt, maxval, rgb); + + bitsPerPixel = bppFromColorCt(colorCt); + + /* And make a hash table for fast lookup. */ + cht = ppm_colorhisttocolorhash(chv, colorCt); + + ppm_freecolorhist(chv); + + /************** Create a new window using ICR protocol *********/ + /* Format is "ESC^W;left;top;width;height;display;windowname" */ + + pm_message("Creating window %s ...", windowName); + + printf("\033^W;%d;%d;%d;%d;%d;%s^", + 0, 0, cols * expand, rows * expand, display, windowName); + fflush(stdout); + + /****************** Download the colormap. ********************/ + + downloadColormap(rgb, windowName); + + sendOutPicture(pixels, rows, cols, cht, expand, windowName); + + return 0; +} + + + diff --git a/converter/ppm/ppmtompeg/Makefile b/converter/ppm/ppmtompeg/Makefile index 49aeb7f8..eeab9727 100644 --- a/converter/ppm/ppmtompeg/Makefile +++ b/converter/ppm/ppmtompeg/Makefile @@ -31,9 +31,6 @@ endif # 1) long's are 32 bits and # 2) int's are not # -# if you are using a non-ANSI compiler, then use: -# -DNON_ANSI_COMPILER -# # one other option: # -DHEINOUS_DEBUG_MODE # diff --git a/converter/ppm/ppmtompeg/headers/all.h b/converter/ppm/ppmtompeg/headers/all.h index 5c559528..8f095d8e 100644 --- a/converter/ppm/ppmtompeg/headers/all.h +++ b/converter/ppm/ppmtompeg/headers/all.h @@ -80,7 +80,6 @@ #include <time.h> #endif -#include "ansi.h" #include "general.h" /* some machines have #define index strchr; get rid of this nonsense */ diff --git a/converter/ppm/ppmtompeg/headers/ansi.h b/converter/ppm/ppmtompeg/headers/ansi.h deleted file mode 100644 index b3c3ab17..00000000 --- a/converter/ppm/ppmtompeg/headers/ansi.h +++ /dev/null @@ -1,76 +0,0 @@ -/*===========================================================================* - * ansi.h * - * * - * macro for non-ansi compilers * - * * - *===========================================================================*/ - -/* - * Copyright (c) 1995 The Regents of the University of California. - * All rights reserved. - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose, without fee, and without written agreement is - * hereby granted, provided that the above copyright notice and the following - * two paragraphs appear in all copies of this software. - * - * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR - * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT - * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF - * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS - * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO - * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - */ - -/* - * $Header: /n/picasso/project/mpeg/mpeg_dist/mpeg_encode/headers/RCS/ansi.h,v 1.6 1995/08/15 23:43:13 smoot Exp $ - * $Log: ansi.h,v $ - * Revision 1.6 1995/08/15 23:43:13 smoot - * *** empty log message *** - * - * Revision 1.5 1995/01/19 23:54:35 eyhung - * Changed copyrights - * - * Revision 1.4 1994/11/12 02:12:13 keving - * nothing - * - * Revision 1.3 1993/07/22 22:24:23 keving - * nothing - * - * Revision 1.2 1993/07/09 00:17:23 keving - * nothing - * - * Revision 1.1 1993/06/14 22:50:22 keving - * nothing - * - */ - - -#ifndef ANSI_INCLUDED -#define ANSI_INCLUDED - - -/* - * _ANSI_ARGS_ macro stolen from Tcl6.5 by John Ousterhout - */ -#undef _ANSI_ARGS_ -#undef const -#ifdef NON_ANSI_COMPILER -#define _ANSI_ARGS_(x) () -#define CONST -#else -#define _ANSI_ARGS_(x) x -#define CONST const -#ifdef __cplusplus -#define VARARGS (...) -#else -#define VARARGS () -#endif -#endif - - -#endif /* ANSI_INCLUDED */ diff --git a/converter/ppm/ppmtompeg/headers/bitio.h b/converter/ppm/ppmtompeg/headers/bitio.h index a24c21cd..931bcdd9 100644 --- a/converter/ppm/ppmtompeg/headers/bitio.h +++ b/converter/ppm/ppmtompeg/headers/bitio.h @@ -63,7 +63,6 @@ #include <stdio.h> #include "general.h" -#include "ansi.h" /*===========* diff --git a/converter/ppm/ppmtompeg/headers/dct.h b/converter/ppm/ppmtompeg/headers/dct.h index d5ea9f4a..3b824cf0 100644 --- a/converter/ppm/ppmtompeg/headers/dct.h +++ b/converter/ppm/ppmtompeg/headers/dct.h @@ -31,7 +31,6 @@ #define DCT_INCLUDED -#include "ansi.h" @@ -47,12 +46,12 @@ typedef DCTELEM DCTBLOCK_2D[DCTSIZE][DCTSIZE]; /* * from mfwddct.c: */ -void init_fdct _ANSI_ARGS_((void)); -extern void mp_fwd_dct_block2 _ANSI_ARGS_((DCTBLOCK_2D src, DCTBLOCK_2D dest)); +void init_fdct (void); +extern void mp_fwd_dct_block2 (DCTBLOCK_2D src, DCTBLOCK_2D dest); /* jrevdct.c */ -extern void init_pre_idct _ANSI_ARGS_((void )); -extern void mpeg_jrevdct _ANSI_ARGS_((DCTBLOCK data )); +extern void init_pre_idct (void ); +extern void mpeg_jrevdct (DCTBLOCK data ); /* We assume that right shift corresponds to signed division by 2 with diff --git a/converter/ppm/ppmtompeg/headers/frame.h b/converter/ppm/ppmtompeg/headers/frame.h index 1f460ac2..e1f587a2 100644 --- a/converter/ppm/ppmtompeg/headers/frame.h +++ b/converter/ppm/ppmtompeg/headers/frame.h @@ -35,7 +35,6 @@ *==============*/ #include "netpbm/pm_c_util.h" -#include "ansi.h" #include "mtypes.h" /*===========* diff --git a/converter/ppm/ppmtompeg/headers/frames.h b/converter/ppm/ppmtompeg/headers/frames.h index 966d9214..2ec11d69 100644 --- a/converter/ppm/ppmtompeg/headers/frames.h +++ b/converter/ppm/ppmtompeg/headers/frames.h @@ -13,7 +13,6 @@ *==============*/ #include "pm_config.h" /* For __inline__ */ -#include "ansi.h" #include "mtypes.h" #include "mheaders.h" #include "iframe.h" diff --git a/converter/ppm/ppmtompeg/headers/frametype.h b/converter/ppm/ppmtompeg/headers/frametype.h index 63bee964..33b604e6 100644 --- a/converter/ppm/ppmtompeg/headers/frametype.h +++ b/converter/ppm/ppmtompeg/headers/frametype.h @@ -7,7 +7,7 @@ FType_Type(unsigned int const frameNum); unsigned int FType_FutureRef(unsigned int const currFrameNum); -int FType_PastRef _ANSI_ARGS_((int currFrameNum)); +int FType_PastRef (int currFrameNum); void SetFramePattern(const char * const pattern); diff --git a/converter/ppm/ppmtompeg/headers/jpeg.h b/converter/ppm/ppmtompeg/headers/jpeg.h index 17aa0808..76d73d9e 100644 --- a/converter/ppm/ppmtompeg/headers/jpeg.h +++ b/converter/ppm/ppmtompeg/headers/jpeg.h @@ -1,5 +1,4 @@ #include <stdio.h> -#include "ansi.h" #include "frame.h" void diff --git a/converter/ppm/ppmtompeg/headers/mheaders.h b/converter/ppm/ppmtompeg/headers/mheaders.h index 21d43e3d..edd9552d 100644 --- a/converter/ppm/ppmtompeg/headers/mheaders.h +++ b/converter/ppm/ppmtompeg/headers/mheaders.h @@ -54,7 +54,6 @@ *==============*/ #include "general.h" -#include "ansi.h" #include "bitio.h" @@ -62,7 +61,7 @@ * EXTERNAL PROCEDURE prototypes * *===============================*/ -void SetGOPStartTime _ANSI_ARGS_((int index)); +void SetGOPStartTime (int index); void Mhead_GenSequenceHeader(BitBucket * const bbPtr, @@ -80,21 +79,21 @@ Mhead_GenSequenceHeader(BitBucket * const bbPtr, uint8 * const user_data, int32 const user_data_size); -void Mhead_GenSequenceEnder _ANSI_ARGS_((BitBucket *bbPtr)); -void Mhead_GenGOPHeader _ANSI_ARGS_((BitBucket *bbPtr, +void Mhead_GenSequenceEnder (BitBucket *bbPtr); +void Mhead_GenGOPHeader (BitBucket *bbPtr, int32 drop_frame_flag, int32 tc_hrs, int32 tc_min, int32 tc_sec, int32 tc_pict, int32 closed_gop, int32 broken_link, uint8 *ext_data, int32 ext_data_size, - uint8 *user_data, int32 user_data_size)); -void Mhead_GenPictureHeader _ANSI_ARGS_((BitBucket *bbPtr, int frameType, - int pictCount, int f_code)); -void Mhead_GenSliceHeader _ANSI_ARGS_((BitBucket *bbPtr, uint32 slicenum, + uint8 *user_data, int32 user_data_size); +void Mhead_GenPictureHeader (BitBucket *bbPtr, int frameType, + int pictCount, int f_code); +void Mhead_GenSliceHeader (BitBucket *bbPtr, uint32 slicenum, uint32 qscale, uint8 *extra_info, - uint32 extra_info_size)); -void Mhead_GenSliceEnder _ANSI_ARGS_((BitBucket *bbPtr)); -void Mhead_GenMBHeader _ANSI_ARGS_((BitBucket *bbPtr, + uint32 extra_info_size); +void Mhead_GenSliceEnder (BitBucket *bbPtr); +void Mhead_GenMBHeader (BitBucket *bbPtr, uint32 pict_code_type, uint32 addr_incr, uint32 q_scale, uint32 forw_f_code, uint32 back_f_code, @@ -103,7 +102,7 @@ void Mhead_GenMBHeader _ANSI_ARGS_((BitBucket *bbPtr, int32 motion_forw, int32 m_horiz_forw, int32 m_vert_forw, int32 motion_back, int32 m_horiz_back, int32 m_vert_back, - uint32 mb_pattern, uint32 mb_intra)); + uint32 mb_pattern, uint32 mb_intra); #endif /* MHEADERS_INCLUDED */ diff --git a/converter/ppm/ppmtompeg/headers/motion_search.h b/converter/ppm/ppmtompeg/headers/motion_search.h index 117b914a..d00509c4 100644 --- a/converter/ppm/ppmtompeg/headers/motion_search.h +++ b/converter/ppm/ppmtompeg/headers/motion_search.h @@ -9,7 +9,6 @@ * HEADER FILES * *==============*/ -#include "ansi.h" /*===========* diff --git a/converter/ppm/ppmtompeg/headers/mpeg.h b/converter/ppm/ppmtompeg/headers/mpeg.h index 56862c42..fbfaaf2c 100644 --- a/converter/ppm/ppmtompeg/headers/mpeg.h +++ b/converter/ppm/ppmtompeg/headers/mpeg.h @@ -34,7 +34,6 @@ #include "pm_c_util.h" #include "ppm.h" -#include "ansi.h" #include "mtypes.h" #include "frame.h" @@ -80,7 +79,7 @@ ComputeGOPFrames(int const whichGOP, unsigned int * const lastFrameP, unsigned int const numFrames); -extern void IncrementTCTime _ANSI_ARGS_((void)); +extern void IncrementTCTime (void); void SetReferenceFrameType(const char * const type); boolean @@ -93,7 +92,7 @@ ReadDecodedRefFrame(MpegFrame * const frameP, void SetBitRateFileName(const char * const fileName); -extern void SetFrameRate _ANSI_ARGS_((void)); +extern void SetFrameRate (void); /*==================* diff --git a/converter/ppm/ppmtompeg/headers/mproto.h b/converter/ppm/ppmtompeg/headers/mproto.h index d8fefd84..5b003b2e 100644 --- a/converter/ppm/ppmtompeg/headers/mproto.h +++ b/converter/ppm/ppmtompeg/headers/mproto.h @@ -70,7 +70,6 @@ *==============*/ #include "general.h" -#include "ansi.h" #include "bitio.h" @@ -86,39 +85,39 @@ typedef DCTELEM DCTBLOCK[DCTSIZE2]; /* * from mbasic.c: */ -void mp_reset _ANSI_ARGS_((void)); -void mp_free _ANSI_ARGS_((MpegFrame *mf)); -MpegFrame *mp_new _ANSI_ARGS_((int fnumber, char type, MpegFrame *oldFrame)); -void mp_ycc_calc _ANSI_ARGS_((MpegFrame *mf)); -void mp_dct_blocks _ANSI_ARGS_((MpegFrame *mf)); -void AllocDecoded _ANSI_ARGS_((MpegFrame *frame)); +void mp_reset (void); +void mp_free (MpegFrame *mf); +MpegFrame *mp_new (int fnumber, char type, MpegFrame *oldFrame); +void mp_ycc_calc (MpegFrame *mf); +void mp_dct_blocks (MpegFrame *mf); +void AllocDecoded (MpegFrame *frame); /* * from moutput.c: */ -boolean mp_quant_zig_block _ANSI_ARGS_((Block in, FlatBlock out, int qscale, int iblock)); -void UnQuantZig _ANSI_ARGS_((FlatBlock in, Block out, int qscale, boolean iblock)); -void mp_rle_huff_block _ANSI_ARGS_((FlatBlock in, BitBucket *out)); -void mp_rle_huff_pblock _ANSI_ARGS_((FlatBlock in, BitBucket *out)); -void mp_create_blocks _ANSI_ARGS_((MpegFrame *mf)); +boolean mp_quant_zig_block (Block in, FlatBlock out, int qscale, int iblock); +void UnQuantZig (FlatBlock in, Block out, int qscale, boolean iblock); +void mp_rle_huff_block (FlatBlock in, BitBucket *out); +void mp_rle_huff_pblock (FlatBlock in, BitBucket *out); +void mp_create_blocks (MpegFrame *mf); -void ReadEYUV _ANSI_ARGS_((MpegFrame * mf, FILE *fpointer, int width, - int height)); -boolean ReadPPM _ANSI_ARGS_((MpegFrame *mf, FILE *fpointer)); -void PPMtoYCC _ANSI_ARGS_((MpegFrame * mf)); +void ReadEYUV (MpegFrame * mf, FILE *fpointer, int width, + int height); +boolean ReadPPM (MpegFrame *mf, FILE *fpointer); +void PPMtoYCC (MpegFrame * mf); -void ComputeHalfPixelData _ANSI_ARGS_((MpegFrame *frame)); -void mp_validate_size _ANSI_ARGS_((int *x, int *y)); -void AllocYCC _ANSI_ARGS_((MpegFrame * mf)); +void ComputeHalfPixelData (MpegFrame *frame); +void mp_validate_size (int *x, int *y); +void AllocYCC (MpegFrame * mf); /* jrevdct.c */ -void init_pre_idct _ANSI_ARGS_((void )); -void j_rev_dct_sparse _ANSI_ARGS_((DCTBLOCK data , int pos )); -void j_rev_dct _ANSI_ARGS_((DCTBLOCK data )); -void j_rev_dct_sparse _ANSI_ARGS_((DCTBLOCK data , int pos )); -void j_rev_dct _ANSI_ARGS_((DCTBLOCK data )); +void init_pre_idct (void ); +void j_rev_dct_sparse (DCTBLOCK data , int pos ); +void j_rev_dct (DCTBLOCK data ); +void j_rev_dct_sparse (DCTBLOCK data , int pos ); +void j_rev_dct (DCTBLOCK data ); diff --git a/converter/ppm/ppmtompeg/headers/opts.h b/converter/ppm/ppmtompeg/headers/opts.h index 5901a677..1756334e 100644 --- a/converter/ppm/ppmtompeg/headers/opts.h +++ b/converter/ppm/ppmtompeg/headers/opts.h @@ -38,7 +38,6 @@ */ #include "general.h" -#include "ansi.h" #include "mtypes.h" /* @@ -110,14 +109,14 @@ extern int LaplaceNum, LaplaceCnum; extern boolean BSkipBlocks; /* Procedures Prototypes */ -int GetIQScale _ANSI_ARGS_((void)); -int GetPQScale _ANSI_ARGS_((void)); -int GetBQScale _ANSI_ARGS_((void)); -void Tune_Init _ANSI_ARGS_((void)); -int CalcRLEHuffLength _ANSI_ARGS_((FlatBlock in)); +int GetIQScale (void); +int GetPQScale (void); +int GetBQScale (void); +void Tune_Init (void); +int CalcRLEHuffLength (FlatBlock in); void ParseTuneParam(const char * const charPtr); -int mse _ANSI_ARGS_((Block blk1, Block blk2)); -void Mpost_UnQuantZigBlockLaplace _ANSI_ARGS_((FlatBlock in, Block out, int qscale, boolean iblock)); +int mse (Block blk1, Block blk2); +void Mpost_UnQuantZigBlockLaplace (FlatBlock in, Block out, int qscale, boolean iblock); extern void CalcLambdas(void); diff --git a/converter/ppm/ppmtompeg/headers/parallel.h b/converter/ppm/ppmtompeg/headers/parallel.h index 90edd874..0a31fac2 100644 --- a/converter/ppm/ppmtompeg/headers/parallel.h +++ b/converter/ppm/ppmtompeg/headers/parallel.h @@ -30,7 +30,6 @@ * HEADER FILES * *==============*/ -#include "ansi.h" #include "bitio.h" #include "frame.h" diff --git a/converter/ppm/ppmtompeg/headers/param.h b/converter/ppm/ppmtompeg/headers/param.h index 0c6d8e5c..46a544b3 100644 --- a/converter/ppm/ppmtompeg/headers/param.h +++ b/converter/ppm/ppmtompeg/headers/param.h @@ -1,7 +1,6 @@ /* COPYRIGHT information is at end of file */ #include "pm_c_util.h" -#include "ansi.h" #include "input.h" diff --git a/converter/ppm/ppmtompeg/headers/prototypes.h b/converter/ppm/ppmtompeg/headers/prototypes.h index b421af35..432062e3 100644 --- a/converter/ppm/ppmtompeg/headers/prototypes.h +++ b/converter/ppm/ppmtompeg/headers/prototypes.h @@ -30,7 +30,6 @@ *==============*/ #include "general.h" -#include "ansi.h" #include "frame.h" @@ -38,34 +37,34 @@ * EXTERNAL PROCEDURE prototypes * *===============================*/ -int GetBQScale _ANSI_ARGS_((void)); -int GetPQScale _ANSI_ARGS_((void)); -void ResetBFrameStats _ANSI_ARGS_((void)); -void ResetPFrameStats _ANSI_ARGS_((void)); +int GetBQScale (void); +int GetPQScale (void); +void ResetBFrameStats (void); +void ResetPFrameStats (void); void SetSearchRange (int const pixelsP, int const pixelsB); void SetPixelSearch(const char * const searchType); -void SetPQScale _ANSI_ARGS_((int qP)); -void SetBQScale _ANSI_ARGS_((int qB)); -float EstimateSecondsPerPFrame _ANSI_ARGS_((void)); -float EstimateSecondsPerBFrame _ANSI_ARGS_((void)); -void SetGOPSize _ANSI_ARGS_((int size)); +void SetPQScale (int qP); +void SetBQScale (int qB); +float EstimateSecondsPerPFrame (void); +float EstimateSecondsPerBFrame (void); +void SetGOPSize (int size); void SetStatFileName(const char * const fileName); -void DCTFrame _ANSI_ARGS_((MpegFrame * mf)); +void DCTFrame (MpegFrame * mf); -void PPMtoYCC _ANSI_ARGS_((MpegFrame * mf)); +void PPMtoYCC (MpegFrame * mf); -void MotionSearchPreComputation _ANSI_ARGS_((MpegFrame *frame)); +void MotionSearchPreComputation (MpegFrame *frame); -void ComputeHalfPixelData _ANSI_ARGS_((MpegFrame *frame)); -void mp_validate_size _ANSI_ARGS_((int *x, int *y)); +void ComputeHalfPixelData (MpegFrame *frame); +void mp_validate_size (int *x, int *y); /* psearch.c */ -void ShowPMVHistogram _ANSI_ARGS_((FILE *fpointer)); -void ShowBBMVHistogram _ANSI_ARGS_((FILE *fpointer)); -void ShowBFMVHistogram _ANSI_ARGS_((FILE *fpointer)); +void ShowPMVHistogram (FILE *fpointer); +void ShowBBMVHistogram (FILE *fpointer); +void ShowBFMVHistogram (FILE *fpointer); diff --git a/converter/ppm/ppmtompeg/headers/rate.h b/converter/ppm/ppmtompeg/headers/rate.h index 8d691174..a5f5076f 100644 --- a/converter/ppm/ppmtompeg/headers/rate.h +++ b/converter/ppm/ppmtompeg/headers/rate.h @@ -68,7 +68,7 @@ targetRateControl(MpegFrame * const frameP); * * RETURNS: nothing *===========================================================================*/ -extern void MB_RateOut _ANSI_ARGS_((int type)); +extern void MB_RateOut (int type); /*===========================================================================* @@ -92,7 +92,7 @@ updateRateControl(int const type); * * RETURNS: new Qscale *===========================================================================*/ -extern int needQScaleChange _ANSI_ARGS_((int oldQScale, Block blk0, Block blk1, Block blk2, Block blk3)); +extern int needQScaleChange (int oldQScale, Block blk0, Block blk1, Block blk2, Block blk3); /*===========================================================================* * @@ -101,7 +101,7 @@ extern int needQScaleChange _ANSI_ARGS_((int oldQScale, Block blk0, Block blk1, * * RETURNS: nothing *===========================================================================*/ -extern void incNumBlocks _ANSI_ARGS_((int num)); +extern void incNumBlocks (int num); /*===========================================================================* @@ -113,7 +113,7 @@ extern void incNumBlocks _ANSI_ARGS_((int num)); * * RETURNS: nothing *===========================================================================*/ -extern void incMacroBlockBits _ANSI_ARGS_((int num)); +extern void incMacroBlockBits (int num); /*===========================================================================* @@ -125,7 +125,7 @@ extern void incMacroBlockBits _ANSI_ARGS_((int num)); * * RETURNS: nothing *===========================================================================*/ -extern void SetRateControl _ANSI_ARGS_((char *charPtr)); +extern void SetRateControl (char *charPtr); /*===========================================================================* @@ -150,7 +150,7 @@ setBufferSize(const char * const charPtr); * * RETURNS: int (or -1 if invalid) *===========================================================================*/ -extern int getBufferSize _ANSI_ARGS_((void)); +extern int getBufferSize (void); /*===========================================================================* @@ -178,7 +178,7 @@ setBitRate(const char * const charPtr); * * RETURNS: int (-1 if Variable mode operation) *===========================================================================*/ -extern int getBitRate _ANSI_ARGS_((void)); +extern int getBitRate (void); /*===========================================================================* @@ -189,7 +189,7 @@ extern int getBitRate _ANSI_ARGS_((void)); * * RETURNS: integer *===========================================================================*/ -extern int getRateMode _ANSI_ARGS_((void)); +extern int getRateMode (void); /*===========================================================================* @@ -200,5 +200,5 @@ extern int getRateMode _ANSI_ARGS_((void)); * * RETURNS: nothing *===========================================================================*/ -extern void incQuantOverride _ANSI_ARGS_((int num)); +extern void incQuantOverride (int num); diff --git a/converter/ppm/ppmtompeg/headers/specifics.h b/converter/ppm/ppmtompeg/headers/specifics.h index 7bcf4ace..4f5c7074 100644 --- a/converter/ppm/ppmtompeg/headers/specifics.h +++ b/converter/ppm/ppmtompeg/headers/specifics.h @@ -1,4 +1,3 @@ -#include "ansi.h" /*===========* @@ -29,8 +28,8 @@ typedef struct fsl_def { } FrameSpecList; -void Specifics_Init _ANSI_ARGS_((void)); -int SpecLookup _ANSI_ARGS_((int fn, int typ, int num, - BlockMV **info, int start_qs)); -int SpecTypeLookup _ANSI_ARGS_((int fn)); +void Specifics_Init (void); +int SpecLookup (int fn, int typ, int num, + BlockMV **info, int start_qs); +int SpecTypeLookup (int fn); diff --git a/converter/ppm/ppmtompeg/jrevdct.c b/converter/ppm/ppmtompeg/jrevdct.c index c3379d7a..bf9196c4 100644 --- a/converter/ppm/ppmtompeg/jrevdct.c +++ b/converter/ppm/ppmtompeg/jrevdct.c @@ -28,7 +28,6 @@ #include <memory.h> #include "all.h" -#include "ansi.h" #include "dct.h" @@ -162,9 +161,9 @@ ones here or successive P-frames will drift too much with Reference frame coding /* Switch on reverse_dct choices */ -void reference_rev_dct _ANSI_ARGS_((int16 *block)); -void mpeg_jrevdct_quick _ANSI_ARGS_((int16 *block)); -void init_idctref _ANSI_ARGS_((void)); +void reference_rev_dct (int16 *block); +void mpeg_jrevdct_quick (int16 *block); +void init_idctref (void); extern boolean pureDCT; diff --git a/converter/ppm/ppmtompeg/mpeg.c b/converter/ppm/ppmtompeg/mpeg.c index 5cd7b099..24d337ed 100644 --- a/converter/ppm/ppmtompeg/mpeg.c +++ b/converter/ppm/ppmtompeg/mpeg.c @@ -126,9 +126,9 @@ int32 bit_rate, buf_size; * INTERNAL PROCEDURE prototypes * *===============================*/ -static void ComputeDHMSTime _ANSI_ARGS_((int32 someTime, char *timeText)); -static void OpenBitRateFile _ANSI_ARGS_((void)); -static void CloseBitRateFile _ANSI_ARGS_((void)); +static void ComputeDHMSTime (int32 someTime, char *timeText); +static void OpenBitRateFile (void); +static void CloseBitRateFile (void); static void diff --git a/converter/ppm/ppmtompeg/opts.c b/converter/ppm/ppmtompeg/opts.c index 9eee971f..841efdab 100644 --- a/converter/ppm/ppmtompeg/opts.c +++ b/converter/ppm/ppmtompeg/opts.c @@ -52,7 +52,7 @@ extern int32 qtable[], niqtable[]; extern int ZAG[]; extern boolean printSNR, decodeRefFrames; -void init_idctref _ANSI_ARGS_((void)); +void init_idctref (void); /*===================* diff --git a/converter/ppm/ppmtompeg/ppmtompeg.c b/converter/ppm/ppmtompeg/ppmtompeg.c index bc788552..cd94db39 100644 --- a/converter/ppm/ppmtompeg/ppmtompeg.c +++ b/converter/ppm/ppmtompeg/ppmtompeg.c @@ -59,7 +59,7 @@ #include <time.h> -int main _ANSI_ARGS_((int argc, char **argv)); +int main (int argc, char **argv); /*==================* @@ -92,7 +92,7 @@ const char * hostname; * External PROCEDURE prototypes * *================================*/ -void init_idctref _ANSI_ARGS_((void)); +void init_idctref (void); struct cmdlineInfo { diff --git a/converter/ppm/ppmtompeg/rate.c b/converter/ppm/ppmtompeg/rate.c index d92afb64..c775e055 100644 --- a/converter/ppm/ppmtompeg/rate.c +++ b/converter/ppm/ppmtompeg/rate.c @@ -204,13 +204,13 @@ extern int framePatternLen; * INTERNAL PROCEDURE prototypes * *===============================*/ -int initGOPRateControl _ANSI_ARGS_((void)); -int determineMBCount _ANSI_ARGS_((void)); -void checkBufferFullness _ANSI_ARGS_((int count)); -void checkSpatialActivity _ANSI_ARGS_((Block blk0, Block blk1, Block blk2, Block blk3)); -void incNumBlocks _ANSI_ARGS_((int num)); -void calculateVBVDelay _ANSI_ARGS_((int num)); -int BlockExperiments _ANSI_ARGS_((int16 *OrigBlock, int16 *NewBlock, int control)); +int initGOPRateControl (void); +int determineMBCount (void); +void checkBufferFullness (int count); +void checkSpatialActivity (Block blk0, Block blk1, Block blk2, Block blk3); +void incNumBlocks (int num); +void calculateVBVDelay (int num); +int BlockExperiments (int16 *OrigBlock, int16 *NewBlock, int control); diff --git a/converter/ppm/ppmtompeg/readframe.c b/converter/ppm/ppmtompeg/readframe.c index cac6bdad..23752706 100644 --- a/converter/ppm/ppmtompeg/readframe.c +++ b/converter/ppm/ppmtompeg/readframe.c @@ -74,19 +74,19 @@ const char *CurrFile; * INTERNAL PROCEDURE prototypes * *===============================*/ -static void ReadEYUV _ANSI_ARGS_((MpegFrame * mf, FILE *fpointer, - int width, int height)); -static void ReadAYUV _ANSI_ARGS_((MpegFrame * mf, FILE *fpointer, - int width, int height)); -static void SeparateLine _ANSI_ARGS_((FILE *fpointer, struct YuvLine *lineptr, - int width)); -static void ReadY _ANSI_ARGS_((MpegFrame * mf, FILE *fpointer, - int width, int height)); -static void ReadSub4 _ANSI_ARGS_((MpegFrame * mf, FILE *fpointer, - int width, int height)); -static void DoGamma _ANSI_ARGS_((MpegFrame *mf, int width, int height)); - -static void DoKillDim _ANSI_ARGS_((MpegFrame *mf, int w, int h)); +static void ReadEYUV (MpegFrame * mf, FILE *fpointer, + int width, int height); +static void ReadAYUV (MpegFrame * mf, FILE *fpointer, + int width, int height); +static void SeparateLine (FILE *fpointer, struct YuvLine *lineptr, + int width); +static void ReadY (MpegFrame * mf, FILE *fpointer, + int width, int height); +static void ReadSub4 (MpegFrame * mf, FILE *fpointer, + int width, int height); +static void DoGamma (MpegFrame *mf, int width, int height); + +static void DoKillDim (MpegFrame *mf, int w, int h); #define safe_fread(ptr,sz,len,fileptr) \ if ((safe_read_count=fread(ptr,sz,len,fileptr))!=sz*len) { \ diff --git a/converter/ppm/ppmtompeg/specifics.c b/converter/ppm/ppmtompeg/specifics.c index ffbce80a..fb5e3649 100644 --- a/converter/ppm/ppmtompeg/specifics.c +++ b/converter/ppm/ppmtompeg/specifics.c @@ -58,14 +58,14 @@ FrameSpecList *fsl; * Internal procedures * *=====================*/ -void Parse_Specifics_File _ANSI_ARGS_((FILE *fp)); -void Parse_Specifics_File_v1 _ANSI_ARGS_((FILE *fp)); -void Parse_Specifics_File_v2 _ANSI_ARGS_((FILE *fp)); -FrameSpecList *MakeFslEntry _ANSI_ARGS_((void)); -void AddSlc _ANSI_ARGS_((FrameSpecList *c,int snum, int qs)); -Block_Specifics *AddBs _ANSI_ARGS_((FrameSpecList *c,int bnum, - boolean rel, int qs)); -FrameSpecList *MakeFslEntry _ANSI_ARGS_((void)); +void Parse_Specifics_File (FILE *fp); +void Parse_Specifics_File_v1 (FILE *fp); +void Parse_Specifics_File_v2 (FILE *fp); +FrameSpecList *MakeFslEntry (void); +void AddSlc (FrameSpecList *c,int snum, int qs); +Block_Specifics *AddBs (FrameSpecList *c,int bnum, + boolean rel, int qs); +FrameSpecList *MakeFslEntry (void); #define my_upper(c) (((c>='a') && (c<='z')) ? (c-'a'+'A') : c) #define CvtType(x) ReallyCvt(my_upper(x)) #define ReallyCvt(x) (x=='I' ? 1 : (x=='P')?2: ((x=='B')?3:-1)) diff --git a/converter/ppm/ppmtopcx.c b/converter/ppm/ppmtopcx.c index 4c25ca29..fa68edc5 100644 --- a/converter/ppm/ppmtopcx.c +++ b/converter/ppm/ppmtopcx.c @@ -12,6 +12,10 @@ ** ** 11/Dec/94: first version ** 12/Dec/94: added handling of "packed" format (16 colors or less) +** +** ZSoft PCX File Format Technical Reference Manual +** http://bespin.org/~qz/pc-gpe/pcx.txt +** http://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt */ #include <assert.h> @@ -158,6 +162,8 @@ parseCommandLine(int argc, char ** argv, pm_error("Program takes at most one argument " "(input file specification). You specified %d", argc-1); + + free(option_def); } @@ -632,6 +638,16 @@ generateStandardPalette(struct pcxCmapEntry ** const pcxcmapP, putPcxColorInHash(cht, pcxColor, colorIndex, maxval); } + /* Set remaining slots in palette to black. The values are not + meaningful, but this suppresses a Valgrind warning about our writing + undefined values to the file and makes our output constant with input. + */ + for ( ; colorIndex < MAXCOLORS; ++colorIndex) { + pcxcmap[colorIndex].r = 0; + pcxcmap[colorIndex].g = 0; + pcxcmap[colorIndex].b = 0; + } + *chtP = cht; *colorsP = stdPaletteSize; } |