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

Comparing ray/src/px/ra_bmp.c (file contents):
Revision 2.13 by greg, Fri Jul 19 17:37:56 2019 UTC vs.
Revision 2.17 by greg, Sat Jun 7 05:09:46 2025 UTC

# Line 18 | Line 18 | int            bradj = 0;              /* brightness adjustment */
18  
19   double          gamcor = 2.2;           /* gamma correction value */
20  
21 char            *progname;
22
21   static void quiterr(const char *err);
22   static void tmap2bmp(char *fnin, char *fnout, char *expec,
23                                  RGBPRIMP monpri, double gamval);
# Line 43 | Line 41 | main(int argc, char *argv[])
41          RESOLU          rs;
42          int             i;
43          
44 <        progname = argv[0];
44 >        fixargv0(argv[0]);              /* assigns progname */
45  
46          for (i = 1; i < argc; i++)
47                  if (argv[i][0] == '-' && argv[i][1])
# Line 219 | Line 217 | headline(char *s, void *p)
217                          rgbinp = TM_XYZPRIM;
218                          return(0);
219                  }
220 +                if (!strcmp(fmt,SPECFMT))
221 +                        return(0);
222                  return(-1);
223          }
224          if (isprims(s)) {               /* get input primaries */
# Line 226 | Line 226 | headline(char *s, void *p)
226                  rgbinp = myinprims;
227                  return(0);
228          }
229 +        if (isncomp(s)) {
230 +                NCSAMP = ncompval(s);
231 +                return(0);
232 +        }
233 +        if (iswlsplit(s)) {
234 +                wlsplitval(WLPART, s);
235 +                return(0);
236 +        }
237                                          /* should I grok colcorr also? */
238          return(0);
239   }
# Line 249 | Line 257 | rad2bmp(FILE *rfp, BMPWriter *bwr, int inv, RGBPRIMP m
257          usexfm = (monpri != NULL ? rgbinp != monpri :
258                          rgbinp != TM_XYZPRIM && rgbinp != stdprims);
259          if (usexfm) {
260 <                double  expcomp = pow(2.0, (double)bradj);
260 >                RGBPRIMP        destpri = monpri != NULL ? monpri : stdprims;
261 >                double          expcomp = pow(2.0, (double)bradj);
262                  if (rgbinp == TM_XYZPRIM)
263 <                        compxyz2rgbWBmat(xfm, monpri);
263 >                        compxyz2rgbWBmat(xfm, destpri);
264                  else
265 <                        comprgb2rgbWBmat(xfm, rgbinp, monpri);
265 >                        comprgb2rgbWBmat(xfm, rgbinp, destpri);
266                  for (y = 0; y < 3; y++)
267                          for (x = 0; x < 3; x++)
268                                  xfm[y][x] *= expcomp;
# Line 268 | Line 277 | rad2bmp(FILE *rfp, BMPWriter *bwr, int inv, RGBPRIMP m
277          }
278                                                  /* convert each scanline */
279          for ( ; y != yend; y += ystp) {
280 <                if (freadcolrs(scanin, bwr->hdr->width, rfp) < 0)
280 >                if (fread2colrs(scanin, bwr->hdr->width, rfp, NCSAMP, WLPART) < 0)
281                          quiterr("error reading Radiance picture");
282                  if (usexfm)
283                          for (x = bwr->hdr->width; x--; ) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines