TurboPFor: TurboPFor encode/decode c/c++ header
This commit is contained in:
8
vp4.h
8
vp4.h
@ -286,9 +286,9 @@ unsigned char *p4zdec64( unsigned char *__restrict in, unsigned n, uint64_t
|
|||||||
//---------------- Direct Access functions to compressed TurboPFor array p4encx16/p4encx32 -------------------------------------------------------
|
//---------------- Direct Access functions to compressed TurboPFor array p4encx16/p4encx32 -------------------------------------------------------
|
||||||
#ifdef TURBOPFOR_DAC
|
#ifdef TURBOPFOR_DAC
|
||||||
#include "conf.h"
|
#include "conf.h"
|
||||||
#define P4D_PAD8(_x_) ( (((_x_)+8-1)/8) )
|
#define P4D_PAD8(_x_) ( (((_x_)+8-1)/8) )
|
||||||
#define P4D_B(_x_) ((_x_) & 0x7f)
|
#define P4D_B(_x_) ((_x_) & 0x7f)
|
||||||
#define P4D_XB(_x_) (((_x_) & 0x80)?((_x_) >> 8):0)
|
#define P4D_XB(_x_) (((_x_) & 0x80)?((_x_) >> 8):0)
|
||||||
#define P4D_ININC(_in_, _x_) _in_ += 1+((_x_) >> 7)
|
#define P4D_ININC(_in_, _x_) _in_ += 1+((_x_) >> 7)
|
||||||
|
|
||||||
static inline unsigned p4bits(unsigned char *__restrict in, int *bx) { unsigned i = ctou16(in); *bx = P4D_XB(i); return P4D_B(i); }
|
static inline unsigned p4bits(unsigned char *__restrict in, int *bx) { unsigned i = ctou16(in); *bx = P4D_XB(i); return P4D_B(i); }
|
||||||
@ -307,7 +307,7 @@ static inline void p4ini(struct p4 *p4, unsigned char **pin, unsigned n, unsigne
|
|||||||
unsigned p4i = ctou16(in);
|
unsigned p4i = ctou16(in);
|
||||||
p4->isx = p4i&0x80;
|
p4->isx = p4i&0x80;
|
||||||
*b = P4D_B(p4i);
|
*b = P4D_B(p4i);
|
||||||
p4->bx = P4D_XB(p4i); //printf("p4i=%x,b=%d,bx=%d ", p4->i, *b, p4->bx); //assert(n <= P4D_MAX);
|
p4->bx = P4D_XB(p4i); //printf("p4i=%x,b=%d,bx=%d ", p4->i, *b, p4->bx); //assert(n <= P4D_MAX);
|
||||||
*pin = p4->ex = ++in;
|
*pin = p4->ex = ++in;
|
||||||
if(p4->isx) {
|
if(p4->isx) {
|
||||||
unsigned num=0,j;
|
unsigned num=0,j;
|
||||||
|
|||||||
Reference in New Issue
Block a user