TurboPFor: TurboPFor encode/decode c/c++ header
This commit is contained in:
7
vp4.h
7
vp4.h
@ -41,9 +41,11 @@ size_t p4nenc8( uint8_t *__restrict in, size_t n, unsigned char *__restri
|
||||
size_t p4nenc16( uint16_t *__restrict in, size_t n, unsigned char *__restrict out);
|
||||
size_t p4nenc32( uint32_t *__restrict in, size_t n, unsigned char *__restrict out);
|
||||
size_t p4nenc128v32( uint32_t *__restrict in, size_t n, unsigned char *__restrict out); // SIMD (Vertical bitpacking)
|
||||
size_t p4nenc256w32( uint32_t *__restrict in, size_t n, unsigned char *__restrict out);
|
||||
size_t p4nenc256v32( uint32_t *__restrict in, size_t n, unsigned char *__restrict out);
|
||||
size_t p4nenc64( uint64_t *__restrict in, size_t n, unsigned char *__restrict out);
|
||||
|
||||
|
||||
size_t p4ndenc8( uint8_t *__restrict in, size_t n, unsigned char *__restrict out);
|
||||
size_t p4ndenc16( uint16_t *__restrict in, size_t n, unsigned char *__restrict out);
|
||||
size_t p4ndenc32( uint32_t *__restrict in, size_t n, unsigned char *__restrict out);
|
||||
@ -79,6 +81,7 @@ size_t p4nddec8( unsigned char *__restrict in, size_t n, uint8_t *__restri
|
||||
size_t p4nddec16( unsigned char *__restrict in, size_t n, uint16_t *__restrict out);
|
||||
size_t p4nddec32( unsigned char *__restrict in, size_t n, uint32_t *__restrict out);
|
||||
size_t p4nddec128v32( unsigned char *__restrict in, size_t n, uint32_t *__restrict out);
|
||||
size_t p4nddec256w32( unsigned char *__restrict in, size_t n, uint32_t *__restrict out);
|
||||
size_t p4nddec256v32( unsigned char *__restrict in, size_t n, uint32_t *__restrict out);
|
||||
size_t p4nddec64( unsigned char *__restrict in, size_t n, uint64_t *__restrict out);
|
||||
// Delta minimum = 1
|
||||
@ -110,6 +113,8 @@ unsigned char *p4enc128v32( uint32_t *__restrict in, unsigned n, unsigned char
|
||||
unsigned char *p4enc256v32( uint32_t *__restrict in, unsigned n, unsigned char *__restrict out); // AVX2
|
||||
unsigned char *p4enc64( uint64_t *__restrict in, unsigned n, unsigned char *__restrict out);
|
||||
|
||||
unsigned char *p4enc256w32( uint32_t *__restrict in, unsigned n, unsigned char *__restrict out);
|
||||
|
||||
unsigned char *p4encx8( uint8_t *__restrict in, unsigned n, unsigned char *__restrict out);// Direct access
|
||||
unsigned char *p4encx16( uint16_t *__restrict in, unsigned n, unsigned char *__restrict out);
|
||||
unsigned char *p4encx32( uint32_t *__restrict in, unsigned n, unsigned char *__restrict out);
|
||||
@ -122,6 +127,8 @@ unsigned char *p4denc128v32( uint32_t *__restrict in, unsigned n, unsigned char
|
||||
unsigned char *p4denc256v32( uint32_t *__restrict in, unsigned n, unsigned char *__restrict out, uint32_t start);
|
||||
unsigned char *p4denc64( uint64_t *__restrict in, unsigned n, unsigned char *__restrict out, uint64_t start);
|
||||
|
||||
unsigned char *p4denc256w32( uint32_t *__restrict in, unsigned n, unsigned char *__restrict out, uint32_t start);
|
||||
|
||||
unsigned char *p4dencx8( uint8_t *__restrict in, unsigned n, unsigned char *__restrict out, uint8_t start); // Direct access
|
||||
unsigned char *p4dencx16( uint16_t *__restrict in, unsigned n, unsigned char *__restrict out, uint16_t start);
|
||||
unsigned char *p4dencx32( unsigned *__restrict in, unsigned n, unsigned char *__restrict out, uint32_t start);
|
||||
|
Reference in New Issue
Block a user