[Liboil-commit] configure.ac liboil/build_prototypes.c liboil/liboilcpu.h liboil/liboilfuncs.h liboil/liboilutils.h

David Schleef ds at kemper.freedesktop.org
Tue Feb 19 13:45:00 PST 2008


 configure.ac              |    1 
 liboil/build_prototypes.c |    2 
 liboil/liboilcpu.h        |    4 
 liboil/liboilfuncs.h      |  828 +++++++++++++++++++++++-----------------------
 liboil/liboilutils.h      |    9 
 5 files changed, 427 insertions(+), 417 deletions(-)

New commits:
commit 6cbb58f2fdb29e793158aa11e8feab5de8f0d8b6
Author: David Schleef <ds at ginger.bigkitten.com>
Date:   Tue Feb 19 13:46:59 2008 -0800

    Use OIL_EXPORT instead of extern, in order to export/import DLL symbols
    on w32 correctly.  Fixes #8810

diff --git a/configure.ac b/configure.ac
index 0ddf776..e93ead5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -215,6 +215,7 @@ AC_SUBST(_3DNOW_CFLAGS)
 AC_SUBST(_3DNOWEXT_CFLAGS)
 AC_SUBST(ALTIVEC_CFLAGS)
 
+AC_DEFINE(OIL_EXPORTS, 1, [Defined for compiling internal code])
 
 LIBOIL_CFLAGS="$LIBOIL_CFLAGS -D_BSD_SOURCE -D_GNU_SOURCE -I\$(top_srcdir) -DOIL_ENABLE_UNSTABLE_API"
 AC_SUBST(LIBOIL_CFLAGS)
diff --git a/liboil/build_prototypes.c b/liboil/build_prototypes.c
index 62b0827..f453d0f 100644
--- a/liboil/build_prototypes.c
+++ b/liboil/build_prototypes.c
@@ -67,7 +67,7 @@ int main (int argc, char *argv[])
           string = xstrdup("void");
         }
 
