1 /* vim: set ts=8 sw=8 noexpandtab: */
13 #define ALIGN __declspec(align(16))
15 #define ALIGN __attribute__(( aligned (16) ))
18 struct _qcms_transform
;
20 typedef void (*transform_fn_t
)(const struct _qcms_transform
*transform
, const unsigned char *src
, unsigned char *dest
, size_t length
);
23 void qcms_transform_data_rgb_out_lut(const qcms_transform
*transform
,
24 const unsigned char *src
,
27 void qcms_transform_data_rgba_out_lut(const qcms_transform
*transform
,
28 const unsigned char *src
,
31 void qcms_transform_data_bgra_out_lut(const qcms_transform
*transform
,
32 const unsigned char *src
,
36 void qcms_transform_data_rgb_out_lut_precache(const qcms_transform
*transform
,
37 const unsigned char *src
,
40 void qcms_transform_data_rgba_out_lut_precache(const qcms_transform
*transform
,
41 const unsigned char *src
,
44 void qcms_transform_data_bgra_out_lut_precache(const qcms_transform
*transform
,
45 const unsigned char *src
,
49 void qcms_transform_data_rgb_out_lut_avx(const qcms_transform
*transform
,
50 const unsigned char *src
,
53 void qcms_transform_data_rgba_out_lut_avx(const qcms_transform
*transform
,
54 const unsigned char *src
,
57 void qcms_transform_data_bgra_out_lut_avx(const qcms_transform
*transform
,
58 const unsigned char *src
,
61 void qcms_transform_data_rgb_out_lut_sse2(const qcms_transform
*transform
,
62 const unsigned char *src
,
65 void qcms_transform_data_rgba_out_lut_sse2(const qcms_transform
*transform
,
66 const unsigned char *src
,
69 void qcms_transform_data_bgra_out_lut_sse2(const qcms_transform
*transform
,
70 const unsigned char *src
,
73 void qcms_transform_data_rgb_out_lut_sse1(const qcms_transform
*transform
,
74 const unsigned char *src
,
77 void qcms_transform_data_rgba_out_lut_sse1(const qcms_transform
*transform
,
78 const unsigned char *src
,
81 void qcms_transform_data_bgra_out_lut_sse1(const qcms_transform
*transform
,
82 const unsigned char *src
,
86 void qcms_transform_data_rgb_out_lut_altivec(const qcms_transform
*transform
,
87 const unsigned char *src
,
90 void qcms_transform_data_rgba_out_lut_altivec(const qcms_transform
*transform
,
91 const unsigned char *src
,
94 void qcms_transform_data_bgra_out_lut_altivec(const qcms_transform
*transform
,
95 const unsigned char *src
,
99 void qcms_transform_data_rgb_out_lut_neon(const qcms_transform
*transform
,
100 const unsigned char *src
,
103 void qcms_transform_data_rgba_out_lut_neon(const qcms_transform
*transform
,
104 const unsigned char *src
,
107 void qcms_transform_data_bgra_out_lut_neon(const qcms_transform
*transform
,
108 const unsigned char *src
,
112 extern bool qcms_supports_iccv4
;
113 extern bool qcms_supports_neon
;
114 extern bool qcms_supports_avx
;