--- ray/src/common/tmprivat.h 2003/07/14 22:23:59 3.12 +++ ray/src/common/tmprivat.h 2009/02/09 20:48:08 3.19 @@ -1,4 +1,4 @@ -/* RCSid $Id: tmprivat.h,v 3.12 2003/07/14 22:23:59 schorsch Exp $ */ +/* RCSid $Id: tmprivat.h,v 3.19 2009/02/09 20:48:08 greg Exp $ */ /* * Private header file for tone mapping routines. */ @@ -37,6 +37,9 @@ extern "C" { #define MINBRT (-16*TM_BRTSCALE) /* minimum usable brightness */ #define MINLUM (1.125352e-7) /* tmLuminance(MINBRT) */ +#define HISTI(li) (((li)-MINBRT)/HISTEP) +#define HISTV(i) (MINBRT + HISTEP/2 + (i)*HISTEP) + #define LMESLOWER (5.62e-3) /* lower mesopic limit */ #define LMESUPPER (5.62) /* upper mesopic limit */ #if (TM_BRTSCALE==128) @@ -55,18 +58,16 @@ extern "C" { (int32)(SCO_gf*256.+.5)*(c)[GRN] + \ (int32)(SCO_bf*256.+.5)*(c)[BLU] ) >> 8 ) -#ifndef malloc -MEM_PTR malloc(); -MEM_PTR calloc(); -#endif -extern int tmErrorReturn(); +extern int tmNewMap(TMstruct *tms); /* allocate new tone-mapping */ +extern int tmErrorReturn(const char *, TMstruct *, int); + /* lookup for mesopic scaling */ extern BYTE tmMesofact[BMESUPPER-BMESLOWER]; -extern void tmMkMesofact(); /* build tmMesofact */ +extern void tmMkMesofact(void); /* build tmMesofact */ -#define returnErr(code) return(tmErrorReturn(funcName,code)) +#define returnErr(code) return(tmErrorReturn(funcName,tms,code)) #define returnOK return(TM_E_OK) #define FEQ(a,b) ((a) < (b)+1e-5 && (b) < (a)+1e-5) @@ -75,7 +76,6 @@ extern void tmMkMesofact(); /* build tmMesofact */ &&FEQ((p1)[1][0],(p2)[1][0])&&FEQ((p1)[1][1],(p2)[1][1])\ &&FEQ((p1)[2][0],(p2)[2][0])&&FEQ((p1)[2][1],(p2)[2][1])\ &&FEQ((p1)[3][0],(p2)[3][0])&&FEQ((p1)[3][1],(p2)[3][1])) - #ifdef __cplusplus }