TurboPFor decode: Scalar + Direct Access, SIMD
This commit is contained in:
7
vp4dd.h
7
vp4dd.h
@ -26,14 +26,17 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#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)
|
||||
|
||||
Reference in New Issue
Block a user