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

Comparing ray/src/px/clrtab.c (file contents):
Revision 2.10 by greg, Fri Jun 10 12:51:16 1994 UTC vs.
Revision 2.16 by schorsch, Sun Jul 27 22:12:03 2003 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1993 Regents of the University of California */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ LBL";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   * Simple median-cut color quantization based on colortab.c
6   */
7  
8 < #include "standard.h"
8 > #include "copyright.h"
9  
10 + #include <string.h>
11 +
12 + #include "standard.h"
13   #include "color.h"
14 +
15                                  /* histogram resolution */
16   #define NRED            36
17   #define NGRN            48
# Line 40 | Line 41 | static int     CLRCUBE[3][2] = {0,NRED,0,NGRN,0,NBLU};
41   #endif
42   #endif
43  
44 + static  cut(), mktabent(), closest(), addneigh(), setclosest();
45 + static int      split();
46 + static unsigned dist();
47  
48 +
49   new_histo(n)            /* clear our histogram */
50   int     n;
51   {
52 <        bzero((char *)histo, sizeof(histo));
52 >        memset((void *)histo, '\0', sizeof(histo));
53          return(0);
54   }
55  
# Line 118 | Line 123 | int    n;
123  
124          if (n != N) {           /* get error propogation array */
125                  if (N) {
126 <                        free((char *)cerr);
126 >                        free((void *)cerr);
127                          cerr = NULL;
128                  }
129                  if (n)
# Line 129 | Line 134 | int    n;
134                          return;
135                  }
136                  N = n;
137 <                bzero((char *)cerr, 3*N*sizeof(short));
137 >                memset((void *)cerr, '\0', 3*N*sizeof(short));
138          }
139          err[0] = err[1] = err[2] = 0;
140          for (x = 0; x < n; x++) {
# Line 168 | Line 173 | int    c0, c1;
173          }
174                                          /* split box */
175          branch = split(box);
176 <        bcopy((char *)box, (char *)kb, sizeof(kb));
176 >        memcpy((void *)kb, (void *)box, sizeof(kb));
177                                                  /* do left (lesser) branch */
178          kb[prim(branch)][1] = part(branch);
179          cut(kb, c0, (c0+c1)>>1);
# Line 252 | Line 257 | register int   box[3][2];
257          for (r = box[RED][0]; r < box[RED][1]; r++)
258              for (g = box[GRN][0]; g < box[GRN][1]; g++)
259                  for (b = box[BLU][0]; b < box[BLU][1]; b++) {
260 <                    if (c = histo[r][g][b]) {
260 >                    if ( (c = histo[r][g][b]) ) {
261                          n += c;
262                          sum[RED] += (long)c*r;
263                          sum[GRN] += (long)c*g;
# Line 336 | Line 341 | int    j;
341                  if (nl[i][t] == i) {            /* add to list */
342                          nl[i][t++] = j;
343                          if (t % NBSIZ == 0) {   /* enlarge list */
344 <                                if ((nnl = realloc(nl[i], t+NBSIZ)) == NULL)
344 >                                if ((nnl = realloc((void *)nl[i],
345 >                                                t+NBSIZ)) == NULL)
346                                          t--;
347                                  else
348                                          nl[i] = (BYTE *)nnl;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines