From db937dfba3d7b69492b9dd25012027d3e91f09fc Mon Sep 17 00:00:00 2001 From: powturbo Date: Thu, 18 Jun 2015 17:54:55 +0200 Subject: [PATCH] TurboPFor decode: Scalar + Direct Access, SIMD --- vp4dd.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/vp4dd.h b/vp4dd.h index 79a8155..e2b08d0 100644 --- a/vp4dd.h +++ b/vp4dd.h @@ -26,14 +26,17 @@ #ifdef __cplusplus extern "C" { #endif - +#include #define P4DSIZE 128 //64 // #define P4DN (P4DSIZE/64) //---------------- Bulk decompress of TurboPFor compressed integer array ------------------------------------------------------- // decompress a previously (with p4denc32) 32 bits packed array. Return value = end of packed buffer in unsigned char *p4ddec32( unsigned char *__restrict in, unsigned n, unsigned *__restrict out); +unsigned char *p4ddec64( unsigned char *__restrict in, unsigned n, uint64_t *__restrict out); + unsigned char *p4dd32( unsigned char *__restrict in, unsigned n, unsigned *__restrict out, unsigned b, unsigned bx); +unsigned char *p4dd64( unsigned char *__restrict in, unsigned n, uint64_t *__restrict out, unsigned b, unsigned bx); // decompress a previously (with p4denc32) 32 bits packed array. Return value = end of packed buffer in unsigned char *p4ddecv32( unsigned char *__restrict in, unsigned n, unsigned *__restrict out); @@ -53,7 +56,7 @@ unsigned char *p4dddv32( unsigned char *__restrict in, unsigned n, unsigned *_ unsigned char *p4dd1d32( unsigned char *__restrict in, unsigned n, unsigned *__restrict out, unsigned start, unsigned b, unsigned bx); unsigned char *p4dd1dv32( unsigned char *__restrict in, unsigned n, unsigned *__restrict out, unsigned start, unsigned b, unsigned bx); -//---------------- Direct Access functions to compressed (DELTAR + p4denc see icbench) TurboPFor array ------------------------------------------------------- +//---------------- Direct Access functions to compressed TurboPFor array ------------------------------------------------------- #define P4D_PAD8(__x) ( (((__x)+8-1)/8) ) #define P4D_B(__x) (((__x) >> 1) & 0x3f) #define P4D_XB(__x) (((__x) & 1)?((__x) >> 8):0)