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