| 1 | < | /* Copyright (c) 1996 Regents of the University of California */ | 
| 1 | > | /* Copyright (c) 1998 Silicon Graphics, Inc. */ | 
| 2 |  |  | 
| 3 | < | /* SCCSid "$SunId$ LBL" */ | 
| 3 | > | /* SCCSid "$SunId$ SGI" */ | 
| 4 |  |  | 
| 5 |  | /* | 
| 6 |  | * Header file for picture file conditioning. | 
| 25 |  |  | 
| 26 |  | #define HISTRES         100             /* histogram resolution */ | 
| 27 |  |  | 
| 28 | < | #define LMIN            1e-4            /* minimum visible world luminance */ | 
| 28 | > | #define LMIN            1e-7            /* minimum visible world luminance */ | 
| 29 |  | #define LMAX            1e5             /* maximum visible world luminance */ | 
| 30 |  |  | 
| 31 |  | #define Bl(Lw)          log(Lw)         /* brightness function */ | 
| 39 |  | #define DO_HSENS        04 | 
| 40 |  | #define DO_COLOR        010 | 
| 41 |  | #define DO_CWEIGHT      020 | 
| 42 | < | #define DO_LINEAR       040 | 
| 42 | > | #define DO_FIXHIST      040 | 
| 43 | > | #define DO_LINEAR       0100 | 
| 44 |  |  | 
| 45 |  | #define DO_HUMAN        (DO_ACUITY|DO_VEIL|DO_HSENS|DO_COLOR) | 
| 46 |  |  | 
| 47 |  | extern int      what2do;                /* desired adjustments */ | 
| 48 |  |  | 
| 49 |  | extern double   ldmax;                  /* maximum output luminance */ | 
| 50 | < | extern double   ldmin;                  /* minimum output luminance */ | 
| 51 | < | extern double   Bldmin, Bldmax;         /* Bl(ldmin) and Bl(ldmax) */ | 
| 50 | > | extern double   lddyn;                  /* display dynamic range */ | 
| 51 | > | extern double   Bldmin, Bldmax;         /* Bl(ldmax/lddyn) and Bl(ldmax) */ | 
| 52 |  |  | 
| 53 |  | extern char     *progname;              /* global argv[0] */ | 
| 54 |  |  | 
| 61 |  | #define plum(clr)       ((*lumf)(clr,0)/inpexp) | 
| 62 |  | #define slum(clr)       ((*lumf)(clr,1)/inpexp) | 
| 63 |  |  | 
| 64 | + | #define ldmin           (ldmax/lddyn) | 
| 65 | + |  | 
| 66 |  | extern COLOR    *fovimg;                /* foveal (1 degree) averaged image */ | 
| 67 |  | extern short    fvxr, fvyr;             /* foveal image resolution */ | 
| 68 |  |  | 
| 69 |  | #define fovscan(y)      (fovimg+(y)*fvxr) | 
| 70 |  |  | 
| 71 | < | extern int      bwhist[HISTRES];        /* luminance histogram */ | 
| 72 | < | extern long     histot;                 /* total count of histogram */ | 
| 71 | > | extern double   fixfrac;                /* histogram share due to fixations */ | 
| 72 | > | extern short    (*fixlst)[2];           /* fixation history list */ | 
| 73 | > | extern int      nfixations;             /* number of fixation points */ | 
| 74 | > |  | 
| 75 | > | extern float    bwhist[HISTRES];        /* luminance histogram */ | 
| 76 | > | extern double   histot;                 /* total count of histogram */ | 
| 77 |  | extern double   bwmin, bwmax;           /* histogram limits */ | 
| 78 |  | extern double   bwavg;                  /* mean brightness */ | 
| 79 |  |  | 
| 80 | < | #define bwhc(B)         bwhist[(int)(HISTRES*((B)-bwmin)/(bwmax-bwmin))] | 
| 80 | > | #define bwhi(B)         (int)(HISTRES*((B)-bwmin)/(bwmax-bwmin)) | 
| 81 |  |  | 
| 82 |  | extern RGBPRIMP inprims;                /* input primaries */ | 
| 83 |  | extern COLORMAT inrgb2xyz;              /* convert input RGB to XYZ */ | 
| 91 |  | extern RESOLU   inpres;                 /* input picture resolution */ | 
| 92 |  |  | 
| 93 |  | extern char     *mbcalfile;             /* macbethcal mapping file */ | 
| 94 | + | extern char     *cwarpfile;             /* color warp mapping file */ | 
| 95 |  |  | 
| 96 |  | extern double   hacuity();              /* human acuity func. (cycles/deg.) */ | 
| 97 |  | extern double   htcontrs();             /* human contrast sens. func. */ |