ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/tonemap.h
(Generate patch)

Comparing ray/src/common/tonemap.h (file contents):
Revision 3.23 by greg, Sat May 31 19:38:36 2008 UTC vs.
Revision 3.30 by greg, Tue Mar 2 20:09:14 2021 UTC

# Line 32 | Line 32 | extern "C" {
32  
33                                  /* special pointer values */
34   #define TM_XYZPRIM      (RGBPRIMP)NULL  /* indicate XYZ primaries (Note 1) */
35 < #define TM_NOCHROM      (BYTE *)NULL    /* indicate no chrominance */
36 < #define TM_NOCHROMP     (BYTE **)NULL   /* indicate no chrominances */
35 > #define TM_NOCHROM      (uby8 *)NULL    /* indicate no chrominance */
36 > #define TM_NOCHROMP     (uby8 **)NULL   /* indicate no chrominances */
37   #define TM_GETFILE      (FILE *)NULL    /* indicate file must be opened */
38  
39  
# Line 51 | Line 51 | extern "C" {
51  
52   /****    Conversion Constants and Table Sizes    ****/
53  
54 < #define TM_BRTSCALE     128             /* brightness scale factor (integer) */
54 > #define TM_BRTSCALE     256             /* brightness scale factor (integer) */
55  
56 < #define TM_NOBRT        (-1<<15)        /* bogus brightness value */
56 > #define TM_NOBRT        (~0x7fff)       /* bogus brightness value */
57   #define TM_NOLUM        (1e-17)         /* ridiculously small luminance */
58  
59 + #define TM_BRES         4096            /* luminance tone-map resolution */
60 +
61   #define TM_MAXPKG       8               /* maximum number of color formats */
62  
63  
# Line 64 | Line 66 | extern "C" {
66   #ifndef MEM_PTR
67   #define MEM_PTR         void *
68   #endif
69 + #ifndef HIST_TYP
70 + #define HIST_TYP        unsigned long
71 + #endif
72 + #ifndef TMAP_TYP
73 + #define TMAP_TYP        uint16
74 + #endif
75  
76   extern char     *tmErrorMessage[];      /* error messages */
77  
# Line 81 | Line 89 | typedef struct {
89          MEM_PTR         inpdat;         /* current input client data */
90          COLORMAT        cmat;           /* color conversion matrix */
91          TMbright        hbrmin, hbrmax; /* histogram brightness limits */      
92 <        int             *histo;         /* input histogram */
92 >        HIST_TYP        *histo;         /* input histogram */
93          TMbright        mbrmin, mbrmax; /* mapped brightness limits */
94 <        unsigned short  *lumap;         /* computed luminance map */
94 >        TMAP_TYP        *lumap;         /* computed luminance map */
95          MEM_PTR         pd[TM_MAXPKG];  /* pointers to private data */
96          int             lastError;      /* last error incurred */
97          const char      *lastFunc;      /* error-generating function name */
# Line 183 | Line 191 | tmAddHisto(TMstruct *tms, TMbright *ls, int len, int w
191   */
192  
193   extern int
194 < tmFixedMapping(TMstruct *tms, double expmult, double gamval);
194 > tmFixedMapping(TMstruct *tms, double expmult, double gamval, double Lddyn);
195   /*
196          Assign a fixed, linear tone-mapping using the given multiplier,
197          which is the ratio of maximum output to uncalibrated input.
# Line 194 | Line 202 | tmFixedMapping(TMstruct *tms, double expmult, double g
202          tms     -       tone mapping structure pointer.
203          expmult -       the fixed exposure multiplier to use.
204          gamval  -       display gamma response (0. for default).
205 +        Ldmax   -       maximum display luminance in cd/m^2 (0. for default).
206  
207          returns -       0 on success, TM_E_* on error.
208   */
# Line 215 | Line 224 | tmComputeMapping(TMstruct *tms, double gamval, double
224   */
225  
226   extern int
227 < tmMapPixels(TMstruct *tms, BYTE *ps, TMbright *ls, BYTE *cs, int len);
227 > tmMapPixels(TMstruct *tms, uby8 *ps, TMbright *ls, uby8 *cs, int len);
228   /*
229          Apply tone mapping function to pixel values.
230  
# Line 260 | Line 269 | tmCvGrays(TMstruct *tms, TMbright *ls, float *scan, in
269   */
270  
271   extern int
272 < tmCvColors(TMstruct *tms, TMbright *ls, BYTE *cs, COLOR *scan, int len);
272 > tmCvColors(TMstruct *tms, TMbright *ls, uby8 *cs, COLOR *scan, int len);
273   /*
274          Convert RGB/XYZ float scanline to encoded luminance and chrominance.
275  
# Line 274 | Line 283 | tmCvColors(TMstruct *tms, TMbright *ls, BYTE *cs, COLO
283   */
284  
285   extern int
286 < tmCvColrs(TMstruct *tms, TMbright *ls, BYTE *cs, COLR *scan, int len);
286 > tmCvColrs(TMstruct *tms, TMbright *ls, uby8 *cs, COLR *scan, int len);
287   /*
288          Convert RGBE/XYZE scanline to encoded luminance and chrominance.
289  
# Line 288 | Line 297 | tmCvColrs(TMstruct *tms, TMbright *ls, BYTE *cs, COLR
297   */
298  
299   extern int
300 < tmLoadPicture(TMstruct *tms, TMbright **lpp, BYTE **cpp, int *xp, int *yp,
300 > tmLoadPicture(TMstruct *tms, TMbright **lpp, uby8 **cpp, int *xp, int *yp,
301                  char *fname, FILE *fp);
302   /*
303          Load Radiance picture and convert to tone mapping representation.
# Line 307 | Line 316 | tmLoadPicture(TMstruct *tms, TMbright **lpp, BYTE **cp
316   */
317  
318   extern int
319 < tmMapPicture(BYTE **psp, int *xp, int *yp, int flags,
319 > tmMapPicture(uby8 **psp, int *xp, int *yp, int flags,
320                  RGBPRIMP monpri, double gamval, double Lddyn, double Ldmax,
321                  char *fname, FILE *fp);
322   /*
# Line 332 | Line 341 | tmMapPicture(BYTE **psp, int *xp, int *yp, int flags,
341   */
342  
343   extern int
344 < tmCvRGB48(TMstruct *tms, TMbright *ls, BYTE *cs, uint16 (*scan)[3],
344 > tmCvRGB48(TMstruct *tms, TMbright *ls, uby8 *cs, uint16 (*scan)[3],
345                  int len, double gv);
346   /*
347          Convert 48-bit RGB scanline to encoded luminance and chrominance.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines