TurboPFor: Java Critical Natives Interface
This commit is contained in:
65
jic.c
65
jic.c
@ -29,8 +29,8 @@
|
||||
#include "vsimple.h"
|
||||
#include "bitpack.h"
|
||||
#include "bitunpack.h"
|
||||
#include "vp4dc.h"
|
||||
#include "vp4dd.h"
|
||||
#include "vp4c.h"
|
||||
#include "vp4d.h"
|
||||
|
||||
#include "jic.h"
|
||||
|
||||
@ -75,17 +75,41 @@ JNIEXPORT jint JNICALL Java_jic_vsenc32( JNIEnv *env, jclass cls, jintArra
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_vsdec32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out ) { JNIDEC(vsdec32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_vsdec32( jint i, jbyte *in, jint n, jint o, jint *out ) { return vsdec32( (unsigned char *)in, n, (unsigned *)out ) - (unsigned char *)in; }
|
||||
//--------------------------------- TurboPFor: PFor/PForDelta -----------------------------------------------------------------
|
||||
JNIEXPORT jint JNICALL Java_jic_p4denc32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out ) { JNIENC(p4denc32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4denc32( jint i, jint *in, jint n, jint o, jbyte *out ) { return p4denc32( (unsigned *)in, n, (unsigned char *)out ) - (unsigned char *)out; }
|
||||
// Low level: Single block
|
||||
JNIEXPORT jint JNICALL Java_jic_p4denc32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out ) { JNIENC(p4enc32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4enc32( jint i, jint *in, jint n, jint o, jbyte *out ) { return p4enc32( (unsigned *)in, n, (unsigned char *)out ) - (unsigned char *)out; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4ddec32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out ) { JNIDEC(p4ddec32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4ddec32( jint i, jbyte *in, jint n, jint o, jint *out ) { return p4ddec32( (unsigned char *)in, n, (unsigned *)out ) - (unsigned char *)in; }
|
||||
JNIEXPORT jint JNICALL Java_jic_p4dec32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out ) { JNIDEC(p4dec32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4dec32( jint i, jbyte *in, jint n, jint o, jint *out ) { return p4dec32( (unsigned char *)in, n, (unsigned *)out ) - (unsigned char *)in; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4dencv32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out ) { JNIENC(p4dencv32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4dencv32( jint i, jint *in, jint n, jint o, jbyte *out ) { return p4dencv32( (unsigned *)in, n, (unsigned char *)out ) - (unsigned char *)out; }
|
||||
JNIEXPORT jint JNICALL Java_jic_p4enc128v32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out ) { JNIENC(p4enc128v32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4enc128v32( jint i, jint *in, jint n, jint o, jbyte *out ) { return p4enc128v32( (unsigned *)in, n, (unsigned char *)out ) - (unsigned char *)out; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4dec128v32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out ) { JNIDEC(p4dec128v32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4dec128v32( jint i, jbyte *in, jint n, jint o, jint *out ) { return p4dec128v32( (unsigned char *)in, n, (unsigned *)out ) - (unsigned char *)in; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4enc256v32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out ) { JNIENC(p4enc256v32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4enc256v32( jint i, jint *in, jint n, jint o, jbyte *out ) { return p4enc256v32( (unsigned *)in, n, (unsigned char *)out ) - (unsigned char *)out; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4dec256v32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out ) { JNIDEC(p4dec256v32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4dec256v32( jint i, jbyte *in, jint n, jint o, jint *out ) { return p4dec256v32( (unsigned char *)in, n, (unsigned *)out ) - (unsigned char *)in; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4ddecv32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out ) { JNIDEC(p4ddecv32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4ddecv32( jint i, jbyte *in, jint n, jint o, jint *out ) { return p4ddecv32( (unsigned char *)in, n, (unsigned *)out ) - (unsigned char *)in; }
|
||||
//--------
|
||||
JNIEXPORT jint JNICALL Java_jic_p4dddec32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start ) { JNIDECS(p4dddec32, _in, n, _out, start ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4dddec32( jint i, jbyte *in, jint n, jint o, jint *out, jint start ) { return p4dddec32( (unsigned char *)in, n, (unsigned *)out, start ) - (unsigned char *)in; }
|
||||
JNIEXPORT jint JNICALL Java_jic_p4ddec32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start ) { JNIDECS(p4ddec32, _in, n, _out, start ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4ddec32( jint i, jbyte *in, jint n, jint o, jint *out, jint start ) { return p4ddec32( (unsigned char *)in, n, (unsigned *)out, start ) - (unsigned char *)in; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4dd1dec32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start ) { JNIDECS(p4dd1dec32, _in, n, _out, start ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4dd1dec32( jint i, jbyte *in, jint n, jint o, jint *out, jint start ) { return p4dd1dec32( (unsigned char *)in, n, (unsigned *)out, start ) - (unsigned char *)in; }
|
||||
JNIEXPORT jint JNICALL Java_jic_p4d1dec32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start ) { JNIDECS(p4d1dec32, _in, n, _out, start ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4d1dec32( jint i, jbyte *in, jint n, jint o, jint *out, jint start ) { return p4d1dec32( (unsigned char *)in, n, (unsigned *)out, start ) - (unsigned char *)in; }
|
||||
|
||||
// n = unlimited
|
||||
JNIEXPORT jint JNICALL Java_jic_p4ndenc32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out ) { JNIENC(p4nenc32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4nenc32( jint i, jint *in, jint n, jint o, jbyte *out ) { return p4nenc32( (unsigned *)in, n, (unsigned char *)out ) - (unsigned char *)out; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4ndec32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out ) { JNIDEC(p4ndec32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4ndec32( jint i, jbyte *in, jint n, jint o, jint *out ) { return p4ndec32( (unsigned char *)in, n, (unsigned *)out ) - (unsigned char *)in; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4nenc128v32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out ) { JNIENC(p4nenc128v32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4nenc128v32( jint i, jint *in, jint n, jint o, jbyte *out ) { return p4nenc128v32( (unsigned *)in, n, (unsigned char *)out ) - (unsigned char *)out; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4ndec128v32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out ) { JNIDEC(p4ndec128v32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4ndec128v32( jint i, jbyte *in, jint n, jint o, jint *out ) { return p4ndec128v32( (unsigned char *)in, n, (unsigned *)out ) - (unsigned char *)in; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4nenc256v32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out ) { JNIENC(p4nenc256v32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4nenc256v32( jint i, jint *in, jint n, jint o, jbyte *out ) { return p4nenc256v32( (unsigned *)in, n, (unsigned char *)out ) - (unsigned char *)out; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4ndec256v32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out ) { JNIDEC(p4ndec256v32, _in, n, _out ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4ndec256v32( jint i, jbyte *in, jint n, jint o, jint *out ) { return p4ndec256v32( (unsigned char *)in, n, (unsigned *)out ) - (unsigned char *)in; }
|
||||
|
||||
//--------
|
||||
JNIEXPORT jint JNICALL Java_jic_p4nddec32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start ) { JNIDECS(p4nddec32, _in, n, _out, start ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4nddec32( jint i, jbyte *in, jint n, jint o, jint *out, jint start ) { return p4nddec32( (unsigned char *)in, n, (unsigned *)out, start ) - (unsigned char *)in; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_p4nd1dec32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start ) { JNIDECS(p4nd1dec32, _in, n, _out, start ); } JNIEXPORT jint JNICALL JavaCritical_jic_p4nd1dec32( jint i, jbyte *in, jint n, jint o, jint *out, jint start ) { return p4nd1dec32( (unsigned char *)in, n, (unsigned *)out, start ) - (unsigned char *)in; }
|
||||
|
||||
//--------------------------------- BitPack/BitUnpack ----------------------------------------------------------------------------
|
||||
JNIEXPORT jint JNICALL Java_jic_bitpack32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out, jint b) { JNIENCS(bitpack32, _in, n, _out, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitpack32( jint i, jint *in, jint n, jint o, jbyte *out, jint b) { return bitpack32( (unsigned *)in, n, (unsigned char *)out, b) - (unsigned char *)out; }
|
||||
@ -102,17 +126,30 @@ JNIEXPORT jint JNICALL Java_jic_bitd1pack32( JNIEnv *env, jclass cls, jintArr
|
||||
JNIEXPORT jint JNICALL Java_jic_bitd1unpack32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start, jint b) { JNIDECSB(bitd1unpack32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitd1unpack32( jint i, jbyte *in, jint n, jint o, jint *out, jint start, jint b) { return bitd1unpack32((unsigned char *)in, n, (unsigned *)out, start, b) - (unsigned char *)in; }
|
||||
|
||||
//--------------------------------- BitPack/BitUnpack SIMD -----------------------------------------------------------------------------------
|
||||
JNIEXPORT jint JNICALL Java_jic_bitpackv32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out, jint b) { JNIENCS(bitpackv32, _in, n, _out, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitpackv32( jint i, jint *in, jint n, jint o, jbyte *out, jint b) { return bitpackv32( (unsigned *)in, n, (unsigned char *)out, b) - (unsigned char *)out; }
|
||||
JNIEXPORT jint JNICALL Java_jic_bitpack128v32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out, jint b) { JNIENCS(bitpack128v32, _in, n, _out, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitpack128v32( jint i, jint *in, jint n, jint o, jbyte *out, jint b) { return bitpack128v32( (unsigned *)in, n, (unsigned char *)out, b) - (unsigned char *)out; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_bitunpackv32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint b) { JNIDECS(bitunpackv32, _in, n, _out, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitunpackv32( jint i, jbyte *in, jint n, jint o, jint *out, jint b) { return bitunpackv32( (unsigned char *)in, n, (unsigned *)out, b) - (unsigned char *)in; }
|
||||
JNIEXPORT jint JNICALL Java_jic_bitunpack128v32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint b) { JNIDECS(bitunpack128v32, _in, n, _out, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitunpack128v32( jint i, jbyte *in, jint n, jint o, jint *out, jint b) { return bitunpack128v32( (unsigned char *)in, n, (unsigned *)out, b) - (unsigned char *)in; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_bitdpackv32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out, jint start, jint b) { JNIENCSB(bitdpackv32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitdpackv32( jint i, jint *in, jint n, jint o, jbyte *out, jint start, jint b) { return bitdpackv32( (unsigned *)in, n, (unsigned char *)out, start, b) - (unsigned char *)out; }
|
||||
JNIEXPORT jint JNICALL Java_jic_bitdpack128v32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out, jint start, jint b) { JNIENCSB(bitdpack128v32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitdpack128v32( jint i, jint *in, jint n, jint o, jbyte *out, jint start, jint b) { return bitdpack128v32( (unsigned *)in, n, (unsigned char *)out, start, b) - (unsigned char *)out; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_bitdunpackv32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start, jint b) { JNIDECSB(bitdunpackv32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitdunpackv32( jint i, jbyte *in, jint n, jint o, jint *out, jint start, jint b) { return bitdunpackv32( (unsigned char *)in, n, (unsigned *)out, start, b) - (unsigned char *)in; }
|
||||
JNIEXPORT jint JNICALL Java_jic_bitdunpack128v32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start, jint b) { JNIDECSB(bitdunpack128v32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitdunpack128v32( jint i, jbyte *in, jint n, jint o, jint *out, jint start, jint b) { return bitdunpack128v32( (unsigned char *)in, n, (unsigned *)out, start, b) - (unsigned char *)in; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_bitd1packv32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out, jint start, jint b) { JNIENCSB(bitd1packv32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitd1packv32( jint i, jint *in, jint n, jint o, jbyte *out, jint start, jint b) { return bitd1packv32( (unsigned *)in, n, (unsigned char *)out, start, b) - (unsigned char *)out; }
|
||||
JNIEXPORT jint JNICALL Java_jic_bitd1pack128v32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out, jint start, jint b) { JNIENCSB(bitd1pack128v32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitd1pack128v32( jint i, jint *in, jint n, jint o, jbyte *out, jint start, jint b) { return bitd1pack128v32( (unsigned *)in, n, (unsigned char *)out, start, b) - (unsigned char *)out; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_bitd1unpackv32(JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start, jint b) { JNIDECSB(bitd1unpackv32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitd1unpackv32(jint i, jbyte *in, jint n, jint o, jint *out, jint start, jint b) { return bitd1unpackv32((unsigned char *)in, n, (unsigned *)out, start, b) - (unsigned char *)in; }
|
||||
JNIEXPORT jint JNICALL Java_jic_bitd1unpack128v32(JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start, jint b) { JNIDECSB(bitd1unpack128v32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitd1unpack128v32(jint i, jbyte *in, jint n, jint o, jint *out, jint start, jint b) { return bitd1unpack128v32((unsigned char *)in, n, (unsigned *)out, start, b) - (unsigned char *)in; }
|
||||
|
||||
// AVX2
|
||||
JNIEXPORT jint JNICALL Java_jic_bitpack256v32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out, jint b) { JNIENCS(bitpack256v32, _in, n, _out, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitpack256v32( jint i, jint *in, jint n, jint o, jbyte *out, jint b) { return bitpack256v32( (unsigned *)in, n, (unsigned char *)out, b) - (unsigned char *)out; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_bitunpack256v32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint b) { JNIDECS(bitunpack256v32, _in, n, _out, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitunpack256v32( jint i, jbyte *in, jint n, jint o, jint *out, jint b) { return bitunpack256v32( (unsigned char *)in, n, (unsigned *)out, b) - (unsigned char *)in; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_bitdpack256v32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out, jint start, jint b) { JNIENCSB(bitdpack256v32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitdpack256v32( jint i, jint *in, jint n, jint o, jbyte *out, jint start, jint b) { return bitdpack256v32( (unsigned *)in, n, (unsigned char *)out, start, b) - (unsigned char *)out; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_bitdunpack256v32( JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start, jint b) { JNIDECSB(bitdunpack256v32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitdunpack256v32( jint i, jbyte *in, jint n, jint o, jint *out, jint start, jint b) { return bitdunpack256v32( (unsigned char *)in, n, (unsigned *)out, start, b) - (unsigned char *)in; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_bitd1pack256v32( JNIEnv *env, jclass cls, jintArray _in, jint n, jbyteArray _out, jint start, jint b) { JNIENCSB(bitd1pack256v32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitd1pack256v32( jint i, jint *in, jint n, jint o, jbyte *out, jint start, jint b) { return bitd1pack256v32( (unsigned *)in, n, (unsigned char *)out, start, b) - (unsigned char *)out; }
|
||||
|
||||
JNIEXPORT jint JNICALL Java_jic_bitd1unpack256v32(JNIEnv *env, jclass cls, jbyteArray _in, jint n, jintArray _out, jint start, jint b) { JNIDECSB(bitd1unpack256v32, _in, n, _out, start, b); } JNIEXPORT jint JNICALL JavaCritical_jic_bitd1unpack256v32(jint i, jbyte *in, jint n, jint o, jint *out, jint start, jint b) { return bitd1unpack256v32((unsigned char *)in, n, (unsigned *)out, start, b) - (unsigned char *)in; }
|
||||
//--------------------------------- bitutil --------------------------------------------------------------------------------------------------
|
||||
JNIEXPORT jint JNICALL Java_jic_bit32( JNIEnv *env, jclass cls, jintArray _in, jint n ) { JNIBIT( bit32, _in, n ); } JNIEXPORT jint JNICALL JavaCritical_jic_bit32( jint i, jint *in, jint n ) { return bit32( (unsigned *)in, n ); }
|
||||
JNIEXPORT jint JNICALL Java_jic_bitd32( JNIEnv *env, jclass cls, jintArray _in, jint n, jint start ) { JNIBITS(bitd32, _in, n, start ); } JNIEXPORT jint JNICALL JavaCritical_jic_bitd32( jint i, jint *in, jint n, jint start ) { return bitd32( (unsigned *)in, n, start ); }
|
||||
|
||||
Reference in New Issue
Block a user