summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2004-12-22 03:18:29 +0000
committerDavid Schleef <ds@schleef.org>2004-12-22 03:18:29 +0000
commitc7b48c5a84de78190fbbe18415431db7d7e8211a (patch)
treed7c68235d08076fd472d8efd7fbc8f376992ce02
parente9214f67e20ea9e735dd8391dd62d332e1378f90 (diff)
downloadliboil-c7b48c5a84de78190fbbe18415431db7d7e8211a.tar.gz
* autogen.sh: who needs static libraries
* examples/jpeg/jpeg.c: (jpeg_decoder_decode_entropy_segment), (sprintbits): clean up * examples/jpeg/test_rgb.c: (main): clean up * examples/md5/md5sum.c: (main): use mmap only if available * examples/uberopt/Makefile.am: depends on glib * liboil/Makefile.am: liboilarray.c depends on Makefile * liboil/dct/Makefile.am: add code * liboil/dct/fdct8x8_f64.c: (fdct8x8_f64_ref), (fdct8x8_f64_ref2), (fdct8x8_f64_1d): fix code to compile * liboil/dct/fdct8x8s_s16.c: (fdct8x8s_s16_ref): same * liboil/liboildebug.c: (oil_debug_print_valist): make stuff const * liboil/liboilfuncs.h: random update * liboil/liboilprofile.h: add arm * liboil/liboilprototype.c: make stuff const * testsuite/Makefile.am: add test
-rw-r--r--ChangeLog19
-rwxr-xr-xautogen.sh3
-rw-r--r--examples/jpeg/jpeg.c33
-rw-r--r--examples/jpeg/test_rgb.c24
-rw-r--r--examples/md5/md5sum.c26
-rw-r--r--examples/uberopt/Makefile.am4
-rw-r--r--liboil/Makefile.am2
-rw-r--r--liboil/dct/Makefile.am12
-rw-r--r--liboil/dct/fdct8x8_f64.c29
-rw-r--r--liboil/dct/fdct8x8s_s16.c10
-rw-r--r--liboil/liboildebug.c4
-rw-r--r--liboil/liboilfuncs.h134
-rw-r--r--liboil/liboilprofile.h13
-rw-r--r--liboil/liboilprototype.c4
-rw-r--r--testsuite/Makefile.am4
15 files changed, 193 insertions, 128 deletions
diff --git a/ChangeLog b/ChangeLog
index 4c787a3..1b458c8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,24 @@
2004-12-21 David Schleef <ds@schleef.org>
+ * autogen.sh: who needs static libraries
+ * examples/jpeg/jpeg.c: (jpeg_decoder_decode_entropy_segment),
+ (sprintbits): clean up
+ * examples/jpeg/test_rgb.c: (main): clean up
+ * examples/md5/md5sum.c: (main): use mmap only if available
+ * examples/uberopt/Makefile.am: depends on glib
+ * liboil/Makefile.am: liboilarray.c depends on Makefile
+ * liboil/dct/Makefile.am: add code
+ * liboil/dct/fdct8x8_f64.c: (fdct8x8_f64_ref), (fdct8x8_f64_ref2),
+ (fdct8x8_f64_1d): fix code to compile
+ * liboil/dct/fdct8x8s_s16.c: (fdct8x8s_s16_ref): same
+ * liboil/liboildebug.c: (oil_debug_print_valist): make stuff const
+ * liboil/liboilfuncs.h: random update
+ * liboil/liboilprofile.h: add arm
+ * liboil/liboilprototype.c: make stuff const
+ * testsuite/Makefile.am: add test
+
+2004-12-21 David Schleef <ds@schleef.org>
+
* COPYING: change to BSD license
* license_block: license block
* liboil/copy/copy_powerpc.c: (copy_u8_altivec2),
diff --git a/autogen.sh b/autogen.sh
index 7346ecc..e0e2f54 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -5,4 +5,5 @@ libtoolize --force
autoheader
autoconf
automake -a --foreign
-./configure --enable-maintainer-mode --enable-alternate-optimization $@
+#./configure --enable-maintainer-mode --enable-alternate-optimization $@
+./configure --enable-maintainer-mode --disable-static $@
diff --git a/examples/jpeg/jpeg.c b/examples/jpeg/jpeg.c
index c45e901..82558e9 100644
--- a/examples/jpeg/jpeg.c
+++ b/examples/jpeg/jpeg.c
@@ -192,10 +192,7 @@ static unsigned char std_tables[] = {
static void dumpbits (bits_t * bits);
static char *sprintbits (char *str, unsigned int bits, int n);
-static void dump_block8x8_s16 (short *q);
-static void dequant8x8_s16 (short *dest, short *src, short *mult);
-//static void clipconv8x8_u8_s16(unsigned char *dest, int stride, short *src);
static void huffman_table_load_std_jpeg (JpegDecoder * dec);
@@ -727,14 +724,14 @@ jpeg_decoder_decode_entropy_segment (JpegDecoder * dec, bits_t * bits)
}
JPEG_DEBUG (3, "using quant table %d\n", quant_index);
- dequant8x8_s16 (block2, block, dec->quant_table[quant_index]);
+ oil_mult8x8_s16 (block2, block, dec->quant_table[quant_index],
+ sizeof (short) * 8, sizeof(short) * 8, sizeof (short) * 8);
dec->dc[component_index] += block2[0];
block2[0] = dec->dc[component_index];
oil_unzigzag8x8_s16 (block, sizeof (short) * 8, block2,
sizeof (short) * 8);
oil_idct8x8_s16 (block2, sizeof (short) * 8, block, sizeof (short) * 8);
-
- dump_block8x8_s16 (block2);
+ oil_trans8x8_u16 (block, sizeof (short) * 8, block2, sizeof (short) * 8);
ptr = dec->components[component_index].image +
x * dec->components[component_index].h_oversample +
@@ -744,7 +741,7 @@ jpeg_decoder_decode_entropy_segment (JpegDecoder * dec, bits_t * bits)
oil_clipconv8x8_u8_s16 (ptr,
dec->components[component_index].rowstride,
- block2, sizeof (short) * 8);
+ block, sizeof (short) * 8);
}
x += 8;
if (x * dec->scan_h_subsample >= dec->width) {
@@ -959,28 +956,6 @@ sprintbits (char *str, unsigned int bits, int n)
}
static void
-dump_block8x8_s16 (short *q)
-{
- int i;
-
- for (i = 0; i < 8; i++) {
- JPEG_DEBUG (3, "%3d %3d %3d %3d %3d %3d %3d %3d\n",
- q[0], q[1], q[2], q[3], q[4], q[5], q[6], q[7]);
- q += 8;
- }
-}
-
-static void
-dequant8x8_s16 (short *dest, short *src, short *mult)
-{
- int i;
-
- for (i = 0; i < 64; i++) {
- dest[i] = src[i] * mult[i];
- }
-}
-
-static void
huffman_table_load_std_jpeg (JpegDecoder * dec)
{
bits_t b, *bits = &b;
diff --git a/examples/jpeg/test_rgb.c b/examples/jpeg/test_rgb.c
index 2c5ad8c..39f2fd0 100644
--- a/examples/jpeg/test_rgb.c
+++ b/examples/jpeg/test_rgb.c
@@ -14,12 +14,12 @@ void *getfile (char *path, int *n_bytes);
static void dump_pnm (unsigned char *ptr, int rowstride, int width, int height);
int
-main2 (int argc, char *argv[])
+main (int argc, char *argv[])
{
unsigned char *data;
int len;
JpegRGBDecoder *dec;
- char *fn = "biglebowski.jpg";
+ char *fn;
unsigned char *ptr;
int rowstride;
int width;
@@ -27,10 +27,18 @@ main2 (int argc, char *argv[])
dec = jpeg_rgb_decoder_new ();
- if (argc > 1)
- fn = argv[1];
+ if (argc < 2) {
+ g_print("jpeg_rgb_test <file.jpg>\n");
+ exit(1);
+ }
+ fn = argv[1];
data = getfile (fn, &len);
+ if (data == NULL) {
+ g_print("cannot read file %s\n", fn);
+ exit(1);
+ }
+
jpeg_rgb_decoder_addbits (dec, data, len);
jpeg_rgb_decoder_parse (dec);
@@ -46,14 +54,6 @@ main2 (int argc, char *argv[])
return 0;
}
-int
-main (int argc, char *argv[])
-{
- return main2 (argc, argv);
-}
-
-
-
/* getfile */
diff --git a/examples/md5/md5sum.c b/examples/md5/md5sum.c
index 9dd266b..ca05e45 100644
--- a/examples/md5/md5sum.c
+++ b/examples/md5/md5sum.c
@@ -1,3 +1,4 @@
+#define HAVE_MMAN_H
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -10,8 +11,12 @@
#include <stdlib.h>
#include <sys/stat.h>
+#ifdef HAVE_MMAN_H
#include <sys/mman.h>
+#endif
+#include <errno.h>
#include <fcntl.h>
+#include <unistd.h>
#ifdef WORDS_BIGENDIAN
#define uint32_from_host(a) \
@@ -115,7 +120,26 @@ int main(int argc, char *argv[])
ret = fstat (fd, &st);
n_bytes = st.st_size;
- ptr = mmap (NULL, n_bytes, PROT_READ, MAP_PRIVATE, fd, 0);
+#ifdef HAVE_MMAN_H
+ while (1) {
+ ptr = mmap (NULL, n_bytes, PROT_READ, MAP_SHARED | MAP_POPULATE, fd, 0);
+ getpid();
+ if (ptr == MAP_FAILED) {
+ if (errno == EAGAIN) {
+ printf("egain\n");
+
+ } else {
+ perror ("mmap failed");
+ exit(1);
+ }
+ } else {
+ break;
+ }
+ }
+#else
+ printf ("no mmap\n");
+ exit(1);
+#endif
state[0] = 0x67452301;
state[1] = 0xefcdab89;
diff --git a/examples/uberopt/Makefile.am b/examples/uberopt/Makefile.am
index 2028c79..f718517 100644
--- a/examples/uberopt/Makefile.am
+++ b/examples/uberopt/Makefile.am
@@ -2,7 +2,11 @@
EXTRA_DIST = example.c
+if HAVE_GLIB
noinst_PROGRAMS = uberopt
+else
+noinst_PROGRAMS =
+endif
uberopt_SOURCES = uberopt.c
uberopt_CFLAGS = $(LIBOIL_CFLAGS) $(GLIB_CFLAGS)
diff --git a/liboil/Makefile.am b/liboil/Makefile.am
index 8a15b5e..5089284 100644
--- a/liboil/Makefile.am
+++ b/liboil/Makefile.am
@@ -63,7 +63,7 @@ build_prototypes_SOURCES = build_prototypes.c
build_prototypes_CFLAGS = $(LIBOIL_CFLAGS)
build_prototypes_LDFLAGS = $(LIBOIL_LIBS)
-liboilarray.c: liboiltmp1.la
+liboilarray.c: liboiltmp1.la Makefile
echo '/* This file is autogenerated. Do not edit */' >liboilarray.c
echo >>liboilarray.c
echo '#include <liboil/liboilfunction.h>' >>liboilarray.c
diff --git a/liboil/dct/Makefile.am b/liboil/dct/Makefile.am
index f601638..9744e53 100644
--- a/liboil/dct/Makefile.am
+++ b/liboil/dct/Makefile.am
@@ -10,16 +10,26 @@ noinst_LTLIBRARIES = libdct.la $(opt_libs)
noinst_HEADERS = \
dct.h
+if HAVE_CPU_I386
+i386_sources = \
+ idct8x8_i386.c
+else
+i386_sources =
+endif
+
c_sources = \
dct12_f32.c \
dct36_f32.c \
fdct8_f64.c \
+ fdct8x8_f64.c \
+ fdct8x8s_s16.c \
idct8_f64.c \
idct8x8_c.c \
imdct32_f32.c
libdct_la_SOURCES = \
- $(c_sources)
+ $(c_sources) \
+ $(i386_sources)
libdct_la_CFLAGS = $(LIBOIL_CFLAGS)
libdct_la_LIBADD = $(opt_libs)
diff --git a/liboil/dct/fdct8x8_f64.c b/liboil/dct/fdct8x8_f64.c
index bba8c6d..9b94c12 100644
--- a/liboil/dct/fdct8x8_f64.c
+++ b/liboil/dct/fdct8x8_f64.c
@@ -26,10 +26,12 @@
#include <math.h>
-OIL_DEFINE_CLASS(fdct8x8_f64, NULL);
+OIL_DEFINE_CLASS(fdct8x8_f64,
+ "double *d_8x8, int dstr, double *s_8x8, int sstr");
-static void fdct8x8_f64_ref(double *d_8x8, int dstr, double *s_8x8, int sstr)
+static void
+fdct8x8_f64_ref(double *dest, int dstr, double *src, int sstr)
{
static double fdct_coeff[8][8];
static int fdct_coeff_init = 0;
@@ -56,16 +58,18 @@ static void fdct8x8_f64_ref(double *d_8x8, int dstr, double *s_8x8, int sstr)
tmp2 = 0;
for(l=0;l<8;l++){
tmp2 += fdct_coeff[l][j] *
- OIL_GET (src, sstr*k + l, double);
+ OIL_GET (src, sstr*k + l * sizeof(double),
+ double);
}
tmp1 += fdct_coeff[k][i] * tmp2;
}
- OIL_GET (dest, dstr*i + j, double) = tmp1;
+ OIL_GET (dest, dstr*i + j*sizeof(double), double) =
+ tmp1;
}
}
}
-OIL_DEFINE_IMPL_REF (fdct8x8_f64_ref, fdct8x8_f64_class);
+OIL_DEFINE_IMPL_REF (fdct8x8_f64_ref, fdct8x8_f64);
static void
fdct8x8_f64_ref2(double *dest, int dstr, double *src, int sstr)
@@ -94,7 +98,7 @@ fdct8x8_f64_ref2(double *dest, int dstr, double *src, int sstr)
x = 0;
for(k=0;k<8;k++){
x += fdct_coeff[k][j] *
- OIL_GET (src, sstr*i + k, double);
+ OIL_GET (src, sstr*i + k * sizeof(double), double);
}
tmp[8*i+j] = x;
}
@@ -106,12 +110,12 @@ fdct8x8_f64_ref2(double *dest, int dstr, double *src, int sstr)
for(k=0;k<8;k++){
x += fdct_coeff[k][i] * tmp[8*k + j];
}
- OIL_GET (dest,dstr*i+j, double) = x;
+ OIL_GET (dest,dstr*i+j*sizeof(double), double) = x;
}
}
}
-OIL_DEFINE_IMPL (fdct8x8_f64_ref2, fdct8x8_f64_class);
+OIL_DEFINE_IMPL (fdct8x8_f64_ref2, fdct8x8_f64);
static void
@@ -121,15 +125,16 @@ fdct8x8_f64_1d (double *dest, int dstr, double *src, int sstr)
double tmp[64];
for(i=0;i<8;i++){
- fdct8_f64(tmp + i*8, sizeof(double), OIL_OFFSET(src,sstr*i),
- sizeof(double));
+ oil_fdct8_f64(tmp + i*8, OIL_OFFSET(src,sstr*i),
+ sizeof (double), sizeof(double));
}
for(i=0;i<8;i++){
- fdct8_f64(dest + i, dstr, tmp + i, 8*sizeof(double));
+ oil_fdct8_f64(dest + i, tmp + i,
+ 8*sizeof(double), 8*sizeof(double));
}
}
-OIL_DEFINE_IMPL (fdct8x8_f64_1d, fdct8x8_f64_class);
+OIL_DEFINE_IMPL (fdct8x8_f64_1d, fdct8x8_f64);
diff --git a/liboil/dct/fdct8x8s_s16.c b/liboil/dct/fdct8x8s_s16.c
index 6ac1aab..7b413a1 100644
--- a/liboil/dct/fdct8x8s_s16.c
+++ b/liboil/dct/fdct8x8s_s16.c
@@ -21,10 +21,10 @@
#endif
#include <liboil/liboilfunction.h>
+#include <liboil/liboilfuncs.h>
#include <liboil/dct/dct.h>
-OIL_DEFINE_CLASS(fdct8x8s_s16, NULL);
#define C0_9808 0.980785280
#define C0_9239 0.923879532
@@ -39,6 +39,8 @@ Alternate scaling used by RTjpeg.
*/
+OIL_DEFINE_CLASS(fdct8x8s_s16,
+ "int16_t *d_8x8, int ds, int16_t *s_8x8, int ss");
static void
fdct8x8s_s16_ref (int16_t *dest, int dstr, int16_t *src, int sstr)
@@ -62,7 +64,7 @@ fdct8x8s_s16_ref (int16_t *dest, int dstr, int16_t *src, int sstr)
}
}
- fdct8x8_f64(d,8*sizeof(double),s,8*sizeof(double));
+ oil_fdct8x8_f64(d,8*sizeof(double),s,8*sizeof(double));
for(i=0;i<8;i++){
for(j=0;j<8;j++){
@@ -70,9 +72,9 @@ fdct8x8s_s16_ref (int16_t *dest, int dstr, int16_t *src, int sstr)
}
}
- conv8x8_s16_f64(dest,dstr,d,8*sizeof(double));
+ oil_conv8x8_s16_f64(dest,dstr,d,8*sizeof(double));
}
-OIL_DEFINE_IMPL_REF (fdct8x8s_s16_ref, fdct8x8s_s16_class);
+OIL_DEFINE_IMPL_REF (fdct8x8s_s16_ref, fdct8x8s_s16);
diff --git a/liboil/liboildebug.c b/liboil/liboildebug.c
index d5c17c2..6c856c8 100644
--- a/liboil/liboildebug.c
+++ b/liboil/liboildebug.c
@@ -55,9 +55,9 @@ static void
oil_debug_print_valist (int level, const char *file, const char *func,
int line, const char *format, va_list args)
{
- static char *level_names[] = { "NONE", "ERROR", "WARNING", "INFO",
+ static const char *level_names[] = { "NONE", "ERROR", "WARNING", "INFO",
"DEBUG", "LOG" };
- char *level_name = "unknown";
+ const char *level_name = "unknown";
if (level > _oil_debug_level) return;
diff --git a/liboil/liboilfuncs.h b/liboil/liboilfuncs.h
index 658aa0e..d591228 100644
--- a/liboil/liboilfuncs.h
+++ b/liboil/liboilfuncs.h
@@ -40,31 +40,31 @@ extern OilFunctionClass *oil_function_class_ptr_average2_u8;
typedef void (*_oil_type_average2_u8)(uint8_t * dest, int dstr, uint8_t * src1, int sstr1, uint8_t * src2, int sstr2, int n);
#define oil_average2_u8 ((_oil_type_average2_u8)oil_function_class_ptr_average2_u8->func)
extern OilFunctionClass *oil_function_class_ptr_clip_f32;
-typedef void (*_oil_type_clip_f32)(float * dest, int dstr, float * src, int sstr, int n, float * param1, float * param2);
+typedef void (*_oil_type_clip_f32)(float * dest, int dstr, float * src, int sstr, int n, float * s2_1, float * s3_1);
#define oil_clip_f32 ((_oil_type_clip_f32)oil_function_class_ptr_clip_f32->func)
extern OilFunctionClass *oil_function_class_ptr_clip_f64;
-typedef void (*_oil_type_clip_f64)(double * dest, int dstr, double * src, int sstr, int n, double * param1, double * param2);
+typedef void (*_oil_type_clip_f64)(double * dest, int dstr, double * src, int sstr, int n, double * s2_1, double * s3_1);
#define oil_clip_f64 ((_oil_type_clip_f64)oil_function_class_ptr_clip_f64->func)
extern OilFunctionClass *oil_function_class_ptr_clip_s16;
-typedef void (*_oil_type_clip_s16)(int16_t * dest, int dstr, int16_t * src, int sstr, int n, int16_t * param1, int16_t * param2);
+typedef void (*_oil_type_clip_s16)(int16_t * dest, int dstr, int16_t * src, int sstr, int n, int16_t * s2_1, int16_t * s3_1);
#define oil_clip_s16 ((_oil_type_clip_s16)oil_function_class_ptr_clip_s16->func)
extern OilFunctionClass *oil_function_class_ptr_clip_s32;
-typedef void (*_oil_type_clip_s32)(int32_t * dest, int dstr, int32_t * src, int sstr, int n, int32_t * param1, int32_t * param2);
+typedef void (*_oil_type_clip_s32)(int32_t * dest, int dstr, int32_t * src, int sstr, int n, int32_t * s2_1, int32_t * s3_1);
#define oil_clip_s32 ((_oil_type_clip_s32)oil_function_class_ptr_clip_s32->func)
extern OilFunctionClass *oil_function_class_ptr_clip_s8;
-typedef void (*_oil_type_clip_s8)(int8_t * dest, int dstr, int8_t * src, int sstr, int n, int8_t * param1, int8_t * param2);
+typedef void (*_oil_type_clip_s8)(int8_t * dest, int dstr, int8_t * src, int sstr, int n, int8_t * s2_1, int8_t * s3_1);
#define oil_clip_s8 ((_oil_type_clip_s8)oil_function_class_ptr_clip_s8->func)
extern OilFunctionClass *oil_function_class_ptr_clip_u16;
-typedef void (*_oil_type_clip_u16)(uint16_t * dest, int dstr, uint16_t * src, int sstr, int n, uint16_t * param1, uint16_t * param2);
+typedef void (*_oil_type_clip_u16)(uint16_t * dest, int dstr, uint16_t * src, int sstr, int n, uint16_t * s2_1, uint16_t * s3_1);
#define oil_clip_u16 ((_oil_type_clip_u16)oil_function_class_ptr_clip_u16->func)
extern OilFunctionClass *oil_function_class_ptr_clip_u32;
-typedef void (*_oil_type_clip_u32)(uint32_t * dest, int dstr, uint32_t * src, int sstr, int n, uint32_t * param1, uint32_t * param2);
+typedef void (*_oil_type_clip_u32)(uint32_t * dest, int dstr, uint32_t * src, int sstr, int n, uint32_t * s2_1, uint32_t * s3_1);
#define oil_clip_u32 ((_oil_type_clip_u32)oil_function_class_ptr_clip_u32->func)
extern OilFunctionClass *oil_function_class_ptr_clip_u8;
-typedef void (*_oil_type_clip_u8)(uint8_t * dest, int dstr, uint8_t * src, int sstr, int n, uint8_t * param1, uint8_t * param2);
+typedef void (*_oil_type_clip_u8)(uint8_t * dest, int dstr, uint8_t * src, int sstr, int n, uint8_t * s2_1, uint8_t * s3_1);
#define oil_clip_u8 ((_oil_type_clip_u8)oil_function_class_ptr_clip_u8->func)
extern OilFunctionClass *oil_function_class_ptr_clipconv8x8_u8_s16;
-typedef void (*_oil_type_clipconv8x8_u8_s16)(uint8_t * dest, int dstr, int16_t * src, int sstr);
+typedef void (*_oil_type_clipconv8x8_u8_s16)(uint8_t * d_8x8, int dstr, int16_t * s_8x8, int sstr);
#define oil_clipconv8x8_u8_s16 ((_oil_type_clipconv8x8_u8_s16)oil_function_class_ptr_clipconv8x8_u8_s16->func)
extern OilFunctionClass *oil_function_class_ptr_clipconv_s16_f32;
typedef void (*_oil_type_clipconv_s16_f32)(int16_t * dest, int dstr, float * src, int sstr, int n);
@@ -157,10 +157,10 @@ extern OilFunctionClass *oil_function_class_ptr_clipconv_u8_u32;
typedef void (*_oil_type_clipconv_u8_u32)(uint8_t * dest, int dstr, uint32_t * src, int sstr, int n);
#define oil_clipconv_u8_u32 ((_oil_type_clipconv_u8_u32)oil_function_class_ptr_clipconv_u8_u32->func)
extern OilFunctionClass *oil_function_class_ptr_conv8x8_f64_s16;
-typedef void (*_oil_type_conv8x8_f64_s16)(double * dest, int dstr, int16_t * src, int sstr);
+typedef void (*_oil_type_conv8x8_f64_s16)(double * d_8x8, int dstr, int16_t * s_8x8, int sstr);
#define oil_conv8x8_f64_s16 ((_oil_type_conv8x8_f64_s16)oil_function_class_ptr_conv8x8_f64_s16->func)
extern OilFunctionClass *oil_function_class_ptr_conv8x8_s16_f64;
-typedef void (*_oil_type_conv8x8_s16_f64)(int16_t * dest, int dstr, double * src, int sstr);
+typedef void (*_oil_type_conv8x8_s16_f64)(int16_t * d_8x8, int dstr, double * s_8x8, int sstr);
#define oil_conv8x8_s16_f64 ((_oil_type_conv8x8_s16_f64)oil_function_class_ptr_conv8x8_s16_f64->func)
extern OilFunctionClass *oil_function_class_ptr_conv_f32_f64;
typedef void (*_oil_type_conv_f32_f64)(float * dest, int dstr, double * src, int sstr, int n);
@@ -334,40 +334,46 @@ extern OilFunctionClass *oil_function_class_ptr_copy_u8;
typedef void (*_oil_type_copy_u8)(uint8_t * dest, uint8_t * src, int n);
#define oil_copy_u8 ((_oil_type_copy_u8)oil_function_class_ptr_copy_u8->func)
extern OilFunctionClass *oil_function_class_ptr_dct12_f32;
-typedef void (*_oil_type_dct12_f32)(float * dest, int dstr, float * src, int sstr);
+typedef void (*_oil_type_dct12_f32)(float * d_18, int dstr, float * s_18, int sstr);
#define oil_dct12_f32 ((_oil_type_dct12_f32)oil_function_class_ptr_dct12_f32->func)
extern OilFunctionClass *oil_function_class_ptr_dct36_f32;
-typedef void (*_oil_type_dct36_f32)(float * dest, int dstr, float * src, int sstr, int n);
+typedef void (*_oil_type_dct36_f32)(float * d_36, int dstr, float * s_36, int sstr);
#define oil_dct36_f32 ((_oil_type_dct36_f32)oil_function_class_ptr_dct36_f32->func)
extern OilFunctionClass *oil_function_class_ptr_dequantize8x8_s16;
-typedef void (*_oil_type_dequantize8x8_s16)(int16_t * dest, int dstr, int16_t * src1, int sstr1, int16_t * src2, int sstr2);
+typedef void (*_oil_type_dequantize8x8_s16)(int16_t * d_8x8, int dstr, int16_t * s1_8x8, int sstr1, int16_t * s2_8x8, int sstr2);
#define oil_dequantize8x8_s16 ((_oil_type_dequantize8x8_s16)oil_function_class_ptr_dequantize8x8_s16->func)
extern OilFunctionClass *oil_function_class_ptr_diffsquaresum_f64;
typedef void (*_oil_type_diffsquaresum_f64)(double * dest, double * src1, int sstr1, double * src2, int sstr2, int n);
#define oil_diffsquaresum_f64 ((_oil_type_diffsquaresum_f64)oil_function_class_ptr_diffsquaresum_f64->func)
extern OilFunctionClass *oil_function_class_ptr_fdct8_f64;
-typedef void (*_oil_type_fdct8_f64)(double * dest, double * src, int dstr, int sstr);
+typedef void (*_oil_type_fdct8_f64)(double * d_8, double * s_8, int dstr, int sstr);
#define oil_fdct8_f64 ((_oil_type_fdct8_f64)oil_function_class_ptr_fdct8_f64->func)
+extern OilFunctionClass *oil_function_class_ptr_fdct8x8_f64;
+typedef void (*_oil_type_fdct8x8_f64)(double * d_8x8, int dstr, double * s_8x8, int sstr);
+#define oil_fdct8x8_f64 ((_oil_type_fdct8x8_f64)oil_function_class_ptr_fdct8x8_f64->func)
+extern OilFunctionClass *oil_function_class_ptr_fdct8x8s_s16;
+typedef void (*_oil_type_fdct8x8s_s16)(int16_t * d_8x8, int ds, int16_t * s_8x8, int ss);
+#define oil_fdct8x8s_s16 ((_oil_type_fdct8x8s_s16)oil_function_class_ptr_fdct8x8s_s16->func)
extern OilFunctionClass *oil_function_class_ptr_idct8_f64;
-typedef void (*_oil_type_idct8_f64)(double * dest, int dstr, double * src, int sstr);
+typedef void (*_oil_type_idct8_f64)(double * d_8, int dstr, double * s_8, int sstr);
#define oil_idct8_f64 ((_oil_type_idct8_f64)oil_function_class_ptr_idct8_f64->func)
extern OilFunctionClass *oil_function_class_ptr_idct8x8_f64;
-typedef void (*_oil_type_idct8x8_f64)(double * dest, int dstr, double * src, int sstr);
+typedef void (*_oil_type_idct8x8_f64)(double * d_8x8, int dstr, double * s_8x8, int sstr);
#define oil_idct8x8_f64 ((_oil_type_idct8x8_f64)oil_function_class_ptr_idct8x8_f64->func)
extern OilFunctionClass *oil_function_class_ptr_idct8x8_s16;
-typedef void (*_oil_type_idct8x8_s16)(int16_t * dest, int dstr, int16_t * src, int sstr);
+typedef void (*_oil_type_idct8x8_s16)(int16_t * d_8x8, int dstr, int16_t * s_8x8, int sstr);
#define oil_idct8x8_s16 ((_oil_type_idct8x8_s16)oil_function_class_ptr_idct8x8_s16->func)
extern OilFunctionClass *oil_function_class_ptr_imdct32_f32;
-typedef void (*_oil_type_imdct32_f32)(float * dest, float * src);
+typedef void (*_oil_type_imdct32_f32)(float * d_32, float * s_32);
#define oil_imdct32_f32 ((_oil_type_imdct32_f32)oil_function_class_ptr_imdct32_f32->func)
extern OilFunctionClass *oil_function_class_ptr_md5;
-typedef void (*_oil_type_md5)(uint32_t * state, uint32_t * src);
+typedef void (*_oil_type_md5)(uint32_t * i_4, uint32_t * s_16);
#define oil_md5 ((_oil_type_md5)oil_function_class_ptr_md5->func)
extern OilFunctionClass *oil_function_class_ptr_mix_u8;
typedef void (*_oil_type_mix_u8)(uint8_t * dest, uint8_t * src1, uint8_t * src2, uint8_t * src3, int n);
#define oil_mix_u8 ((_oil_type_mix_u8)oil_function_class_ptr_mix_u8->func)
extern OilFunctionClass *oil_function_class_ptr_mult8x8_s16;
-typedef void (*_oil_type_mult8x8_s16)(int16_t * dest, int16_t * src1, int16_t * src2, int dstr, int sstr1, int sstr2);
+typedef void (*_oil_type_mult8x8_s16)(int16_t * d_8x8, int16_t * s1_8x8, int16_t * s2_8x8, int ds, int ss1, int ss2);
#define oil_mult8x8_s16 ((_oil_type_mult8x8_s16)oil_function_class_ptr_mult8x8_s16->func)
extern OilFunctionClass *oil_function_class_ptr_multsum_f32;
typedef void (*_oil_type_multsum_f32)(float * dest, float * src1, int sstr1, float * src2, int sstr2, int n);
@@ -375,6 +381,9 @@ typedef void (*_oil_type_multsum_f32)(float * dest, float * src1, int sstr1, flo
extern OilFunctionClass *oil_function_class_ptr_multsum_f64;
typedef void (*_oil_type_multsum_f64)(double * dest, double * src1, int sstr1, double * src2, int sstr2, int n);
#define oil_multsum_f64 ((_oil_type_multsum_f64)oil_function_class_ptr_multsum_f64->func)
+extern OilFunctionClass *oil_function_class_ptr_null;
+typedef void (*_oil_type_null)();
+#define oil_null ((_oil_type_null)oil_function_class_ptr_null->func)
extern OilFunctionClass *oil_function_class_ptr_permute_f32;
typedef void (*_oil_type_permute_f32)(float * dest, int dstr, float * src1, int sstr1, int32_t * src2, int sstr2, int n);
#define oil_permute_f32 ((_oil_type_permute_f32)oil_function_class_ptr_permute_f32->func)
@@ -400,76 +409,76 @@ extern OilFunctionClass *oil_function_class_ptr_permute_u8;
typedef void (*_oil_type_permute_u8)(uint8_t * dest, int dstr, uint8_t * src1, int sstr1, int32_t * src2, int sstr2, int n);
#define oil_permute_u8 ((_oil_type_permute_u8)oil_function_class_ptr_permute_u8->func)
extern OilFunctionClass *oil_function_class_ptr_rgb2bgr;
-typedef void (*_oil_type_rgb2bgr)(uint8_t * dest, uint8_t * src, int n);
+typedef void (*_oil_type_rgb2bgr)(uint8_t * d_3xn, uint8_t * s_3xn, int n);
#define oil_rgb2bgr ((_oil_type_rgb2bgr)oil_function_class_ptr_rgb2bgr->func)
extern OilFunctionClass *oil_function_class_ptr_rgb2rgba;
-typedef void (*_oil_type_rgb2rgba)(uint8_t * dest, uint8_t * src, int n);
+typedef void (*_oil_type_rgb2rgba)(uint8_t * d_4xn, uint8_t * s_3xn, int n);
#define oil_rgb2rgba ((_oil_type_rgb2rgba)oil_function_class_ptr_rgb2rgba->func)
extern OilFunctionClass *oil_function_class_ptr_sad8x8_f64;
-typedef void (*_oil_type_sad8x8_f64)(double * dest, int dstr, double * src1, int sstr1, double * src2, int sstr2);
+typedef void (*_oil_type_sad8x8_f64)(double * d_8x8, int ds, double * s1_8x8, int ss1, double * s2_8x8, int ss2);
#define oil_sad8x8_f64 ((_oil_type_sad8x8_f64)oil_function_class_ptr_sad8x8_f64->func)
extern OilFunctionClass *oil_function_class_ptr_sad8x8_s16;
-typedef void (*_oil_type_sad8x8_s16)(uint32_t * dest, int dstr, int16_t * src1, int sstr1, int16_t * src2, int sstr2);
+typedef void (*_oil_type_sad8x8_s16)(uint32_t * d_8x8, int ds, int16_t * s1_8x8, int ss1, int16_t * s2_8x8, int ss2);
#define oil_sad8x8_s16 ((_oil_type_sad8x8_s16)oil_function_class_ptr_sad8x8_s16->func)
extern OilFunctionClass *oil_function_class_ptr_scalaradd_f32;
-typedef void (*_oil_type_scalaradd_f32)(float * dest, int dstr, float * src, int sstr, float * param, int n);
+typedef void (*_oil_type_scalaradd_f32)(float * dest, int dstr, float * src, int sstr, float * s2_1, int n);
#define oil_scalaradd_f32 ((_oil_type_scalaradd_f32)oil_function_class_ptr_scalaradd_f32->func)
extern OilFunctionClass *oil_function_class_ptr_scalaradd_f64;
-typedef void (*_oil_type_scalaradd_f64)(double * dest, int dstr, double * src, int sstr, double * param, int n);
+typedef void (*_oil_type_scalaradd_f64)(double * dest, int dstr, double * src, int sstr, double * s2_1, int n);
#define oil_scalaradd_f64 ((_oil_type_scalaradd_f64)oil_function_class_ptr_scalaradd_f64->func)
extern OilFunctionClass *oil_function_class_ptr_scalaradd_s16;
-typedef void (*_oil_type_scalaradd_s16)(int16_t * dest, int dstr, int16_t * src, int sstr, int16_t * param, int n);
+typedef void (*_oil_type_scalaradd_s16)(int16_t * dest, int dstr, int16_t * src, int sstr, int16_t * s2_1, int n);
#define oil_scalaradd_s16 ((_oil_type_scalaradd_s16)oil_function_class_ptr_scalaradd_s16->func)
extern OilFunctionClass *oil_function_class_ptr_scalaradd_s32;
-typedef void (*_oil_type_scalaradd_s32)(int32_t * dest, int dstr, int32_t * src, int sstr, int32_t * param, int n);
+typedef void (*_oil_type_scalaradd_s32)(int32_t * dest, int dstr, int32_t * src, int sstr, int32_t * s2_1, int n);
#define oil_scalaradd_s32 ((_oil_type_scalaradd_s32)oil_function_class_ptr_scalaradd_s32->func)
extern OilFunctionClass *oil_function_class_ptr_scalaradd_s8;
-typedef void (*_oil_type_scalaradd_s8)(int8_t * dest, int dstr, int8_t * src, int sstr, int8_t * param, int n);
+typedef void (*_oil_type_scalaradd_s8)(int8_t * dest, int dstr, int8_t * src, int sstr, int8_t * s2_1, int n);
#define oil_scalaradd_s8 ((_oil_type_scalaradd_s8)oil_function_class_ptr_scalaradd_s8->func)
extern OilFunctionClass *oil_function_class_ptr_scalaradd_u16;
-typedef void (*_oil_type_scalaradd_u16)(uint16_t * dest, int dstr, uint16_t * src, int sstr, uint16_t * param, int n);
+typedef void (*_oil_type_scalaradd_u16)(uint16_t * dest, int dstr, uint16_t * src, int sstr, uint16_t * s2_1, int n);
#define oil_scalaradd_u16 ((_oil_type_scalaradd_u16)oil_function_class_ptr_scalaradd_u16->func)
extern OilFunctionClass *oil_function_class_ptr_scalaradd_u32;
-typedef void (*_oil_type_scalaradd_u32)(uint32_t * dest, int dstr, uint32_t * src, int sstr, uint32_t * param, int n);
+typedef void (*_oil_type_scalaradd_u32)(uint32_t * dest, int dstr, uint32_t * src, int sstr, uint32_t * s2_1, int n);
#define oil_scalaradd_u32 ((_oil_type_scalaradd_u32)oil_function_class_ptr_scalaradd_u32->func)
extern OilFunctionClass *oil_function_class_ptr_scalaradd_u8;
-typedef void (*_oil_type_scalaradd_u8)(uint8_t * dest, int dstr, uint8_t * src, int sstr, uint8_t * param, int n);
+typedef void (*_oil_type_scalaradd_u8)(uint8_t * dest, int dstr, uint8_t * src, int sstr, uint8_t * s2_1, int n);
#define oil_scalaradd_u8 ((_oil_type_scalaradd_u8)oil_function_class_ptr_scalaradd_u8->func)
extern OilFunctionClass *oil_function_class_ptr_scalarmult_f32;
-typedef void (*_oil_type_scalarmult_f32)(float * dest, int dstr, float * src, int sstr, float * param, int n);
+typedef void (*_oil_type_scalarmult_f32)(float * dest, int dstr, float * src, int sstr, float * s2_1, int n);
#define oil_scalarmult_f32 ((_oil_type_scalarmult_f32)oil_function_class_ptr_scalarmult_f32->func)
extern OilFunctionClass *oil_function_class_ptr_scalarmult_f64;
-typedef void (*_oil_type_scalarmult_f64)(double * dest, int dstr, double * src, int sstr, double * param, int n);
+typedef void (*_oil_type_scalarmult_f64)(double * dest, int dstr, double * src, int sstr, double * s2_1, int n);
#define oil_scalarmult_f64 ((_oil_type_scalarmult_f64)oil_function_class_ptr_scalarmult_f64->func)
extern OilFunctionClass *oil_function_class_ptr_scalarmult_s16;
-typedef void (*_oil_type_scalarmult_s16)(int16_t * dest, int dstr, int16_t * src, int sstr, int16_t * param, int n);
+typedef void (*_oil_type_scalarmult_s16)(int16_t * dest, int dstr, int16_t * src, int sstr, int16_t * s2_1, int n);
#define oil_scalarmult_s16 ((_oil_type_scalarmult_s16)oil_function_class_ptr_scalarmult_s16->func)
extern OilFunctionClass *oil_function_class_ptr_scalarmult_s32;
-typedef void (*_oil_type_scalarmult_s32)(int32_t * dest, int dstr, int32_t * src, int sstr, int32_t * param, int n);
+typedef void (*_oil_type_scalarmult_s32)(int32_t * dest, int dstr, int32_t * src, int sstr, int32_t * s2_1, int n);
#define oil_scalarmult_s32 ((_oil_type_scalarmult_s32)oil_function_class_ptr_scalarmult_s32->func)
extern OilFunctionClass *oil_function_class_ptr_scalarmult_s8;
-typedef void (*_oil_type_scalarmult_s8)(int8_t * dest, int dstr, int8_t * src, int sstr, int8_t * param, int n);
+typedef void (*_oil_type_scalarmult_s8)(int8_t * dest, int dstr, int8_t * src, int sstr, int8_t * s2_1, int n);
#define oil_scalarmult_s8 ((_oil_type_scalarmult_s8)oil_function_class_ptr_scalarmult_s8->func)
extern OilFunctionClass *oil_function_class_ptr_scalarmult_u16;
-typedef void (*_oil_type_scalarmult_u16)(uint16_t * dest, int dstr, uint16_t * src, int sstr, uint16_t * param, int n);
+typedef void (*_oil_type_scalarmult_u16)(uint16_t * dest, int dstr, uint16_t * src, int sstr, uint16_t * s2_1, int n);
#define oil_scalarmult_u16 ((_oil_type_scalarmult_u16)oil_function_class_ptr_scalarmult_u16->func)
extern OilFunctionClass *oil_function_class_ptr_scalarmult_u32;
-typedef void (*_oil_type_scalarmult_u32)(uint32_t * dest, int dstr, uint32_t * src, int sstr, uint32_t * param, int n);
+typedef void (*_oil_type_scalarmult_u32)(uint32_t * dest, int dstr, uint32_t * src, int sstr, uint32_t * s2_1, int n);
#define oil_scalarmult_u32 ((_oil_type_scalarmult_u32)oil_function_class_ptr_scalarmult_u32->func)
extern OilFunctionClass *oil_function_class_ptr_scalarmult_u8;
-typedef void (*_oil_type_scalarmult_u8)(uint8_t * dest, int dstr, uint8_t * src, int sstr, uint8_t * param, int n);
+typedef void (*_oil_type_scalarmult_u8)(uint8_t * dest, int dstr, uint8_t * src, int sstr, uint8_t * s2_1, int n);
#define oil_scalarmult_u8 ((_oil_type_scalarmult_u8)oil_function_class_ptr_scalarmult_u8->func)
extern OilFunctionClass *oil_function_class_ptr_scanlinescale2_u8;
typedef void (*_oil_type_scanlinescale2_u8)(uint8_t * dest, uint8_t * src, int n);
#define oil_scanlinescale2_u8 ((_oil_type_scanlinescale2_u8)oil_function_class_ptr_scanlinescale2_u8->func)
extern OilFunctionClass *oil_function_class_ptr_sincos_f64;
-typedef void (*_oil_type_sincos_f64)(double * dest1, double * dest2, int n, double * param1, double * param2);
+typedef void (*_oil_type_sincos_f64)(double * dest1, double * dest2, int n, double * s1_1, double * s2_1);
#define oil_sincos_f64 ((_oil_type_sincos_f64)oil_function_class_ptr_sincos_f64->func)
extern OilFunctionClass *oil_function_class_ptr_splat_u32;
-typedef void (*_oil_type_splat_u32)(uint32_t * dest, int dstr, uint32_t * param, int n);
+typedef void (*_oil_type_splat_u32)(uint32_t * dest, int dstr, uint32_t * s1_1, int n);
#define oil_splat_u32 ((_oil_type_splat_u32)oil_function_class_ptr_splat_u32->func)
extern OilFunctionClass *oil_function_class_ptr_splat_u8;
-typedef void (*_oil_type_splat_u8)(uint8_t * dest, int dstr, uint8_t * param, int n);
+typedef void (*_oil_type_splat_u8)(uint8_t * dest, int dstr, uint8_t * s1_1, int n);
#define oil_splat_u8 ((_oil_type_splat_u8)oil_function_class_ptr_splat_u8->func)
extern OilFunctionClass *oil_function_class_ptr_squaresum_f64;
typedef void (*_oil_type_squaresum_f64)(double * dest, double * src, int n);
@@ -478,56 +487,59 @@ extern OilFunctionClass *oil_function_class_ptr_sum_f64;
typedef void (*_oil_type_sum_f64)(double * dest, double * src, int sstr, int n);
#define oil_sum_f64 ((_oil_type_sum_f64)oil_function_class_ptr_sum_f64->func)
extern OilFunctionClass *oil_function_class_ptr_tablelookup_u8;
-typedef void (*_oil_type_tablelookup_u8)(uint8_t * dest, int dstr, uint8_t * src1, int sstr1, uint8_t * src2, int sstr2, int n);
+typedef void (*_oil_type_tablelookup_u8)(uint8_t * d, int ds, uint8_t * s1, int ss1, uint8_t * s2_256, int ss2, int n);
#define oil_tablelookup_u8 ((_oil_type_tablelookup_u8)oil_function_class_ptr_tablelookup_u8->func)
extern OilFunctionClass *oil_function_class_ptr_trans8x8_f64;
-typedef void (*_oil_type_trans8x8_f64)(double * dest, int dstr, double * src, int sstr);
+typedef void (*_oil_type_trans8x8_f64)(double * d_8x8, int ds, double * s_8x8, int ss);
#define oil_trans8x8_f64 ((_oil_type_trans8x8_f64)oil_function_class_ptr_trans8x8_f64->func)
extern OilFunctionClass *oil_function_class_ptr_trans8x8_u16;
-typedef void (*_oil_type_trans8x8_u16)(uint16_t * dest, int dstr, uint16_t * src, int sstr);
+typedef void (*_oil_type_trans8x8_u16)(uint16_t * d_8x8, int ds, uint16_t * s_8x8, int ss);
#define oil_trans8x8_u16 ((_oil_type_trans8x8_u16)oil_function_class_ptr_trans8x8_u16->func)
extern OilFunctionClass *oil_function_class_ptr_trans8x8_u32;
-typedef void (*_oil_type_trans8x8_u32)(uint32_t * dest, int dstr, uint32_t * src, int sstr);
+typedef void (*_oil_type_trans8x8_u32)(uint32_t * d_8x8, int ds, uint32_t * s_8x8, int ss);
#define oil_trans8x8_u32 ((_oil_type_trans8x8_u32)oil_function_class_ptr_trans8x8_u32->func)
extern OilFunctionClass *oil_function_class_ptr_trans8x8_u8;
-typedef void (*_oil_type_trans8x8_u8)(uint8_t * dest, int dstr, uint8_t * src, int sstr);
+typedef void (*_oil_type_trans8x8_u8)(uint8_t * d_8x8, int ds, uint8_t * s_8x8, int ss);
#define oil_trans8x8_u8 ((_oil_type_trans8x8_u8)oil_function_class_ptr_trans8x8_u8->func)
extern OilFunctionClass *oil_function_class_ptr_unzigzag8x8_s16;
-typedef void (*_oil_type_unzigzag8x8_s16)(int16_t * dest, int dstr, int16_t * src, int sstr);
+typedef void (*_oil_type_unzigzag8x8_s16)(int16_t * d_8x8, int ds, int16_t * s_8x8, int ss);
#define oil_unzigzag8x8_s16 ((_oil_type_unzigzag8x8_s16)oil_function_class_ptr_unzigzag8x8_s16->func)
extern OilFunctionClass *oil_function_class_ptr_vectoradd_f32;
-typedef void (*_oil_type_vectoradd_f32)(float * dest, int dstr, float * src1, int sstr1, float * src2, int sstr2, int n, float * param1, float * param2);
+typedef void (*_oil_type_vectoradd_f32)(float * dest, int dstr, float * src1, int sstr1, float * src2, int sstr2, int n, float * s3_1, float * s4_1);
#define oil_vectoradd_f32 ((_oil_type_vectoradd_f32)oil_function_class_ptr_vectoradd_f32->func)
extern OilFunctionClass *oil_function_class_ptr_vectoradd_f64;
-typedef void (*_oil_type_vectoradd_f64)(double * dest, int dstr, double * src1, int sstr1, double * src2, int sstr2, int n, double * param1, double * param2);
+typedef void (*_oil_type_vectoradd_f64)(double * dest, int dstr, double * src1, int sstr1, double * src2, int sstr2, int n, double * s3_1, double * s4_1);
#define oil_vectoradd_f64 ((_oil_type_vectoradd_f64)oil_function_class_ptr_vectoradd_f64->func)
extern OilFunctionClass *oil_function_class_ptr_vectoradd_s16;
-typedef void (*_oil_type_vectoradd_s16)(int16_t * dest, int dstr, int16_t * src1, int sstr1, int16_t * src2, int sstr2, int n, int16_t * param1, int16_t * param2);
+typedef void (*_oil_type_vectoradd_s16)(int16_t * dest, int dstr, int16_t * src1, int sstr1, int16_t * src2, int sstr2, int n, int16_t * s3_1, int16_t * s4_1);
#define oil_vectoradd_s16 ((_oil_type_vectoradd_s16)oil_function_class_ptr_vectoradd_s16->func)
extern OilFunctionClass *oil_function_class_ptr_vectoradd_s32;
-typedef void (*_oil_type_vectoradd_s32)(int32_t * dest, int dstr, int32_t * src1, int sstr1, int32_t * src2, int sstr2, int n, int32_t * param1, int32_t * param2);
+typedef void (*_oil_type_vectoradd_s32)(int32_t * dest, int dstr, int32_t * src1, int sstr1, int32_t * src2, int sstr2, int n, int32_t * s3_1, int32_t * s4_1);
#define oil_vectoradd_s32 ((_oil_type_vectoradd_s32)oil_function_class_ptr_vectoradd_s32->func)
extern OilFunctionClass *oil_function_class_ptr_vectoradd_s8;
-typedef void (*_oil_type_vectoradd_s8)(int8_t * dest, int dstr, int8_t * src1, int sstr1, int8_t * src2, int sstr2, int n, int8_t * param1, int8_t * param2);
+typedef void (*_oil_type_vectoradd_s8)(int8_t * dest, int dstr, int8_t * src1, int sstr1, int8_t * src2, int sstr2, int n, int8_t * s3_1, int8_t * s4_1);
#define oil_vectoradd_s8 ((_oil_type_vectoradd_s8)oil_function_class_ptr_vectoradd_s8->func)
extern OilFunctionClass *oil_function_class_ptr_vectoradd_u16;
-typedef void (*_oil_type_vectoradd_u16)(uint16_t * dest, int dstr, uint16_t * src1, int sstr1, uint16_t * src2, int sstr2, int n, uint16_t * param1, uint16_t * param2);
+typedef void (*_oil_type_vectoradd_u16)(uint16_t * dest, int dstr, uint16_t * src1, int sstr1, uint16_t * src2, int sstr2, int n, uint16_t * s3_1, uint16_t * s4_1);
#define oil_vectoradd_u16 ((_oil_type_vectoradd_u16)oil_function_class_ptr_vectoradd_u16->func)
extern OilFunctionClass *oil_function_class_ptr_vectoradd_u32;
-typedef void (*_oil_type_vectoradd_u32)(uint32_t * dest, int dstr, uint32_t * src1, int sstr1, uint32_t * src2, int sstr2, int n, uint32_t * param1, uint32_t * param2);
+typedef void (*_oil_type_vectoradd_u32)(uint32_t * dest, int dstr, uint32_t * src1, int sstr1, uint32_t * src2, int sstr2, int n, uint32_t * s3_1, uint32_t * s4_1);
#define oil_vectoradd_u32 ((_oil_type_vectoradd_u32)oil_function_class_ptr_vectoradd_u32->func)
extern OilFunctionClass *oil_function_class_ptr_vectoradd_u8;
-typedef void (*_oil_type_vectoradd_u8)(uint8_t * dest, int dstr, uint8_t * src1, int sstr1, uint8_t * src2, int sstr2, int n, uint8_t * param1, uint8_t * param2);
+typedef void (*_oil_type_vectoradd_u8)(uint8_t * dest, int dstr, uint8_t * src1, int sstr1, uint8_t * src2, int sstr2, int n, uint8_t * s3_1, uint8_t * s4_1);
#define oil_vectoradd_u8 ((_oil_type_vectoradd_u8)oil_function_class_ptr_vectoradd_u8->func)
extern OilFunctionClass *oil_function_class_ptr_yuv2rgbx_sub2_u8;
-typedef void (*_oil_type_yuv2rgbx_sub2_u8)(uint8_t * dest, uint8_t * src1, uint8_t * src2, uint8_t * src3, int n);
+typedef void (*_oil_type_yuv2rgbx_sub2_u8)(uint8_t * d_4xn, uint8_t * src1, uint8_t * src2, uint8_t * src3, int n);
#define oil_yuv2rgbx_sub2_u8 ((_oil_type_yuv2rgbx_sub2_u8)oil_function_class_ptr_yuv2rgbx_sub2_u8->func)
extern OilFunctionClass *oil_function_class_ptr_yuv2rgbx_sub4_u8;
-typedef void (*_oil_type_yuv2rgbx_sub4_u8)(uint8_t * dest, uint8_t * src1, uint8_t * src2, uint8_t * src3, int n);
+typedef void (*_oil_type_yuv2rgbx_sub4_u8)(uint8_t * d_4xn, uint8_t * src1, uint8_t * src2, uint8_t * src3, int n);
#define oil_yuv2rgbx_sub4_u8 ((_oil_type_yuv2rgbx_sub4_u8)oil_function_class_ptr_yuv2rgbx_sub4_u8->func)
extern OilFunctionClass *oil_function_class_ptr_yuv2rgbx_u8;
-typedef void (*_oil_type_yuv2rgbx_u8)(uint8_t * dest, uint8_t * src1, uint8_t * src2, uint8_t * src3, int n);
+typedef void (*_oil_type_yuv2rgbx_u8)(uint8_t * d_4xn, uint8_t * src1, uint8_t * src2, uint8_t * src3, int n);
#define oil_yuv2rgbx_u8 ((_oil_type_yuv2rgbx_u8)oil_function_class_ptr_yuv2rgbx_u8->func)
+extern OilFunctionClass *oil_function_class_ptr_zigzag8x8_s16;
+typedef void (*_oil_type_zigzag8x8_s16)(int16_t * d_8x8, int ds, int16_t * s_8x8, int ss);
+#define oil_zigzag8x8_s16 ((_oil_type_zigzag8x8_s16)oil_function_class_ptr_zigzag8x8_s16->func)
#endif
diff --git a/liboil/liboilprofile.h b/liboil/liboilprofile.h
index a81b4ae..eb440aa 100644
--- a/liboil/liboilprofile.h
+++ b/liboil/liboilprofile.h
@@ -95,6 +95,19 @@ static inline unsigned long oil_profile_stamp(void)
return ts;
}
+#elif defined(__arm__)
+
+/* untested */
+static inline unsigned long oil_profile_stamp(void)
+{
+ unsigned int ts;
+ /* this only works for XScale 255 */
+ __asm__ __volatile__ (
+ " mrc p14, 0, %0, c0, c0, 0 \n"
+ : "=r" (ts));
+ return ts;
+}
+
#else
#define oil_profile_stamp() oil_profile_stamp_gtod()
diff --git a/liboil/liboilprototype.c b/liboil/liboilprototype.c
index d0b13a7..e49a1c8 100644
--- a/liboil/liboilprototype.c
+++ b/liboil/liboilprototype.c
@@ -366,7 +366,7 @@ const char * oil_arg_type_name (OilArgType type)
return "FIXME";
}
-static
+static const
struct {
char *from;
char *to;
@@ -388,7 +388,7 @@ struct {
{ NULL, NULL }
};
-static
+static const
struct {
OilArgType type;
int direction;
diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
index e411105..9d78ff4 100644
--- a/testsuite/Makefile.am
+++ b/testsuite/Makefile.am
@@ -1,7 +1,7 @@
-check_PROGRAMS = moo introspect abs proto1 md5 md5_profile proto2 test1 proto3 copy
+check_PROGRAMS = moo introspect abs proto1 md5 md5_profile proto2 test1 proto3 trans copy
-TESTS = moo introspect abs proto1 md5 md5_profile proto2 test1 proto3 copy
+TESTS = moo introspect abs proto1 md5 md5_profile proto2 test1 proto3 trans copy
AM_LDFLAGS = $(LIBOIL_LIBS) $(GLIB_LIBS)
AM_CFLAGS = $(LIBOIL_CFLAGS) $(GLIB_CFLAGS)