#include "qcms.h"
#include "qcmstypes.h"
struct precache_output
{ … };
#ifdef _MSC_VER
#define ALIGN …
#else
#define ALIGN …
#endif
qcms_format_type;
struct _qcms_transform { … };
struct matrix { … };
struct qcms_modular_transform;
transform_module_fn_t;
struct qcms_modular_transform { … };
s15Fixed16Number;
uInt16Number;
uInt8Number;
struct XYZNumber { … };
struct curveType { … };
struct lutmABType { … };
struct lutType { … };
struct vcgtType { … };
#if 0
struct tag_value {
uint32_t type;
union {
struct {
uint32_t reserved;
struct {
s15Fixed16Number X;
s15Fixed16Number Y;
s15Fixed16Number Z;
} XYZNumber;
} XYZType;
};
};
#endif
#define RGB_SIGNATURE …
#define GRAY_SIGNATURE …
#define XYZ_SIGNATURE …
#define LAB_SIGNATURE …
struct _qcms_profile { … };
#ifdef _MSC_VER
#define inline _inline
#endif
static inline float s15Fixed16Number_to_float(s15Fixed16Number a)
{ … }
static inline s15Fixed16Number double_to_s15Fixed16Number(double v)
{ … }
static inline float uInt8Number_to_float(uInt8Number a)
{ … }
static inline float uInt16Number_to_float(uInt16Number a)
{ … }
void precache_release(struct precache_output *p);
qcms_bool set_rgb_colorants(qcms_profile *profile, qcms_CIE_xyY white_point, qcms_CIE_xyYTRIPLE primaries);
void qcms_transform_data_rgb_out_lut_sse2(qcms_transform *transform,
unsigned char *src,
unsigned char *dest,
size_t length,
qcms_format_type output_format);
void qcms_transform_data_rgba_out_lut_sse2(qcms_transform *transform,
unsigned char *src,
unsigned char *dest,
size_t length,
qcms_format_type output_format);
void qcms_transform_data_tetra_clut_rgba_sse2(qcms_transform* transform,
unsigned char* src,
unsigned char* dest,
size_t length,
qcms_format_type output_format);
void qcms_transform_build_clut_cache(qcms_transform* transform);
extern qcms_bool qcms_supports_iccv4;
#ifdef _MSC_VER
long __cdecl _InterlockedIncrement(long volatile *);
long __cdecl _InterlockedDecrement(long volatile *);
#pragma intrinsic(_InterlockedIncrement)
#pragma intrinsic(_InterlockedDecrement)
#define qcms_atomic_increment …
#define qcms_atomic_decrement …
#else
#define qcms_atomic_increment(x) …
#define qcms_atomic_decrement(x) …
#endif