summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sterrett <mr_bones_@gentoo.org>2006-01-21 07:14:51 +0000
committerMichael Sterrett <mr_bones_@gentoo.org>2006-01-21 07:14:51 +0000
commit5491f9f7e40e84aa0955b5711df774d98e925642 (patch)
tree7b48c2bbab4b29f2617171b917ecfbe61b391681 /media-video/mpeg-tools
parentppc stable, bug #111212 (diff)
downloadgentoo-2-5491f9f7e40e84aa0955b5711df774d98e925642.tar.gz
gentoo-2-5491f9f7e40e84aa0955b5711df774d98e925642.tar.bz2
gentoo-2-5491f9f7e40e84aa0955b5711df774d98e925642.zip
clean old files
(Portage version: 2.0.53)
Diffstat (limited to 'media-video/mpeg-tools')
-rw-r--r--media-video/mpeg-tools/ChangeLog10
-rw-r--r--media-video/mpeg-tools/files/1.5b/libpnmrw.c1757
-rw-r--r--media-video/mpeg-tools/files/1.5b/libpnmrw.h194
-rw-r--r--media-video/mpeg-tools/files/1.5b/mpeg-tools-1.5b-fix-exit-call.patch17
-rw-r--r--media-video/mpeg-tools/files/1.5b/mpeg-tools-1.5b-gentoo.patch24
-rw-r--r--media-video/mpeg-tools/files/digest-mpeg-tools-1.5b1
-rw-r--r--media-video/mpeg-tools/files/digest-mpeg-tools-1.5b-r11
-rw-r--r--media-video/mpeg-tools/mpeg-tools-1.5b-r1.ebuild55
-rw-r--r--media-video/mpeg-tools/mpeg-tools-1.5b.ebuild48
9 files changed, 8 insertions, 2099 deletions
diff --git a/media-video/mpeg-tools/ChangeLog b/media-video/mpeg-tools/ChangeLog
index 1b80c7a9033e..b1655658257e 100644
--- a/media-video/mpeg-tools/ChangeLog
+++ b/media-video/mpeg-tools/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-video/mpeg-tools
-# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/mpeg-tools/ChangeLog,v 1.13 2005/09/30 20:36:21 blubb Exp $
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/mpeg-tools/ChangeLog,v 1.14 2006/01/21 07:14:50 mr_bones_ Exp $
+
+ 21 Jan 2006; Michael Sterrett <mr_bones_@gentoo.org>
+ -files/1.5b/mpeg-tools-1.5b-fix-exit-call.patch, -files/1.5b/libpnmrw.c,
+ -files/1.5b/mpeg-tools-1.5b-gentoo.patch, -files/1.5b/libpnmrw.h,
+ -mpeg-tools-1.5b.ebuild, -mpeg-tools-1.5b-r1.ebuild:
+ clean old files
30 Sep 2005; Simon Stelling <blubb@gentoo.org> mpeg-tools-1.5b-r2.ebuild:
stable on amd64 wrt bug 107344
diff --git a/media-video/mpeg-tools/files/1.5b/libpnmrw.c b/media-video/mpeg-tools/files/1.5b/libpnmrw.c
deleted file mode 100644
index 570192b6921c..000000000000
--- a/media-video/mpeg-tools/files/1.5b/libpnmrw.c
+++ /dev/null
@@ -1,1757 +0,0 @@
-/* libpnmrw.c - PBM/PGM/PPM read/write library
- **
- ** Copyright (C) 1988, 1989, 1991, 1992 by Jef Poskanzer.
- **
- ** Permission to use, copy, modify, and distribute this software and its
- ** documentation for any purpose and without fee is hereby granted, provided
- ** that the above copyright notice appear in all copies and that both that
- ** copyright notice and this permission notice appear in supporting
- ** documentation. This software is provided "as is" without express or
- ** implied warranty.
- */
-
-#define pm_error(x) exit(1)
-
-
-#if defined(SVR2) || defined(SVR3) || defined(SVR4)
-#define SYSV
-#endif
-#if ! ( defined(BSD) || defined(SYSV) || defined(MSDOS) )
-/* CONFIGURE: If your system is >= 4.2BSD, set the BSD option; if you're a
- ** System V site, set the SYSV option; and if you're IBM-compatible, set
-** MSDOS. If your compiler is ANSI C, you're probably better off setting
-** SYSV - all it affects is string handling.
-*/
-#define BSD
-/* #define SYSV */
-/* #define MSDOS */
-#endif
-
-#include <stdio.h>
-#include "libpnmrw.h"
-
-/* if don't have string.h, try strings.h */
-#include <string.h>
-#define rindex(s,c) strrchr(s,c)
-
-
-/* Definitions. */
-
-#define pbm_allocarray( cols, rows ) ((bit**) pm_allocarray( cols, rows, sizeof(bit) ))
-#define pbm_allocrow( cols ) ((bit*) pm_allocrow( cols, sizeof(bit) ))
-#define pbm_freearray( bits, rows ) pm_freearray( (char**) bits, rows )
-#define pbm_freerow( bitrow ) pm_freerow( (char*) bitrow )
-#define pgm_allocarray( cols, rows ) ((gray**) pm_allocarray( cols, rows, sizeof(gray) ))
-#define pgm_allocrow( cols ) ((gray*) pm_allocrow( cols, sizeof(gray) ))
-#define pgm_freearray( grays, rows ) pm_freearray( (char**) grays, rows )
-#define pgm_freerow( grayrow ) pm_freerow( (char*) grayrow )
-#define ppm_allocarray( cols, rows ) ((pixel**) pm_allocarray( cols, rows, sizeof(pixel) ))
-#define ppm_allocrow( cols ) ((pixel*) pm_allocrow( cols, sizeof(pixel) ))
-#define ppm_freearray( pixels, rows ) pm_freearray( (char**) pixels, rows )
-#define ppm_freerow( pixelrow ) pm_freerow( (char*) pixelrow )
-
-
-/* Variables. */
-
-static char* progname;
-
-
-/* Variable-sized arrays. */
-
-char*
- pm_allocrow( cols, size )
-int cols;
-int size;
-{
- register char* itrow;
-
- itrow = (char*) malloc( cols * size );
- if ( itrow == (char*) 0 )
- {
- (void) fprintf(
- stderr, "%s: out of memory allocating a row\n", progname );
- return (char*) 0;
- }
- return itrow;
-}
-
-void
- pm_freerow( itrow )
-char* itrow;
-{
- free( itrow );
-}
-
-char**
- pm_allocarray( cols, rows, size )
-int cols, rows;
-int size;
-{
- char** its;
- int i;
-
- its = (char**) malloc( rows * sizeof(char*) );
- if ( its == (char**) 0 )
- {
- (void) fprintf(
- stderr, "%s: out of memory allocating an array\n", progname );
- return (char**) 0;
- }
- its[0] = (char*) malloc( rows * cols * size );
- if ( its[0] == (char*) 0 )
- {
- (void) fprintf(
- stderr, "%s: out of memory allocating an array\n", progname );
- free( (char*) its );
- return (char**) 0;
- }
- for ( i = 1; i < rows; ++i )
- its[i] = &(its[0][i * cols * size]);
- return its;
-}
-
-void
- pm_freearray( its, rows )
-char** its;
-int rows;
-{
- free( its[0] );
- free( its );
-}
-
-
-/* File open/close that handles "-" as stdin and checks errors. */
-
-static void
- pm_perror( reason )
-char* reason;
-{
- extern __const char *__const sys_errlist[];
- extern int errno;
- char* e;
-
- e = sys_errlist[errno];
-
- if ( reason != 0 && reason[0] != '\0' )
- (void) fprintf( stderr, "%s: %s - %s\n", progname, reason, e );
- else
- (void) fprintf( stderr, "%s: %s\n", progname, e );
-}
-
-FILE*
- pm_openr( name )
-char* name;
-{
- FILE* f;
-
- if ( strcmp( name, "-" ) == 0 )
- f = stdin;
- else
- {
- f = fopen( name, "rb" );
- if ( f == NULL )
- {
- pm_perror( name );
- return (FILE*) 0;
- }
- }
- return f;
-}
-
-FILE*
- pm_openw( name )
-char* name;
-{
- FILE* f;
-
- f = fopen( name, "wb" );
- if ( f == NULL ) {
- pm_perror( name );
- return (FILE*) 0;
- }
- return f;
-}
-
-int
- pm_closer( f )
-FILE* f;
-{
- if ( ferror( f ) )
- {
- (void) fprintf(
- stderr, "%s: a file read error occurred at some point\n",
- progname );
- return -1;
- }
- if ( f != stdin )
- if ( fclose( f ) != 0 )
- {
- pm_perror( "fclose" );
- return -1;
- }
- return 0;
-}
-
-int
- pm_closew( f )
-FILE* f;
-{
- fflush( f );
- if ( ferror( f ) )
- {
- (void) fprintf(
- stderr, "%s: a file write error occurred at some point\n",
- progname );
- return -1;
- }
- if ( f != stdout )
- if ( fclose( f ) != 0 )
- {
- pm_perror( "fclose" );
- return -1;
- }
- return 0;
-}
-
-static int
- pbm_getc( file )
-FILE* file;
-{
- register int ich;
-
- ich = getc( file );
- if ( ich == EOF )
- {
- (void) fprintf( stderr, "%s: EOF / read error\n", progname );
- return EOF;
- }
-
- if ( ich == '#' )
- {
- do
- {
- ich = getc( file );
- if ( ich == EOF )
- {
- (void) fprintf( stderr, "%s: EOF / read error\n", progname );
- return EOF;
- }
- }
- while ( ich != '\n' && ich != '\r' );
- }
-
- return ich;
-}
-
-static bit
- pbm_getbit( file )
-FILE* file;
-{
- register int ich;
-
- do
- {
- ich = pbm_getc( file );
- if ( ich == EOF )
- return -1;
- }
- while ( ich == ' ' || ich == '\t' || ich == '\n' || ich == '\r' );
-
- if ( ich != '0' && ich != '1' )
- {
- (void) fprintf(
- stderr, "%s: junk in file where bits should be\n", progname );
- return -1;
- }
-
- return ( ich == '1' ) ? 1 : 0;
-}
-
-static int
- pbm_readmagicnumber( file )
-FILE* file;
-{
- int ich1, ich2;
-
- ich1 = getc( file );
- if ( ich1 == EOF )
- {
- (void) fprintf(
- stderr, "%s: EOF / read error reading magic number\n", progname );
- return -1;
- }
- ich2 = getc( file );
- if ( ich2 == EOF )
- {
- (void) fprintf(
- stderr, "%s: EOF / read error reading magic number\n", progname );
- return -1;
- }
- return ich1 * 256 + ich2;
-}
-
-static int
- pbm_getint( file )
-FILE* file;
-{
- register int ich;
- register int i;
-
- do
- {
- ich = pbm_getc( file );
- if ( ich == EOF )
- return -1;
- }
- while ( ich == ' ' || ich == '\t' || ich == '\n' || ich == '\r' );
-
- if ( ich < '0' || ich > '9' )
- {
- (void) fprintf(
- stderr, "%s: junk in file where an integer should be\n", progname );
- return -1;
- }
-
- i = 0;
- do
- {
- i = i * 10 + ich - '0';
- ich = pbm_getc( file );
- if ( ich == EOF )
- return -1;
- }
- while ( ich >= '0' && ich <= '9' );
-
- return i;
-}
-
-static int
- pbm_readpbminitrest( file, colsP, rowsP )
-FILE* file;
-int* colsP;
-int* rowsP;
-{
- /* Read size. */
- *colsP = pbm_getint( file );
- *rowsP = pbm_getint( file );
- if ( *colsP == -1 || *rowsP == -1 )
- return -1;
- return 0;
-}
-
-static int
- pbm_getrawbyte( file )
-FILE* file;
-{
- register int iby;
-
- iby = getc( file );
- if ( iby == EOF )
- {
- (void) fprintf( stderr, "%s: EOF / read error\n", progname );
- return -1;
- }
- return iby;
-}
-
-static int
- pbm_readpbmrow( file, bitrow, cols, format )
-FILE* file;
-bit* bitrow;
-int cols, format;
-{
- register int col, bitshift, b;
- register int item;
- register bit* bP;
-
- switch ( format )
- {
- case PBM_FORMAT:
- for ( col = 0, bP = bitrow; col < cols; ++col, ++bP )
- {
- b = pbm_getbit( file );
- if ( b == -1 )
- return -1;
- *bP = b;
- }
- break;
-
- case RPBM_FORMAT:
- bitshift = -1;
- for ( col = 0, bP = bitrow; col < cols; ++col, ++bP )
- {
- if ( bitshift == -1 )
- {
- item = pbm_getrawbyte( file );
- if ( item == -1 )
- return -1;
- bitshift = 7;
- }
- *bP = ( item >> bitshift ) & 1;
- --bitshift;
- }
- break;
-
- default:
- (void) fprintf( stderr, "%s: can't happen\n", progname );
- return -1;
- }
- return 0;
-}
-
-static void
- pbm_writepbminit( file, cols, rows, forceplain )
-FILE* file;
-int cols, rows;
-int forceplain;
-{
- if ( ! forceplain )
- (void) fprintf(
- file, "%c%c\n%d %d\n", PBM_MAGIC1, RPBM_MAGIC2, cols, rows );
- else
- (void) fprintf(
- file, "%c%c\n%d %d\n", PBM_MAGIC1, PBM_MAGIC2, cols, rows );
-}
-
-static void
- pbm_writepbmrowraw( file, bitrow, cols )
-FILE* file;
-bit* bitrow;
-int cols;
-{
- register int col, bitshift;
- register unsigned char item;
- register bit* bP;
-
- bitshift = 7;
- item = 0;
- for ( col = 0, bP = bitrow; col < cols; ++col, ++bP )
- {
- if ( *bP )
- item += 1 << bitshift;
- --bitshift;
- if ( bitshift == -1 )
- {
- (void) putc( item, file );
- bitshift = 7;
- item = 0;
- }
- }
- if ( bitshift != 7 )
- (void) putc( item, file );
-}
-
-static void
- pbm_writepbmrowplain( file, bitrow, cols )
-FILE* file;
-bit* bitrow;
-int cols;
-{
- register int col, charcount;
- register bit* bP;
-
- charcount = 0;
- for ( col = 0, bP = bitrow; col < cols; ++col, ++bP )
- {
- if ( charcount >= 70 )
- {
- (void) putc( '\n', file );
- charcount = 0;
- }
- putc( *bP ? '1' : '0', file );
- ++charcount;
- }
- (void) putc( '\n', file );
-}
-
-static void
- pbm_writepbmrow( file, bitrow, cols, forceplain )
-FILE* file;
-bit* bitrow;
-int cols;
-int forceplain;
-{
- if ( ! forceplain )
- pbm_writepbmrowraw( file, bitrow, cols );
- else
- pbm_writepbmrowplain( file, bitrow, cols );
-}
-
-static int
- pgm_readpgminitrest( file, colsP, rowsP, maxvalP )
-FILE* file;
-int* colsP;
-int* rowsP;
-gray* maxvalP;
-{
- int maxval;
-
- /* Read size. */
- *colsP = pbm_getint( file );
- *rowsP = pbm_getint( file );
- if ( *colsP == -1 || *rowsP == -1 )
- return -1;
-
- /* Read maxval. */
- maxval = pbm_getint( file );
- if ( maxval == -1 )
- return -1;
- if ( maxval > PGM_MAXMAXVAL )
- {
- (void) fprintf( stderr, "%s: maxval is too large\n", progname );
- return -1;
- }
- *maxvalP = maxval;
- return 0;
-}
-
-#if __STDC__
-static int
- pgm_readpgmrow( FILE* file, gray* grayrow, int cols, gray maxval, int format )
-#else /*__STDC__*/
-static int
- pgm_readpgmrow( file, grayrow, cols, maxval, format )
-FILE* file;
-gray* grayrow;
-int cols;
-gray maxval;
-int format;
-#endif /*__STDC__*/
-{
- register int col, val;
- register gray* gP;
- /*
- bit* bitrow;
- register bit* bP;
- */
-
- switch ( format )
- {
- case PGM_FORMAT:
- for ( col = 0, gP = grayrow; col < cols; ++col, ++gP )
- {
- val = pbm_getint( file );
- if ( val == -1 )
- return -1;
- *gP = val;
- }
- break;
-
- case RPGM_FORMAT:
- if ( fread( grayrow, 1, cols, file ) != cols )
- {
- (void) fprintf( stderr, "%s: EOF / read error\n", progname );
- return -1;
- }
- break;
-
- default:
- (void) fprintf( stderr, "%s: can't happen\n", progname );
- return -1;
- }
- return 0;
-}
-
-#if __STDC__
-static void
- pgm_writepgminit( FILE* file, int cols, int rows, gray maxval, int forceplain )
-#else /*__STDC__*/
-static void
- pgm_writepgminit( file, cols, rows, maxval, forceplain )
-FILE* file;
-int cols, rows;
-gray maxval;
-int forceplain;
-#endif /*__STDC__*/
-{
- if ( maxval <= 255 && ! forceplain )
- fprintf(
- file, "%c%c\n%d %d\n%d\n", PGM_MAGIC1, RPGM_MAGIC2,
- cols, rows, maxval );
- else
- fprintf(
- file, "%c%c\n%d %d\n%d\n", PGM_MAGIC1, PGM_MAGIC2,
- cols, rows, maxval );
-}
-
-static void
- putus( n, file )
-unsigned short n;
-FILE* file;
-{
- if ( n >= 10 )
- putus( n / 10, file );
- putc( n % 10 + '0', file );
-}
-
-static int
- pgm_writepgmrowraw( file, grayrow, cols, maxval )
-FILE* file;
-gray* grayrow;
-int cols;
-gray maxval;
-{
- if ( fwrite( grayrow, 1, cols, file ) != cols )
- {
- (void) fprintf( stderr, "%s: write error\n", progname );
- return -1;
- }
- return 0;
-}
-
-static int
- pgm_writepgmrowplain( file, grayrow, cols, maxval )
-FILE* file;
-gray* grayrow;
-int cols;
-gray maxval;
-{
- register int col, charcount;
- register gray* gP;
-
- charcount = 0;
- for ( col = 0, gP = grayrow; col < cols; ++col, ++gP )
- {
- if ( charcount >= 65 )
- {
- (void) putc( '\n', file );
- charcount = 0;
- }
- else if ( charcount > 0 )
- {
- (void) putc( ' ', file );
- ++charcount;
- }
- putus( (unsigned short) *gP, file );
- charcount += 3;
- }
- if ( charcount > 0 )
- (void) putc( '\n', file );
- return 0;
-}
-
-#if __STDC__
-static int
- pgm_writepgmrow( FILE* file, gray* grayrow, int cols, gray maxval, int forceplain )
-#else /*__STDC__*/
-static int
- pgm_writepgmrow( file, grayrow, cols, maxval, forceplain )
-FILE* file;
-gray* grayrow;
-int cols;
-gray maxval;
-int forceplain;
-#endif /*__STDC__*/
-{
- if ( maxval <= 255 && ! forceplain )
- return pgm_writepgmrowraw( file, grayrow, cols, maxval );
- else
- return pgm_writepgmrowplain( file, grayrow, cols, maxval );
-}
-
-static int
- ppm_readppminitrest( file, colsP, rowsP, maxvalP )
-FILE* file;
-int* colsP;
-int* rowsP;
-pixval* maxvalP;
-{
- int maxval;
-
- /* Read size. */
- *colsP = pbm_getint( file );
- *rowsP = pbm_getint( file );
- if ( *colsP == -1 || *rowsP == -1 )
- return -1;
-
- /* Read maxval. */
- maxval = pbm_getint( file );
- if ( maxval == -1 )
- return -1;
- if ( maxval > PPM_MAXMAXVAL )
- {
- (void) fprintf( stderr, "%s: maxval is too large\n", progname );
- return -1;
- }
- *maxvalP = maxval;
- return 0;
-}
-
-#if __STDC__
-static int
- ppm_readppmrow( FILE* file, pixel* pixelrow, int cols, pixval maxval, int format )
-#else /*__STDC__*/
-static int
- ppm_readppmrow( file, pixelrow, cols, maxval, format )
-FILE* file;
-pixel* pixelrow;
-int cols, format;
-pixval maxval;
-#endif /*__STDC__*/
-{
- register int col;
- register pixel* pP;
- register int r, g, b;
- gray* grayrow;
- register gray* gP;
- /*
- bit* bitrow;
- register bit* bP;
- */
-
- switch ( format )
- {
- case PPM_FORMAT:
- for ( col = 0, pP = pixelrow; col < cols; ++col, ++pP )
- {
- r = pbm_getint( file );
- g = pbm_getint( file );
- b = pbm_getint( file );
- if ( r == -1 || g == -1 || b == -1 )
- return -1;
- PPM_ASSIGN( *pP, r, g, b );
- }
- break;
-
- case RPPM_FORMAT:
- grayrow = pgm_allocrow( 3 * cols );
- if ( grayrow == (gray*) 0 )
- return -1;
- if ( fread( grayrow, 1, 3 * cols, file ) != 3 * cols )
- {
- (void) fprintf( stderr, "%s: EOF / read error\n", progname );
- return -1;
- }
- for ( col = 0, gP = grayrow, pP = pixelrow; col < cols; ++col, ++pP )
- {
- r = *gP++;
- g = *gP++;
- b = *gP++;
- PPM_ASSIGN( *pP, r, g, b );
- }
- pgm_freerow( grayrow );
- break;
-
- default:
- (void) fprintf( stderr, "%s: can't happen\n", progname );
- return -1;
- }
- return 0;
-}
-
-#if __STDC__
-static void
- ppm_writeppminit( FILE* file, int cols, int rows, pixval maxval, int forceplain )
-#else /*__STDC__*/
-static void
- ppm_writeppminit( file, cols, rows, maxval, forceplain )
-FILE* file;
-int cols, rows;
-pixval maxval;
-int forceplain;
-#endif /*__STDC__*/
-{
- if ( maxval <= 255 && ! forceplain )
- fprintf(
- file, "%c%c\n%d %d\n%d\n", PPM_MAGIC1, RPPM_MAGIC2,
- cols, rows, maxval );
- else
- fprintf(
- file, "%c%c\n%d %d\n%d\n", PPM_MAGIC1, PPM_MAGIC2,
- cols, rows, maxval );
-}
-
-static int
- ppm_writeppmrowraw( file, pixelrow, cols, maxval )
-FILE* file;
-pixel* pixelrow;
-int cols;
-pixval maxval;
-{
- register int col;
- register pixel* pP;
- gray* grayrow;
- register gray* gP;
-
- grayrow = pgm_allocrow( 3 * cols );
- if ( grayrow == (gray*) 0 )
- return -1;
- for ( col = 0, pP = pixelrow, gP = grayrow; col < cols; ++col, ++pP )
- {
- *gP++ = PPM_GETR( *pP );
- *gP++ = PPM_GETG( *pP );
- *gP++ = PPM_GETB( *pP );
- }
- if ( fwrite( grayrow, 1, 3 * cols, file ) != 3 * cols )
- {
- (void) fprintf( stderr, "%s: write error\n", progname );
- return -1;
- }
- pgm_freerow( grayrow );
- return 0;
-}
-
-static int
- ppm_writeppmrowplain( file, pixelrow, cols, maxval )
-FILE* file;
-pixel* pixelrow;
-int cols;
-pixval maxval;
-{
- register int col, charcount;
- register pixel* pP;
- register pixval val;
-
- charcount = 0;
- for ( col = 0, pP = pixelrow; col < cols; ++col, ++pP )
- {
- if ( charcount >= 65 )
- {
- (void) putc( '\n', file );
- charcount = 0;
- }
- else if ( charcount > 0 )
- {
- (void) putc( ' ', file );
- (void) putc( ' ', file );
- charcount += 2;
- }
- val = PPM_GETR( *pP );
- putus( val, file );
- (void) putc( ' ', file );
- val = PPM_GETG( *pP );
- putus( val, file );
- (void) putc( ' ', file );
- val = PPM_GETB( *pP );
- putus( val, file );
- charcount += 11;
- }
- if ( charcount > 0 )
- (void) putc( '\n', file );
- return 0;
-}
-
-#if __STDC__
-static int
- ppm_writeppmrow( FILE* file, pixel* pixelrow, int cols, pixval maxval, int forceplain )
-#else /*__STDC__*/
-static int
- ppm_writeppmrow( file, pixelrow, cols, maxval, forceplain )
-FILE* file;
-pixel* pixelrow;
-int cols;
-pixval maxval;
-int forceplain;
-#endif /*__STDC__*/
-{
- if ( maxval <= 255 && ! forceplain )
- return ppm_writeppmrowraw( file, pixelrow, cols, maxval );
- else
- return ppm_writeppmrowplain( file, pixelrow, cols, maxval );
-}
-
-void
- pnm_init2( pn )
-char* pn;
-{
- /* Save program name. */
- progname = pn;
-}
-
-xelval pnm_pbmmaxval = 1;
-
-int
- pnm_readpnminit( file, colsP, rowsP, maxvalP, formatP )
-FILE* file;
-int* colsP;
-int* rowsP;
-int* formatP;
-xelval* maxvalP;
-{
- gray gmaxval;
-
- /* Check magic number. */
- *formatP = pbm_readmagicnumber( file );
- if ( *formatP == -1 )
- return -1;
- switch ( PNM_FORMAT_TYPE(*formatP) )
- {
- case PPM_TYPE:
- if ( ppm_readppminitrest( file, colsP, rowsP, (pixval*) maxvalP ) < 0 )
- return -1;
- break;
-
- case PGM_TYPE:
- if ( pgm_readpgminitrest( file, colsP, rowsP, &gmaxval ) < 0 )
- return -1;
- *maxvalP = (xelval) gmaxval;
- break;
-
- case PBM_TYPE:
- if ( pbm_readpbminitrest( file, colsP, rowsP ) < 0 )
- return -1;
- *maxvalP = pnm_pbmmaxval;
- break;
-
- default:
- (void) fprintf(
- stderr, "%s: bad magic number - not a ppm, pgm, or pbm file\n",
- progname );
- return -1;
- }
- return 0;
-}
-
-#if __STDC__
-int
- pnm_readpnmrow( FILE* file, xel* xelrow, int cols, xelval maxval, int format )
-#else /*__STDC__*/
-int
- pnm_readpnmrow( file, xelrow, cols, maxval, format )
-FILE* file;
-xel* xelrow;
-xelval maxval;
-int cols, format;
-#endif /*__STDC__*/
-{
- register int col;
- register xel* xP;
- gray* grayrow;
- register gray* gP;
- bit* bitrow;
- register bit* bP;
-
- switch ( PNM_FORMAT_TYPE(format) )
- {
- case PPM_TYPE:
- if ( ppm_readppmrow( file, (pixel*) xelrow, cols, (pixval) maxval, format ) < 0 )
- return -1;
- break;
-
- case PGM_TYPE:
- grayrow = pgm_allocrow( cols );
- if ( grayrow == (gray*) 0 )
- return -1;
- if ( pgm_readpgmrow( file, grayrow, cols, (gray) maxval, format ) < 0 )
- return -1;
- for ( col = 0, xP = xelrow, gP = grayrow; col < cols; ++col, ++xP, ++gP )
- PNM_ASSIGN1( *xP, *gP );
- pgm_freerow( grayrow );
- break;
-
- case PBM_TYPE:
- bitrow = pbm_allocrow( cols );
- if ( bitrow == (bit*) 0 )
- return -1;
- if ( pbm_readpbmrow( file, bitrow, cols, format ) < 0 )
- {
- pbm_freerow( bitrow );
- return -1;
- }
- for ( col = 0, xP = xelrow, bP = bitrow; col < cols; ++col, ++xP, ++bP )
- PNM_ASSIGN1( *xP, *bP == PBM_BLACK ? 0: pnm_pbmmaxval );
- pbm_freerow( bitrow );
- break;
-
- default:
- (void) fprintf( stderr, "%s: can't happen\n", progname );
- return -1;
- }
- return 0;
-}
-
-xel**
- pnm_readpnm( file, colsP, rowsP, maxvalP, formatP )
-FILE* file;
-int* colsP;
-int* rowsP;
-int* formatP;
-xelval* maxvalP;
-{
- xel** xels;
- int row;
-
- if ( pnm_readpnminit( file, colsP, rowsP, maxvalP, formatP ) < 0 )
- return (xel**) 0;
-
- xels = pnm_allocarray( *colsP, *rowsP );
- if ( xels == (xel**) 0 )
- return (xel**) 0;
-
- for ( row = 0; row < *rowsP; ++row )
- if ( pnm_readpnmrow( file, xels[row], *colsP, *maxvalP, *formatP ) < 0 )
- {
- pnm_freearray( xels, *rowsP );
- return (xel**) 0;
- }
-
- return xels;
-}
-
-#if __STDC__
-int
- pnm_writepnminit( FILE* file, int cols, int rows, xelval maxval, int format, int forceplain )
-#else /*__STDC__*/
-int
- pnm_writepnminit( file, cols, rows, maxval, format, forceplain )
-FILE* file;
-int cols, rows, format;
-xelval maxval;
-int forceplain;
-#endif /*__STDC__*/
-{
- switch ( PNM_FORMAT_TYPE(format) )
- {
- case PPM_TYPE:
- ppm_writeppminit( file, cols, rows, (pixval) maxval, forceplain );
- break;
-
- case PGM_TYPE:
- pgm_writepgminit( file, cols, rows, (gray) maxval, forceplain );
- break;
-
- case PBM_TYPE:
- pbm_writepbminit( file, cols, rows, forceplain );
- break;
-
- default:
- (void) fprintf( stderr, "%s: can't happen\n", progname );
- return -1;
- }
- return 0;
-}
-
-#if __STDC__
-int
- pnm_writepnmrow( FILE* file, xel* xelrow, int cols, xelval maxval, int format, int forceplain )
-#else /*__STDC__*/
-int
- pnm_writepnmrow( file, xelrow, cols, maxval, format, forceplain )
-FILE* file;
-xel* xelrow;
-int cols, format;
-xelval maxval;
-int forceplain;
-#endif /*__STDC__*/
-{
- register int col;
- register xel* xP;
- gray* grayrow;
- register gray* gP;
- bit* bitrow;
- register bit* bP;
-
- switch ( PNM_FORMAT_TYPE(format) )
- {
- case PPM_TYPE:
- if ( ppm_writeppmrow( file, (pixel*) xelrow, cols, (pixval) maxval, forceplain ) < 0 )
- return -1;
- break;
-
- case PGM_TYPE:
- grayrow = pgm_allocrow( cols );
- if ( grayrow == (gray*) 0 )
- return -1;
- for ( col = 0, gP = grayrow, xP = xelrow; col < cols; ++col, ++gP, ++xP )
- *gP = PNM_GET1( *xP );
- if ( pgm_writepgmrow( file, grayrow, cols, (gray) maxval, forceplain ) < 0 )
- {
- pgm_freerow( grayrow );
- return -1;
- }
- pgm_freerow( grayrow );
- break;
-
- case PBM_TYPE:
- bitrow = pbm_allocrow( cols );
- if ( bitrow == (bit*) 0 )
- return -1;
- for ( col = 0, bP = bitrow, xP = xelrow; col < cols; ++col, ++bP, ++xP )
- *bP = PNM_GET1( *xP ) == 0 ? PBM_BLACK : PBM_WHITE;
- pbm_writepbmrow( file, bitrow, cols, forceplain );
- pbm_freerow( bitrow );
- break;
-
- default:
- (void) fprintf( stderr, "%s: can't happen\n", progname );
- return -1;
- }
- return 0;
-}
-
-#if __STDC__
-int
- pnm_writepnm( FILE* file, xel** xels, int cols, int rows, xelval maxval, int format, int forceplain )
-#else /*__STDC__*/
-int
- pnm_writepnm( file, xels, cols, rows, maxval, format, forceplain )
-FILE* file;
-xel** xels;
-xelval maxval;
-int cols, rows, format;
-int forceplain;
-#endif /*__STDC__*/
-{
- int row;
-
- if ( pnm_writepnminit( file, cols, rows, maxval, format, forceplain ) < 0 )
- return -1;
-
- for ( row = 0; row < rows; ++row )
- if ( pnm_writepnmrow( file, xels[row], cols, maxval, format, forceplain ) < 0 )
- return -1;
- return 0;
-}
-
-
-/* Colormap stuff. */
-
-#define HASH_SIZE 20023
-
-#define ppm_hashpixel(p) ( ( ( (long) PPM_GETR(p) * 33023 + (long) PPM_GETG(p) * 30013 + (long) PPM_GETB(p) * 27011 ) & 0x7fffffff ) % HASH_SIZE )
-
-colorhist_vector
- ppm_computecolorhist( pixels, cols, rows, maxcolors, colorsP )
-pixel** pixels;
-int cols, rows, maxcolors;
-int* colorsP;
-{
- colorhash_table cht;
- colorhist_vector chv;
-
- cht = ppm_computecolorhash( pixels, cols, rows, maxcolors, colorsP );
- if ( cht == (colorhash_table) 0 )
- return (colorhist_vector) 0;
- chv = ppm_colorhashtocolorhist( cht, maxcolors );
- ppm_freecolorhash( cht );
- return chv;
-}
-
-void
- ppm_addtocolorhist( chv, colorsP, maxcolors, colorP, value, position )
-colorhist_vector chv;
-pixel* colorP;
-int* colorsP;
-int maxcolors, value, position;
-{
- int i, j;
-
- /* Search colorhist for the color. */
- for ( i = 0; i < *colorsP; ++i )
- if ( PPM_EQUAL( chv[i].color, *colorP ) )
- {
- /* Found it - move to new slot. */
- if ( position > i )
- {
- for ( j = i; j < position; ++j )
- chv[j] = chv[j + 1];
- }
- else if ( position < i )
- {
- for ( j = i; j > position; --j )
- chv[j] = chv[j - 1];
- }
- chv[position].color = *colorP;
- chv[position].value = value;
- return;
- }
- if ( *colorsP < maxcolors )
- {
- /* Didn't find it, but there's room to add it; so do so. */
- for ( i = *colorsP; i > position; --i )
- chv[i] = chv[i - 1];
- chv[position].color = *colorP;
- chv[position].value = value;
- ++(*colorsP);
- }
-}
-
-colorhash_table
- ppm_computecolorhash( pixels, cols, rows, maxcolors, colorsP )
-pixel** pixels;
-int cols, rows, maxcolors;
-int* colorsP;
-{
- colorhash_table cht;
- register pixel* pP;
- colorhist_list chl;
- int col, row, hash;
-
- cht = ppm_alloccolorhash( );
- if ( cht == (colorhash_table) 0 )
- return (colorhash_table) 0;
- *colorsP = 0;
-
- /* Go through the entire image, building a hash table of colors. */
- for ( row = 0; row < rows; ++row )
- for ( col = 0, pP = pixels[row]; col < cols; ++col, ++pP )
- {
- hash = ppm_hashpixel( *pP );
- for ( chl = cht[hash]; chl != (colorhist_list) 0; chl = chl->next )
- if ( PPM_EQUAL( chl->ch.color, *pP ) )
- break;
- if ( chl != (colorhist_list) 0 )
- ++(chl->ch.value);
- else
- {
- if ( ++(*colorsP) > maxcolors )
- {
- ppm_freecolorhash( cht );
- return (colorhash_table) 0;
- }
- chl = (colorhist_list) malloc( sizeof(struct colorhist_list_item) );
- if ( chl == 0 )
- {
- (void) fprintf(
- stderr, "%s: out of memory computing hash table\n",
- progname );
- ppm_freecolorhash( cht );
- return (colorhash_table) 0;
- }
- chl->ch.color = *pP;
- chl->ch.value = 1;
- chl->next = cht[hash];
- cht[hash] = chl;
- }
- }
-
- return cht;
-}
-
-colorhash_table
- ppm_alloccolorhash( )
-{
- colorhash_table cht;
- int i;
-
- cht = (colorhash_table) malloc( HASH_SIZE * sizeof(colorhist_list) );
- if ( cht == 0 )
- {
- (void) fprintf(
- stderr, "%s: out of memory allocating hash table\n", progname );
- return (colorhash_table) 0;
- }
-
- for ( i = 0; i < HASH_SIZE; ++i )
- cht[i] = (colorhist_list) 0;
-
- return cht;
-}
-
-int
- ppm_addtocolorhash( cht, colorP, value )
-colorhash_table cht;
-pixel* colorP;
-int value;
-{
- register int hash;
- register colorhist_list chl;
-
- chl = (colorhist_list) malloc( sizeof(struct colorhist_list_item) );
- if ( chl == 0 )
- return -1;
- hash = ppm_hashpixel( *colorP );
- chl->ch.color = *colorP;
- chl->ch.value = value;
- chl->next = cht[hash];
- cht[hash] = chl;
- return 0;
-}
-
-colorhist_vector
- ppm_colorhashtocolorhist( cht, maxcolors )
-colorhash_table cht;
-int maxcolors;
-{
- colorhist_vector chv;
- colorhist_list chl;
- int i, j;
-
- /* Now collate the hash table into a simple colorhist array. */
- chv = (colorhist_vector) malloc( maxcolors * sizeof(struct colorhist_item) );
- /* (Leave room for expansion by caller.) */
- if ( chv == (colorhist_vector) 0 )
- {
- (void) fprintf(
- stderr, "%s: out of memory generating histogram\n", progname );
- return (colorhist_vector) 0;
- }
-
- /* Loop through the hash table. */
- j = 0;
- for ( i = 0; i < HASH_SIZE; ++i )
- for ( chl = cht[i]; chl != (colorhist_list) 0; chl = chl->next )
- {
- /* Add the new entry. */
- chv[j] = chl->ch;
- ++j;
- }
-
- /* All done. */
- return chv;
-}
-
-colorhash_table
- ppm_colorhisttocolorhash( chv, colors )
-colorhist_vector chv;
-int colors;
-{
- colorhash_table cht;
- int i, hash;
- pixel color;
- colorhist_list chl;
-
- cht = ppm_alloccolorhash( );
- if ( cht == (colorhash_table) 0 )
- return (colorhash_table) 0;
-
- for ( i = 0; i < colors; ++i )
- {
- color = chv[i].color;
- hash = ppm_hashpixel( color );
- for ( chl = cht[hash]; chl != (colorhist_list) 0; chl = chl->next )
- if ( PPM_EQUAL( chl->ch.color, color ) )
- {
- (void) fprintf(
- stderr, "%s: same color found twice - %d %d %d\n", progname,
- PPM_GETR(color), PPM_GETG(color), PPM_GETB(color) );
- ppm_freecolorhash( cht );
- return (colorhash_table) 0;
- }
- chl = (colorhist_list) malloc( sizeof(struct colorhist_list_item) );
- if ( chl == (colorhist_list) 0 )
- {
- (void) fprintf( stderr, "%s: out of memory\n", progname );
- ppm_freecolorhash( cht );
- return (colorhash_table) 0;
- }
- chl->ch.color = color;
- chl->ch.value = i;
- chl->next = cht[hash];
- cht[hash] = chl;
- }
-
- return cht;
-}
-
-int
- ppm_lookupcolor( cht, colorP )
-colorhash_table cht;
-pixel* colorP;
-{
- int hash;
- colorhist_list chl;
-
- hash = ppm_hashpixel( *colorP );
- for ( chl = cht[hash]; chl != (colorhist_list) 0; chl = chl->next )
- if ( PPM_EQUAL( chl->ch.color, *colorP ) )
- return chl->ch.value;
-
- return -1;
-}
-
-void
- ppm_freecolorhist( chv )
-colorhist_vector chv;
-{
- free( (char*) chv );
-}
-
-void
- ppm_freecolorhash( cht )
-colorhash_table cht;
-{
- int i;
- colorhist_list chl, chlnext;
-
- for ( i = 0; i < HASH_SIZE; ++i )
- for ( chl = cht[i]; chl != (colorhist_list) 0; chl = chlnext )
- {
- chlnext = chl->next;
- free( (char*) chl );
- }
- free( (char*) cht );
-}
-
-
-
-
-/* added from libpnm3.c: */
-
-/* libpnm3.c - pnm utility library part 3
- **
- ** Copyright (C) 1989, 1991 by Jef Poskanzer.
- **
- ** Permission to use, copy, modify, and distribute this software and its
- ** documentation for any purpose and without fee is hereby granted, provided
- ** that the above copyright notice appear in all copies and that both that
- ** copyright notice and this permission notice appear in supporting
- ** documentation. This software is provided "as is" without express or
- ** implied warranty.
- */
-
-#if __STDC__
-xel
- pnm_backgroundxel( xel** xels, int cols, int rows, xelval maxval, int format )
-#else /*__STDC__*/
-xel
- pnm_backgroundxel( xels, cols, rows, maxval, format )
-xel** xels;
-int cols, rows, format;
-xelval maxval;
-#endif /*__STDC__*/
-{
- xel bgxel, ul, ur, ll, lr;
-
- /* Guess a good background value. */
- ul = xels[0][0];
- ur = xels[0][cols-1];
- ll = xels[rows-1][0];
- lr = xels[rows-1][cols-1];
-
- /* First check for three corners equal. */
- if ( PNM_EQUAL( ul, ur ) && PNM_EQUAL( ur, ll ) )
- bgxel = ul;
- else if ( PNM_EQUAL( ul, ur ) && PNM_EQUAL( ur, lr ) )
- bgxel = ul;
- else if ( PNM_EQUAL( ul, ll ) && PNM_EQUAL( ll, lr ) )
- bgxel = ul;
- else if ( PNM_EQUAL( ur, ll ) && PNM_EQUAL( ll, lr ) )
- bgxel = ur;
- /* Nope, check for two corners equal. */
- else if ( PNM_EQUAL( ul, ur ) || PNM_EQUAL( ul, ll ) ||
- PNM_EQUAL( ul, lr ) )
- bgxel = ul;
- else if ( PNM_EQUAL( ur, ll ) || PNM_EQUAL( ur, lr ) )
- bgxel = ur;
- else if ( PNM_EQUAL( ll, lr ) )
- bgxel = ll;
- else
- {
- /* Nope, we have to average the four corners. This breaks the
- ** rules of pnm, but oh well. Let's try to do it portably. */
- switch ( PNM_FORMAT_TYPE(format) )
- {
- case PPM_TYPE:
- PPM_ASSIGN( bgxel,
- PPM_GETR(ul) + PPM_GETR(ur) + PPM_GETR(ll) + PPM_GETR(lr) / 4,
- PPM_GETG(ul) + PPM_GETG(ur) + PPM_GETG(ll) + PPM_GETG(lr) / 4,
- PPM_GETB(ul) + PPM_GETB(ur) + PPM_GETB(ll) + PPM_GETB(lr) / 4 );
- break;
-
- case PGM_TYPE:
- {
- gray gul, gur, gll, glr;
- gul = (gray) PNM_GET1( ul );
- gur = (gray) PNM_GET1( ur );
- gll = (gray) PNM_GET1( ll );
- glr = (gray) PNM_GET1( lr );
- PNM_ASSIGN1( bgxel, ( ( gul + gur + gll + glr ) / 4 ) );
- break;
- }
-
- case PBM_TYPE:
- pm_error(
- "pnm_backgroundxel: four bits no two of which equal each other??" );
-
- default:
- pm_error( "can't happen" );
- }
- }
-
- return bgxel;
-}
-
-#if __STDC__
-xel
- pnm_backgroundxelrow( xel* xelrow, int cols, xelval maxval, int format )
-#else /*__STDC__*/
-xel
- pnm_backgroundxelrow( xelrow, cols, maxval, format )
-xel* xelrow;
-int cols, format;
-xelval maxval;
-#endif /*__STDC__*/
-{
- xel bgxel, l, r;
-
- /* Guess a good background value. */
- l = xelrow[0];
- r = xelrow[cols-1];
-
- /* First check for both corners equal. */
- if ( PNM_EQUAL( l, r ) )
- bgxel = l;
- else
- {
- /* Nope, we have to average the two corners. This breaks the
- ** rules of pnm, but oh well. Let's try to do it portably. */
- switch ( PNM_FORMAT_TYPE(format) )
- {
- case PPM_TYPE:
- PPM_ASSIGN( bgxel, PPM_GETR(l) + PPM_GETR(r) / 2,
- PPM_GETG(l) + PPM_GETG(r) / 2, PPM_GETB(l) + PPM_GETB(r) / 2 );
- break;
-
- case PGM_TYPE:
- {
- gray gl, gr;
- gl = (gray) PNM_GET1( l );
- gr = (gray) PNM_GET1( r );
- PNM_ASSIGN1( bgxel, ( ( gl + gr ) / 2 ) );
- break;
- }
-
- case PBM_TYPE:
- {
- int col, blacks;
-
- /* One black, one white. Gotta count. */
- for ( col = 0, blacks = 0; col < cols; ++col )
- {
- if ( PNM_GET1( xelrow[col] ) == 0 )
- ++blacks;
- }
- if ( blacks >= cols / 2 )
- PNM_ASSIGN1( bgxel, 0 );
- else
- PNM_ASSIGN1( bgxel, pnm_pbmmaxval );
- break;
- }
-
- default:
- pm_error( "can't happen" );
- }
- }
-
- return bgxel;
-}
-
-#if __STDC__
-xel
- pnm_whitexel( xelval maxval, int format )
-#else /*__STDC__*/
-xel
- pnm_whitexel( maxval, format )
-xelval maxval;
-int format;
-#endif /*__STDC__*/
-{
- xel x;
-
- switch ( PNM_FORMAT_TYPE(format) )
- {
- case PPM_TYPE:
- PPM_ASSIGN( x, maxval, maxval, maxval );
- break;
-
- case PGM_TYPE:
- PNM_ASSIGN1( x, maxval );
- break;
-
- case PBM_TYPE:
- PNM_ASSIGN1( x, pnm_pbmmaxval );
- break;
-
- default:
- pm_error( "can't happen" );
- }
-
- return x;
-}
-
-#if __STDC__
-xel
- pnm_blackxel( xelval maxval, int format )
-#else /*__STDC__*/
-xel
- pnm_blackxel( maxval, format )
-xelval maxval;
-int format;
-#endif /*__STDC__*/
-{
- xel x;
-
- switch ( PNM_FORMAT_TYPE(format) )
- {
- case PPM_TYPE:
- PPM_ASSIGN( x, 0, 0, 0 );
- break;
-
- case PGM_TYPE:
- PNM_ASSIGN1( x, (xelval) 0 );
- break;
-
- case PBM_TYPE:
- PNM_ASSIGN1( x, (xelval) 0 );
- break;
-
- default:
- pm_error( "can't happen" );
- }
-
- return x;
-}
-
-#if __STDC__
-void
- pnm_invertxel( xel* xP, xelval maxval, int format )
-#else /*__STDC__*/
-void
- pnm_invertxel( xP, maxval, format )
-xel* xP;
-xelval maxval;
-int format;
-#endif /*__STDC__*/
-{
- switch ( PNM_FORMAT_TYPE(format) )
- {
- case PPM_TYPE:
- PPM_ASSIGN(
- *xP, maxval - PPM_GETR( *xP ),
- maxval - PPM_GETG( *xP ), maxval - PPM_GETB( *xP ) );
- break;
-
- case PGM_TYPE:
- PNM_ASSIGN1( *xP, (gray) maxval - (gray) PNM_GET1( *xP ) );
- break;
-
- case PBM_TYPE:
- PNM_ASSIGN1( *xP, ( PNM_GET1( *xP ) == 0 ) ? pnm_pbmmaxval : 0 );
- break;
-
- default:
- pm_error( "can't happen" );
- }
-}
-
-#if __STDC__
-void
- pnm_promoteformat( xel** xels, int cols, int rows, xelval maxval, int format, xelval newmaxval, int newformat )
-#else /*__STDC__*/
-void
- pnm_promoteformat( xels, cols, rows, maxval, format, newmaxval, newformat )
-xel** xels;
-xelval maxval, newmaxval;
-int cols, rows, format, newformat;
-#endif /*__STDC__*/
-{
- int row;
-
- for ( row = 0; row < rows; ++row )
- pnm_promoteformatrow(
- xels[row], cols, maxval, format, newmaxval, newformat );
-}
-
-#if __STDC__
-void
- pnm_promoteformatrow( xel* xelrow, int cols, xelval maxval, int format, xelval newmaxval, int newformat )
-#else /*__STDC__*/
-void
- pnm_promoteformatrow( xelrow, cols, maxval, format, newmaxval, newformat )
-xel* xelrow;
-xelval maxval, newmaxval;
-int cols, format, newformat;
-#endif /*__STDC__*/
-{
- register int col;
- register xel* xP;
-
- if ( ( PNM_FORMAT_TYPE(format) == PPM_TYPE &&
- ( PNM_FORMAT_TYPE(newformat) == PGM_TYPE ||
- PNM_FORMAT_TYPE(newformat) == PBM_TYPE ) ) ||
- ( PNM_FORMAT_TYPE(format) == PGM_TYPE &&
- PNM_FORMAT_TYPE(newformat) == PBM_TYPE ) )
- pm_error( "pnm_promoteformatrow: can't promote downwards!" );
-
- /* Are we promoting to the same type? */
- if ( PNM_FORMAT_TYPE(format) == PNM_FORMAT_TYPE(newformat) )
- {
- if ( PNM_FORMAT_TYPE(format) == PBM_TYPE )
- return;
- if ( newmaxval < maxval )
- pm_error(
- "pnm_promoteformatrow: can't decrease maxval - try using pnmdepth" );
- if ( newmaxval == maxval )
- return;
- /* Increase maxval. */
- switch ( PNM_FORMAT_TYPE(format) )
- {
- case PGM_TYPE:
- for ( col = 0, xP = xelrow; col < cols; ++col, ++xP )
- PNM_ASSIGN1(
- *xP, (int) PNM_GET1(*xP) * newmaxval / maxval );
- break;
-
- case PPM_TYPE:
- for ( col = 0, xP = xelrow; col < cols; ++col, ++xP )
- PPM_DEPTH( *xP, *xP, maxval, newmaxval );
- break;
-
- default:
- pm_error( "shouldn't happen" );
- }
- return;
- }
-
- /* We must be promoting to a higher type. */
- switch ( PNM_FORMAT_TYPE(format) )
- {
- case PBM_TYPE:
- switch ( PNM_FORMAT_TYPE(newformat) )
- {
- case PGM_TYPE:
- for ( col = 0, xP = xelrow; col < cols; ++col, ++xP )
- if ( PNM_GET1(*xP) == 0 )
- PNM_ASSIGN1( *xP, 0 );
- else
- PNM_ASSIGN1( *xP, newmaxval );
- break;
-
- case PPM_TYPE:
- for ( col = 0, xP = xelrow; col < cols; ++col, ++xP )
- if ( PNM_GET1(*xP) == 0 )
- PPM_ASSIGN( *xP, 0, 0, 0 );
- else
- PPM_ASSIGN( *xP, newmaxval, newmaxval, newmaxval );
- break;
-
- default:
- pm_error( "can't happen" );
- }
- break;
-
- case PGM_TYPE:
- switch ( PNM_FORMAT_TYPE(newformat) )
- {
- case PPM_TYPE:
- if ( newmaxval < maxval )
- pm_error(
- "pnm_promoteformatrow: can't decrease maxval - try using pnmdepth" );
- if ( newmaxval == maxval )
- {
- for ( col = 0, xP = xelrow; col < cols; ++col, ++xP )
- PPM_ASSIGN(
- *xP, PNM_GET1(*xP), PNM_GET1(*xP), PNM_GET1(*xP) );
- }
- else
- { /* Increase maxval. */
- for ( col = 0, xP = xelrow; col < cols; ++col, ++xP )
- PPM_ASSIGN(
- *xP, (int) PNM_GET1(*xP) * newmaxval / maxval,
- (int) PNM_GET1(*xP) * newmaxval / maxval,
- (int) PNM_GET1(*xP) * newmaxval / maxval );
- }
- break;
-
- default:
- pm_error( "can't happen" );
- }
- break;
-
- default:
- pm_error( "can't happen" );
- }
-}
-
-
diff --git a/media-video/mpeg-tools/files/1.5b/libpnmrw.h b/media-video/mpeg-tools/files/1.5b/libpnmrw.h
deleted file mode 100644
index efa89b790dec..000000000000
--- a/media-video/mpeg-tools/files/1.5b/libpnmrw.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/* pnmrw.h - header file for PBM/PGM/PPM read/write library
-**
-** Copyright (C) 1988, 1989, 1991 by Jef Poskanzer.
-**
-** Permission to use, copy, modify, and distribute this software and its
-** documentation for any purpose and without fee is hereby granted, provided
-** that the above copyright notice appear in all copies and that both that
-** copyright notice and this permission notice appear in supporting
-** documentation. This software is provided "as is" without express or
-** implied warranty.
-*/
-
-#ifndef _PNMRW_H_
-#define _PNMRW_H_
-
-/* CONFIGURE: On some systems, malloc.h doesn't declare these, so we have
-** to do it. On other systems, for example HP/UX, it declares them
-** incompatibly. And some systems, for example Dynix, don't have a
-** malloc.h at all. A sad situation. If you have compilation problems
-** that point here, feel free to tweak or remove these declarations.
-*/
-#include <malloc.h>
-/* End of configurable definitions. */
-
-
-/* Definitions to make PBMPLUS work with either ANSI C or C Classic. */
-
-#if __STDC__
-#define ARGS(alist) alist
-#else /*__STDC__*/
-#define ARGS(alist) ()
-#define const
-#endif /*__STDC__*/
-
-
-/* Types. */
-
-typedef unsigned char bit;
-#define PBM_WHITE 0
-#define PBM_BLACK 1
-#define PBM_FORMAT_TYPE(f) ((f) == PBM_FORMAT || (f) == RPBM_FORMAT ? PBM_TYPE : -1)
-
-typedef unsigned char gray;
-#define PGM_MAXMAXVAL 255
-#define PGM_FORMAT_TYPE(f) ((f) == PGM_FORMAT || (f) == RPGM_FORMAT ? PGM_TYPE : PBM_FORMAT_TYPE(f))
-
-typedef gray pixval;
-#define PPM_MAXMAXVAL PGM_MAXMAXVAL
-typedef struct
- {
- pixval r, g, b;
- } pixel;
-#define PPM_GETR(p) ((p).r)
-#define PPM_GETG(p) ((p).g)
-#define PPM_GETB(p) ((p).b)
-#define PPM_ASSIGN(p,red,grn,blu) do { (p).r = (red); (p).g = (grn); (p).b = (blu); } while ( 0 )
-#define PPM_EQUAL(p,q) ( (p).r == (q).r && (p).g == (q).g && (p).b == (q).b )
-#define PPM_FORMAT_TYPE(f) ((f) == PPM_FORMAT || (f) == RPPM_FORMAT ? PPM_TYPE : PGM_FORMAT_TYPE(f))
-
-typedef pixel xel;
-typedef pixval xelval;
-#define PNM_MAXMAXVAL PPM_MAXMAXVAL
-#define PNM_GET1(x) PPM_GETB(x)
-#define PNM_ASSIGN1(x,v) PPM_ASSIGN(x,0,0,v)
-#define PNM_EQUAL(x,y) PPM_EQUAL(x,y)
-#define PNM_FORMAT_TYPE(f) PPM_FORMAT_TYPE(f)
-
-
-/* Magic constants. */
-
-#define PBM_MAGIC1 'P'
-#define PBM_MAGIC2 '1'
-#define RPBM_MAGIC2 '4'
-#define PBM_FORMAT (PBM_MAGIC1 * 256 + PBM_MAGIC2)
-#define RPBM_FORMAT (PBM_MAGIC1 * 256 + RPBM_MAGIC2)
-#define PBM_TYPE PBM_FORMAT
-
-#define PGM_MAGIC1 'P'
-#define PGM_MAGIC2 '2'
-#define RPGM_MAGIC2 '5'
-#define PGM_FORMAT (PGM_MAGIC1 * 256 + PGM_MAGIC2)
-#define RPGM_FORMAT (PGM_MAGIC1 * 256 + RPGM_MAGIC2)
-#define PGM_TYPE PGM_FORMAT
-
-#define PPM_MAGIC1 'P'
-#define PPM_MAGIC2 '3'
-#define RPPM_MAGIC2 '6'
-#define PPM_FORMAT (PPM_MAGIC1 * 256 + PPM_MAGIC2)
-#define RPPM_FORMAT (PPM_MAGIC1 * 256 + RPPM_MAGIC2)
-#define PPM_TYPE PPM_FORMAT
-
-
-/* Color scaling macro -- to make writing ppmtowhatever easier. */
-
-#define PPM_DEPTH(newp,p,oldmaxval,newmaxval) \
- PPM_ASSIGN( (newp), \
- ( (int) PPM_GETR(p) * (newmaxval) + (oldmaxval) / 2 ) / (oldmaxval), \
- ( (int) PPM_GETG(p) * (newmaxval) + (oldmaxval) / 2 ) / (oldmaxval), \
- ( (int) PPM_GETB(p) * (newmaxval) + (oldmaxval) / 2 ) / (oldmaxval) )
-
-
-/* Luminance macro. */
-
-#define PPM_LUMIN(p) ( 0.299 * PPM_GETR(p) + 0.587 * PPM_GETG(p) + 0.114 * PPM_GETB(p) )
-
-
-/* Declarations of pnmrw routines. */
-
-void pnm_init2 ARGS(( char* pn ));
-
-char** pm_allocarray ARGS(( int cols, int rows, int size ));
-#define pnm_allocarray( cols, rows ) ((xel**) pm_allocarray( cols, rows, sizeof(xel) ))
-char* pm_allocrow ARGS(( int cols, int size ));
-#define pnm_allocrow( cols ) ((xel*) pm_allocrow( cols, sizeof(xel) ))
-void pm_freearray ARGS(( char** its, int rows ));
-#define pnm_freearray( xels, rows ) pm_freearray( (char**) xels, rows )
-void pm_freerow ARGS(( char* itrow ));
-#define pnm_freerow( xelrow ) pm_freerow( (char*) xelrow )
-
-xel** pnm_readpnm ARGS(( FILE* file, int* colsP, int* rowsP, xelval* maxvalP, int* formatP ));
-int pnm_readpnminit ARGS(( FILE* file, int* colsP, int* rowsP, xelval* maxvalP, int* formatP ));
-int pnm_readpnmrow ARGS(( FILE* file, xel* xelrow, int cols, xelval maxval, int format ));
-
-int pnm_writepnm ARGS(( FILE* file, xel** xels, int cols, int rows, xelval maxval, int format, int forceplain ));
-int pnm_writepnminit ARGS(( FILE* file, int cols, int rows, xelval maxval, int format, int forceplain ));
-int pnm_writepnmrow ARGS(( FILE* file, xel* xelrow, int cols, xelval maxval, int format, int forceplain ));
-
-extern xelval pnm_pbmmaxval;
-/* This is the maxval used when a PNM program reads a PBM file. Normally
-** it is 1; however, for some programs, a larger value gives better results
-*/
-
-
-/* File open/close that handles "-" as stdin and checks errors. */
-
-FILE* pm_openr ARGS(( char* name ));
-FILE* pm_openw ARGS(( char* name ));
-int pm_closer ARGS(( FILE* f ));
-int pm_closew ARGS(( FILE* f ));
-
-
-/* Colormap stuff. */
-
-typedef struct colorhist_item* colorhist_vector;
-struct colorhist_item
- {
- pixel color;
- int value;
- };
-
-typedef struct colorhist_list_item* colorhist_list;
-struct colorhist_list_item
- {
- struct colorhist_item ch;
- colorhist_list next;
- };
-
-typedef colorhist_list* colorhash_table;
-
-colorhist_vector ppm_computecolorhist ARGS(( pixel** pixels, int cols, int rows, int maxcolors, int* colorsP ));
-/* Returns a colorhist *colorsP long (with space allocated for maxcolors. */
-
-void ppm_addtocolorhist ARGS(( colorhist_vector chv, int* colorsP, int maxcolors, pixel* colorP, int value, int position ));
-
-void ppm_freecolorhist ARGS(( colorhist_vector chv ));
-
-colorhash_table ppm_computecolorhash ARGS(( pixel** pixels, int cols, int rows, int maxcolors, int* colorsP ));
-
-int
-ppm_lookupcolor ARGS(( colorhash_table cht, pixel* colorP ));
-
-colorhist_vector ppm_colorhashtocolorhist ARGS(( colorhash_table cht, int maxcolors ));
-colorhash_table ppm_colorhisttocolorhash ARGS(( colorhist_vector chv, int colors ));
-
-int ppm_addtocolorhash ARGS(( colorhash_table cht, pixel* colorP, int value ));
-/* Returns -1 on failure. */
-
-colorhash_table ppm_alloccolorhash ARGS(( void ));
-
-void ppm_freecolorhash ARGS(( colorhash_table cht ));
-
-/* Other function declarations */
-void pnm_promoteformat ARGS(( xel** xels, int cols, int rows, xelval maxval,
-int format, xelval newmaxval, int newformat ));
-void pnm_promoteformatrow ARGS(( xel* xelrow, int cols, xelval maxval,
-int format, xelval newmaxval, int newformat ));
-
-xel pnm_backgroundxel ARGS(( xel** xels, int cols, int rows, xelval maxval, int format ));
-xel pnm_backgroundxelrow ARGS(( xel* xelrow, int cols, xelval maxval, int format ));
-xel pnm_whitexel ARGS(( xelval maxval, int format ));
-xel pnm_blackxel ARGS(( xelval maxval, int format ));
-void pnm_invertxel ARGS(( xel* xP, xelval maxval, int format ));
-
-#endif /*_PNMRW_H_*/
diff --git a/media-video/mpeg-tools/files/1.5b/mpeg-tools-1.5b-fix-exit-call.patch b/media-video/mpeg-tools/files/1.5b/mpeg-tools-1.5b-fix-exit-call.patch
deleted file mode 100644
index 4a2783345edd..000000000000
--- a/media-video/mpeg-tools/files/1.5b/mpeg-tools-1.5b-fix-exit-call.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- convert/jmovie2jpeg.c.az 2003-11-07 20:49:07.646262600 +0200
-+++ convert/jmovie2jpeg.c 2003-11-07 20:49:21.707125024 +0200
-@@ -283,12 +283,12 @@
- if (fread (&(image_offset),sizeof(int),1,inFile) != 1)
- {
- perror("Error in reading image offset");
-- exit();
-+ exit(1);
- }
- if (fread (&(audio_tracks),sizeof(int),1,inFile) != 1)
- {
- perror("Error in reading audio tracks");
-- exit();
-+ exit(1);
- }
- if (audio_tracks != 1)
- {
diff --git a/media-video/mpeg-tools/files/1.5b/mpeg-tools-1.5b-gentoo.patch b/media-video/mpeg-tools/files/1.5b/mpeg-tools-1.5b-gentoo.patch
deleted file mode 100644
index 5a99c3e0fae1..000000000000
--- a/media-video/mpeg-tools/files/1.5b/mpeg-tools-1.5b-gentoo.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- mpeg_encode.old/libpnmrw.c 2003-04-11 17:39:57.000000000 +0100
-+++ mpeg_encode/libpnmrw.c 2003-04-11 17:43:01.000000000 +0100
-@@ -34,6 +34,8 @@
- #include <string.h>
- #define rindex(s,c) strrchr(s,c)
-
-+#include <errno.h>
-+
-
- /* Definitions. */
-
-@@ -126,11 +128,9 @@
- pm_perror( reason )
- char* reason;
- {
-- extern __const char *__const sys_errlist[];
-- extern int errno;
- char* e;
-
-- e = sys_errlist[errno];
-+ e = strerror(errno);
-
- if ( reason != 0 && reason[0] != '\0' )
- (void) fprintf( stderr, "%s: %s - %s\n", progname, reason, e );
diff --git a/media-video/mpeg-tools/files/digest-mpeg-tools-1.5b b/media-video/mpeg-tools/files/digest-mpeg-tools-1.5b
deleted file mode 100644
index 63605b69a15d..000000000000
--- a/media-video/mpeg-tools/files/digest-mpeg-tools-1.5b
+++ /dev/null
@@ -1 +0,0 @@
-MD5 ff125fb82118efc7c852f0d26d5552c6 mpeg_encode-1.5b-src.tar.gz 2028724
diff --git a/media-video/mpeg-tools/files/digest-mpeg-tools-1.5b-r1 b/media-video/mpeg-tools/files/digest-mpeg-tools-1.5b-r1
deleted file mode 100644
index 63605b69a15d..000000000000
--- a/media-video/mpeg-tools/files/digest-mpeg-tools-1.5b-r1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 ff125fb82118efc7c852f0d26d5552c6 mpeg_encode-1.5b-src.tar.gz 2028724
diff --git a/media-video/mpeg-tools/mpeg-tools-1.5b-r1.ebuild b/media-video/mpeg-tools/mpeg-tools-1.5b-r1.ebuild
deleted file mode 100644
index 18c229eda166..000000000000
--- a/media-video/mpeg-tools/mpeg-tools-1.5b-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/mpeg-tools/mpeg-tools-1.5b-r1.ebuild,v 1.5 2004/07/14 22:01:48 agriffis Exp $
-
-inherit eutils
-
-MY_PN=mpeg_encode
-S=${WORKDIR}/${MY_PN}
-DESCRIPTION="Tools for MPEG video"
-SRC_URI="ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/encode/${MY_PN}-${PV}-src.tar.gz"
-HOMEPAGE="http://bmrc.berkeley.edu/research/mpeg/mpeg_encode.html"
-
-DEPEND="virtual/x11"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="x86 ~amd64"
-IUSE=""
-
-src_unpack () {
- unpack ${A} ; cd ${S}
-
- cp ${FILESDIR}/${PV}/libpnmrw.c .
- cp ${FILESDIR}/${PV}/libpnmrw.h headers/
- epatch ${FILESDIR}/${PV}/${P}-gentoo.patch
- cd ${S}/../convert
- # Fix exit() being called without arguments
- epatch ${FILESDIR}/${PV}/${P}-fix-exit-call.patch
-
- if [ "${ARCH}" == "amd64" ]; then
- cd ${S}/../.. ; epatch ${FILESDIR}/${P}-64bit_fixes.patch
- fi
-}
-
-src_compile() {
- cd ${S}
- make || die
- cd ../convert
- make || die
- cd mtv
- make || die
-}
-
-src_install () {
- cd ${S}
- into /usr
- dobin mpeg_encode
- doman docs/*.1
- dodoc BUGS CHANGES COPYRIGHT README TODO VERSION
- dodoc docs/EXTENSIONS docs/INPUT.FORMAT docs/*.param docs/param-summary
- docinto examples
- dodoc examples/*
- cd ../convert
- dobin eyuvtojpeg eyuvtoppm jmovie2jpeg mpeg_demux ppmtoeyuv mtv/movieToVid
-}
diff --git a/media-video/mpeg-tools/mpeg-tools-1.5b.ebuild b/media-video/mpeg-tools/mpeg-tools-1.5b.ebuild
deleted file mode 100644
index aca0c79d054c..000000000000
--- a/media-video/mpeg-tools/mpeg-tools-1.5b.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/mpeg-tools/mpeg-tools-1.5b.ebuild,v 1.17 2004/07/14 22:01:48 agriffis Exp $
-
-inherit eutils
-
-MY_PN=mpeg_encode
-S=${WORKDIR}/${MY_PN}
-DESCRIPTION="Tools for MPEG video"
-SRC_URI="ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/encode/${MY_PN}-${PV}-src.tar.gz"
-HOMEPAGE="http://bmrc.berkeley.edu/research/mpeg/mpeg_encode.html"
-
-DEPEND="virtual/x11"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="x86"
-IUSE=""
-
-src_unpack () {
- unpack ${A}
- cd ${S}
- cp ${FILESDIR}/${PV}/libpnmrw.c .
- cp ${FILESDIR}/${PV}/libpnmrw.h headers/
- epatch ${FILESDIR}/${PV}/${P}-gentoo.patch
-}
-
-src_compile() {
- cd ${S}
- make || die
- cd ../convert
- make || die
- cd mtv
- make || die
-}
-
-src_install () {
- cd ${S}
- into /usr
- dobin mpeg_encode
- doman docs/*.1
- dodoc BUGS CHANGES COPYRIGHT README TODO VERSION
- dodoc docs/EXTENSIONS docs/INPUT.FORMAT docs/*.param docs/param-summary
- docinto examples
- dodoc examples/*
- cd ../convert
- dobin eyuvtojpeg eyuvtoppm jmovie2jpeg mpeg_demux ppmtoeyuv mtv/movieToVid
-}