-        printf ("extern OilFunctionClass *oil_function_class_ptr_%s;\n",
+        printf ("OIL_EXPORT OilFunctionClass *oil_function_class_ptr_%s;\n",
             klass->name);
         printf ("typedef void (*_oil_type_%s)(%s);\n",klass->name,string);
         printf ("#define oil_%s ((_oil_type_%s)(*(void **)oil_function_class_ptr_%s))\n",
diff --git a/liboil/liboilcpu.h b/liboil/liboilcpu.h
index 7d2908f..3498ae6 100644
--- a/liboil/liboilcpu.h
+++ b/liboil/liboilcpu.h
@@ -42,8 +42,8 @@ double oil_cpu_get_ticks_per_second (void);
 
 double oil_cpu_get_frequency (void);
 
-extern unsigned long oil_cpu_flags;
-extern unsigned long (*_oil_profile_stamp)(void);
+OIL_EXPORT unsigned long oil_cpu_flags;
+OIL_EXPORT unsigned long (*_oil_profile_stamp)(void);
 
 #endif
 
diff --git a/liboil/liboilfuncs.h b/liboil/liboilfuncs.h
index fd0e76d..6dba267 100644
--- a/liboil/liboilfuncs.h
+++ b/liboil/liboilfuncs.h
@@ -36,1246 +36,1246 @@
 extern "C" {
 #endif
 
-extern OilFunctionClass *oil_function_class_ptr_abs_f32_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_abs_f32_f32;
 typedef void (*_oil_type_abs_f32_f32)(float * dest, int dstr, const float * src, int sstr, int n);
 #define oil_abs_f32_f32 ((_oil_type_abs_f32_f32)(*(void **)oil_function_class_ptr_abs_f32_f32))
-extern OilFunctionClass *oil_function_class_ptr_abs_f64_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_abs_f64_f64;
 typedef void (*_oil_type_abs_f64_f64)(double * dest, int dstr, const double * src, int sstr, int n);
 #define oil_abs_f64_f64 ((_oil_type_abs_f64_f64)(*(void **)oil_function_class_ptr_abs_f64_f64))
-extern OilFunctionClass *oil_function_class_ptr_abs_u16_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_abs_u16_s16;
 typedef void (*_oil_type_abs_u16_s16)(uint16_t * dest, int dstr, const int16_t * src, int sstr, int n);
 #define oil_abs_u16_s16 ((_oil_type_abs_u16_s16)(*(void **)oil_function_class_ptr_abs_u16_s16))
-extern OilFunctionClass *oil_function_class_ptr_abs_u32_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_abs_u32_s32;
 typedef void (*_oil_type_abs_u32_s32)(uint32_t * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_abs_u32_s32 ((_oil_type_abs_u32_s32)(*(void **)oil_function_class_ptr_abs_u32_s32))
-extern OilFunctionClass *oil_function_class_ptr_abs_u8_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_abs_u8_s8;
 typedef void (*_oil_type_abs_u8_s8)(uint8_t * dest, int dstr, const int8_t * src, int sstr, int n);
 #define oil_abs_u8_s8 ((_oil_type_abs_u8_s8)(*(void **)oil_function_class_ptr_abs_u8_s8))
-extern OilFunctionClass *oil_function_class_ptr_add2_rshift_add_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_add2_rshift_add_s16;
 typedef void (*_oil_type_add2_rshift_add_s16)(int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_2, int n);
 #define oil_add2_rshift_add_s16 ((_oil_type_add2_rshift_add_s16)(*(void **)oil_function_class_ptr_add2_rshift_add_s16))
-extern OilFunctionClass *oil_function_class_ptr_add2_rshift_sub_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_add2_rshift_sub_s16;
 typedef void (*_oil_type_add2_rshift_sub_s16)(int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_2, int n);
 #define oil_add2_rshift_sub_s16 ((_oil_type_add2_rshift_sub_s16)(*(void **)oil_function_class_ptr_add2_rshift_sub_s16))
-extern OilFunctionClass *oil_function_class_ptr_add_const_rshift_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_add_const_rshift_s16;
 typedef void (*_oil_type_add_const_rshift_s16)(int16_t * d1, const int16_t * s1, const int16_t * s2_2, int n);
 #define oil_add_const_rshift_s16 ((_oil_type_add_const_rshift_s16)(*(void **)oil_function_class_ptr_add_const_rshift_s16))
-extern OilFunctionClass *oil_function_class_ptr_add_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_add_f32;
 typedef void (*_oil_type_add_f32)(float * d, const float * s1, const float * s2, int n);
 #define oil_add_f32 ((_oil_type_add_f32)(*(void **)oil_function_class_ptr_add_f32))
-extern OilFunctionClass *oil_function_class_ptr_add_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_add_f64;
 typedef void (*_oil_type_add_f64)(double * d, const double * s1, const double * s2, int n);
 #define oil_add_f64 ((_oil_type_add_f64)(*(void **)oil_function_class_ptr_add_f64))
-extern OilFunctionClass *oil_function_class_ptr_add_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_add_s16;
 typedef void (*_oil_type_add_s16)(int16_t * d, const int16_t * src1, const int16_t * src2, int n);
 #define oil_add_s16 ((_oil_type_add_s16)(*(void **)oil_function_class_ptr_add_s16))
-extern OilFunctionClass *oil_function_class_ptr_add_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_add_s16_u8;
 typedef void (*_oil_type_add_s16_u8)(int16_t * d, const int16_t * src1, const uint8_t * src2, int n);
 #define oil_add_s16_u8 ((_oil_type_add_s16_u8)(*(void **)oil_function_class_ptr_add_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_addc_rshift_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_addc_rshift_s16;
 typedef void (*_oil_type_addc_rshift_s16)(int16_t * d1, const int16_t * s1, const int16_t * s2_2, int n);
 #define oil_addc_rshift_s16 ((_oil_type_addc_rshift_s16)(*(void **)oil_function_class_ptr_addc_rshift_s16))
-extern OilFunctionClass *oil_function_class_ptr_addc_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_addc_s16;
 typedef void (*_oil_type_addc_s16)(int16_t * d1, const int16_t * s1, const int16_t * s2_1, int n);
 #define oil_addc_s16 ((_oil_type_addc_s16)(*(void **)oil_function_class_ptr_addc_s16))
-extern OilFunctionClass *oil_function_class_ptr_argb_paint_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_argb_paint_u8;
 typedef void (*_oil_type_argb_paint_u8)(uint8_t * i_4xn, const uint8_t * s1_4, const uint8_t * s2_n, int n);
 #define oil_argb_paint_u8 ((_oil_type_argb_paint_u8)(*(void **)oil_function_class_ptr_argb_paint_u8))
-extern OilFunctionClass *oil_function_class_ptr_average2_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_average2_u8;
 typedef void (*_oil_type_average2_u8)(uint8_t * d, int dstr, const uint8_t * s1, int sstr1, const uint8_t * s2, int sstr2, int n);
 #define oil_average2_u8 ((_oil_type_average2_u8)(*(void **)oil_function_class_ptr_average2_u8))
-extern OilFunctionClass *oil_function_class_ptr_avg2_12xn_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_avg2_12xn_u8;
 typedef void (*_oil_type_avg2_12xn_u8)(uint8_t * d_12xn, int ds1, const uint8_t * s1_12xn, int ss1, const uint8_t * s2_12xn, int ss2, int n);
 #define oil_avg2_12xn_u8 ((_oil_type_avg2_12xn_u8)(*(void **)oil_function_class_ptr_avg2_12xn_u8))
-extern OilFunctionClass *oil_function_class_ptr_avg2_16xn_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_avg2_16xn_u8;
 typedef void (*_oil_type_avg2_16xn_u8)(uint8_t * d_16xn, int ds1, const uint8_t * s1_16xn, int ss1, const uint8_t * s2_16xn, int ss2, int n);
 #define oil_avg2_16xn_u8 ((_oil_type_avg2_16xn_u8)(*(void **)oil_function_class_ptr_avg2_16xn_u8))
-extern OilFunctionClass *oil_function_class_ptr_avg2_8xn_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_avg2_8xn_u8;
 typedef void (*_oil_type_avg2_8xn_u8)(uint8_t * d_8xn, int ds1, const uint8_t * s1_8xn, int ss1, const uint8_t * s2_8xn, int ss2, int n);
 #define oil_avg2_8xn_u8 ((_oil_type_avg2_8xn_u8)(*(void **)oil_function_class_ptr_avg2_8xn_u8))
-extern OilFunctionClass *oil_function_class_ptr_ayuv2argb_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_ayuv2argb_u8;
 typedef void (*_oil_type_ayuv2argb_u8)(uint8_t * d_4xn, const uint8_t * s_4xn, int n);
 #define oil_ayuv2argb_u8 ((_oil_type_ayuv2argb_u8)(*(void **)oil_function_class_ptr_ayuv2argb_u8))
-extern OilFunctionClass *oil_function_class_ptr_ayuv2uyvy;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_ayuv2uyvy;
 typedef void (*_oil_type_ayuv2uyvy)(uint32_t * d_n, const uint32_t * s_n, int n);
 #define oil_ayuv2uyvy ((_oil_type_ayuv2uyvy)(*(void **)oil_function_class_ptr_ayuv2uyvy))
-extern OilFunctionClass *oil_function_class_ptr_ayuv2yuyv;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_ayuv2yuyv;
 typedef void (*_oil_type_ayuv2yuyv)(uint32_t * d_n, const uint32_t * s_n, int n);
 #define oil_ayuv2yuyv ((_oil_type_ayuv2yuyv)(*(void **)oil_function_class_ptr_ayuv2yuyv))
-extern OilFunctionClass *oil_function_class_ptr_ayuv2yvyu;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_ayuv2yvyu;
 typedef void (*_oil_type_ayuv2yvyu)(uint32_t * d_n, const uint32_t * s_n, int n);
 #define oil_ayuv2yvyu ((_oil_type_ayuv2yvyu)(*(void **)oil_function_class_ptr_ayuv2yvyu))
-extern OilFunctionClass *oil_function_class_ptr_clamp_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamp_f32;
 typedef void (*_oil_type_clamp_f32)(float * dest, const float * src, int n, const float * s2_1, const float * s3_1);
 #define oil_clamp_f32 ((_oil_type_clamp_f32)(*(void **)oil_function_class_ptr_clamp_f32))
-extern OilFunctionClass *oil_function_class_ptr_clamp_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamp_f64;
 typedef void (*_oil_type_clamp_f64)(double * dest, const double * src, int n, const double * s2_1, const double * s3_1);
 #define oil_clamp_f64 ((_oil_type_clamp_f64)(*(void **)oil_function_class_ptr_clamp_f64))
-extern OilFunctionClass *oil_function_class_ptr_clamp_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamp_s16;
 typedef void (*_oil_type_clamp_s16)(int16_t * dest, const int16_t * src, int n, const int16_t * s2_1, const int16_t * s3_1);
 #define oil_clamp_s16 ((_oil_type_clamp_s16)(*(void **)oil_function_class_ptr_clamp_s16))
-extern OilFunctionClass *oil_function_class_ptr_clamp_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamp_s32;
 typedef void (*_oil_type_clamp_s32)(int32_t * dest, const int32_t * src, int n, const int32_t * s2_1, const int32_t * s3_1);
 #define oil_clamp_s32 ((_oil_type_clamp_s32)(*(void **)oil_function_class_ptr_clamp_s32))
-extern OilFunctionClass *oil_function_class_ptr_clamp_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamp_s8;
 typedef void (*_oil_type_clamp_s8)(int8_t * dest, const int8_t * src, int n, const int8_t * s2_1, const int8_t * s3_1);
 #define oil_clamp_s8 ((_oil_type_clamp_s8)(*(void **)oil_function_class_ptr_clamp_s8))
-extern OilFunctionClass *oil_function_class_ptr_clamp_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamp_u16;
 typedef void (*_oil_type_clamp_u16)(uint16_t * dest, const uint16_t * src, int n, const uint16_t * s2_1, const uint16_t * s3_1);
 #define oil_clamp_u16 ((_oil_type_clamp_u16)(*(void **)oil_function_class_ptr_clamp_u16))
-extern OilFunctionClass *oil_function_class_ptr_clamp_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamp_u32;
 typedef void (*_oil_type_clamp_u32)(uint32_t * dest, const uint32_t * src, int n, const uint32_t * s2_1, const uint32_t * s3_1);
 #define oil_clamp_u32 ((_oil_type_clamp_u32)(*(void **)oil_function_class_ptr_clamp_u32))
-extern OilFunctionClass *oil_function_class_ptr_clamp_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamp_u8;
 typedef void (*_oil_type_clamp_u8)(uint8_t * dest, const uint8_t * src, int n, const uint8_t * s2_1, const uint8_t * s3_1);
 #define oil_clamp_u8 ((_oil_type_clamp_u8)(*(void **)oil_function_class_ptr_clamp_u8))
-extern OilFunctionClass *oil_function_class_ptr_clamphigh_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamphigh_f32;
 typedef void (*_oil_type_clamphigh_f32)(float * dest, const float * src, int n, const float * s2_1);
 #define oil_clamphigh_f32 ((_oil_type_clamphigh_f32)(*(void **)oil_function_class_ptr_clamphigh_f32))
-extern OilFunctionClass *oil_function_class_ptr_clamphigh_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamphigh_f64;
 typedef void (*_oil_type_clamphigh_f64)(double * dest, const double * src, int n, const double * s2_1);
 #define oil_clamphigh_f64 ((_oil_type_clamphigh_f64)(*(void **)oil_function_class_ptr_clamphigh_f64))
-extern OilFunctionClass *oil_function_class_ptr_clamphigh_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamphigh_s16;
 typedef void (*_oil_type_clamphigh_s16)(int16_t * dest, const int16_t * src, int n, const int16_t * s2_1);
 #define oil_clamphigh_s16 ((_oil_type_clamphigh_s16)(*(void **)oil_function_class_ptr_clamphigh_s16))
-extern OilFunctionClass *oil_function_class_ptr_clamphigh_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamphigh_s32;
 typedef void (*_oil_type_clamphigh_s32)(int32_t * dest, const int32_t * src, int n, const int32_t * s2_1);
 #define oil_clamphigh_s32 ((_oil_type_clamphigh_s32)(*(void **)oil_function_class_ptr_clamphigh_s32))
-extern OilFunctionClass *oil_function_class_ptr_clamphigh_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamphigh_s8;
 typedef void (*_oil_type_clamphigh_s8)(int8_t * dest, const int8_t * src, int n, const int8_t * s2_1);
 #define oil_clamphigh_s8 ((_oil_type_clamphigh_s8)(*(void **)oil_function_class_ptr_clamphigh_s8))
-extern OilFunctionClass *oil_function_class_ptr_clamphigh_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamphigh_u16;
 typedef void (*_oil_type_clamphigh_u16)(uint16_t * dest, const uint16_t * src, int n, const uint16_t * s2_1);
 #define oil_clamphigh_u16 ((_oil_type_clamphigh_u16)(*(void **)oil_function_class_ptr_clamphigh_u16))
-extern OilFunctionClass *oil_function_class_ptr_clamphigh_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamphigh_u32;
 typedef void (*_oil_type_clamphigh_u32)(uint32_t * dest, const uint32_t * src, int n, const uint32_t * s2_1);
 #define oil_clamphigh_u32 ((_oil_type_clamphigh_u32)(*(void **)oil_function_class_ptr_clamphigh_u32))
-extern OilFunctionClass *oil_function_class_ptr_clamphigh_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamphigh_u8;
 typedef void (*_oil_type_clamphigh_u8)(uint8_t * dest, const uint8_t * src, int n, const uint8_t * s2_1);
 #define oil_clamphigh_u8 ((_oil_type_clamphigh_u8)(*(void **)oil_function_class_ptr_clamphigh_u8))
-extern OilFunctionClass *oil_function_class_ptr_clamplow_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamplow_f32;
 typedef void (*_oil_type_clamplow_f32)(float * dest, const float * src, int n, const float * s2_1);
 #define oil_clamplow_f32 ((_oil_type_clamplow_f32)(*(void **)oil_function_class_ptr_clamplow_f32))
-extern OilFunctionClass *oil_function_class_ptr_clamplow_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamplow_f64;
 typedef void (*_oil_type_clamplow_f64)(double * dest, const double * src, int n, const double * s2_1);
 #define oil_clamplow_f64 ((_oil_type_clamplow_f64)(*(void **)oil_function_class_ptr_clamplow_f64))
-extern OilFunctionClass *oil_function_class_ptr_clamplow_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamplow_s16;
 typedef void (*_oil_type_clamplow_s16)(int16_t * dest, const int16_t * src, int n, const int16_t * s2_1);
 #define oil_clamplow_s16 ((_oil_type_clamplow_s16)(*(void **)oil_function_class_ptr_clamplow_s16))
-extern OilFunctionClass *oil_function_class_ptr_clamplow_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamplow_s32;
 typedef void (*_oil_type_clamplow_s32)(int32_t * dest, const int32_t * src, int n, const int32_t * s2_1);
 #define oil_clamplow_s32 ((_oil_type_clamplow_s32)(*(void **)oil_function_class_ptr_clamplow_s32))
-extern OilFunctionClass *oil_function_class_ptr_clamplow_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamplow_s8;
 typedef void (*_oil_type_clamplow_s8)(int8_t * dest, const int8_t * src, int n, const int8_t * s2_1);
 #define oil_clamplow_s8 ((_oil_type_clamplow_s8)(*(void **)oil_function_class_ptr_clamplow_s8))
-extern OilFunctionClass *oil_function_class_ptr_clamplow_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamplow_u16;
 typedef void (*_oil_type_clamplow_u16)(uint16_t * dest, const uint16_t * src, int n, const uint16_t * s2_1);
 #define oil_clamplow_u16 ((_oil_type_clamplow_u16)(*(void **)oil_function_class_ptr_clamplow_u16))
-extern OilFunctionClass *oil_function_class_ptr_clamplow_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamplow_u32;
 typedef void (*_oil_type_clamplow_u32)(uint32_t * dest, const uint32_t * src, int n, const uint32_t * s2_1);
 #define oil_clamplow_u32 ((_oil_type_clamplow_u32)(*(void **)oil_function_class_ptr_clamplow_u32))
-extern OilFunctionClass *oil_function_class_ptr_clamplow_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clamplow_u8;
 typedef void (*_oil_type_clamplow_u8)(uint8_t * dest, const uint8_t * src, int n, const uint8_t * s2_1);
 #define oil_clamplow_u8 ((_oil_type_clamplow_u8)(*(void **)oil_function_class_ptr_clamplow_u8))
-extern OilFunctionClass *oil_function_class_ptr_clip_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clip_f32;
 typedef void (*_oil_type_clip_f32)(float * dest, int dstr, const float * src, int sstr, int n, const float * s2_1, const float * s3_1);
 #define oil_clip_f32 ((_oil_type_clip_f32)(*(void **)oil_function_class_ptr_clip_f32))
-extern OilFunctionClass *oil_function_class_ptr_clip_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clip_f64;
 typedef void (*_oil_type_clip_f64)(double * dest, int dstr, const double * src, int sstr, int n, const double * s2_1, const double * s3_1);
 #define oil_clip_f64 ((_oil_type_clip_f64)(*(void **)oil_function_class_ptr_clip_f64))
-extern OilFunctionClass *oil_function_class_ptr_clip_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clip_s16;
 typedef void (*_oil_type_clip_s16)(int16_t * dest, int dstr, const int16_t * src, int sstr, int n, const int16_t * s2_1, const int16_t * s3_1);
 #define oil_clip_s16 ((_oil_type_clip_s16)(*(void **)oil_function_class_ptr_clip_s16))
-extern OilFunctionClass *oil_function_class_ptr_clip_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clip_s32;
 typedef void (*_oil_type_clip_s32)(int32_t * dest, int dstr, const int32_t * src, int sstr, int n, const int32_t * s2_1, const int32_t * s3_1);
 #define oil_clip_s32 ((_oil_type_clip_s32)(*(void **)oil_function_class_ptr_clip_s32))
-extern OilFunctionClass *oil_function_class_ptr_clip_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clip_s8;
 typedef void (*_oil_type_clip_s8)(int8_t * dest, int dstr, const int8_t * src, int sstr, int n, const int8_t * s2_1, const int8_t * s3_1);
 #define oil_clip_s8 ((_oil_type_clip_s8)(*(void **)oil_function_class_ptr_clip_s8))
-extern OilFunctionClass *oil_function_class_ptr_clip_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clip_u16;
 typedef void (*_oil_type_clip_u16)(uint16_t * dest, int dstr, const uint16_t * src, int sstr, int n, const uint16_t * s2_1, const uint16_t * s3_1);
 #define oil_clip_u16 ((_oil_type_clip_u16)(*(void **)oil_function_class_ptr_clip_u16))
-extern OilFunctionClass *oil_function_class_ptr_clip_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clip_u32;
 typedef void (*_oil_type_clip_u32)(uint32_t * dest, int dstr, const uint32_t * src, int sstr, int n, const uint32_t * s2_1, const uint32_t * s3_1);
 #define oil_clip_u32 ((_oil_type_clip_u32)(*(void **)oil_function_class_ptr_clip_u32))
-extern OilFunctionClass *oil_function_class_ptr_clip_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clip_u8;
 typedef void (*_oil_type_clip_u8)(uint8_t * dest, int dstr, const uint8_t * src, int sstr, int n, const uint8_t * s2_1, const uint8_t * s3_1);
 #define oil_clip_u8 ((_oil_type_clip_u8)(*(void **)oil_function_class_ptr_clip_u8))
-extern OilFunctionClass *oil_function_class_ptr_clipconv8x8_u8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv8x8_u8_s16;
 typedef void (*_oil_type_clipconv8x8_u8_s16)(uint8_t * d_8x8, int dstr, const int16_t * s_8x8, int sstr);
 #define oil_clipconv8x8_u8_s16 ((_oil_type_clipconv8x8_u8_s16)(*(void **)oil_function_class_ptr_clipconv8x8_u8_s16))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s16_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s16_f32;
 typedef void (*_oil_type_clipconv_s16_f32)(int16_t * dest, int dstr, const float * src, int sstr, int n);
 #define oil_clipconv_s16_f32 ((_oil_type_clipconv_s16_f32)(*(void **)oil_function_class_ptr_clipconv_s16_f32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s16_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s16_f64;
 typedef void (*_oil_type_clipconv_s16_f64)(int16_t * dest, int dstr, const double * src, int sstr, int n);
 #define oil_clipconv_s16_f64 ((_oil_type_clipconv_s16_f64)(*(void **)oil_function_class_ptr_clipconv_s16_f64))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s16_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s16_s32;
 typedef void (*_oil_type_clipconv_s16_s32)(int16_t * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_clipconv_s16_s32 ((_oil_type_clipconv_s16_s32)(*(void **)oil_function_class_ptr_clipconv_s16_s32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s16_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s16_u16;
 typedef void (*_oil_type_clipconv_s16_u16)(int16_t * dest, int dstr, const uint16_t * src, int sstr, int n);
 #define oil_clipconv_s16_u16 ((_oil_type_clipconv_s16_u16)(*(void **)oil_function_class_ptr_clipconv_s16_u16))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s16_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s16_u32;
 typedef void (*_oil_type_clipconv_s16_u32)(int16_t * dest, int dstr, const uint32_t * src, int sstr, int n);
 #define oil_clipconv_s16_u32 ((_oil_type_clipconv_s16_u32)(*(void **)oil_function_class_ptr_clipconv_s16_u32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s32_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s32_f32;
 typedef void (*_oil_type_clipconv_s32_f32)(int32_t * dest, int dstr, const float * src, int sstr, int n);
 #define oil_clipconv_s32_f32 ((_oil_type_clipconv_s32_f32)(*(void **)oil_function_class_ptr_clipconv_s32_f32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s32_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s32_f64;
 typedef void (*_oil_type_clipconv_s32_f64)(int32_t * dest, int dstr, const double * src, int sstr, int n);
 #define oil_clipconv_s32_f64 ((_oil_type_clipconv_s32_f64)(*(void **)oil_function_class_ptr_clipconv_s32_f64))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s32_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s32_u32;
 typedef void (*_oil_type_clipconv_s32_u32)(int32_t * dest, int dstr, const uint32_t * src, int sstr, int n);
 #define oil_clipconv_s32_u32 ((_oil_type_clipconv_s32_u32)(*(void **)oil_function_class_ptr_clipconv_s32_u32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s8_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s8_f32;
 typedef void (*_oil_type_clipconv_s8_f32)(int8_t * dest, int dstr, const float * src, int sstr, int n);
 #define oil_clipconv_s8_f32 ((_oil_type_clipconv_s8_f32)(*(void **)oil_function_class_ptr_clipconv_s8_f32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s8_f64;
 typedef void (*_oil_type_clipconv_s8_f64)(int8_t * dest, int dstr, const double * src, int sstr, int n);
 #define oil_clipconv_s8_f64 ((_oil_type_clipconv_s8_f64)(*(void **)oil_function_class_ptr_clipconv_s8_f64))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s8_s16;
 typedef void (*_oil_type_clipconv_s8_s16)(int8_t * dest, int dstr, const int16_t * src, int sstr, int n);
 #define oil_clipconv_s8_s16 ((_oil_type_clipconv_s8_s16)(*(void **)oil_function_class_ptr_clipconv_s8_s16))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s8_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s8_s32;
 typedef void (*_oil_type_clipconv_s8_s32)(int8_t * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_clipconv_s8_s32 ((_oil_type_clipconv_s8_s32)(*(void **)oil_function_class_ptr_clipconv_s8_s32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s8_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s8_u16;
 typedef void (*_oil_type_clipconv_s8_u16)(int8_t * dest, int dstr, const uint16_t * src, int sstr, int n);
 #define oil_clipconv_s8_u16 ((_oil_type_clipconv_s8_u16)(*(void **)oil_function_class_ptr_clipconv_s8_u16))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s8_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s8_u32;
 typedef void (*_oil_type_clipconv_s8_u32)(int8_t * dest, int dstr, const uint32_t * src, int sstr, int n);
 #define oil_clipconv_s8_u32 ((_oil_type_clipconv_s8_u32)(*(void **)oil_function_class_ptr_clipconv_s8_u32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_s8_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_s8_u8;
 typedef void (*_oil_type_clipconv_s8_u8)(int8_t * dest, int dstr, const uint8_t * src, int sstr, int n);
 #define oil_clipconv_s8_u8 ((_oil_type_clipconv_s8_u8)(*(void **)oil_function_class_ptr_clipconv_s8_u8))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u16_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u16_f32;
 typedef void (*_oil_type_clipconv_u16_f32)(uint16_t * dest, int dstr, const float * src, int sstr, int n);
 #define oil_clipconv_u16_f32 ((_oil_type_clipconv_u16_f32)(*(void **)oil_function_class_ptr_clipconv_u16_f32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u16_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u16_f64;
 typedef void (*_oil_type_clipconv_u16_f64)(uint16_t * dest, int dstr, const double * src, int sstr, int n);
 #define oil_clipconv_u16_f64 ((_oil_type_clipconv_u16_f64)(*(void **)oil_function_class_ptr_clipconv_u16_f64))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u16_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u16_s16;
 typedef void (*_oil_type_clipconv_u16_s16)(uint16_t * dest, int dstr, const int16_t * src, int sstr, int n);
 #define oil_clipconv_u16_s16 ((_oil_type_clipconv_u16_s16)(*(void **)oil_function_class_ptr_clipconv_u16_s16))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u16_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u16_s32;
 typedef void (*_oil_type_clipconv_u16_s32)(uint16_t * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_clipconv_u16_s32 ((_oil_type_clipconv_u16_s32)(*(void **)oil_function_class_ptr_clipconv_u16_s32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u16_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u16_u32;
 typedef void (*_oil_type_clipconv_u16_u32)(uint16_t * dest, int dstr, const uint32_t * src, int sstr, int n);
 #define oil_clipconv_u16_u32 ((_oil_type_clipconv_u16_u32)(*(void **)oil_function_class_ptr_clipconv_u16_u32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u32_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u32_f32;
 typedef void (*_oil_type_clipconv_u32_f32)(uint32_t * dest, int dstr, const float * src, int sstr, int n);
 #define oil_clipconv_u32_f32 ((_oil_type_clipconv_u32_f32)(*(void **)oil_function_class_ptr_clipconv_u32_f32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u32_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u32_f64;
 typedef void (*_oil_type_clipconv_u32_f64)(uint32_t * dest, int dstr, const double * src, int sstr, int n);
 #define oil_clipconv_u32_f64 ((_oil_type_clipconv_u32_f64)(*(void **)oil_function_class_ptr_clipconv_u32_f64))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u32_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u32_s32;
 typedef void (*_oil_type_clipconv_u32_s32)(uint32_t * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_clipconv_u32_s32 ((_oil_type_clipconv_u32_s32)(*(void **)oil_function_class_ptr_clipconv_u32_s32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u8_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u8_f32;
 typedef void (*_oil_type_clipconv_u8_f32)(uint8_t * dest, int dstr, const float * src, int sstr, int n);
 #define oil_clipconv_u8_f32 ((_oil_type_clipconv_u8_f32)(*(void **)oil_function_class_ptr_clipconv_u8_f32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u8_f64;
 typedef void (*_oil_type_clipconv_u8_f64)(uint8_t * dest, int dstr, const double * src, int sstr, int n);
 #define oil_clipconv_u8_f64 ((_oil_type_clipconv_u8_f64)(*(void **)oil_function_class_ptr_clipconv_u8_f64))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u8_s16;
 typedef void (*_oil_type_clipconv_u8_s16)(uint8_t * dest, int dstr, const int16_t * src, int sstr, int n);
 #define oil_clipconv_u8_s16 ((_oil_type_clipconv_u8_s16)(*(void **)oil_function_class_ptr_clipconv_u8_s16))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u8_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u8_s32;
 typedef void (*_oil_type_clipconv_u8_s32)(uint8_t * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_clipconv_u8_s32 ((_oil_type_clipconv_u8_s32)(*(void **)oil_function_class_ptr_clipconv_u8_s32))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u8_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u8_s8;
 typedef void (*_oil_type_clipconv_u8_s8)(uint8_t * dest, int dstr, const int8_t * src, int sstr, int n);
 #define oil_clipconv_u8_s8 ((_oil_type_clipconv_u8_s8)(*(void **)oil_function_class_ptr_clipconv_u8_s8))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u8_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u8_u16;
 typedef void (*_oil_type_clipconv_u8_u16)(uint8_t * dest, int dstr, const uint16_t * src, int sstr, int n);
 #define oil_clipconv_u8_u16 ((_oil_type_clipconv_u8_u16)(*(void **)oil_function_class_ptr_clipconv_u8_u16))
-extern OilFunctionClass *oil_function_class_ptr_clipconv_u8_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_clipconv_u8_u32;
 typedef void (*_oil_type_clipconv_u8_u32)(uint8_t * dest, int dstr, const uint32_t * src, int sstr, int n);
 #define oil_clipconv_u8_u32 ((_oil_type_clipconv_u8_u32)(*(void **)oil_function_class_ptr_clipconv_u8_u32))
-extern OilFunctionClass *oil_function_class_ptr_colorspace_argb;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_colorspace_argb;
 typedef void (*_oil_type_colorspace_argb)(uint32_t * d, const uint32_t * s, const int16_t * s2_24, int n);
 #define oil_colorspace_argb ((_oil_type_colorspace_argb)(*(void **)oil_function_class_ptr_colorspace_argb))
-extern OilFunctionClass *oil_function_class_ptr_colsad8x8_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_colsad8x8_u8;
 typedef void (*_oil_type_colsad8x8_u8)(uint32_t * d_1, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, int ss2);
 #define oil_colsad8x8_u8 ((_oil_type_colsad8x8_u8)(*(void **)oil_function_class_ptr_colsad8x8_u8))
-extern OilFunctionClass *oil_function_class_ptr_combine2_12xn_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_combine2_12xn_u8;
 typedef void (*_oil_type_combine2_12xn_u8)(uint8_t * d_12xn, int ds1, const uint8_t * s1_12xn, int ss1, const uint8_t * s2_12xn, int ss2, const int16_t * s3_4, int n);
 #define oil_combine2_12xn_u8 ((_oil_type_combine2_12xn_u8)(*(void **)oil_function_class_ptr_combine2_12xn_u8))
-extern OilFunctionClass *oil_function_class_ptr_combine2_16xn_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_combine2_16xn_u8;
 typedef void (*_oil_type_combine2_16xn_u8)(uint8_t * d_16xn, int ds1, const uint8_t * s1_16xn, int ss1, const uint8_t * s2_16xn, int ss2, const int16_t * s3_4, int n);
 #define oil_combine2_16xn_u8 ((_oil_type_combine2_16xn_u8)(*(void **)oil_function_class_ptr_combine2_16xn_u8))
-extern OilFunctionClass *oil_function_class_ptr_combine2_8xn_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_combine2_8xn_u8;
 typedef void (*_oil_type_combine2_8xn_u8)(uint8_t * d_8xn, int ds1, const uint8_t * s1_8xn, int ss1, const uint8_t * s2_8xn, int ss2, const int16_t * s3_4, int n);
 #define oil_combine2_8xn_u8 ((_oil_type_combine2_8xn_u8)(*(void **)oil_function_class_ptr_combine2_8xn_u8))
-extern OilFunctionClass *oil_function_class_ptr_combine4_12xn_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_combine4_12xn_u8;
 typedef void (*_oil_type_combine4_12xn_u8)(uint8_t * d_12xn, int ds1, const uint8_t * s1_12xn, int ss1, const uint8_t * s2_12xn, int ss2, const uint8_t * s3_12xn, int ss3, const uint8_t * s4_12xn, int ss4, const int16_t * s5_6, int n);
 #define oil_combine4_12xn_u8 ((_oil_type_combine4_12xn_u8)(*(void **)oil_function_class_ptr_combine4_12xn_u8))
-extern OilFunctionClass *oil_function_class_ptr_combine4_16xn_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_combine4_16xn_u8;
 typedef void (*_oil_type_combine4_16xn_u8)(uint8_t * d_16xn, int ds1, const uint8_t * s1_16xn, int ss1, const uint8_t * s2_16xn, int ss2, const uint8_t * s3_16xn, int ss3, const uint8_t * s4_16xn, int ss4, const int16_t * s5_6, int n);
 #define oil_combine4_16xn_u8 ((_oil_type_combine4_16xn_u8)(*(void **)oil_function_class_ptr_combine4_16xn_u8))
-extern OilFunctionClass *oil_function_class_ptr_combine4_8xn_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_combine4_8xn_u8;
 typedef void (*_oil_type_combine4_8xn_u8)(uint8_t * d_8xn, int ds1, const uint8_t * s1_8xn, int ss1, const uint8_t * s2_8xn, int ss2, const uint8_t * s3_8xn, int ss3, const uint8_t * s4_8xn, int ss4, const int16_t * s5_6, int n);
 #define oil_combine4_8xn_u8 ((_oil_type_combine4_8xn_u8)(*(void **)oil_function_class_ptr_combine4_8xn_u8))
-extern OilFunctionClass *oil_function_class_ptr_compare_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_compare_u8;
 typedef void (*_oil_type_compare_u8)(uint32_t * d_1, const uint8_t * s1, const uint8_t * s2, int n);
 #define oil_compare_u8 ((_oil_type_compare_u8)(*(void **)oil_function_class_ptr_compare_u8))
-extern OilFunctionClass *oil_function_class_ptr_composite_add_argb;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_add_argb;
 typedef void (*_oil_type_composite_add_argb)(uint32_t * i_n, const uint32_t * s1_n, int n);
 #define oil_composite_add_argb ((_oil_type_composite_add_argb)(*(void **)oil_function_class_ptr_composite_add_argb))
-extern OilFunctionClass *oil_function_class_ptr_composite_add_argb_const_src;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_add_argb_const_src;
 typedef void (*_oil_type_composite_add_argb_const_src)(uint32_t * i_n, const uint32_t * s1_1, int n);
 #define oil_composite_add_argb_const_src ((_oil_type_composite_add_argb_const_src)(*(void **)oil_function_class_ptr_composite_add_argb_const_src))
-extern OilFunctionClass *oil_function_class_ptr_composite_add_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_add_u8;
 typedef void (*_oil_type_composite_add_u8)(uint8_t * i_n, const uint8_t * s1_n, int n);
 #define oil_composite_add_u8 ((_oil_type_composite_add_u8)(*(void **)oil_function_class_ptr_composite_add_u8))
-extern OilFunctionClass *oil_function_class_ptr_composite_add_u8_const_src;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_add_u8_const_src;
 typedef void (*_oil_type_composite_add_u8_const_src)(uint8_t * i_n, const uint8_t * s1_1, int n);
 #define oil_composite_add_u8_const_src ((_oil_type_composite_add_u8_const_src)(*(void **)oil_function_class_ptr_composite_add_u8_const_src))
-extern OilFunctionClass *oil_function_class_ptr_composite_in_argb;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_in_argb;
 typedef void (*_oil_type_composite_in_argb)(uint32_t * d_n, const uint32_t * s1_n, const uint8_t * s2_n, int n);
 #define oil_composite_in_argb ((_oil_type_composite_in_argb)(*(void **)oil_function_class_ptr_composite_in_argb))
-extern OilFunctionClass *oil_function_class_ptr_composite_in_argb_const_mask;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_in_argb_const_mask;
 typedef void (*_oil_type_composite_in_argb_const_mask)(uint32_t * d_n, const uint32_t * s1_n, const uint8_t * s2_1, int n);
 #define oil_composite_in_argb_const_mask ((_oil_type_composite_in_argb_const_mask)(*(void **)oil_function_class_ptr_composite_in_argb_const_mask))
-extern OilFunctionClass *oil_function_class_ptr_composite_in_argb_const_src;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_in_argb_const_src;
 typedef void (*_oil_type_composite_in_argb_const_src)(uint32_t * d_n, const uint32_t * s1_1, const uint8_t * s2_n, int n);
 #define oil_composite_in_argb_const_src ((_oil_type_composite_in_argb_const_src)(*(void **)oil_function_class_ptr_composite_in_argb_const_src))
-extern OilFunctionClass *oil_function_class_ptr_composite_in_over_argb;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_in_over_argb;
 typedef void (*_oil_type_composite_in_over_argb)(uint32_t * i_n, const uint32_t * s1_n, const uint8_t * s2_n, int n);
 #define oil_composite_in_over_argb ((_oil_type_composite_in_over_argb)(*(void **)oil_function_class_ptr_composite_in_over_argb))
-extern OilFunctionClass *oil_function_class_ptr_composite_in_over_argb_const_mask;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_in_over_argb_const_mask;
 typedef void (*_oil_type_composite_in_over_argb_const_mask)(uint32_t * i_n, const uint32_t * s1_n, const uint8_t * s2_1, int n);
 #define oil_composite_in_over_argb_const_mask ((_oil_type_composite_in_over_argb_const_mask)(*(void **)oil_function_class_ptr_composite_in_over_argb_const_mask))
-extern OilFunctionClass *oil_function_class_ptr_composite_in_over_argb_const_src;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_in_over_argb_const_src;
 typedef void (*_oil_type_composite_in_over_argb_const_src)(uint32_t * i_n, const uint32_t * s1_1, const uint8_t * s2_n, int n);
 #define oil_composite_in_over_argb_const_src ((_oil_type_composite_in_over_argb_const_src)(*(void **)oil_function_class_ptr_composite_in_over_argb_const_src))
-extern OilFunctionClass *oil_function_class_ptr_composite_over_argb;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_over_argb;
 typedef void (*_oil_type_composite_over_argb)(uint32_t * i_n, const uint32_t * s1_n, int n);
 #define oil_composite_over_argb ((_oil_type_composite_over_argb)(*(void **)oil_function_class_ptr_composite_over_argb))
-extern OilFunctionClass *oil_function_class_ptr_composite_over_argb_const_src;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_over_argb_const_src;
 typedef void (*_oil_type_composite_over_argb_const_src)(uint32_t * i_n, const uint32_t * s1_1, int n);
 #define oil_composite_over_argb_const_src ((_oil_type_composite_over_argb_const_src)(*(void **)oil_function_class_ptr_composite_over_argb_const_src))
-extern OilFunctionClass *oil_function_class_ptr_composite_over_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_composite_over_u8;
 typedef void (*_oil_type_composite_over_u8)(uint8_t * i_n, const uint8_t * s1_n, int n);
 #define oil_composite_over_u8 ((_oil_type_composite_over_u8)(*(void **)oil_function_class_ptr_composite_over_u8))
-extern OilFunctionClass *oil_function_class_ptr_conv8x8_f64_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv8x8_f64_s16;
 typedef void (*_oil_type_conv8x8_f64_s16)(double * d_8x8, int dstr, const int16_t * s_8x8, int sstr);
 #define oil_conv8x8_f64_s16 ((_oil_type_conv8x8_f64_s16)(*(void **)oil_function_class_ptr_conv8x8_f64_s16))
-extern OilFunctionClass *oil_function_class_ptr_conv8x8_s16_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv8x8_s16_f64;
 typedef void (*_oil_type_conv8x8_s16_f64)(int16_t * d_8x8, int dstr, const double * s_8x8, int sstr);
 #define oil_conv8x8_s16_f64 ((_oil_type_conv8x8_s16_f64)(*(void **)oil_function_class_ptr_conv8x8_s16_f64))
-extern OilFunctionClass *oil_function_class_ptr_conv_f32_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f32_f64;
 typedef void (*_oil_type_conv_f32_f64)(float * dest, int dstr, const double * src, int sstr, int n);
 #define oil_conv_f32_f64 ((_oil_type_conv_f32_f64)(*(void **)oil_function_class_ptr_conv_f32_f64))
-extern OilFunctionClass *oil_function_class_ptr_conv_f32_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f32_s16;
 typedef void (*_oil_type_conv_f32_s16)(float * dest, int dstr, const int16_t * src, int sstr, int n);
 #define oil_conv_f32_s16 ((_oil_type_conv_f32_s16)(*(void **)oil_function_class_ptr_conv_f32_s16))
-extern OilFunctionClass *oil_function_class_ptr_conv_f32_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f32_s32;
 typedef void (*_oil_type_conv_f32_s32)(float * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_conv_f32_s32 ((_oil_type_conv_f32_s32)(*(void **)oil_function_class_ptr_conv_f32_s32))
-extern OilFunctionClass *oil_function_class_ptr_conv_f32_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f32_s8;
 typedef void (*_oil_type_conv_f32_s8)(float * dest, int dstr, const int8_t * src, int sstr, int n);
 #define oil_conv_f32_s8 ((_oil_type_conv_f32_s8)(*(void **)oil_function_class_ptr_conv_f32_s8))
-extern OilFunctionClass *oil_function_class_ptr_conv_f32_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f32_u16;
 typedef void (*_oil_type_conv_f32_u16)(float * dest, int dstr, const uint16_t * src, int sstr, int n);
 #define oil_conv_f32_u16 ((_oil_type_conv_f32_u16)(*(void **)oil_function_class_ptr_conv_f32_u16))
-extern OilFunctionClass *oil_function_class_ptr_conv_f32_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f32_u32;
 typedef void (*_oil_type_conv_f32_u32)(float * dest, int dstr, const uint32_t * src, int sstr, int n);
 #define oil_conv_f32_u32 ((_oil_type_conv_f32_u32)(*(void **)oil_function_class_ptr_conv_f32_u32))
-extern OilFunctionClass *oil_function_class_ptr_conv_f32_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f32_u8;
 typedef void (*_oil_type_conv_f32_u8)(float * dest, int dstr, const uint8_t * src, int sstr, int n);
 #define oil_conv_f32_u8 ((_oil_type_conv_f32_u8)(*(void **)oil_function_class_ptr_conv_f32_u8))
-extern OilFunctionClass *oil_function_class_ptr_conv_f64_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f64_f32;
 typedef void (*_oil_type_conv_f64_f32)(double * dest, int dstr, const float * src, int sstr, int n);
 #define oil_conv_f64_f32 ((_oil_type_conv_f64_f32)(*(void **)oil_function_class_ptr_conv_f64_f32))
-extern OilFunctionClass *oil_function_class_ptr_conv_f64_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f64_s16;
 typedef void (*_oil_type_conv_f64_s16)(double * dest, int dstr, const int16_t * src, int sstr, int n);
 #define oil_conv_f64_s16 ((_oil_type_conv_f64_s16)(*(void **)oil_function_class_ptr_conv_f64_s16))
-extern OilFunctionClass *oil_function_class_ptr_conv_f64_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f64_s32;
 typedef void (*_oil_type_conv_f64_s32)(double * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_conv_f64_s32 ((_oil_type_conv_f64_s32)(*(void **)oil_function_class_ptr_conv_f64_s32))
-extern OilFunctionClass *oil_function_class_ptr_conv_f64_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f64_s8;
 typedef void (*_oil_type_conv_f64_s8)(double * dest, int dstr, const int8_t * src, int sstr, int n);
 #define oil_conv_f64_s8 ((_oil_type_conv_f64_s8)(*(void **)oil_function_class_ptr_conv_f64_s8))
-extern OilFunctionClass *oil_function_class_ptr_conv_f64_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f64_u16;
 typedef void (*_oil_type_conv_f64_u16)(double * dest, int dstr, const uint16_t * src, int sstr, int n);
 #define oil_conv_f64_u16 ((_oil_type_conv_f64_u16)(*(void **)oil_function_class_ptr_conv_f64_u16))
-extern OilFunctionClass *oil_function_class_ptr_conv_f64_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f64_u32;
 typedef void (*_oil_type_conv_f64_u32)(double * dest, int dstr, const uint32_t * src, int sstr, int n);
 #define oil_conv_f64_u32 ((_oil_type_conv_f64_u32)(*(void **)oil_function_class_ptr_conv_f64_u32))
-extern OilFunctionClass *oil_function_class_ptr_conv_f64_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_f64_u8;
 typedef void (*_oil_type_conv_f64_u8)(double * dest, int dstr, const uint8_t * src, int sstr, int n);
 #define oil_conv_f64_u8 ((_oil_type_conv_f64_u8)(*(void **)oil_function_class_ptr_conv_f64_u8))
-extern OilFunctionClass *oil_function_class_ptr_conv_s16_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s16_f32;
 typedef void (*_oil_type_conv_s16_f32)(int16_t * dest, int dstr, const float * src, int sstr, int n);
 #define oil_conv_s16_f32 ((_oil_type_conv_s16_f32)(*(void **)oil_function_class_ptr_conv_s16_f32))
-extern OilFunctionClass *oil_function_class_ptr_conv_s16_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s16_f64;
 typedef void (*_oil_type_conv_s16_f64)(int16_t * dest, int dstr, const double * src, int sstr, int n);
 #define oil_conv_s16_f64 ((_oil_type_conv_s16_f64)(*(void **)oil_function_class_ptr_conv_s16_f64))
-extern OilFunctionClass *oil_function_class_ptr_conv_s16_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s16_s32;
 typedef void (*_oil_type_conv_s16_s32)(int16_t * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_conv_s16_s32 ((_oil_type_conv_s16_s32)(*(void **)oil_function_class_ptr_conv_s16_s32))
-extern OilFunctionClass *oil_function_class_ptr_conv_s16_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s16_s8;
 typedef void (*_oil_type_conv_s16_s8)(int16_t * dest, int dstr, const int8_t * src, int sstr, int n);
 #define oil_conv_s16_s8 ((_oil_type_conv_s16_s8)(*(void **)oil_function_class_ptr_conv_s16_s8))
-extern OilFunctionClass *oil_function_class_ptr_conv_s16_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s16_u16;
 typedef void (*_oil_type_conv_s16_u16)(int16_t * dest, int dstr, const uint16_t * src, int sstr, int n);
 #define oil_conv_s16_u16 ((_oil_type_conv_s16_u16)(*(void **)oil_function_class_ptr_conv_s16_u16))
-extern OilFunctionClass *oil_function_class_ptr_conv_s16_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s16_u32;
 typedef void (*_oil_type_conv_s16_u32)(int16_t * dest, int dstr, const uint32_t * src, int sstr, int n);
 #define oil_conv_s16_u32 ((_oil_type_conv_s16_u32)(*(void **)oil_function_class_ptr_conv_s16_u32))
-extern OilFunctionClass *oil_function_class_ptr_conv_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s16_u8;
 typedef void (*_oil_type_conv_s16_u8)(int16_t * dest, int dstr, const uint8_t * src, int sstr, int n);
 #define oil_conv_s16_u8 ((_oil_type_conv_s16_u8)(*(void **)oil_function_class_ptr_conv_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_conv_s32_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s32_f32;
 typedef void (*_oil_type_conv_s32_f32)(int32_t * dest, int dstr, const float * src, int sstr, int n);
 #define oil_conv_s32_f32 ((_oil_type_conv_s32_f32)(*(void **)oil_function_class_ptr_conv_s32_f32))
-extern OilFunctionClass *oil_function_class_ptr_conv_s32_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s32_f64;
 typedef void (*_oil_type_conv_s32_f64)(int32_t * dest, int dstr, const double * src, int sstr, int n);
 #define oil_conv_s32_f64 ((_oil_type_conv_s32_f64)(*(void **)oil_function_class_ptr_conv_s32_f64))
-extern OilFunctionClass *oil_function_class_ptr_conv_s32_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s32_s16;
 typedef void (*_oil_type_conv_s32_s16)(int32_t * dest, int dstr, const int16_t * src, int sstr, int n);
 #define oil_conv_s32_s16 ((_oil_type_conv_s32_s16)(*(void **)oil_function_class_ptr_conv_s32_s16))
-extern OilFunctionClass *oil_function_class_ptr_conv_s32_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s32_s8;
 typedef void (*_oil_type_conv_s32_s8)(int32_t * dest, int dstr, const int8_t * src, int sstr, int n);
 #define oil_conv_s32_s8 ((_oil_type_conv_s32_s8)(*(void **)oil_function_class_ptr_conv_s32_s8))
-extern OilFunctionClass *oil_function_class_ptr_conv_s32_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s32_u16;
 typedef void (*_oil_type_conv_s32_u16)(int32_t * dest, int dstr, const uint16_t * src, int sstr, int n);
 #define oil_conv_s32_u16 ((_oil_type_conv_s32_u16)(*(void **)oil_function_class_ptr_conv_s32_u16))
-extern OilFunctionClass *oil_function_class_ptr_conv_s32_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s32_u32;
 typedef void (*_oil_type_conv_s32_u32)(int32_t * dest, int dstr, const uint32_t * src, int sstr, int n);
 #define oil_conv_s32_u32 ((_oil_type_conv_s32_u32)(*(void **)oil_function_class_ptr_conv_s32_u32))
-extern OilFunctionClass *oil_function_class_ptr_conv_s32_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s32_u8;
 typedef void (*_oil_type_conv_s32_u8)(int32_t * dest, int dstr, const uint8_t * src, int sstr, int n);
 #define oil_conv_s32_u8 ((_oil_type_conv_s32_u8)(*(void **)oil_function_class_ptr_conv_s32_u8))
-extern OilFunctionClass *oil_function_class_ptr_conv_s8_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s8_f32;
 typedef void (*_oil_type_conv_s8_f32)(int8_t * dest, int dstr, const float * src, int sstr, int n);
 #define oil_conv_s8_f32 ((_oil_type_conv_s8_f32)(*(void **)oil_function_class_ptr_conv_s8_f32))
-extern OilFunctionClass *oil_function_class_ptr_conv_s8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s8_f64;
 typedef void (*_oil_type_conv_s8_f64)(int8_t * dest, int dstr, const double * src, int sstr, int n);
 #define oil_conv_s8_f64 ((_oil_type_conv_s8_f64)(*(void **)oil_function_class_ptr_conv_s8_f64))
-extern OilFunctionClass *oil_function_class_ptr_conv_s8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s8_s16;
 typedef void (*_oil_type_conv_s8_s16)(int8_t * dest, int dstr, const int16_t * src, int sstr, int n);
 #define oil_conv_s8_s16 ((_oil_type_conv_s8_s16)(*(void **)oil_function_class_ptr_conv_s8_s16))
-extern OilFunctionClass *oil_function_class_ptr_conv_s8_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s8_s32;
 typedef void (*_oil_type_conv_s8_s32)(int8_t * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_conv_s8_s32 ((_oil_type_conv_s8_s32)(*(void **)oil_function_class_ptr_conv_s8_s32))
-extern OilFunctionClass *oil_function_class_ptr_conv_s8_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s8_u16;
 typedef void (*_oil_type_conv_s8_u16)(int8_t * dest, int dstr, const uint16_t * src, int sstr, int n);
 #define oil_conv_s8_u16 ((_oil_type_conv_s8_u16)(*(void **)oil_function_class_ptr_conv_s8_u16))
-extern OilFunctionClass *oil_function_class_ptr_conv_s8_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s8_u32;
 typedef void (*_oil_type_conv_s8_u32)(int8_t * dest, int dstr, const uint32_t * src, int sstr, int n);
 #define oil_conv_s8_u32 ((_oil_type_conv_s8_u32)(*(void **)oil_function_class_ptr_conv_s8_u32))
-extern OilFunctionClass *oil_function_class_ptr_conv_s8_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_s8_u8;
 typedef void (*_oil_type_conv_s8_u8)(int8_t * dest, int dstr, const uint8_t * src, int sstr, int n);
 #define oil_conv_s8_u8 ((_oil_type_conv_s8_u8)(*(void **)oil_function_class_ptr_conv_s8_u8))
-extern OilFunctionClass *oil_function_class_ptr_conv_u16_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u16_f32;
 typedef void (*_oil_type_conv_u16_f32)(uint16_t * dest, int dstr, const float * src, int sstr, int n);
 #define oil_conv_u16_f32 ((_oil_type_conv_u16_f32)(*(void **)oil_function_class_ptr_conv_u16_f32))
-extern OilFunctionClass *oil_function_class_ptr_conv_u16_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u16_f64;
 typedef void (*_oil_type_conv_u16_f64)(uint16_t * dest, int dstr, const double * src, int sstr, int n);
 #define oil_conv_u16_f64 ((_oil_type_conv_u16_f64)(*(void **)oil_function_class_ptr_conv_u16_f64))
-extern OilFunctionClass *oil_function_class_ptr_conv_u16_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u16_s16;
 typedef void (*_oil_type_conv_u16_s16)(uint16_t * dest, int dstr, const int16_t * src, int sstr, int n);
 #define oil_conv_u16_s16 ((_oil_type_conv_u16_s16)(*(void **)oil_function_class_ptr_conv_u16_s16))
-extern OilFunctionClass *oil_function_class_ptr_conv_u16_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u16_s32;
 typedef void (*_oil_type_conv_u16_s32)(uint16_t * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_conv_u16_s32 ((_oil_type_conv_u16_s32)(*(void **)oil_function_class_ptr_conv_u16_s32))
-extern OilFunctionClass *oil_function_class_ptr_conv_u16_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u16_s8;
 typedef void (*_oil_type_conv_u16_s8)(uint16_t * dest, int dstr, const int8_t * src, int sstr, int n);
 #define oil_conv_u16_s8 ((_oil_type_conv_u16_s8)(*(void **)oil_function_class_ptr_conv_u16_s8))
-extern OilFunctionClass *oil_function_class_ptr_conv_u16_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u16_u32;
 typedef void (*_oil_type_conv_u16_u32)(uint16_t * dest, int dstr, const uint32_t * src, int sstr, int n);
 #define oil_conv_u16_u32 ((_oil_type_conv_u16_u32)(*(void **)oil_function_class_ptr_conv_u16_u32))
-extern OilFunctionClass *oil_function_class_ptr_conv_u16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u16_u8;
 typedef void (*_oil_type_conv_u16_u8)(uint16_t * dest, int dstr, const uint8_t * src, int sstr, int n);
 #define oil_conv_u16_u8 ((_oil_type_conv_u16_u8)(*(void **)oil_function_class_ptr_conv_u16_u8))
-extern OilFunctionClass *oil_function_class_ptr_conv_u32_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u32_f32;
 typedef void (*_oil_type_conv_u32_f32)(uint32_t * dest, int dstr, const float * src, int sstr, int n);
 #define oil_conv_u32_f32 ((_oil_type_conv_u32_f32)(*(void **)oil_function_class_ptr_conv_u32_f32))
-extern OilFunctionClass *oil_function_class_ptr_conv_u32_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u32_f64;
 typedef void (*_oil_type_conv_u32_f64)(uint32_t * dest, int dstr, const double * src, int sstr, int n);
 #define oil_conv_u32_f64 ((_oil_type_conv_u32_f64)(*(void **)oil_function_class_ptr_conv_u32_f64))
-extern OilFunctionClass *oil_function_class_ptr_conv_u32_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u32_s16;
 typedef void (*_oil_type_conv_u32_s16)(uint32_t * dest, int dstr, const int16_t * src, int sstr, int n);
 #define oil_conv_u32_s16 ((_oil_type_conv_u32_s16)(*(void **)oil_function_class_ptr_conv_u32_s16))
-extern OilFunctionClass *oil_function_class_ptr_conv_u32_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u32_s32;
 typedef void (*_oil_type_conv_u32_s32)(uint32_t * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_conv_u32_s32 ((_oil_type_conv_u32_s32)(*(void **)oil_function_class_ptr_conv_u32_s32))
-extern OilFunctionClass *oil_function_class_ptr_conv_u32_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u32_s8;
 typedef void (*_oil_type_conv_u32_s8)(uint32_t * dest, int dstr, const int8_t * src, int sstr, int n);
 #define oil_conv_u32_s8 ((_oil_type_conv_u32_s8)(*(void **)oil_function_class_ptr_conv_u32_s8))
-extern OilFunctionClass *oil_function_class_ptr_conv_u32_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u32_u16;
 typedef void (*_oil_type_conv_u32_u16)(uint32_t * dest, int dstr, const uint16_t * src, int sstr, int n);
 #define oil_conv_u32_u16 ((_oil_type_conv_u32_u16)(*(void **)oil_function_class_ptr_conv_u32_u16))
-extern OilFunctionClass *oil_function_class_ptr_conv_u32_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u32_u8;
 typedef void (*_oil_type_conv_u32_u8)(uint32_t * dest, int dstr, const uint8_t * src, int sstr, int n);
 #define oil_conv_u32_u8 ((_oil_type_conv_u32_u8)(*(void **)oil_function_class_ptr_conv_u32_u8))
-extern OilFunctionClass *oil_function_class_ptr_conv_u8_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u8_f32;
 typedef void (*_oil_type_conv_u8_f32)(uint8_t * dest, int dstr, const float * src, int sstr, int n);
 #define oil_conv_u8_f32 ((_oil_type_conv_u8_f32)(*(void **)oil_function_class_ptr_conv_u8_f32))
-extern OilFunctionClass *oil_function_class_ptr_conv_u8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u8_f64;
 typedef void (*_oil_type_conv_u8_f64)(uint8_t * dest, int dstr, const double * src, int sstr, int n);
 #define oil_conv_u8_f64 ((_oil_type_conv_u8_f64)(*(void **)oil_function_class_ptr_conv_u8_f64))
-extern OilFunctionClass *oil_function_class_ptr_conv_u8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u8_s16;
 typedef void (*_oil_type_conv_u8_s16)(uint8_t * dest, int dstr, const int16_t * src, int sstr, int n);
 #define oil_conv_u8_s16 ((_oil_type_conv_u8_s16)(*(void **)oil_function_class_ptr_conv_u8_s16))
-extern OilFunctionClass *oil_function_class_ptr_conv_u8_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u8_s32;
 typedef void (*_oil_type_conv_u8_s32)(uint8_t * dest, int dstr, const int32_t * src, int sstr, int n);
 #define oil_conv_u8_s32 ((_oil_type_conv_u8_s32)(*(void **)oil_function_class_ptr_conv_u8_s32))
-extern OilFunctionClass *oil_function_class_ptr_conv_u8_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u8_s8;
 typedef void (*_oil_type_conv_u8_s8)(uint8_t * dest, int dstr, const int8_t * src, int sstr, int n);
 #define oil_conv_u8_s8 ((_oil_type_conv_u8_s8)(*(void **)oil_function_class_ptr_conv_u8_s8))
-extern OilFunctionClass *oil_function_class_ptr_conv_u8_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u8_u16;
 typedef void (*_oil_type_conv_u8_u16)(uint8_t * dest, int dstr, const uint16_t * src, int sstr, int n);
 #define oil_conv_u8_u16 ((_oil_type_conv_u8_u16)(*(void **)oil_function_class_ptr_conv_u8_u16))
-extern OilFunctionClass *oil_function_class_ptr_conv_u8_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_conv_u8_u32;
 typedef void (*_oil_type_conv_u8_u32)(uint8_t * dest, int dstr, const uint32_t * src, int sstr, int n);
 #define oil_conv_u8_u32 ((_oil_type_conv_u8_u32)(*(void **)oil_function_class_ptr_conv_u8_u32))
-extern OilFunctionClass *oil_function_class_ptr_convert_s16_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s16_f32;
 typedef void (*_oil_type_convert_s16_f32)(int16_t * dest, const float * src, int n);
 #define oil_convert_s16_f32 ((_oil_type_convert_s16_f32)(*(void **)oil_function_class_ptr_convert_s16_f32))
-extern OilFunctionClass *oil_function_class_ptr_convert_s16_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s16_f64;
 typedef void (*_oil_type_convert_s16_f64)(int16_t * dest, const double * src, int n);
 #define oil_convert_s16_f64 ((_oil_type_convert_s16_f64)(*(void **)oil_function_class_ptr_convert_s16_f64))
-extern OilFunctionClass *oil_function_class_ptr_convert_s16_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s16_s32;
 typedef void (*_oil_type_convert_s16_s32)(int16_t * dest, const int32_t * src, int n);
 #define oil_convert_s16_s32 ((_oil_type_convert_s16_s32)(*(void **)oil_function_class_ptr_convert_s16_s32))
-extern OilFunctionClass *oil_function_class_ptr_convert_s16_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s16_s8;
 typedef void (*_oil_type_convert_s16_s8)(int16_t * dest, const int8_t * src, int n);
 #define oil_convert_s16_s8 ((_oil_type_convert_s16_s8)(*(void **)oil_function_class_ptr_convert_s16_s8))
-extern OilFunctionClass *oil_function_class_ptr_convert_s16_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s16_u16;
 typedef void (*_oil_type_convert_s16_u16)(int16_t * dest, const uint16_t * src, int n);
 #define oil_convert_s16_u16 ((_oil_type_convert_s16_u16)(*(void **)oil_function_class_ptr_convert_s16_u16))
-extern OilFunctionClass *oil_function_class_ptr_convert_s16_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s16_u32;
 typedef void (*_oil_type_convert_s16_u32)(int16_t * dest, const uint32_t * src, int n);
 #define oil_convert_s16_u32 ((_oil_type_convert_s16_u32)(*(void **)oil_function_class_ptr_convert_s16_u32))
-extern OilFunctionClass *oil_function_class_ptr_convert_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s16_u8;
 typedef void (*_oil_type_convert_s16_u8)(int16_t * dest, const uint8_t * src, int n);
 #define oil_convert_s16_u8 ((_oil_type_convert_s16_u8)(*(void **)oil_function_class_ptr_convert_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_convert_s32_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s32_f64;
 typedef void (*_oil_type_convert_s32_f64)(int32_t * dest, const double * src, int n);
 #define oil_convert_s32_f64 ((_oil_type_convert_s32_f64)(*(void **)oil_function_class_ptr_convert_s32_f64))
-extern OilFunctionClass *oil_function_class_ptr_convert_s32_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s32_s16;
 typedef void (*_oil_type_convert_s32_s16)(int32_t * dest, const int16_t * src, int n);
 #define oil_convert_s32_s16 ((_oil_type_convert_s32_s16)(*(void **)oil_function_class_ptr_convert_s32_s16))
-extern OilFunctionClass *oil_function_class_ptr_convert_s32_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s32_s8;
 typedef void (*_oil_type_convert_s32_s8)(int32_t * dest, const int8_t * src, int n);
 #define oil_convert_s32_s8 ((_oil_type_convert_s32_s8)(*(void **)oil_function_class_ptr_convert_s32_s8))
-extern OilFunctionClass *oil_function_class_ptr_convert_s32_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s32_u16;
 typedef void (*_oil_type_convert_s32_u16)(int32_t * dest, const uint16_t * src, int n);
 #define oil_convert_s32_u16 ((_oil_type_convert_s32_u16)(*(void **)oil_function_class_ptr_convert_s32_u16))
-extern OilFunctionClass *oil_function_class_ptr_convert_s32_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s32_u32;
 typedef void (*_oil_type_convert_s32_u32)(int32_t * dest, const uint32_t * src, int n);
 #define oil_convert_s32_u32 ((_oil_type_convert_s32_u32)(*(void **)oil_function_class_ptr_convert_s32_u32))
-extern OilFunctionClass *oil_function_class_ptr_convert_s32_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s32_u8;
 typedef void (*_oil_type_convert_s32_u8)(int32_t * dest, const uint8_t * src, int n);
 #define oil_convert_s32_u8 ((_oil_type_convert_s32_u8)(*(void **)oil_function_class_ptr_convert_s32_u8))
-extern OilFunctionClass *oil_function_class_ptr_convert_s8_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s8_f32;
 typedef void (*_oil_type_convert_s8_f32)(int8_t * dest, const float * src, int n);
 #define oil_convert_s8_f32 ((_oil_type_convert_s8_f32)(*(void **)oil_function_class_ptr_convert_s8_f32))
-extern OilFunctionClass *oil_function_class_ptr_convert_s8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s8_f64;
 typedef void (*_oil_type_convert_s8_f64)(int8_t * dest, const double * src, int n);
 #define oil_convert_s8_f64 ((_oil_type_convert_s8_f64)(*(void **)oil_function_class_ptr_convert_s8_f64))
-extern OilFunctionClass *oil_function_class_ptr_convert_s8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s8_s16;
 typedef void (*_oil_type_convert_s8_s16)(int8_t * dest, const int16_t * src, int n);
 #define oil_convert_s8_s16 ((_oil_type_convert_s8_s16)(*(void **)oil_function_class_ptr_convert_s8_s16))
-extern OilFunctionClass *oil_function_class_ptr_convert_s8_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s8_s32;
 typedef void (*_oil_type_convert_s8_s32)(int8_t * dest, const int32_t * src, int n);
 #define oil_convert_s8_s32 ((_oil_type_convert_s8_s32)(*(void **)oil_function_class_ptr_convert_s8_s32))
-extern OilFunctionClass *oil_function_class_ptr_convert_s8_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s8_u16;
 typedef void (*_oil_type_convert_s8_u16)(int8_t * dest, const uint16_t * src, int n);
 #define oil_convert_s8_u16 ((_oil_type_convert_s8_u16)(*(void **)oil_function_class_ptr_convert_s8_u16))
-extern OilFunctionClass *oil_function_class_ptr_convert_s8_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s8_u32;
 typedef void (*_oil_type_convert_s8_u32)(int8_t * dest, const uint32_t * src, int n);
 #define oil_convert_s8_u32 ((_oil_type_convert_s8_u32)(*(void **)oil_function_class_ptr_convert_s8_u32))
-extern OilFunctionClass *oil_function_class_ptr_convert_s8_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_s8_u8;
 typedef void (*_oil_type_convert_s8_u8)(int8_t * dest, const uint8_t * src, int n);
 #define oil_convert_s8_u8 ((_oil_type_convert_s8_u8)(*(void **)oil_function_class_ptr_convert_s8_u8))
-extern OilFunctionClass *oil_function_class_ptr_convert_u16_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u16_f32;
 typedef void (*_oil_type_convert_u16_f32)(uint16_t * dest, const float * src, int n);
 #define oil_convert_u16_f32 ((_oil_type_convert_u16_f32)(*(void **)oil_function_class_ptr_convert_u16_f32))
-extern OilFunctionClass *oil_function_class_ptr_convert_u16_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u16_f64;
 typedef void (*_oil_type_convert_u16_f64)(uint16_t * dest, const double * src, int n);
 #define oil_convert_u16_f64 ((_oil_type_convert_u16_f64)(*(void **)oil_function_class_ptr_convert_u16_f64))
-extern OilFunctionClass *oil_function_class_ptr_convert_u16_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u16_s16;
 typedef void (*_oil_type_convert_u16_s16)(uint16_t * dest, const int16_t * src, int n);
 #define oil_convert_u16_s16 ((_oil_type_convert_u16_s16)(*(void **)oil_function_class_ptr_convert_u16_s16))
-extern OilFunctionClass *oil_function_class_ptr_convert_u16_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u16_s32;
 typedef void (*_oil_type_convert_u16_s32)(uint16_t * dest, const int32_t * src, int n);
 #define oil_convert_u16_s32 ((_oil_type_convert_u16_s32)(*(void **)oil_function_class_ptr_convert_u16_s32))
-extern OilFunctionClass *oil_function_class_ptr_convert_u16_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u16_u32;
 typedef void (*_oil_type_convert_u16_u32)(uint16_t * dest, const uint32_t * src, int n);
 #define oil_convert_u16_u32 ((_oil_type_convert_u16_u32)(*(void **)oil_function_class_ptr_convert_u16_u32))
-extern OilFunctionClass *oil_function_class_ptr_convert_u16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u16_u8;
 typedef void (*_oil_type_convert_u16_u8)(uint16_t * dest, const uint8_t * src, int n);
 #define oil_convert_u16_u8 ((_oil_type_convert_u16_u8)(*(void **)oil_function_class_ptr_convert_u16_u8))
-extern OilFunctionClass *oil_function_class_ptr_convert_u32_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u32_f64;
 typedef void (*_oil_type_convert_u32_f64)(uint32_t * dest, const double * src, int n);
 #define oil_convert_u32_f64 ((_oil_type_convert_u32_f64)(*(void **)oil_function_class_ptr_convert_u32_f64))
-extern OilFunctionClass *oil_function_class_ptr_convert_u32_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u32_s32;
 typedef void (*_oil_type_convert_u32_s32)(uint32_t * dest, const int32_t * src, int n);
 #define oil_convert_u32_s32 ((_oil_type_convert_u32_s32)(*(void **)oil_function_class_ptr_convert_u32_s32))
-extern OilFunctionClass *oil_function_class_ptr_convert_u32_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u32_u16;
 typedef void (*_oil_type_convert_u32_u16)(uint32_t * dest, const uint16_t * src, int n);
 #define oil_convert_u32_u16 ((_oil_type_convert_u32_u16)(*(void **)oil_function_class_ptr_convert_u32_u16))
-extern OilFunctionClass *oil_function_class_ptr_convert_u32_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u32_u8;
 typedef void (*_oil_type_convert_u32_u8)(uint32_t * dest, const uint8_t * src, int n);
 #define oil_convert_u32_u8 ((_oil_type_convert_u32_u8)(*(void **)oil_function_class_ptr_convert_u32_u8))
-extern OilFunctionClass *oil_function_class_ptr_convert_u8_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u8_f32;
 typedef void (*_oil_type_convert_u8_f32)(uint8_t * dest, const float * src, int n);
 #define oil_convert_u8_f32 ((_oil_type_convert_u8_f32)(*(void **)oil_function_class_ptr_convert_u8_f32))
-extern OilFunctionClass *oil_function_class_ptr_convert_u8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u8_f64;
 typedef void (*_oil_type_convert_u8_f64)(uint8_t * dest, const double * src, int n);
 #define oil_convert_u8_f64 ((_oil_type_convert_u8_f64)(*(void **)oil_function_class_ptr_convert_u8_f64))
-extern OilFunctionClass *oil_function_class_ptr_convert_u8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u8_s16;
 typedef void (*_oil_type_convert_u8_s16)(uint8_t * dest, const int16_t * src, int n);
 #define oil_convert_u8_s16 ((_oil_type_convert_u8_s16)(*(void **)oil_function_class_ptr_convert_u8_s16))
-extern OilFunctionClass *oil_function_class_ptr_convert_u8_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u8_s32;
 typedef void (*_oil_type_convert_u8_s32)(uint8_t * dest, const int32_t * src, int n);
 #define oil_convert_u8_s32 ((_oil_type_convert_u8_s32)(*(void **)oil_function_class_ptr_convert_u8_s32))
-extern OilFunctionClass *oil_function_class_ptr_convert_u8_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u8_s8;
 typedef void (*_oil_type_convert_u8_s8)(uint8_t * dest, const int8_t * src, int n);
 #define oil_convert_u8_s8 ((_oil_type_convert_u8_s8)(*(void **)oil_function_class_ptr_convert_u8_s8))
-extern OilFunctionClass *oil_function_class_ptr_convert_u8_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u8_u16;
 typedef void (*_oil_type_convert_u8_u16)(uint8_t * dest, const uint16_t * src, int n);
 #define oil_convert_u8_u16 ((_oil_type_convert_u8_u16)(*(void **)oil_function_class_ptr_convert_u8_u16))
-extern OilFunctionClass *oil_function_class_ptr_convert_u8_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_convert_u8_u32;
 typedef void (*_oil_type_convert_u8_u32)(uint8_t * dest, const uint32_t * src, int n);
 #define oil_convert_u8_u32 ((_oil_type_convert_u8_u32)(*(void **)oil_function_class_ptr_convert_u8_u32))
-extern OilFunctionClass *oil_function_class_ptr_copy8x8_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_copy8x8_u8;
 typedef void (*_oil_type_copy8x8_u8)(uint8_t * d_8x8, int ds, const uint8_t * s_8x8, int ss);
 #define oil_copy8x8_u8 ((_oil_type_copy8x8_u8)(*(void **)oil_function_class_ptr_copy8x8_u8))
-extern OilFunctionClass *oil_function_class_ptr_copy_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_copy_u8;
 typedef void (*_oil_type_copy_u8)(uint8_t * dest, const uint8_t * src, int n);
 #define oil_copy_u8 ((_oil_type_copy_u8)(*(void **)oil_function_class_ptr_copy_u8))
-extern OilFunctionClass *oil_function_class_ptr_dct36_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_dct36_f32;
 typedef void (*_oil_type_dct36_f32)(float * d_36, int dstr, const float * s_36, int sstr);
 #define oil_dct36_f32 ((_oil_type_dct36_f32)(*(void **)oil_function_class_ptr_dct36_f32))
-extern OilFunctionClass *oil_function_class_ptr_deinterleave;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_deinterleave;
 typedef void (*_oil_type_deinterleave)(int16_t * d_2xn, const int16_t * s_2xn, int n);
 #define oil_deinterleave ((_oil_type_deinterleave)(*(void **)oil_function_class_ptr_deinterleave))
-extern OilFunctionClass *oil_function_class_ptr_deinterleave2_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_deinterleave2_s16;
 typedef void (*_oil_type_deinterleave2_s16)(int16_t * d1_n, int16_t * d2_n, const int16_t * s_2xn, int n);
 #define oil_deinterleave2_s16 ((_oil_type_deinterleave2_s16)(*(void **)oil_function_class_ptr_deinterleave2_s16))
-extern OilFunctionClass *oil_function_class_ptr_dequantize8x8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_dequantize8x8_s16;
 typedef void (*_oil_type_dequantize8x8_s16)(int16_t * d_8x8, int dstr, const int16_t * s1_8x8, int sstr1, const int16_t * s2_8x8, int sstr2);
 #define oil_dequantize8x8_s16 ((_oil_type_dequantize8x8_s16)(*(void **)oil_function_class_ptr_dequantize8x8_s16))
-extern OilFunctionClass *oil_function_class_ptr_diff8x8_average_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_diff8x8_average_s16_u8;
 typedef void (*_oil_type_diff8x8_average_s16_u8)(int16_t * d_8x8, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, int ss2, const uint8_t * s3_8x8, int ss3);
 #define oil_diff8x8_average_s16_u8 ((_oil_type_diff8x8_average_s16_u8)(*(void **)oil_function_class_ptr_diff8x8_average_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_diff8x8_const128_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_diff8x8_const128_s16_u8;
 typedef void (*_oil_type_diff8x8_const128_s16_u8)(int16_t * d_8x8, const uint8_t * s1_8x8, int ss1);
 #define oil_diff8x8_const128_s16_u8 ((_oil_type_diff8x8_const128_s16_u8)(*(void **)oil_function_class_ptr_diff8x8_const128_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_diff8x8_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_diff8x8_s16_u8;
 typedef void (*_oil_type_diff8x8_s16_u8)(int16_t * d_8x8, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, int ss2);
 #define oil_diff8x8_s16_u8 ((_oil_type_diff8x8_s16_u8)(*(void **)oil_function_class_ptr_diff8x8_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_diffsquaresum_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_diffsquaresum_f32;
 typedef void (*_oil_type_diffsquaresum_f32)(float * d_1, const float * src1, int sstr1, const float * src2, int sstr2, int n);
 #define oil_diffsquaresum_f32 ((_oil_type_diffsquaresum_f32)(*(void **)oil_function_class_ptr_diffsquaresum_f32))
-extern OilFunctionClass *oil_function_class_ptr_diffsquaresum_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_diffsquaresum_f64;
 typedef void (*_oil_type_diffsquaresum_f64)(double * d_1, const double * src1, int sstr1, const double * src2, int sstr2, int n);
 #define oil_diffsquaresum_f64 ((_oil_type_diffsquaresum_f64)(*(void **)oil_function_class_ptr_diffsquaresum_f64))
-extern OilFunctionClass *oil_function_class_ptr_divide_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_divide_f32;
 typedef void (*_oil_type_divide_f32)(float * d, const float * s1, const float * s2, int n);
 #define oil_divide_f32 ((_oil_type_divide_f32)(*(void **)oil_function_class_ptr_divide_f32))
-extern OilFunctionClass *oil_function_class_ptr_divide_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_divide_f64;
 typedef void (*_oil_type_divide_f64)(double * d, const double * s1, const double * s2, int n);
 #define oil_divide_f64 ((_oil_type_divide_f64)(*(void **)oil_function_class_ptr_divide_f64))
-extern OilFunctionClass *oil_function_class_ptr_err_inter8x8_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_err_inter8x8_u8;
 typedef void (*_oil_type_err_inter8x8_u8)(uint32_t * d_1, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, int ss2);
 #define oil_err_inter8x8_u8 ((_oil_type_err_inter8x8_u8)(*(void **)oil_function_class_ptr_err_inter8x8_u8))
-extern OilFunctionClass *oil_function_class_ptr_err_inter8x8_u8_avg;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_err_inter8x8_u8_avg;
 typedef void (*_oil_type_err_inter8x8_u8_avg)(uint32_t * d_1, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, const uint8_t * s3_8x8, int ss2);
 #define oil_err_inter8x8_u8_avg ((_oil_type_err_inter8x8_u8_avg)(*(void **)oil_function_class_ptr_err_inter8x8_u8_avg))
-extern OilFunctionClass *oil_function_class_ptr_err_intra8x8_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_err_intra8x8_u8;
 typedef void (*_oil_type_err_intra8x8_u8)(uint32_t * d_1, const uint8_t * s1_8x8, int ss1);
 #define oil_err_intra8x8_u8 ((_oil_type_err_intra8x8_u8)(*(void **)oil_function_class_ptr_err_intra8x8_u8))
-extern OilFunctionClass *oil_function_class_ptr_fdct8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_fdct8_f64;
 typedef void (*_oil_type_fdct8_f64)(double * d_8, const double * s_8, int dstr, int sstr);
 #define oil_fdct8_f64 ((_oil_type_fdct8_f64)(*(void **)oil_function_class_ptr_fdct8_f64))
-extern OilFunctionClass *oil_function_class_ptr_fdct8x8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_fdct8x8_f64;
 typedef void (*_oil_type_fdct8x8_f64)(double * d_8x8, int dstr, const double * s_8x8, int sstr);
 #define oil_fdct8x8_f64 ((_oil_type_fdct8x8_f64)(*(void **)oil_function_class_ptr_fdct8x8_f64))
-extern OilFunctionClass *oil_function_class_ptr_fdct8x8s_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_fdct8x8s_s16;
 typedef void (*_oil_type_fdct8x8s_s16)(int16_t * d_8x8, int ds, const int16_t * s_8x8, int ss);
 #define oil_fdct8x8s_s16 ((_oil_type_fdct8x8s_s16)(*(void **)oil_function_class_ptr_fdct8x8s_s16))
-extern OilFunctionClass *oil_function_class_ptr_fdct8x8theora;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_fdct8x8theora;
 typedef void (*_oil_type_fdct8x8theora)(const int16_t * s_8x8, int16_t * d_8x8);
 #define oil_fdct8x8theora ((_oil_type_fdct8x8theora)(*(void **)oil_function_class_ptr_fdct8x8theora))
-extern OilFunctionClass *oil_function_class_ptr_floor_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_floor_f32;
 typedef void (*_oil_type_floor_f32)(float * d, const float * s, int n);
 #define oil_floor_f32 ((_oil_type_floor_f32)(*(void **)oil_function_class_ptr_floor_f32))
-extern OilFunctionClass *oil_function_class_ptr_idct8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_idct8_f64;
 typedef void (*_oil_type_idct8_f64)(double * d_8, int dstr, const double * s_8, int sstr);
 #define oil_idct8_f64 ((_oil_type_idct8_f64)(*(void **)oil_function_class_ptr_idct8_f64))
-extern OilFunctionClass *oil_function_class_ptr_idct8theora_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_idct8theora_s16;
 typedef void (*_oil_type_idct8theora_s16)(int16_t * d_8, int dstr, const int16_t * s_8, int sstr);
 #define oil_idct8theora_s16 ((_oil_type_idct8theora_s16)(*(void **)oil_function_class_ptr_idct8theora_s16))
-extern OilFunctionClass *oil_function_class_ptr_idct8x8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_idct8x8_f64;
 typedef void (*_oil_type_idct8x8_f64)(double * d_8x8, int dstr, const double * s_8x8, int sstr);
 #define oil_idct8x8_f64 ((_oil_type_idct8x8_f64)(*(void **)oil_function_class_ptr_idct8x8_f64))
-extern OilFunctionClass *oil_function_class_ptr_idct8x8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_idct8x8_s16;
 typedef void (*_oil_type_idct8x8_s16)(int16_t * d_8x8, int dstr, const int16_t * s_8x8, int sstr);
 #define oil_idct8x8_s16 ((_oil_type_idct8x8_s16)(*(void **)oil_function_class_ptr_idct8x8_s16))
-extern OilFunctionClass *oil_function_class_ptr_idct8x8lim10_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_idct8x8lim10_f64;
 typedef void (*_oil_type_idct8x8lim10_f64)(double * d_8x8, int dstr, const double * s_8x8, int sstr);
 #define oil_idct8x8lim10_f64 ((_oil_type_idct8x8lim10_f64)(*(void **)oil_function_class_ptr_idct8x8lim10_f64))
-extern OilFunctionClass *oil_function_class_ptr_idct8x8lim10_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_idct8x8lim10_s16;
 typedef void (*_oil_type_idct8x8lim10_s16)(int16_t * d_8x8, int dstr, const int16_t * s_8x8, int sstr);
 #define oil_idct8x8lim10_s16 ((_oil_type_idct8x8lim10_s16)(*(void **)oil_function_class_ptr_idct8x8lim10_s16))
-extern OilFunctionClass *oil_function_class_ptr_idct8x8theora_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_idct8x8theora_s16;
 typedef void (*_oil_type_idct8x8theora_s16)(int16_t * d_8x8, int dstr, const int16_t * s_8x8, int sstr);
 #define oil_idct8x8theora_s16 ((_oil_type_idct8x8theora_s16)(*(void **)oil_function_class_ptr_idct8x8theora_s16))
-extern OilFunctionClass *oil_function_class_ptr_imdct12_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_imdct12_f64;
 typedef void (*_oil_type_imdct12_f64)(double * d_12, const double * s_6);
 #define oil_imdct12_f64 ((_oil_type_imdct12_f64)(*(void **)oil_function_class_ptr_imdct12_f64))
-extern OilFunctionClass *oil_function_class_ptr_imdct32_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_imdct32_f32;
 typedef void (*_oil_type_imdct32_f32)(float * d_32, const float * s_32);
 #define oil_imdct32_f32 ((_oil_type_imdct32_f32)(*(void **)oil_function_class_ptr_imdct32_f32))
-extern OilFunctionClass *oil_function_class_ptr_imdct36_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_imdct36_f64;
 typedef void (*_oil_type_imdct36_f64)(double * d_36, const double * s_18);
 #define oil_imdct36_f64 ((_oil_type_imdct36_f64)(*(void **)oil_function_class_ptr_imdct36_f64))
-extern OilFunctionClass *oil_function_class_ptr_interleave;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_interleave;
 typedef void (*_oil_type_interleave)(int16_t * d_2xn, const int16_t * s_2xn, int n);
 #define oil_interleave ((_oil_type_interleave)(*(void **)oil_function_class_ptr_interleave))
-extern OilFunctionClass *oil_function_class_ptr_interleave2_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_interleave2_s16;
 typedef void (*_oil_type_interleave2_s16)(int16_t * d_2xn, const int16_t * s1_n, const int16_t * s2_n, int n);
 #define oil_interleave2_s16 ((_oil_type_interleave2_s16)(*(void **)oil_function_class_ptr_interleave2_s16))
-extern OilFunctionClass *oil_function_class_ptr_inverse_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_inverse_f32;
 typedef void (*_oil_type_inverse_f32)(float * d, const float * s, int n);
 #define oil_inverse_f32 ((_oil_type_inverse_f32)(*(void **)oil_function_class_ptr_inverse_f32))
-extern OilFunctionClass *oil_function_class_ptr_lift_add_135;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_lift_add_135;
 typedef void (*_oil_type_lift_add_135)(int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4, const int16_t * s5, int n);
 #define oil_lift_add_135 ((_oil_type_lift_add_135)(*(void **)oil_function_class_ptr_lift_add_135))
-extern OilFunctionClass *oil_function_class_ptr_lift_add_mult_shift12;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_lift_add_mult_shift12;
 typedef void (*_oil_type_lift_add_mult_shift12)(int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_1, int n);
 #define oil_lift_add_mult_shift12 ((_oil_type_lift_add_mult_shift12)(*(void **)oil_function_class_ptr_lift_add_mult_shift12))
-extern OilFunctionClass *oil_function_class_ptr_lift_add_shift1;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_lift_add_shift1;
 typedef void (*_oil_type_lift_add_shift1)(int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, int n);
 #define oil_lift_add_shift1 ((_oil_type_lift_add_shift1)(*(void **)oil_function_class_ptr_lift_add_shift1))
-extern OilFunctionClass *oil_function_class_ptr_lift_add_shift2;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_lift_add_shift2;
 typedef void (*_oil_type_lift_add_shift2)(int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, int n);
 #define oil_lift_add_shift2 ((_oil_type_lift_add_shift2)(*(void **)oil_function_class_ptr_lift_add_shift2))
-extern OilFunctionClass *oil_function_class_ptr_lift_sub_135;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_lift_sub_135;
 typedef void (*_oil_type_lift_sub_135)(int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4, const int16_t * s5, int n);
 #define oil_lift_sub_135 ((_oil_type_lift_sub_135)(*(void **)oil_function_class_ptr_lift_sub_135))
-extern OilFunctionClass *oil_function_class_ptr_lift_sub_mult_shift12;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_lift_sub_mult_shift12;
 typedef void (*_oil_type_lift_sub_mult_shift12)(int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_1, int n);
 #define oil_lift_sub_mult_shift12 ((_oil_type_lift_sub_mult_shift12)(*(void **)oil_function_class_ptr_lift_sub_mult_shift12))
-extern OilFunctionClass *oil_function_class_ptr_lift_sub_shift1;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_lift_sub_shift1;
 typedef void (*_oil_type_lift_sub_shift1)(int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, int n);
 #define oil_lift_sub_shift1 ((_oil_type_lift_sub_shift1)(*(void **)oil_function_class_ptr_lift_sub_shift1))
-extern OilFunctionClass *oil_function_class_ptr_lift_sub_shift2;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_lift_sub_shift2;
 typedef void (*_oil_type_lift_sub_shift2)(int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, int n);
 #define oil_lift_sub_shift2 ((_oil_type_lift_sub_shift2)(*(void **)oil_function_class_ptr_lift_sub_shift2))
-extern OilFunctionClass *oil_function_class_ptr_lshift_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_lshift_s16;
 typedef void (*_oil_type_lshift_s16)(int16_t * d1, const int16_t * s1, const int16_t * s2_1, int n);
 #define oil_lshift_s16 ((_oil_type_lshift_s16)(*(void **)oil_function_class_ptr_lshift_s16))
-extern OilFunctionClass *oil_function_class_ptr_mas10_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas10_u8;
 typedef void (*_oil_type_mas10_u8)(uint8_t * d, const uint8_t * s1_np9, const int16_t * s2_10, const int16_t * s3_2, int n);
 #define oil_mas10_u8 ((_oil_type_mas10_u8)(*(void **)oil_function_class_ptr_mas10_u8))
-extern OilFunctionClass *oil_function_class_ptr_mas10_u8_l15;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas10_u8_l15;
 typedef void (*_oil_type_mas10_u8_l15)(uint8_t * d, const uint8_t * s1_np9, const int16_t * s2_10, const int16_t * s3_2, int n);
 #define oil_mas10_u8_l15 ((_oil_type_mas10_u8_l15)(*(void **)oil_function_class_ptr_mas10_u8_l15))
-extern OilFunctionClass *oil_function_class_ptr_mas10_u8_sym_l15;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas10_u8_sym_l15;
 typedef void (*_oil_type_mas10_u8_sym_l15)(uint8_t * d, const uint8_t * s1_np9, const int16_t * s2_10, const int16_t * s3_2, int n);
 #define oil_mas10_u8_sym_l15 ((_oil_type_mas10_u8_sym_l15)(*(void **)oil_function_class_ptr_mas10_u8_sym_l15))
-extern OilFunctionClass *oil_function_class_ptr_mas12_addc_rshift_decim2_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas12_addc_rshift_decim2_u8;
 typedef void (*_oil_type_mas12_addc_rshift_decim2_u8)(uint8_t * d, const uint8_t * s1_2xnp11, const int16_t * s2_12, const int16_t * s3_2, int n);
 #define oil_mas12_addc_rshift_decim2_u8 ((_oil_type_mas12_addc_rshift_decim2_u8)(*(void **)oil_function_class_ptr_mas12_addc_rshift_decim2_u8))
-extern OilFunctionClass *oil_function_class_ptr_mas2_across_add_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas2_across_add_s16;
 typedef void (*_oil_type_mas2_across_add_s16)(int16_t * d, const int16_t * s1, const int16_t * s2, const int16_t * s3, const int16_t * s4_2, const int16_t * s5_2, int n);
 #define oil_mas2_across_add_s16 ((_oil_type_mas2_across_add_s16)(*(void **)oil_function_class_ptr_mas2_across_add_s16))
-extern OilFunctionClass *oil_function_class_ptr_mas2_add_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas2_add_s16;
 typedef void (*_oil_type_mas2_add_s16)(int16_t * d, const int16_t * s1, const int16_t * s2_np1, const int16_t * s3_2, const int16_t * s4_2, int n);
 #define oil_mas2_add_s16 ((_oil_type_mas2_add_s16)(*(void **)oil_function_class_ptr_mas2_add_s16))
-extern OilFunctionClass *oil_function_class_ptr_mas4_across_add_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas4_across_add_s16;
 typedef void (*_oil_type_mas4_across_add_s16)(int16_t * d, const int16_t * s1, const int16_t * s2_nx4, int sstr2, const int16_t * s3_4, const int16_t * s4_2, int n);
 #define oil_mas4_across_add_s16 ((_oil_type_mas4_across_add_s16)(*(void **)oil_function_class_ptr_mas4_across_add_s16))
-extern OilFunctionClass *oil_function_class_ptr_mas4_add_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas4_add_s16;
 typedef void (*_oil_type_mas4_add_s16)(int16_t * d, const int16_t * s1, const int16_t * s2_np3, const int16_t * s3_4, const int16_t * s4_2, int n);
 #define oil_mas4_add_s16 ((_oil_type_mas4_add_s16)(*(void **)oil_function_class_ptr_mas4_add_s16))
-extern OilFunctionClass *oil_function_class_ptr_mas8_across_add_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas8_across_add_s16;
 typedef void (*_oil_type_mas8_across_add_s16)(int16_t * d, const int16_t * s1, const int16_t * s2_nx8, int sstr2, const int16_t * s3_8, const int16_t * s4_2, int n);
 #define oil_mas8_across_add_s16 ((_oil_type_mas8_across_add_s16)(*(void **)oil_function_class_ptr_mas8_across_add_s16))
-extern OilFunctionClass *oil_function_class_ptr_mas8_across_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas8_across_u8;
 typedef void (*_oil_type_mas8_across_u8)(uint8_t * d, const uint8_t * s1_nx8, int sstr1, const int16_t * s2_8, const int16_t * s3_2, int n);
 #define oil_mas8_across_u8 ((_oil_type_mas8_across_u8)(*(void **)oil_function_class_ptr_mas8_across_u8))
-extern OilFunctionClass *oil_function_class_ptr_mas8_add_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas8_add_s16;
 typedef void (*_oil_type_mas8_add_s16)(int16_t * d, const int16_t * s1, const int16_t * s2_np7, const int16_t * s3_8, const int16_t * s4_2, int n);
 #define oil_mas8_add_s16 ((_oil_type_mas8_add_s16)(*(void **)oil_function_class_ptr_mas8_add_s16))
-extern OilFunctionClass *oil_function_class_ptr_mas8_addc_rshift_decim2_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas8_addc_rshift_decim2_u8;
 typedef void (*_oil_type_mas8_addc_rshift_decim2_u8)(uint8_t * d, const uint8_t * s1_2xnp9, const int16_t * s2_8, const int16_t * s3_2, int n);
 #define oil_mas8_addc_rshift_decim2_u8 ((_oil_type_mas8_addc_rshift_decim2_u8)(*(void **)oil_function_class_ptr_mas8_addc_rshift_decim2_u8))
-extern OilFunctionClass *oil_function_class_ptr_mas8_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas8_u8;
 typedef void (*_oil_type_mas8_u8)(uint8_t * d, const uint8_t * s1_np7, const int16_t * s2_8, const int16_t * s3_2, int n);
 #define oil_mas8_u8 ((_oil_type_mas8_u8)(*(void **)oil_function_class_ptr_mas8_u8))
-extern OilFunctionClass *oil_function_class_ptr_mas8_u8_l15;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas8_u8_l15;
 typedef void (*_oil_type_mas8_u8_l15)(uint8_t * d, const uint8_t * s1_np7, const int16_t * s2_8, const int16_t * s3_2, int n);
 #define oil_mas8_u8_l15 ((_oil_type_mas8_u8_l15)(*(void **)oil_function_class_ptr_mas8_u8_l15))
-extern OilFunctionClass *oil_function_class_ptr_mas8_u8_sym_l15;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mas8_u8_sym_l15;
 typedef void (*_oil_type_mas8_u8_sym_l15)(uint8_t * d, const uint8_t * s1_np7, const int16_t * s2_8, const int16_t * s3_2, int n);
 #define oil_mas8_u8_sym_l15 ((_oil_type_mas8_u8_sym_l15)(*(void **)oil_function_class_ptr_mas8_u8_sym_l15))
-extern OilFunctionClass *oil_function_class_ptr_maximum_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_maximum_f32;
 typedef void (*_oil_type_maximum_f32)(float * d, const float * s1, const float * s2, int n);
 #define oil_maximum_f32 ((_oil_type_maximum_f32)(*(void **)oil_function_class_ptr_maximum_f32))
-extern OilFunctionClass *oil_function_class_ptr_maximum_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_maximum_f64;
 typedef void (*_oil_type_maximum_f64)(float * d, const float * s1, const float * s2, int n);
 #define oil_maximum_f64 ((_oil_type_maximum_f64)(*(void **)oil_function_class_ptr_maximum_f64))
-extern OilFunctionClass *oil_function_class_ptr_md5;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_md5;
 typedef void (*_oil_type_md5)(uint32_t * i_4, const uint32_t * s_16);
 #define oil_md5 ((_oil_type_md5)(*(void **)oil_function_class_ptr_md5))
-extern OilFunctionClass *oil_function_class_ptr_mdct12_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mdct12_f64;
 typedef void (*_oil_type_mdct12_f64)(double * d_6, const double * s_12);
 #define oil_mdct12_f64 ((_oil_type_mdct12_f64)(*(void **)oil_function_class_ptr_mdct12_f64))
-extern OilFunctionClass *oil_function_class_ptr_mdct36_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mdct36_f64;
 typedef void (*_oil_type_mdct36_f64)(double * d_18, const double * s_36);
 #define oil_mdct36_f64 ((_oil_type_mdct36_f64)(*(void **)oil_function_class_ptr_mdct36_f64))
-extern OilFunctionClass *oil_function_class_ptr_merge_linear_argb;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_merge_linear_argb;
 typedef void (*_oil_type_merge_linear_argb)(uint32_t * d_n, const uint32_t * s_n, const uint32_t * s2_n, const uint32_t * s3_1, int n);
 #define oil_merge_linear_argb ((_oil_type_merge_linear_argb)(*(void **)oil_function_class_ptr_merge_linear_argb))
-extern OilFunctionClass *oil_function_class_ptr_merge_linear_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_merge_linear_u8;
 typedef void (*_oil_type_merge_linear_u8)(uint8_t * d_n, const uint8_t * s_n, const uint8_t * s2_n, const uint32_t * s3_1, int n);
 #define oil_merge_linear_u8 ((_oil_type_merge_linear_u8)(*(void **)oil_function_class_ptr_merge_linear_u8))
-extern OilFunctionClass *oil_function_class_ptr_minimum_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_minimum_f32;
 typedef void (*_oil_type_minimum_f32)(float * d, const float * s1, const float * s2, int n);
 #define oil_minimum_f32 ((_oil_type_minimum_f32)(*(void **)oil_function_class_ptr_minimum_f32))
-extern OilFunctionClass *oil_function_class_ptr_minimum_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_minimum_f64;
 typedef void (*_oil_type_minimum_f64)(float * d, const float * s1, const float * s2, int n);
 #define oil_minimum_f64 ((_oil_type_minimum_f64)(*(void **)oil_function_class_ptr_minimum_f64))
-extern OilFunctionClass *oil_function_class_ptr_mix_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mix_u8;
 typedef void (*_oil_type_mix_u8)(uint8_t * dest, const uint8_t * src1, const uint8_t * src2, const uint8_t * src3, int n);
 #define oil_mix_u8 ((_oil_type_mix_u8)(*(void **)oil_function_class_ptr_mix_u8))
-extern OilFunctionClass *oil_function_class_ptr_mt19937;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mt19937;
 typedef void (*_oil_type_mt19937)(uint32_t * d_624, uint32_t * i_624);
 #define oil_mt19937 ((_oil_type_mt19937)(*(void **)oil_function_class_ptr_mt19937))
-extern OilFunctionClass *oil_function_class_ptr_mult8x8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_mult8x8_s16;
 typedef void (*_oil_type_mult8x8_s16)(int16_t * d_8x8, const int16_t * s1_8x8, const int16_t * s2_8x8, int ds, int ss1, int ss2);
 #define oil_mult8x8_s16 ((_oil_type_mult8x8_s16)(*(void **)oil_function_class_ptr_mult8x8_s16))
-extern OilFunctionClass *oil_function_class_ptr_multiply_and_acc_12xn_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_multiply_and_acc_12xn_s16_u8;
 typedef void (*_oil_type_multiply_and_acc_12xn_s16_u8)(int16_t * i1_12xn, int is1, const int16_t * s1_12xn, int ss1, const uint8_t * s2_12xn, int ss2, int n);
 #define oil_multiply_and_acc_12xn_s16_u8 ((_oil_type_multiply_and_acc_12xn_s16_u8)(*(void **)oil_function_class_ptr_multiply_and_acc_12xn_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_multiply_and_acc_16xn_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_multiply_and_acc_16xn_s16_u8;
 typedef void (*_oil_type_multiply_and_acc_16xn_s16_u8)(int16_t * i1_16xn, int is1, const int16_t * s1_16xn, int ss1, const uint8_t * s2_16xn, int ss2, int n);
 #define oil_multiply_and_acc_16xn_s16_u8 ((_oil_type_multiply_and_acc_16xn_s16_u8)(*(void **)oil_function_class_ptr_multiply_and_acc_16xn_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_multiply_and_acc_24xn_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_multiply_and_acc_24xn_s16_u8;
 typedef void (*_oil_type_multiply_and_acc_24xn_s16_u8)(int16_t * i1_24xn, int is1, const int16_t * s1_24xn, int ss1, const uint8_t * s2_24xn, int ss2, int n);
 #define oil_multiply_and_acc_24xn_s16_u8 ((_oil_type_multiply_and_acc_24xn_s16_u8)(*(void **)oil_function_class_ptr_multiply_and_acc_24xn_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_multiply_and_acc_6xn_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_multiply_and_acc_6xn_s16_u8;
 typedef void (*_oil_type_multiply_and_acc_6xn_s16_u8)(int16_t * i1_6xn, int is1, const int16_t * s1_6xn, int ss1, const uint8_t * s2_6xn, int ss2, int n);
 #define oil_multiply_and_acc_6xn_s16_u8 ((_oil_type_multiply_and_acc_6xn_s16_u8)(*(void **)oil_function_class_ptr_multiply_and_acc_6xn_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_multiply_and_acc_8xn_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_multiply_and_acc_8xn_s16_u8;
 typedef void (*_oil_type_multiply_and_acc_8xn_s16_u8)(int16_t * i1_8xn, int is1, const int16_t * s1_8xn, int ss1, const uint8_t * s2_8xn, int ss2, int n);
 #define oil_multiply_and_acc_8xn_s16_u8 ((_oil_type_multiply_and_acc_8xn_s16_u8)(*(void **)oil_function_class_ptr_multiply_and_acc_8xn_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_multiply_and_add_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_multiply_and_add_s16;
 typedef void (*_oil_type_multiply_and_add_s16)(int16_t * d, const int16_t * src1, const int16_t * src2, const int16_t * src3, int n);
 #define oil_multiply_and_add_s16 ((_oil_type_multiply_and_add_s16)(*(void **)oil_function_class_ptr_multiply_and_add_s16))
-extern OilFunctionClass *oil_function_class_ptr_multiply_and_add_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_multiply_and_add_s16_u8;
 typedef void (*_oil_type_multiply_and_add_s16_u8)(int16_t * d, const int16_t * src1, const int16_t * src2, const uint8_t * src3, int n);
 #define oil_multiply_and_add_s16_u8 ((_oil_type_multiply_and_add_s16_u8)(*(void **)oil_function_class_ptr_multiply_and_add_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_multiply_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_multiply_f32;
 typedef void (*_oil_type_multiply_f32)(float * d, const float * s1, const float * s2, int n);
 #define oil_multiply_f32 ((_oil_type_multiply_f32)(*(void **)oil_function_class_ptr_multiply_f32))
-extern OilFunctionClass *oil_function_class_ptr_multiply_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_multiply_f64;
 typedef void (*_oil_type_multiply_f64)(double * d, const double * s1, const double * s2, int n);
 #define oil_multiply_f64 ((_oil_type_multiply_f64)(*(void **)oil_function_class_ptr_multiply_f64))
-extern OilFunctionClass *oil_function_class_ptr_multsum_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_multsum_f32;
 typedef void (*_oil_type_multsum_f32)(float * dest, const float * src1, int sstr1, const float * src2, int sstr2, int n);
 #define oil_multsum_f32 ((_oil_type_multsum_f32)(*(void **)oil_function_class_ptr_multsum_f32))
-extern OilFunctionClass *oil_function_class_ptr_multsum_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_multsum_f64;
 typedef void (*_oil_type_multsum_f64)(double * dest, const double * src1, int sstr1, const double * src2, int sstr2, int n);
 #define oil_multsum_f64 ((_oil_type_multsum_f64)(*(void **)oil_function_class_ptr_multsum_f64))
-extern OilFunctionClass *oil_function_class_ptr_negative_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_negative_f32;
 typedef void (*_oil_type_negative_f32)(float * d, const float * s, int n);
 #define oil_negative_f32 ((_oil_type_negative_f32)(*(void **)oil_function_class_ptr_negative_f32))
-extern OilFunctionClass *oil_function_class_ptr_null;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_null;
 typedef void (*_oil_type_null)(void);
 #define oil_null ((_oil_type_null)(*(void **)oil_function_class_ptr_null))
-extern OilFunctionClass *oil_function_class_ptr_packyuyv;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_packyuyv;
 typedef void (*_oil_type_packyuyv)(uint32_t * d, const uint8_t * s1_nx2, const uint8_t * s2, const uint8_t * s3, int n);
 #define oil_packyuyv ((_oil_type_packyuyv)(*(void **)oil_function_class_ptr_packyuyv))
-extern OilFunctionClass *oil_function_class_ptr_permute_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_permute_f32;
 typedef void (*_oil_type_permute_f32)(float * dest, int dstr, const float * src1, int sstr1, const int32_t * src2, int sstr2, int n);
 #define oil_permute_f32 ((_oil_type_permute_f32)(*(void **)oil_function_class_ptr_permute_f32))
-extern OilFunctionClass *oil_function_class_ptr_permute_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_permute_f64;
 typedef void (*_oil_type_permute_f64)(double * dest, int dstr, const double * src1, int sstr1, const int32_t * src2, int sstr2, int n);
 #define oil_permute_f64 ((_oil_type_permute_f64)(*(void **)oil_function_class_ptr_permute_f64))
-extern OilFunctionClass *oil_function_class_ptr_permute_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_permute_s16;
 typedef void (*_oil_type_permute_s16)(int16_t * dest, int dstr, const int16_t * src1, int sstr1, const int32_t * src2, int sstr2, int n);
 #define oil_permute_s16 ((_oil_type_permute_s16)(*(void **)oil_function_class_ptr_permute_s16))
-extern OilFunctionClass *oil_function_class_ptr_permute_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_permute_s32;
 typedef void (*_oil_type_permute_s32)(int32_t * dest, int dstr, const int32_t * src1, int sstr1, const int32_t * src2, int sstr2, int n);
 #define oil_permute_s32 ((_oil_type_permute_s32)(*(void **)oil_function_class_ptr_permute_s32))
-extern OilFunctionClass *oil_function_class_ptr_permute_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_permute_s8;
 typedef void (*_oil_type_permute_s8)(int8_t * dest, int dstr, const int8_t * src1, int sstr1, const int32_t * src2, int sstr2, int n);
 #define oil_permute_s8 ((_oil_type_permute_s8)(*(void **)oil_function_class_ptr_permute_s8))
-extern OilFunctionClass *oil_function_class_ptr_permute_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_permute_u16;
 typedef void (*_oil_type_permute_u16)(uint16_t * dest, int dstr, const uint16_t * src1, int sstr1, const int32_t * src2, int sstr2, int n);
 #define oil_permute_u16 ((_oil_type_permute_u16)(*(void **)oil_function_class_ptr_permute_u16))
-extern OilFunctionClass *oil_function_class_ptr_permute_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_permute_u32;
 typedef void (*_oil_type_permute_u32)(uint32_t * dest, int dstr, const uint32_t * src1, int sstr1, const int32_t * src2, int sstr2, int n);
 #define oil_permute_u32 ((_oil_type_permute_u32)(*(void **)oil_function_class_ptr_permute_u32))
-extern OilFunctionClass *oil_function_class_ptr_permute_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_permute_u8;
 typedef void (*_oil_type_permute_u8)(uint8_t * dest, int dstr, const uint8_t * src1, int sstr1, const int32_t * src2, int sstr2, int n);
 #define oil_permute_u8 ((_oil_type_permute_u8)(*(void **)oil_function_class_ptr_permute_u8))
-extern OilFunctionClass *oil_function_class_ptr_recon8x8_inter;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_recon8x8_inter;
 typedef void (*_oil_type_recon8x8_inter)(uint8_t * d_8x8, int ds, const uint8_t * s1_8x8, int ss1, const int16_t * s2_8x8);
 #define oil_recon8x8_inter ((_oil_type_recon8x8_inter)(*(void **)oil_function_class_ptr_recon8x8_inter))
-extern OilFunctionClass *oil_function_class_ptr_recon8x8_inter2;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_recon8x8_inter2;
 typedef void (*_oil_type_recon8x8_inter2)(uint8_t * d_8x8, int ds, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, int ss2, const int16_t * s3_8x8);
 #define oil_recon8x8_inter2 ((_oil_type_recon8x8_inter2)(*(void **)oil_function_class_ptr_recon8x8_inter2))
-extern OilFunctionClass *oil_function_class_ptr_recon8x8_intra;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_recon8x8_intra;
 typedef void (*_oil_type_recon8x8_intra)(uint8_t * d_8x8, int ds, const int16_t * s_8x8);
 #define oil_recon8x8_intra ((_oil_type_recon8x8_intra)(*(void **)oil_function_class_ptr_recon8x8_intra))
-extern OilFunctionClass *oil_function_class_ptr_resample_linear_argb;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_resample_linear_argb;
 typedef void (*_oil_type_resample_linear_argb)(uint32_t * d_n, const uint32_t * s_2xn, int n, uint32_t * i_2);
 #define oil_resample_linear_argb ((_oil_type_resample_linear_argb)(*(void **)oil_function_class_ptr_resample_linear_argb))
-extern OilFunctionClass *oil_function_class_ptr_resample_linear_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_resample_linear_u8;
 typedef void (*_oil_type_resample_linear_u8)(uint8_t * d_n, const uint8_t * s_2xn, int n, uint32_t * i_2);
 #define oil_resample_linear_u8 ((_oil_type_resample_linear_u8)(*(void **)oil_function_class_ptr_resample_linear_u8))
-extern OilFunctionClass *oil_function_class_ptr_rgb2bgr;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_rgb2bgr;
 typedef void (*_oil_type_rgb2bgr)(uint8_t * d_3xn, const uint8_t * s_3xn, int n);
 #define oil_rgb2bgr ((_oil_type_rgb2bgr)(*(void **)oil_function_class_ptr_rgb2bgr))
-extern OilFunctionClass *oil_function_class_ptr_rgb2rgba;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_rgb2rgba;
 typedef void (*_oil_type_rgb2rgba)(uint8_t * d_4xn, const uint8_t * s_3xn, int n);
 #define oil_rgb2rgba ((_oil_type_rgb2rgba)(*(void **)oil_function_class_ptr_rgb2rgba))
-extern OilFunctionClass *oil_function_class_ptr_rgb565_to_argb;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_rgb565_to_argb;
 typedef void (*_oil_type_rgb565_to_argb)(uint32_t * d, const uint16_t * s, int n);
 #define oil_rgb565_to_argb ((_oil_type_rgb565_to_argb)(*(void **)oil_function_class_ptr_rgb565_to_argb))
-extern OilFunctionClass *oil_function_class_ptr_rowsad8x8_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_rowsad8x8_u8;
 typedef void (*_oil_type_rowsad8x8_u8)(uint32_t * d_1, const uint8_t * s1_8x8, const uint8_t * s2_8x8);
 #define oil_rowsad8x8_u8 ((_oil_type_rowsad8x8_u8)(*(void **)oil_function_class_ptr_rowsad8x8_u8))
-extern OilFunctionClass *oil_function_class_ptr_sad12x12_12xn_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sad12x12_12xn_u8;
 typedef void (*_oil_type_sad12x12_12xn_u8)(uint32_t * d_n, const uint8_t * s1_12x12, int ss1, const uint8_t * s2_12xnp11, int ss2, int n);
 #define oil_sad12x12_12xn_u8 ((_oil_type_sad12x12_12xn_u8)(*(void **)oil_function_class_ptr_sad12x12_12xn_u8))
-extern OilFunctionClass *oil_function_class_ptr_sad12x12_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sad12x12_u8;
 typedef void (*_oil_type_sad12x12_u8)(uint32_t * d_1, const uint8_t * s1_12x12, int ss1, const uint8_t * s2_12x12, int ss2);
 #define oil_sad12x12_u8 ((_oil_type_sad12x12_u8)(*(void **)oil_function_class_ptr_sad12x12_u8))
-extern OilFunctionClass *oil_function_class_ptr_sad16x16_16xn_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sad16x16_16xn_u8;
 typedef void (*_oil_type_sad16x16_16xn_u8)(uint32_t * d_n, const uint8_t * s1_16x16, int ss1, const uint8_t * s2_16xnp15, int ss2, int n);
 #define oil_sad16x16_16xn_u8 ((_oil_type_sad16x16_16xn_u8)(*(void **)oil_function_class_ptr_sad16x16_16xn_u8))
-extern OilFunctionClass *oil_function_class_ptr_sad16x16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sad16x16_u8;
 typedef void (*_oil_type_sad16x16_u8)(uint32_t * d_1, const uint8_t * s1_16x16, int ss1, const uint8_t * s2_16x16, int ss2);
 #define oil_sad16x16_u8 ((_oil_type_sad16x16_u8)(*(void **)oil_function_class_ptr_sad16x16_u8))
-extern OilFunctionClass *oil_function_class_ptr_sad8x8_8xn_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sad8x8_8xn_u8;
 typedef void (*_oil_type_sad8x8_8xn_u8)(uint32_t * d_n, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8xnp7, int ss2, int n);
 #define oil_sad8x8_8xn_u8 ((_oil_type_sad8x8_8xn_u8)(*(void **)oil_function_class_ptr_sad8x8_8xn_u8))
-extern OilFunctionClass *oil_function_class_ptr_sad8x8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sad8x8_f64;
 typedef void (*_oil_type_sad8x8_f64)(double * d_8x8, int ds, const double * s1_8x8, int ss1, const double * s2_8x8, int ss2);
 #define oil_sad8x8_f64 ((_oil_type_sad8x8_f64)(*(void **)oil_function_class_ptr_sad8x8_f64))
-extern OilFunctionClass *oil_function_class_ptr_sad8x8_f64_2;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sad8x8_f64_2;
 typedef void (*_oil_type_sad8x8_f64_2)(double * d_1, const double * s1_8x8, int ss1, const double * s2_8x8, int ss2);
 #define oil_sad8x8_f64_2 ((_oil_type_sad8x8_f64_2)(*(void **)oil_function_class_ptr_sad8x8_f64_2))
-extern OilFunctionClass *oil_function_class_ptr_sad8x8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sad8x8_s16;
 typedef void (*_oil_type_sad8x8_s16)(uint32_t * d_8x8, int ds, const int16_t * s1_8x8, int ss1, const int16_t * s2_8x8, int ss2);
 #define oil_sad8x8_s16 ((_oil_type_sad8x8_s16)(*(void **)oil_function_class_ptr_sad8x8_s16))
-extern OilFunctionClass *oil_function_class_ptr_sad8x8_s16_2;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sad8x8_s16_2;
 typedef void (*_oil_type_sad8x8_s16_2)(uint32_t * d_1, const int16_t * s1_8x8, int ss1, const int16_t * s2_8x8, int ss2);
 #define oil_sad8x8_s16_2 ((_oil_type_sad8x8_s16_2)(*(void **)oil_function_class_ptr_sad8x8_s16_2))
-extern OilFunctionClass *oil_function_class_ptr_sad8x8_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sad8x8_u8;
 typedef void (*_oil_type_sad8x8_u8)(uint32_t * d_1, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, int ss2);
 #define oil_sad8x8_u8 ((_oil_type_sad8x8_u8)(*(void **)oil_function_class_ptr_sad8x8_u8))
-extern OilFunctionClass *oil_function_class_ptr_sad8x8_u8_avg;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sad8x8_u8_avg;
 typedef void (*_oil_type_sad8x8_u8_avg)(uint32_t * d_1, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, const uint8_t * s3_8x8, int ss2);
 #define oil_sad8x8_u8_avg ((_oil_type_sad8x8_u8_avg)(*(void **)oil_function_class_ptr_sad8x8_u8_avg))
-extern OilFunctionClass *oil_function_class_ptr_scalaradd_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalaradd_f32;
 typedef void (*_oil_type_scalaradd_f32)(float * d, int dstr, const float * s1, int sstr, const float * s2_1, int n);
 #define oil_scalaradd_f32 ((_oil_type_scalaradd_f32)(*(void **)oil_function_class_ptr_scalaradd_f32))
-extern OilFunctionClass *oil_function_class_ptr_scalaradd_f32_ns;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalaradd_f32_ns;
 typedef void (*_oil_type_scalaradd_f32_ns)(float * d, const float * s1, const float * s2_1, int n);
 #define oil_scalaradd_f32_ns ((_oil_type_scalaradd_f32_ns)(*(void **)oil_function_class_ptr_scalaradd_f32_ns))
-extern OilFunctionClass *oil_function_class_ptr_scalaradd_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalaradd_f64;
 typedef void (*_oil_type_scalaradd_f64)(double * d, int dstr, const double * s1, int sstr, const double * s2_1, int n);
 #define oil_scalaradd_f64 ((_oil_type_scalaradd_f64)(*(void **)oil_function_class_ptr_scalaradd_f64))
-extern OilFunctionClass *oil_function_class_ptr_scalaradd_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalaradd_s16;
 typedef void (*_oil_type_scalaradd_s16)(int16_t * d, int dstr, const int16_t * s1, int sstr, const int16_t * s2_1, int n);
 #define oil_scalaradd_s16 ((_oil_type_scalaradd_s16)(*(void **)oil_function_class_ptr_scalaradd_s16))
-extern OilFunctionClass *oil_function_class_ptr_scalaradd_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalaradd_s32;
 typedef void (*_oil_type_scalaradd_s32)(int32_t * d, int dstr, const int32_t * s1, int sstr, const int32_t * s2_1, int n);
 #define oil_scalaradd_s32 ((_oil_type_scalaradd_s32)(*(void **)oil_function_class_ptr_scalaradd_s32))
-extern OilFunctionClass *oil_function_class_ptr_scalaradd_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalaradd_s8;
 typedef void (*_oil_type_scalaradd_s8)(int8_t * d, int dstr, const int8_t * s1, int sstr, const int8_t * s2_1, int n);
 #define oil_scalaradd_s8 ((_oil_type_scalaradd_s8)(*(void **)oil_function_class_ptr_scalaradd_s8))
-extern OilFunctionClass *oil_function_class_ptr_scalaradd_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalaradd_u16;
 typedef void (*_oil_type_scalaradd_u16)(uint16_t * d, int dstr, const uint16_t * s1, int sstr, const uint16_t * s2_1, int n);
 #define oil_scalaradd_u16 ((_oil_type_scalaradd_u16)(*(void **)oil_function_class_ptr_scalaradd_u16))
-extern OilFunctionClass *oil_function_class_ptr_scalaradd_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalaradd_u32;
 typedef void (*_oil_type_scalaradd_u32)(uint32_t * d, int dstr, const uint32_t * s1, int sstr, const uint32_t * s2_1, int n);
 #define oil_scalaradd_u32 ((_oil_type_scalaradd_u32)(*(void **)oil_function_class_ptr_scalaradd_u32))
-extern OilFunctionClass *oil_function_class_ptr_scalaradd_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalaradd_u8;
 typedef void (*_oil_type_scalaradd_u8)(uint8_t * d, int dstr, const uint8_t * s1, int sstr, const uint8_t * s2_1, int n);
 #define oil_scalaradd_u8 ((_oil_type_scalaradd_u8)(*(void **)oil_function_class_ptr_scalaradd_u8))
-extern OilFunctionClass *oil_function_class_ptr_scalarmult_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalarmult_f32;
 typedef void (*_oil_type_scalarmult_f32)(float * d, int dstr, const float * s1, int sstr, const float * s2_1, int n);
 #define oil_scalarmult_f32 ((_oil_type_scalarmult_f32)(*(void **)oil_function_class_ptr_scalarmult_f32))
-extern OilFunctionClass *oil_function_class_ptr_scalarmult_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalarmult_f64;
 typedef void (*_oil_type_scalarmult_f64)(double * d, int dstr, const double * s1, int sstr, const double * s2_1, int n);
 #define oil_scalarmult_f64 ((_oil_type_scalarmult_f64)(*(void **)oil_function_class_ptr_scalarmult_f64))
-extern OilFunctionClass *oil_function_class_ptr_scalarmult_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalarmult_s16;
 typedef void (*_oil_type_scalarmult_s16)(int16_t * d, int dstr, const int16_t * s1, int sstr, const int16_t * s2_1, int n);
 #define oil_scalarmult_s16 ((_oil_type_scalarmult_s16)(*(void **)oil_function_class_ptr_scalarmult_s16))
-extern OilFunctionClass *oil_function_class_ptr_scalarmult_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalarmult_s32;
 typedef void (*_oil_type_scalarmult_s32)(int32_t * d, int dstr, const int32_t * s1, int sstr, const int32_t * s2_1, int n);
 #define oil_scalarmult_s32 ((_oil_type_scalarmult_s32)(*(void **)oil_function_class_ptr_scalarmult_s32))
-extern OilFunctionClass *oil_function_class_ptr_scalarmult_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalarmult_s8;
 typedef void (*_oil_type_scalarmult_s8)(int8_t * d, int dstr, const int8_t * s1, int sstr, const int8_t * s2_1, int n);
 #define oil_scalarmult_s8 ((_oil_type_scalarmult_s8)(*(void **)oil_function_class_ptr_scalarmult_s8))
-extern OilFunctionClass *oil_function_class_ptr_scalarmult_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalarmult_u16;
 typedef void (*_oil_type_scalarmult_u16)(uint16_t * d, int dstr, const uint16_t * s1, int sstr, const uint16_t * s2_1, int n);
 #define oil_scalarmult_u16 ((_oil_type_scalarmult_u16)(*(void **)oil_function_class_ptr_scalarmult_u16))
-extern OilFunctionClass *oil_function_class_ptr_scalarmult_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalarmult_u32;
 typedef void (*_oil_type_scalarmult_u32)(uint32_t * d, int dstr, const uint32_t * s1, int sstr, const uint32_t * s2_1, int n);
 #define oil_scalarmult_u32 ((_oil_type_scalarmult_u32)(*(void **)oil_function_class_ptr_scalarmult_u32))
-extern OilFunctionClass *oil_function_class_ptr_scalarmult_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalarmult_u8;
 typedef void (*_oil_type_scalarmult_u8)(uint8_t * d, int dstr, const uint8_t * s1, int sstr, const uint8_t * s2_1, int n);
 #define oil_scalarmult_u8 ((_oil_type_scalarmult_u8)(*(void **)oil_function_class_ptr_scalarmult_u8))
-extern OilFunctionClass *oil_function_class_ptr_scalarmultiply_f32_ns;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scalarmultiply_f32_ns;
 typedef void (*_oil_type_scalarmultiply_f32_ns)(float * d, const float * s1, const float * s2_1, int n);
 #define oil_scalarmultiply_f32_ns ((_oil_type_scalarmultiply_f32_ns)(*(void **)oil_function_class_ptr_scalarmultiply_f32_ns))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_f32_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_f32_s16;
 typedef void (*_oil_type_scaleconv_f32_s16)(float * dest, const int16_t * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_f32_s16 ((_oil_type_scaleconv_f32_s16)(*(void **)oil_function_class_ptr_scaleconv_f32_s16))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_f32_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_f32_s32;
 typedef void (*_oil_type_scaleconv_f32_s32)(float * dest, const int32_t * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_f32_s32 ((_oil_type_scaleconv_f32_s32)(*(void **)oil_function_class_ptr_scaleconv_f32_s32))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_f32_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_f32_s8;
 typedef void (*_oil_type_scaleconv_f32_s8)(float * dest, const int8_t * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_f32_s8 ((_oil_type_scaleconv_f32_s8)(*(void **)oil_function_class_ptr_scaleconv_f32_s8))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_f32_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_f32_u16;
 typedef void (*_oil_type_scaleconv_f32_u16)(float * dest, const uint16_t * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_f32_u16 ((_oil_type_scaleconv_f32_u16)(*(void **)oil_function_class_ptr_scaleconv_f32_u16))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_f32_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_f32_u32;
 typedef void (*_oil_type_scaleconv_f32_u32)(float * dest, const uint32_t * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_f32_u32 ((_oil_type_scaleconv_f32_u32)(*(void **)oil_function_class_ptr_scaleconv_f32_u32))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_f32_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_f32_u8;
 typedef void (*_oil_type_scaleconv_f32_u8)(float * dest, const uint8_t * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_f32_u8 ((_oil_type_scaleconv_f32_u8)(*(void **)oil_function_class_ptr_scaleconv_f32_u8))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_f64_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_f64_s16;
 typedef void (*_oil_type_scaleconv_f64_s16)(double * dest, const int16_t * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_f64_s16 ((_oil_type_scaleconv_f64_s16)(*(void **)oil_function_class_ptr_scaleconv_f64_s16))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_f64_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_f64_s32;
 typedef void (*_oil_type_scaleconv_f64_s32)(double * dest, const int32_t * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_f64_s32 ((_oil_type_scaleconv_f64_s32)(*(void **)oil_function_class_ptr_scaleconv_f64_s32))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_f64_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_f64_s8;
 typedef void (*_oil_type_scaleconv_f64_s8)(double * dest, const int8_t * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_f64_s8 ((_oil_type_scaleconv_f64_s8)(*(void **)oil_function_class_ptr_scaleconv_f64_s8))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_f64_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_f64_u16;
 typedef void (*_oil_type_scaleconv_f64_u16)(double * dest, const uint16_t * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_f64_u16 ((_oil_type_scaleconv_f64_u16)(*(void **)oil_function_class_ptr_scaleconv_f64_u16))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_f64_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_f64_u32;
 typedef void (*_oil_type_scaleconv_f64_u32)(double * dest, const uint32_t * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_f64_u32 ((_oil_type_scaleconv_f64_u32)(*(void **)oil_function_class_ptr_scaleconv_f64_u32))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_f64_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_f64_u8;
 typedef void (*_oil_type_scaleconv_f64_u8)(double * dest, const uint8_t * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_f64_u8 ((_oil_type_scaleconv_f64_u8)(*(void **)oil_function_class_ptr_scaleconv_f64_u8))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_s16_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_s16_f32;
 typedef void (*_oil_type_scaleconv_s16_f32)(int16_t * dest, const float * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_s16_f32 ((_oil_type_scaleconv_s16_f32)(*(void **)oil_function_class_ptr_scaleconv_s16_f32))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_s16_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_s16_f64;
 typedef void (*_oil_type_scaleconv_s16_f64)(int16_t * dest, const double * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_s16_f64 ((_oil_type_scaleconv_s16_f64)(*(void **)oil_function_class_ptr_scaleconv_s16_f64))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_s32_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_s32_f32;
 typedef void (*_oil_type_scaleconv_s32_f32)(int32_t * dest, const float * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_s32_f32 ((_oil_type_scaleconv_s32_f32)(*(void **)oil_function_class_ptr_scaleconv_s32_f32))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_s32_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_s32_f64;
 typedef void (*_oil_type_scaleconv_s32_f64)(int32_t * dest, const double * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_s32_f64 ((_oil_type_scaleconv_s32_f64)(*(void **)oil_function_class_ptr_scaleconv_s32_f64))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_s8_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_s8_f32;
 typedef void (*_oil_type_scaleconv_s8_f32)(int8_t * dest, const float * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_s8_f32 ((_oil_type_scaleconv_s8_f32)(*(void **)oil_function_class_ptr_scaleconv_s8_f32))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_s8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_s8_f64;
 typedef void (*_oil_type_scaleconv_s8_f64)(int8_t * dest, const double * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_s8_f64 ((_oil_type_scaleconv_s8_f64)(*(void **)oil_function_class_ptr_scaleconv_s8_f64))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_u16_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_u16_f32;
 typedef void (*_oil_type_scaleconv_u16_f32)(uint16_t * dest, const float * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_u16_f32 ((_oil_type_scaleconv_u16_f32)(*(void **)oil_function_class_ptr_scaleconv_u16_f32))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_u16_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_u16_f64;
 typedef void (*_oil_type_scaleconv_u16_f64)(uint16_t * dest, const double * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_u16_f64 ((_oil_type_scaleconv_u16_f64)(*(void **)oil_function_class_ptr_scaleconv_u16_f64))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_u32_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_u32_f32;
 typedef void (*_oil_type_scaleconv_u32_f32)(uint32_t * dest, const float * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_u32_f32 ((_oil_type_scaleconv_u32_f32)(*(void **)oil_function_class_ptr_scaleconv_u32_f32))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_u32_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_u32_f64;
 typedef void (*_oil_type_scaleconv_u32_f64)(uint32_t * dest, const double * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_u32_f64 ((_oil_type_scaleconv_u32_f64)(*(void **)oil_function_class_ptr_scaleconv_u32_f64))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_u8_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_u8_f32;
 typedef void (*_oil_type_scaleconv_u8_f32)(uint8_t * dest, const float * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_u8_f32 ((_oil_type_scaleconv_u8_f32)(*(void **)oil_function_class_ptr_scaleconv_u8_f32))
-extern OilFunctionClass *oil_function_class_ptr_scaleconv_u8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scaleconv_u8_f64;
 typedef void (*_oil_type_scaleconv_u8_f64)(uint8_t * dest, const double * src, int n, const double * s2_1, const double * s3_1);
 #define oil_scaleconv_u8_f64 ((_oil_type_scaleconv_u8_f64)(*(void **)oil_function_class_ptr_scaleconv_u8_f64))
-extern OilFunctionClass *oil_function_class_ptr_scanlinescale2_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_scanlinescale2_u8;
 typedef void (*_oil_type_scanlinescale2_u8)(uint8_t * d, const uint8_t * s, int n);
 #define oil_scanlinescale2_u8 ((_oil_type_scanlinescale2_u8)(*(void **)oil_function_class_ptr_scanlinescale2_u8))
-extern OilFunctionClass *oil_function_class_ptr_sign_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sign_f32;
 typedef void (*_oil_type_sign_f32)(float * d, const float * s, int n);
 #define oil_sign_f32 ((_oil_type_sign_f32)(*(void **)oil_function_class_ptr_sign_f32))
-extern OilFunctionClass *oil_function_class_ptr_sincos_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sincos_f64;
 typedef void (*_oil_type_sincos_f64)(double * dest1, double * dest2, int n, const double * s1_1, const double * s2_1);
 #define oil_sincos_f64 ((_oil_type_sincos_f64)(*(void **)oil_function_class_ptr_sincos_f64))
-extern OilFunctionClass *oil_function_class_ptr_splat_u16_ns;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_splat_u16_ns;
 typedef void (*_oil_type_splat_u16_ns)(uint16_t * dest, const uint16_t * s1_1, int n);
 #define oil_splat_u16_ns ((_oil_type_splat_u16_ns)(*(void **)oil_function_class_ptr_splat_u16_ns))
-extern OilFunctionClass *oil_function_class_ptr_splat_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_splat_u32;
 typedef void (*_oil_type_splat_u32)(uint32_t * dest, int dstr, const uint32_t * s1_1, int n);
 #define oil_splat_u32 ((_oil_type_splat_u32)(*(void **)oil_function_class_ptr_splat_u32))
-extern OilFunctionClass *oil_function_class_ptr_splat_u32_ns;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_splat_u32_ns;
 typedef void (*_oil_type_splat_u32_ns)(uint32_t * dest, const uint32_t * s1_1, int n);
 #define oil_splat_u32_ns ((_oil_type_splat_u32_ns)(*(void **)oil_function_class_ptr_splat_u32_ns))
-extern OilFunctionClass *oil_function_class_ptr_splat_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_splat_u8;
 typedef void (*_oil_type_splat_u8)(uint8_t * dest, int dstr, const uint8_t * s1_1, int n);
 #define oil_splat_u8 ((_oil_type_splat_u8)(*(void **)oil_function_class_ptr_splat_u8))
-extern OilFunctionClass *oil_function_class_ptr_splat_u8_ns;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_splat_u8_ns;
 typedef void (*_oil_type_splat_u8_ns)(uint8_t * dest, const uint8_t * s1_1, int n);
 #define oil_splat_u8_ns ((_oil_type_splat_u8_ns)(*(void **)oil_function_class_ptr_splat_u8_ns))
-extern OilFunctionClass *oil_function_class_ptr_split_135;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_split_135;
 typedef void (*_oil_type_split_135)(int16_t * d_2xn, const int16_t * s_2xn, int n);
 #define oil_split_135 ((_oil_type_split_135)(*(void **)oil_function_class_ptr_split_135))
-extern OilFunctionClass *oil_function_class_ptr_split_53;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_split_53;
 typedef void (*_oil_type_split_53)(int16_t * d_2xn, const int16_t * s_2xn, int n);
 #define oil_split_53 ((_oil_type_split_53)(*(void **)oil_function_class_ptr_split_53))
-extern OilFunctionClass *oil_function_class_ptr_split_approx97;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_split_approx97;
 typedef void (*_oil_type_split_approx97)(int16_t * d_2xn, const int16_t * s_2xn, int n);
 #define oil_split_approx97 ((_oil_type_split_approx97)(*(void **)oil_function_class_ptr_split_approx97))
-extern OilFunctionClass *oil_function_class_ptr_split_daub97;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_split_daub97;
 typedef void (*_oil_type_split_daub97)(int16_t * d_2xn, const int16_t * s_2xn, int n);
 #define oil_split_daub97 ((_oil_type_split_daub97)(*(void **)oil_function_class_ptr_split_daub97))
-extern OilFunctionClass *oil_function_class_ptr_squaresum_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_squaresum_f32;
 typedef void (*_oil_type_squaresum_f32)(float * d, const float * s, int n);
 #define oil_squaresum_f32 ((_oil_type_squaresum_f32)(*(void **)oil_function_class_ptr_squaresum_f32))
-extern OilFunctionClass *oil_function_class_ptr_squaresum_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_squaresum_f64;
 typedef void (*_oil_type_squaresum_f64)(double * d, const double * s, int n);
 #define oil_squaresum_f64 ((_oil_type_squaresum_f64)(*(void **)oil_function_class_ptr_squaresum_f64))
-extern OilFunctionClass *oil_function_class_ptr_squaresum_shifted_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_squaresum_shifted_s16;
 typedef void (*_oil_type_squaresum_shifted_s16)(uint32_t * d, const int16_t * s, int n);
 #define oil_squaresum_shifted_s16 ((_oil_type_squaresum_shifted_s16)(*(void **)oil_function_class_ptr_squaresum_shifted_s16))
-extern OilFunctionClass *oil_function_class_ptr_subtract_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_subtract_f32;
 typedef void (*_oil_type_subtract_f32)(float * d, const float * s1, const float * s2, int n);
 #define oil_subtract_f32 ((_oil_type_subtract_f32)(*(void **)oil_function_class_ptr_subtract_f32))
-extern OilFunctionClass *oil_function_class_ptr_subtract_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_subtract_f64;
 typedef void (*_oil_type_subtract_f64)(double * d, const double * s1, const double * s2, int n);
 #define oil_subtract_f64 ((_oil_type_subtract_f64)(*(void **)oil_function_class_ptr_subtract_f64))
-extern OilFunctionClass *oil_function_class_ptr_subtract_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_subtract_s16;
 typedef void (*_oil_type_subtract_s16)(int16_t * d, const int16_t * src1, const int16_t * src2, int n);
 #define oil_subtract_s16 ((_oil_type_subtract_s16)(*(void **)oil_function_class_ptr_subtract_s16))
-extern OilFunctionClass *oil_function_class_ptr_subtract_s16_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_subtract_s16_u8;
 typedef void (*_oil_type_subtract_s16_u8)(int16_t * d, const int16_t * src1, const uint8_t * src2, int n);
 #define oil_subtract_s16_u8 ((_oil_type_subtract_s16_u8)(*(void **)oil_function_class_ptr_subtract_s16_u8))
-extern OilFunctionClass *oil_function_class_ptr_sum_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sum_f64;
 typedef void (*_oil_type_sum_f64)(double * d_1, const double * s, int sstr, int n);
 #define oil_sum_f64 ((_oil_type_sum_f64)(*(void **)oil_function_class_ptr_sum_f64))
-extern OilFunctionClass *oil_function_class_ptr_sum_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_sum_s16;
 typedef void (*_oil_type_sum_s16)(int16_t * d_1, const int16_t * s, int n);
 #define oil_sum_s16 ((_oil_type_sum_s16)(*(void **)oil_function_class_ptr_sum_s16))
-extern OilFunctionClass *oil_function_class_ptr_swab_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_swab_u16;
 typedef void (*_oil_type_swab_u16)(uint16_t * d_n, const uint16_t * s_n, int n);
 #define oil_swab_u16 ((_oil_type_swab_u16)(*(void **)oil_function_class_ptr_swab_u16))
-extern OilFunctionClass *oil_function_class_ptr_swab_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_swab_u32;
 typedef void (*_oil_type_swab_u32)(uint32_t * d_n, const uint32_t * s_n, int n);
 #define oil_swab_u32 ((_oil_type_swab_u32)(*(void **)oil_function_class_ptr_swab_u32))
-extern OilFunctionClass *oil_function_class_ptr_synth_135;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_synth_135;
 typedef void (*_oil_type_synth_135)(int16_t * d_2xn, const int16_t * s_2xn, int n);
 #define oil_synth_135 ((_oil_type_synth_135)(*(void **)oil_function_class_ptr_synth_135))
-extern OilFunctionClass *oil_function_class_ptr_synth_53;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_synth_53;
 typedef void (*_oil_type_synth_53)(int16_t * d_2xn, const int16_t * s_2xn, int n);
 #define oil_synth_53 ((_oil_type_synth_53)(*(void **)oil_function_class_ptr_synth_53))
-extern OilFunctionClass *oil_function_class_ptr_synth_approx97;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_synth_approx97;
 typedef void (*_oil_type_synth_approx97)(int16_t * d_2xn, const int16_t * s_2xn, int n);
 #define oil_synth_approx97 ((_oil_type_synth_approx97)(*(void **)oil_function_class_ptr_synth_approx97))
-extern OilFunctionClass *oil_function_class_ptr_synth_daub97;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_synth_daub97;
 typedef void (*_oil_type_synth_daub97)(int16_t * d_2xn, const int16_t * s_2xn, int n);
 #define oil_synth_daub97 ((_oil_type_synth_daub97)(*(void **)oil_function_class_ptr_synth_daub97))
-extern OilFunctionClass *oil_function_class_ptr_tablelookup_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_tablelookup_u8;
 typedef void (*_oil_type_tablelookup_u8)(uint8_t * d, int ds, const uint8_t * s1, int ss1, const uint8_t * s2_256, int ss2, int n);
 #define oil_tablelookup_u8 ((_oil_type_tablelookup_u8)(*(void **)oil_function_class_ptr_tablelookup_u8))
-extern OilFunctionClass *oil_function_class_ptr_testzero_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_testzero_u8;
 typedef void (*_oil_type_testzero_u8)(uint32_t * d_1, const uint8_t * s, int n);
 #define oil_testzero_u8 ((_oil_type_testzero_u8)(*(void **)oil_function_class_ptr_testzero_u8))
-extern OilFunctionClass *oil_function_class_ptr_trans8x8_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_trans8x8_f64;
 typedef void (*_oil_type_trans8x8_f64)(double * d_8x8, int ds, const double * s_8x8, int ss);
 #define oil_trans8x8_f64 ((_oil_type_trans8x8_f64)(*(void **)oil_function_class_ptr_trans8x8_f64))
-extern OilFunctionClass *oil_function_class_ptr_trans8x8_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_trans8x8_u16;
 typedef void (*_oil_type_trans8x8_u16)(uint16_t * d_8x8, int ds, const uint16_t * s_8x8, int ss);
 #define oil_trans8x8_u16 ((_oil_type_trans8x8_u16)(*(void **)oil_function_class_ptr_trans8x8_u16))
-extern OilFunctionClass *oil_function_class_ptr_trans8x8_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_trans8x8_u32;
 typedef void (*_oil_type_trans8x8_u32)(uint32_t * d_8x8, int ds, const uint32_t * s_8x8, int ss);
 #define oil_trans8x8_u32 ((_oil_type_trans8x8_u32)(*(void **)oil_function_class_ptr_trans8x8_u32))
-extern OilFunctionClass *oil_function_class_ptr_trans8x8_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_trans8x8_u8;
 typedef void (*_oil_type_trans8x8_u8)(uint8_t * d_8x8, int ds, const uint8_t * s_8x8, int ss);
 #define oil_trans8x8_u8 ((_oil_type_trans8x8_u8)(*(void **)oil_function_class_ptr_trans8x8_u8))
-extern OilFunctionClass *oil_function_class_ptr_unpackyuyv;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_unpackyuyv;
 typedef void (*_oil_type_unpackyuyv)(uint8_t * d1_nx2, uint8_t * d2, uint8_t * d3, const uint32_t * s, int n);
 #define oil_unpackyuyv ((_oil_type_unpackyuyv)(*(void **)oil_function_class_ptr_unpackyuyv))
-extern OilFunctionClass *oil_function_class_ptr_unzigzag8x8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_unzigzag8x8_s16;
 typedef void (*_oil_type_unzigzag8x8_s16)(int16_t * d_8x8, int ds, const int16_t * s_8x8, int ss);
 #define oil_unzigzag8x8_s16 ((_oil_type_unzigzag8x8_s16)(*(void **)oil_function_class_ptr_unzigzag8x8_s16))
-extern OilFunctionClass *oil_function_class_ptr_utf8_validate;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_utf8_validate;
 typedef void (*_oil_type_utf8_validate)(int32_t * d_1, const uint8_t * s, int n);
 #define oil_utf8_validate ((_oil_type_utf8_validate)(*(void **)oil_function_class_ptr_utf8_validate))
-extern OilFunctionClass *oil_function_class_ptr_uyvy2ayuv;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_uyvy2ayuv;
 typedef void (*_oil_type_uyvy2ayuv)(uint32_t * d_n, const uint32_t * s_n, int n);
 #define oil_uyvy2ayuv ((_oil_type_uyvy2ayuv)(*(void **)oil_function_class_ptr_uyvy2ayuv))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_f32;
 typedef void (*_oil_type_vectoradd_f32)(float * d, int dstr, const float * s1, int sstr1, const float * s2, int sstr2, int n, const float * s3_1, const float * s4_1);
 #define oil_vectoradd_f32 ((_oil_type_vectoradd_f32)(*(void **)oil_function_class_ptr_vectoradd_f32))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_f64;
 typedef void (*_oil_type_vectoradd_f64)(double * d, int dstr, const double * s1, int sstr1, const double * s2, int sstr2, int n, const double * s3_1, const double * s4_1);
 #define oil_vectoradd_f64 ((_oil_type_vectoradd_f64)(*(void **)oil_function_class_ptr_vectoradd_f64))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_s16;
 typedef void (*_oil_type_vectoradd_s16)(int16_t * d, int dstr, const int16_t * s1, int sstr1, const int16_t * s2, int sstr2, int n, const int16_t * s3_1, const int16_t * s4_1);
 #define oil_vectoradd_s16 ((_oil_type_vectoradd_s16)(*(void **)oil_function_class_ptr_vectoradd_s16))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_s32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_s32;
 typedef void (*_oil_type_vectoradd_s32)(int32_t * d, int dstr, const int32_t * s1, int sstr1, const int32_t * s2, int sstr2, int n, const int32_t * s3_1, const int32_t * s4_1);
 #define oil_vectoradd_s32 ((_oil_type_vectoradd_s32)(*(void **)oil_function_class_ptr_vectoradd_s32))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_s8;
 typedef void (*_oil_type_vectoradd_s8)(int8_t * d, int dstr, const int8_t * s1, int sstr1, const int8_t * s2, int sstr2, int n, const int8_t * s3_1, const int8_t * s4_1);
 #define oil_vectoradd_s8 ((_oil_type_vectoradd_s8)(*(void **)oil_function_class_ptr_vectoradd_s8))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_s_f32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_s_f32;
 typedef void (*_oil_type_vectoradd_s_f32)(float * d, int dstr, const float * s1, int sstr1, const float * s2, int sstr2, int n);
 #define oil_vectoradd_s_f32 ((_oil_type_vectoradd_s_f32)(*(void **)oil_function_class_ptr_vectoradd_s_f32))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_s_f64;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_s_f64;
 typedef void (*_oil_type_vectoradd_s_f64)(double * d, int dstr, const double * s1, int sstr1, const double * s2, int sstr2, int n);
 #define oil_vectoradd_s_f64 ((_oil_type_vectoradd_s_f64)(*(void **)oil_function_class_ptr_vectoradd_s_f64))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_s_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_s_s16;
 typedef void (*_oil_type_vectoradd_s_s16)(int16_t * d, int dstr, const int16_t * s1, int sstr1, const int16_t * s2, int sstr2, int n);
 #define oil_vectoradd_s_s16 ((_oil_type_vectoradd_s_s16)(*(void **)oil_function_class_ptr_vectoradd_s_s16))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_s_s8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_s_s8;
 typedef void (*_oil_type_vectoradd_s_s8)(int8_t * d, int dstr, const int8_t * s1, int sstr1, const int8_t * s2, int sstr2, int n);
 #define oil_vectoradd_s_s8 ((_oil_type_vectoradd_s_s8)(*(void **)oil_function_class_ptr_vectoradd_s_s8))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_s_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_s_u16;
 typedef void (*_oil_type_vectoradd_s_u16)(uint16_t * d, int dstr, const uint16_t * s1, int sstr1, const uint16_t * s2, int sstr2, int n);
 #define oil_vectoradd_s_u16 ((_oil_type_vectoradd_s_u16)(*(void **)oil_function_class_ptr_vectoradd_s_u16))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_s_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_s_u8;
 typedef void (*_oil_type_vectoradd_s_u8)(uint8_t * d, int dstr, const uint8_t * s1, int sstr1, const uint8_t * s2, int sstr2, int n);
 #define oil_vectoradd_s_u8 ((_oil_type_vectoradd_s_u8)(*(void **)oil_function_class_ptr_vectoradd_s_u8))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_u16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_u16;
 typedef void (*_oil_type_vectoradd_u16)(uint16_t * d, int dstr, const uint16_t * s1, int sstr1, const uint16_t * s2, int sstr2, int n, const uint16_t * s3_1, const uint16_t * s4_1);
 #define oil_vectoradd_u16 ((_oil_type_vectoradd_u16)(*(void **)oil_function_class_ptr_vectoradd_u16))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_u32;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_u32;
 typedef void (*_oil_type_vectoradd_u32)(uint32_t * d, int dstr, const uint32_t * s1, int sstr1, const uint32_t * s2, int sstr2, int n, const uint32_t * s3_1, const uint32_t * s4_1);
 #define oil_vectoradd_u32 ((_oil_type_vectoradd_u32)(*(void **)oil_function_class_ptr_vectoradd_u32))
-extern OilFunctionClass *oil_function_class_ptr_vectoradd_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_vectoradd_u8;
 typedef void (*_oil_type_vectoradd_u8)(uint8_t * d, int dstr, const uint8_t * s1, int sstr1, const uint8_t * s2, int sstr2, int n, const uint8_t * s3_1, const uint8_t * s4_1);
 #define oil_vectoradd_u8 ((_oil_type_vectoradd_u8)(*(void **)oil_function_class_ptr_vectoradd_u8))
-extern OilFunctionClass *oil_function_class_ptr_yuv2rgbx_sub2_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_yuv2rgbx_sub2_u8;
 typedef void (*_oil_type_yuv2rgbx_sub2_u8)(uint8_t * d_4xn, const uint8_t * src1, const uint8_t * src2, const uint8_t * src3, int n);
 #define oil_yuv2rgbx_sub2_u8 ((_oil_type_yuv2rgbx_sub2_u8)(*(void **)oil_function_class_ptr_yuv2rgbx_sub2_u8))
-extern OilFunctionClass *oil_function_class_ptr_yuv2rgbx_sub4_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_yuv2rgbx_sub4_u8;
 typedef void (*_oil_type_yuv2rgbx_sub4_u8)(uint8_t * d_4xn, const uint8_t * src1, const uint8_t * src2, const uint8_t * src3, int n);
 #define oil_yuv2rgbx_sub4_u8 ((_oil_type_yuv2rgbx_sub4_u8)(*(void **)oil_function_class_ptr_yuv2rgbx_sub4_u8))
-extern OilFunctionClass *oil_function_class_ptr_yuv2rgbx_u8;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_yuv2rgbx_u8;
 typedef void (*_oil_type_yuv2rgbx_u8)(uint8_t * d_4xn, const uint8_t * src1, const uint8_t * src2, const uint8_t * src3, int n);
 #define oil_yuv2rgbx_u8 ((_oil_type_yuv2rgbx_u8)(*(void **)oil_function_class_ptr_yuv2rgbx_u8))
-extern OilFunctionClass *oil_function_class_ptr_yuyv2ayuv;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_yuyv2ayuv;
 typedef void (*_oil_type_yuyv2ayuv)(uint32_t * d_n, const uint32_t * s_n, int n);
 #define oil_yuyv2ayuv ((_oil_type_yuyv2ayuv)(*(void **)oil_function_class_ptr_yuyv2ayuv))
-extern OilFunctionClass *oil_function_class_ptr_yvyu2ayuv;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_yvyu2ayuv;
 typedef void (*_oil_type_yvyu2ayuv)(uint32_t * d_n, const uint32_t * s_n, int n);
 #define oil_yvyu2ayuv ((_oil_type_yvyu2ayuv)(*(void **)oil_function_class_ptr_yvyu2ayuv))
-extern OilFunctionClass *oil_function_class_ptr_zigzag8x8_s16;
+OIL_EXPORT OilFunctionClass *oil_function_class_ptr_zigzag8x8_s16;
 typedef void (*_oil_type_zigzag8x8_s16)(int16_t * d_8x8, int ds, const int16_t * s_8x8, int ss);
 #define oil_zigzag8x8_s16 ((_oil_type_zigzag8x8_s16)(*(void **)oil_function_class_ptr_zigzag8x8_s16))
 
diff --git a/liboil/liboilutils.h b/liboil/liboilutils.h
index d1cf010..693f722 100644
--- a/liboil/liboilutils.h
+++ b/liboil/liboilutils.h
@@ -82,6 +82,15 @@ typedef unsigned int oil_bool;
 #define OIL_END_DECLS
 #endif
 
+#ifdef _MSC_VER
+#ifdef OIL_EXPORTS
+#define OIL_EXPORT __declspec(dllexport) extern
+#else
+#define OIL_EXPORT __declspec(dllimport) extern
+#endif
+#else /* not _MSC_VER */
+#define OIL_EXPORT extern
+#endif
 
 OIL_BEGIN_DECLS
 


More information about the Liboil-commit mailing list