1 #ifndef SAMPLER_H_INCLUDED 2 #define SAMPLER_H_INCLUDED 3 #include "dng_matrix.h" 4 #include "dng_hue_sat_map.h" 5 #include "dng_tone_curve.h" 6 #include "dng_1d_table.h" 7 #include "lcms.h" 8 9 class Sampler { 10 private: 11 dng_matrix fm; 12 dng_matrix rm; 13 dng_matrix cam2rgb_matrix; 14 dng_matrix rgb2xyz_matrix; 15 dng_hue_sat_map hsm; // Hue Saturation Map 16 dng_hue_sat_map ltd; // Profile Look Table 17 dng_1d_table tc; // Tone curve 18 real64 maxrgb; 19 real64 maxxyz; 20 public: 21 Sampler(const dng_matrix &nfm); 22 void setfm(const dng_matrix &nfm); 23 dng_matrix getfm(); 24 void sethsm(const dng_hue_sat_map &nhsm); 25 void settc(const dng_tone_curve &ntc); 26 void setltd(const dng_hue_sat_map &nltd); 27 dng_vector cam2xyz(const dng_vector &cam, int test); 28 dng_vector cam2rgb(const dng_vector &cam, int test); 29 real64 getmaxrgb(); 30 real64 getmaxxyz(); 31 }; 32 33 extern "C" { 34 int dcpSampler(register WORD in[], 35 register WORD out[], 36 register LPVOID cargo); 37 int dcpTest1(register WORD in[], 38 register WORD out[], 39 register LPVOID cargo); 40 int dcpTest2(register WORD in[], 41 register WORD out[], 42 register LPVOID cargo); 43 } 44 #endif 45