Merge mozilla-central to autoland. CLOSED TREE
[gecko.git] / gfx / qcms / qcmsint.h
blobb08fc9490b1f7c9570972ebd7dac676f93be85a4
1 /* vim: set ts=8 sw=8 noexpandtab: */
2 #ifndef QCMS_INT_H
3 #define QCMS_INT_H
5 #include "qcms.h"
6 #include "qcmstypes.h"
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
12 #ifdef _MSC_VER
13 #define ALIGN __declspec(align(16))
14 #else
15 #define ALIGN __attribute__(( aligned (16) ))
16 #endif
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,
25 unsigned char *dest,
26 size_t length);
27 void qcms_transform_data_rgba_out_lut(const qcms_transform *transform,
28 const unsigned char *src,
29 unsigned char *dest,
30 size_t length);
31 void qcms_transform_data_bgra_out_lut(const qcms_transform *transform,
32 const unsigned char *src,
33 unsigned char *dest,
34 size_t length);
36 void qcms_transform_data_rgb_out_lut_precache(const qcms_transform *transform,
37 const unsigned char *src,
38 unsigned char *dest,
39 size_t length);
40 void qcms_transform_data_rgba_out_lut_precache(const qcms_transform *transform,
41 const unsigned char *src,
42 unsigned char *dest,
43 size_t length);
44 void qcms_transform_data_bgra_out_lut_precache(const qcms_transform *transform,
45 const unsigned char *src,
46 unsigned char *dest,
47 size_t length);
49 void qcms_transform_data_rgb_out_lut_avx(const qcms_transform *transform,
50 const unsigned char *src,
51 unsigned char *dest,
52 size_t length);
53 void qcms_transform_data_rgba_out_lut_avx(const qcms_transform *transform,
54 const unsigned char *src,
55 unsigned char *dest,
56 size_t length);
57 void qcms_transform_data_bgra_out_lut_avx(const qcms_transform *transform,
58 const unsigned char *src,
59 unsigned char *dest,
60 size_t length);
61 void qcms_transform_data_rgb_out_lut_sse2(const qcms_transform *transform,
62 const unsigned char *src,
63 unsigned char *dest,
64 size_t length);
65 void qcms_transform_data_rgba_out_lut_sse2(const qcms_transform *transform,
66 const unsigned char *src,
67 unsigned char *dest,
68 size_t length);
69 void qcms_transform_data_bgra_out_lut_sse2(const qcms_transform *transform,
70 const unsigned char *src,
71 unsigned char *dest,
72 size_t length);
73 void qcms_transform_data_rgb_out_lut_sse1(const qcms_transform *transform,
74 const unsigned char *src,
75 unsigned char *dest,
76 size_t length);
77 void qcms_transform_data_rgba_out_lut_sse1(const qcms_transform *transform,
78 const unsigned char *src,
79 unsigned char *dest,
80 size_t length);
81 void qcms_transform_data_bgra_out_lut_sse1(const qcms_transform *transform,
82 const unsigned char *src,
83 unsigned char *dest,
84 size_t length);
86 void qcms_transform_data_rgb_out_lut_altivec(const qcms_transform *transform,
87 const unsigned char *src,
88 unsigned char *dest,
89 size_t length);
90 void qcms_transform_data_rgba_out_lut_altivec(const qcms_transform *transform,
91 const unsigned char *src,
92 unsigned char *dest,
93 size_t length);
94 void qcms_transform_data_bgra_out_lut_altivec(const qcms_transform *transform,
95 const unsigned char *src,
96 unsigned char *dest,
97 size_t length);
99 void qcms_transform_data_rgb_out_lut_neon(const qcms_transform *transform,
100 const unsigned char *src,
101 unsigned char *dest,
102 size_t length);
103 void qcms_transform_data_rgba_out_lut_neon(const qcms_transform *transform,
104 const unsigned char *src,
105 unsigned char *dest,
106 size_t length);
107 void qcms_transform_data_bgra_out_lut_neon(const qcms_transform *transform,
108 const unsigned char *src,
109 unsigned char *dest,
110 size_t length);
112 extern bool qcms_supports_iccv4;
113 extern bool qcms_supports_neon;
114 extern bool qcms_supports_avx;
116 #ifdef __cplusplus
118 #endif
120 #endif