4 |
|
* |
5 |
|
* Include after "color.h" |
6 |
|
*/ |
7 |
< |
|
8 |
< |
#include "copyright.h" |
9 |
< |
|
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 */ |
89 |
|
} *tmTop; /* current tone mapping stack */ |
90 |
|
|
91 |
|
/* conversion package functions */ |
91 |
– |
#ifdef NOPROTO |
92 |
|
struct tmPackage { |
93 |
– |
MEM_PTR (*Init)(); /* initialize private data */ |
94 |
– |
void (*NewSpace)(); /* new input color space (optional) */ |
95 |
– |
void (*Free)(); /* free private data */ |
96 |
– |
}; |
97 |
– |
#else |
98 |
– |
struct tmPackage { |
93 |
|
MEM_PTR (*Init)(struct tmStruct *tms); |
94 |
|
void (*NewSpace)(struct tmStruct *tms); |
95 |
|
void (*Free)(MEM_PTR pp); |
96 |
|
}; |
103 |
– |
#endif |
97 |
|
/* our list of conversion packages */ |
98 |
|
extern struct tmPackage *tmPkg[TM_MAXPKG]; |
99 |
|
extern int tmNumPkgs; /* number of registered packages */ |
117 |
|
|
118 |
|
/**** Library Function Calls ****/ |
119 |
|
|
127 |
– |
#ifdef NOPROTO |
120 |
|
|
129 |
– |
extern struct tmStruct *tmInit(), *tmPop(), *tmDup(); |
130 |
– |
extern int tmSetSpace(), tmPull(), tmPush(); |
131 |
– |
extern void tmClearHisto(), tmDone(); |
132 |
– |
extern int tmAddHisto(); |
133 |
– |
extern int tmFixedMapping(), tmComputeMapping(), tmMapPixels(); |
134 |
– |
extern int tmCvColors(), tmCvGrays(), tmCvColrs(); |
135 |
– |
extern int tmLoadPicture(), tmMapPicture(); |
136 |
– |
|
137 |
– |
#else |
138 |
– |
|
121 |
|
extern struct tmStruct * |
122 |
|
tmInit(int flags, RGBPRIMP monpri, double gamval); |
123 |
|
/* |
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: |
432 |
|
#ifdef __cplusplus |
433 |
|
} |
434 |
|
#endif |
435 |
+ |
#endif /* _RAD_TONEMAP_H_ */ |
436 |
+ |
|