qcmsint.h (6171B)
1 /* vim: set ts=8 sw=8 noexpandtab: */ 2 #ifndef QCMS_INT_H 3 #define QCMS_INT_H 4 5 #include "qcms.h" 6 #include "qcmstypes.h" 7 8 #ifdef __cplusplus 9 extern "C" { 10 #endif 11 12 #ifdef _MSC_VER 13 #define ALIGN __declspec(align(16)) 14 #else 15 #define ALIGN __attribute__(( aligned (16) )) 16 #endif 17 18 struct _qcms_transform; 19 20 typedef void (*transform_fn_t)(const struct _qcms_transform *transform, const unsigned char *src, unsigned char *dest, size_t length); 21 22 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); 35 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); 48 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); 85 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); 98 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); 111 112 extern bool qcms_supports_iccv4; 113 extern bool qcms_supports_neon; 114 extern bool qcms_supports_avx; 115 116 #ifdef __cplusplus 117 } 118 #endif 119 120 #endif