ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/ra_t8.c
(Generate patch)

Comparing ray/src/px/ra_t8.c (file contents):
Revision 1.11 by greg, Fri Aug 23 13:40:01 1991 UTC vs.
Revision 2.3 by greg, Fri Oct 9 15:24:21 1992 UTC

# Line 1 | Line 1
1 < /* Copyright (c) 1991 Regents of the University of California */
1 > /* Copyright (c) 1992 Regents of the University of California */
2  
3   #ifndef lint
4   static char SCCSid[] = "$SunId$ LBL";
# Line 15 | Line 15 | static char SCCSid[] = "$SunId$ LBL";
15  
16   #include  "color.h"
17  
18 + #include  "resolu.h"
19 +
20   #include  "pic.h"
21  
22   #include  "targa.h"
23  
24 < #ifndef  BSD
25 < #define  bcopy(s,d,n)           (void)memcpy(d,s,n)
24 > #ifdef MSDOS
25 > #include  <fcntl.h>
26 > #endif
27 >
28 > #include  <math.h>
29 >
30 > #ifndef  BSD
31 > #define  bcopy(s,d,n)           (void)memcpy(d,s,n)
32   extern char  *memcpy();
33   #endif
34                          /* descriptor for a picture file or frame buffer */
# Line 35 | Line 43 | typedef struct {
43          } pos;                          /* position(s) */
44   } pic;
45  
46 < #define  goodpic(h)     (my_imType(h) && my_mapType(h))
47 < #define  my_imType(h)   (((h)->dataType==IM_CMAP || (h)->dataType==IM_CCMAP) \
46 > #define  goodpic(h)     (my_imType(h) && my_mapType(h))
47 > #define  my_imType(h)   (((h)->dataType==IM_CMAP || (h)->dataType==IM_CCMAP) \
48                                  && (h)->dataBits==8 && (h)->imType==0)
49 < #define  my_mapType(h)  ((h)->mapType==CM_HASMAP && \
49 > #define  my_mapType(h)  ((h)->mapType==CM_HASMAP && \
50                                  ((h)->CMapBits==24 || (h)->CMapBits==32))
51  
52 < #define  taralloc(h)    (pixel *)emalloc((h)->x*(h)->y*sizeof(pixel))
52 > #define  taralloc(h)    (pixel *)emalloc((h)->x*(h)->y*sizeof(pixel))
53  
54   extern pic      *openinput();
55  
# Line 49 | Line 57 | extern char    *ecalloc(), *emalloc();
57  
58   extern long  ftell();
59  
52 extern double  atof(), pow();
53
60   double  gamma = 2.2;                    /* gamma correction */
61  
62   int  bradj = 0;                         /* brightness adjustment */
# Line 73 | Line 79 | int  argc;
79   char  *argv[];
80   {
81          colormap  rasmap;
82 <        struct hdStruct  head;
82 >        struct hdStruct  head;
83          int  dither = 1;
84          int  reverse = 0;
85          int  ncolors = 256;
86          int  greyscale = 0;
87          int  i;
88 <        
88 > #ifdef MSDOS
89 >        extern int  _fmode;
90 >        _fmode = O_BINARY;
91 >        setmode(fileno(stdin), O_BINARY);
92 >        setmode(fileno(stdout), O_BINARY);
93 > #endif
94          progname = argv[0];
95  
96          for (i = 1; i < argc; i++)
# Line 134 | Line 145 | char  *argv[];
145                  printargs(i, argv, stdout);
146                  fputformat(COLRFMT, stdout);
147                  putchar('\n');
148 <                fputresolu(YMAJOR|YDECR, xmax, ymax, stdout);
148 >                fprtresolu(xmax, ymax, stdout);
149                                          /* convert file */
150                  tg2ra(&head);
151          } else {
# Line 217 | Line 228 | int code;
228  
229  
230   getthead(hp, ip, fp)            /* read header from input */
231 < struct hdStruct  *hp;
231 > struct hdStruct  *hp;
232   char  *ip;
233   register FILE  *fp;
234   {
# Line 250 | Line 261 | register FILE  *fp;
261  
262  
263   putthead(hp, ip, fp)            /* write header to output */
264 < struct hdStruct  *hp;
264 > struct hdStruct  *hp;
265   char  *ip;
266   register FILE  *fp;
267   {
# Line 292 | Line 303 | register struct hdStruct  *h;
303                  return(NULL);
304                                          /* get header info. */
305          if (checkheader(p->fp, COLRFMT, NULL) < 0 ||
306 <                        fgetresolu(&xmax, &ymax, p->fp) != (YMAJOR|YDECR))
306 >                        fgetresolu(&xmax, &ymax, p->fp) < 0)
307                  quiterr("bad picture format");
308          p->nexty = 0;
309          p->bytes_line = 0;              /* variable length lines */
# Line 321 | Line 332 | register struct hdStruct  *h;
332  
333  
334   tg2ra(hp)                       /* targa file to RADIANCE file */
335 < struct hdStruct  *hp;
335 > struct hdStruct  *hp;
336   {
337          union {
338                  BYTE  c3[256][3];
# Line 332 | Line 343 | struct hdStruct  *hp;
343          register int  i, j;
344  
345                                          /* get color table */
346 <        if ((hp->CMapBits==24 ? fread((char *)map.c3,sizeof(map.c3),1,stdin) :
347 <                        fread((char *)map.c4,sizeof(map.c4),1,stdin)) != 1)
346 >        if ((hp->CMapBits==24 ? fread((char *)(map.c3+hp->mapOrig),
347 >                                3*hp->mapLength,1,stdin) :
348 >                        fread((char *)(map.c4+hp->mapOrig),
349 >                                4*hp->mapLength,1,stdin)) != 1)
350                  quiterr("error reading color table");
351                                          /* convert table */
352          for (i = hp->mapOrig; i < hp->mapOrig+hp->mapLength; i++)
# Line 409 | Line 422 | pixel  *l;
422  
423  
424   writetarga(h, d, fp)            /* write out targa data */
425 < struct hdStruct  *h;
425 > struct hdStruct  *h;
426   pixel  *d;
427   FILE  *fp;
428   {
# Line 423 | Line 436 | FILE  *fp;
436  
437  
438   readtarga(h, data, fp)          /* read in targa data */
439 < struct hdStruct  *h;
439 > struct hdStruct  *h;
440   pixel  *data;
441   FILE  *fp;
442   {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines