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

Comparing ray/src/px/ra_tiff.c (file contents):
Revision 2.30 by greg, Tue Mar 22 15:26:05 2005 UTC vs.
Revision 2.34 by greg, Sat Dec 4 00:24:43 2010 UTC

# Line 13 | Line 13 | static const char      RCSid[] = "$Id$";
13   #include  <time.h>
14   #include  <string.h>
15  
16 + #include  "platform.h"
17   #include  "tiffio.h"
18   #include  "color.h"
19   #include  "resolu.h"
# Line 191 | Line 192 | doneopts:
192          exit(0);
193   userr:
194          fprintf(stderr,
195 <        "Usage: %s [-z|-L|-l|-f|-w][-b][-e +/-stops][-g gamma] {in.pic|-} out.tif\n",
195 >        "Usage: %s [-z|-L|-l|-f|-w][-b][-e +/-stops][-g gamma] {in.hdr|-} out.tif\n",
196                          progname);
197          fprintf(stderr,
198 <        "   Or: %s -r [-x][-e +/-stops][-g gamma] in.tif [out.pic|-]\n",
198 >        "   Or: %s -r [-x][-e +/-stops][-g gamma] in.tif [out.hdr|-]\n",
199                          progname);
200          exit(1);
201   }
# Line 362 | Line 363 | initfromtif(void)              /* initialize conversion from TIFF
363                  quiterr("unknown input image resolution");
364  
365          if (!TIFFGetField(cvts.tif, TIFFTAG_STONITS, &cvts.stonits))
366 <                cvts.stonits = 1.;
366 >                cvts.stonits = -1.;
367  
368          if (!TIFFGetField(cvts.tif, TIFFTAG_DATETIME, &cp))
369                  cvts.capdate[0] = '\0';
# Line 380 | Line 381 | initfromtif(void)              /* initialize conversion from TIFF
381          if (cvts.pixrat < .99 || cvts.pixrat > 1.01)
382                  fputaspect(cvts.pixrat, cvts.rfp);
383          if (CHK(C_XYZE)) {
384 <                fputexpos(pow(2.,(double)cvts.bradj)/cvts.stonits, cvts.rfp);
384 >                if (cvts.stonits > .0)
385 >                        fputexpos(pow(2.,(double)cvts.bradj)/cvts.stonits, cvts.rfp);
386                  fputformat(CIEFMT, cvts.rfp);
387          } else {
388                  if (CHK(C_PRIM))
389                          fputprims(cvts.prims, cvts.rfp);
390 <                fputexpos(WHTEFFICACY*pow(2.,(double)cvts.bradj)/cvts.stonits,
391 <                                cvts.rfp);
390 >                if (cvts.stonits > .0)
391 >                        fputexpos(WHTEFFICACY*pow(2.,(double)cvts.bradj)/cvts.stonits,
392 >                                        cvts.rfp);
393                  fputformat(COLRFMT, cvts.rfp);
394          }
395          if (cvts.capdate[0])
# Line 413 | Line 416 | tiff2ra(               /* convert TIFF image to Radiance picture */
416                  cvts.rfp = stdout;
417          else if ((cvts.rfp = fopen(av[ac+1], "w")) == NULL)
418                  quiterr("cannot open Radiance output picture");
419 +        SET_FILE_BINARY(cvts.rfp);
420                                          /* start output header */
421          newheader("RADIANCE", cvts.rfp);
422          printargs(ac, av, cvts.rfp);
# Line 632 | Line 636 | ra2tiff(               /* convert Radiance picture to TIFF image */
636                  cvts.rfp = stdin;
637          else if ((cvts.rfp = fopen(av[ac], "r")) == NULL)
638                  quiterr("cannot open Radiance input picture");
639 +        SET_FILE_BINARY(cvts.rfp);
640                                                  /* open TIFF file */
641          if ((cvts.tif = TIFFOpen(av[ac+1], "w")) == NULL)
642                  quiterr("cannot open TIFF output");
# Line 656 | Line 661 | Luv2Color(                     /* read/convert/write Luv->COLOR scanline
661          if (CHK(C_RFLT|C_TWRD|C_TFLT|C_GRY) != (C_RFLT|C_TFLT))
662                  quiterr("internal error 1 in Luv2Color");
663  
664 +        if (cvts.pconf != PLANARCONFIG_CONTIG)
665 +                quiterr("cannot handle separate 32-bit color planes");
666 +
667          if (TIFFReadScanline(cvts.tif, cvts.t.p, y, 0) < 0)
668                  quiterr("error reading TIFF input");
669                                          /* also works for float RGB */
# Line 693 | Line 701 | RRGGBB2Color(                  /* read/convert/write RGB16->COLOR sca
701  
702          if (CHK(C_RFLT|C_TWRD|C_TFLT|C_GRY) != (C_TWRD|C_RFLT))
703                  quiterr("internal error 1 in RRGGBB2Color");
704 +
705 +        if (cvts.pconf != PLANARCONFIG_CONTIG)
706 +                quiterr("cannot handle separate 16-bit color planes");
707  
708          if (TIFFReadScanline(cvts.tif, cvts.t.p, y, 0) < 0)
709                  quiterr("error reading TIFF input");

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines