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.11 by greg, Sat Feb 22 02:07:22 2003 UTC vs.
Revision 3.15 by greg, Mon Jul 14 04:56:54 2003 UTC

# Line 1 | Line 1
1 < /* RCSid: $Id$ */
1 > /* RCSid $Id$ */
2   /*
3   * Header file for tone mapping functions.
4   *
5   * Include after "color.h"
6   */
7 <
8 < /* ====================================================================
9 < * The Radiance Software License, Version 1.0
10 < *
11 < * Copyright (c) 1990 - 2002 The Regents of the University of California,
12 < * through Lawrence Berkeley National Laboratory.   All rights reserved.
13 < *
14 < * Redistribution and use in source and binary forms, with or without
15 < * modification, are permitted provided that the following conditions
16 < * are met:
17 < *
18 < * 1. Redistributions of source code must retain the above copyright
19 < *         notice, this list of conditions and the following disclaimer.
20 < *
21 < * 2. Redistributions in binary form must reproduce the above copyright
22 < *       notice, this list of conditions and the following disclaimer in
23 < *       the documentation and/or other materials provided with the
24 < *       distribution.
25 < *
26 < * 3. The end-user documentation included with the redistribution,
27 < *           if any, must include the following acknowledgment:
28 < *             "This product includes Radiance software
29 < *                 (http://radsite.lbl.gov/)
30 < *                 developed by the Lawrence Berkeley National Laboratory
31 < *               (http://www.lbl.gov/)."
32 < *       Alternately, this acknowledgment may appear in the software itself,
33 < *       if and wherever such third-party acknowledgments normally appear.
34 < *
35 < * 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
36 < *       and "The Regents of the University of California" must
37 < *       not be used to endorse or promote products derived from this
38 < *       software without prior written permission. For written
39 < *       permission, please contact [email protected].
40 < *
41 < * 5. Products derived from this software may not be called "Radiance",
42 < *       nor may "Radiance" appear in their name, without prior written
43 < *       permission of Lawrence Berkeley National Laboratory.
44 < *
45 < * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
46 < * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
47 < * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
48 < * DISCLAIMED.   IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
49 < * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
50 < * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
51 < * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
52 < * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
53 < * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
54 < * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
55 < * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
56 < * SUCH DAMAGE.
57 < * ====================================================================
58 < *
59 < * This software consists of voluntary contributions made by many
60 < * individuals on behalf of Lawrence Berkeley National Laboratory.   For more
61 < * information on Lawrence Berkeley National Laboratory, please see
62 < * <http://www.lbl.gov/>.
63 < */
64 <
7 > #ifndef _RAD_TONEMAP_H_
8 > #define _RAD_TONEMAP_H_
9   #ifdef __cplusplus
10   extern "C" {
11   #endif
12  
13 + #include        "tifftypes.h"
14 +
15   /****    Argument Macros    ****/
16                                  /* Flags of what to do */
17   #define TM_F_HCONTR     01              /* human contrast sensitivity */
# Line 143 | Line 89 | extern struct tmStruct {
89   }       *tmTop;                 /* current tone mapping stack */
90  
91                                  /* conversion package functions */
146 #ifdef  NOPROTO
92   struct tmPackage {
148        MEM_PTR         (*Init)();      /* initialize private data */
149        void            (*NewSpace)();  /* new input color space (optional) */
150        void            (*Free)();      /* free private data */
151 };
152 #else
153 struct tmPackage {
93          MEM_PTR         (*Init)(struct tmStruct *tms);
94          void            (*NewSpace)(struct tmStruct *tms);
95          void            (*Free)(MEM_PTR pp);
96   };
158 #endif
97                                  /* our list of conversion packages */
98   extern struct tmPackage *tmPkg[TM_MAXPKG];
99   extern int      tmNumPkgs;      /* number of registered packages */
# Line 179 | Line 117 | extern int     tmNumPkgs;      /* number of registered packages
117  
118   /****    Library Function Calls    ****/
119  
182 #ifdef  NOPROTO
120  
184 extern struct tmStruct  *tmInit(), *tmPop(), *tmDup();
185 extern int      tmSetSpace(), tmPull(), tmPush();
186 extern void     tmClearHisto(), tmDone();
187 extern int      tmAddHisto();
188 extern int      tmFixedMapping(), tmComputeMapping(), tmMapPixels();
189 extern int      tmCvColors(), tmCvGrays(), tmCvColrs();
190 extern int      tmLoadPicture(), tmMapPicture();
191
192 #else
193
121   extern struct tmStruct *
122   tmInit(int flags, RGBPRIMP monpri, double gamval);
123   /*
# Line 404 | Line 331 | tmMapPicture(BYTE **psp, int *xp, int *yp, int flags,
331          returns -       0 on success, TM_E_* on failure.
332   */
333  
334 < #endif
334 > extern int
335 > tmCvRGB48(TMbright *ls, BYTE *cs, uint16 (*scan)[3], int len, double gv);
336 > /*
337 >        Convert 48-bit RGB scanline to encoded luminance and chrominance.
338  
339 +        ls      -       returned encoded luminance values.
340 +        cs      -       returned encoded chrominance values (Note 2).
341 +        scan    -       input scanline.
342 +        len     -       scanline length.
343 +        gv      -       input gamma value.
344  
345 +        returns -       0 on success, TM_E_* on error.
346 + */
347 +
348 + extern int
349 + tmCvGray16(TMbright *ls, uint16 *scan, int len, double gv);
350 + /*
351 +        Convert 16-bit gray scanline to encoded luminance.
352 +
353 +        ls      -       returned encoded luminance values.
354 +        scan    -       input scanline.
355 +        len     -       scanline length.
356 +        gv      -       input gamma value.
357 +
358 +        returns -       0 on success, TM_E_* on error.
359 + */
360 +
361   /****    Notes    ****/
362   /*
363          General:
# Line 481 | Line 432 | tmMapPicture(BYTE **psp, int *xp, int *yp, int flags,
432   #ifdef __cplusplus
433   }
434   #endif
435 + #endif /* _RAD_TONEMAP_H_ */
436 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines