00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
#ifndef LHFragment_h
00014 
#define LHFragment_h
00015 
00016 
#ifndef LHDefines_h
00017 
#include "Defines.h"
00018 
#endif
00019 
00020 
#ifndef LHGenLuts_h
00021 
#include "GenLuts.h"
00022 
#endif
00023 
00024 
00025 
icCurveType     *       
InvertLut1d     ( 
icCurveType *LookUpTable,
00026                                                           UINT8 AdressBits);
00027                                                           
00028 
CMError                 CombiMatrix     ( 
icXYZType srcColorantData[3],
00029                                                           
icXYZType destColorantData[3], 
00030                                                           
double resMatrix[3][3] );
00031                                                           
00032 
Boolean         doubMatrixInvert( 
double MatHin[3][3], 
00033                                                           
double MatRueck[3][3] );
00034 
00035 
CMError Fill_ushort_ELUT_identical(     UINT16 *usELUT, 
00036                                                                         
char addrBits, 
00037                                                                         
char usedBits, 
00038                                                                         
long gridPoints);
00039 
00040 
CMError Fill_ushort_ELUT_from_CurveTag( 
icCurveType *pCurveTag,
00041                                                                                 UINT16          *usELUT, 
00042                                                                                 
char            addrBits, 
00043                                                                                 
char            usedBits, 
00044                                                                                 
long            gridPoints);
00045 
00046 
CMError Fill_inverse_byte_ALUT_from_CurveTag( 
icCurveType       *pCurveTag,
00047                                                                                           UINT8                 *ucALUT, 
00048                                                                                           
char                  addrBits);
00049 
00050 
CMError Fill_inverse_ushort_ALUT_from_CurveTag( 
icCurveType             *pCurveTag,
00051                                                                                                 
unsigned short  *usALUT,
00052                                                                                                 
char                    addrBits );
00053 
00054 
00055 
CMError Fill_ushort_ELUTs_from_lut8Tag ( 
CMLutParamPtr  theLutData,
00056                                                                                  Ptr                    profileELuts,
00057                                                                                  
char                   addrBits,
00058                                                                                  
char                   usedBits, 
00059                                                                                  
long                   gridPoints );
00060 
00061 
CMError Fill_byte_ALUTs_from_lut8Tag( 
CMLutParamPtr     theLutData,
00062                                                                           Ptr                   profileALuts, 
00063                                                                           
char                  addrBits );
00064 
00065 
CMError Fill_ushort_ALUTs_from_lut8Tag( 
CMLutParamPtr   theLutData,
00066                                                                                 Ptr                             profileALuts, 
00067                                                                                 
char                    addrBits );
00068 
00069 
00070 
CMError Fill_ushort_ELUTs_from_lut16Tag ( 
CMLutParamPtr theLutData,
00071                                                                                   Ptr                   profileELuts,
00072                                                                                   
char                  addrBits,
00073                                                                                   
char                  usedBits, 
00074                                                                                   
long                  gridPoints,
00075                                                                                   
long                  inputTableEntries );
00076 
00077 
CMError Fill_byte_ALUTs_from_lut16Tag( 
CMLutParamPtr    theLutData,
00078                                                                            Ptr                          profileALuts, 
00079                                                                            
char                         addrBits,
00080                                                                            
long                         outputTableEntries );
00081 
00082 
CMError Fill_ushort_ALUTs_from_lut16Tag(
CMLutParamPtr   theLutData,
00083                                                                                 Ptr                             profileALuts,
00084                                                                                 
char                    addrBits,
00085                                                                         
long                    outputTableEntries );
00086 
00087 
00088 
CMError  MakeGamut16or32ForMonitor(     
icXYZType               *pRedXYZ,
00089                                                                         
icXYZType               *pGreenXYZ,
00090                                                                         
icXYZType               *pBlueXYZ,
00091                                                                         
CMLutParamPtr   theLutData,
00092                                                                         Boolean                 cube32Flag );
00093 
00094 
CMError DoAbsoluteShiftForPCS_Cube16(   
unsigned short  *theCube,
00095                                                                                 
long                    count,
00096                                                                                 CMProfileRef    theProfile,
00097                                                                                 Boolean                 pcsIsXYZ,
00098                                                                                 Boolean                 afterInput );
00099 
#endif 
00100