68 lines
2.6 KiB
C
68 lines
2.6 KiB
C
|
|
/******************************************************************
|
|
|
|
iLBC Speech Coder ANSI-C Source Code
|
|
|
|
packing.h
|
|
|
|
Copyright (C) The Internet Society (2004).
|
|
All Rights Reserved.
|
|
|
|
******************************************************************/
|
|
|
|
#ifndef __PACKING_H
|
|
#define __PACKING_H
|
|
|
|
void packsplit(
|
|
int *index, /* (i) the value to split */
|
|
int *firstpart, /* (o) the value specified by most
|
|
significant bits */
|
|
int *rest, /* (o) the value specified by least
|
|
significant bits */
|
|
int bitno_firstpart, /* (i) number of bits in most
|
|
significant part */
|
|
int bitno_total /* (i) number of bits in full range
|
|
of value */
|
|
);
|
|
|
|
void packcombine(
|
|
int *index, /* (i/o) the msb value in the
|
|
combined value out */
|
|
int rest, /* (i) the lsb value */
|
|
int bitno_rest /* (i) the number of bits in the
|
|
lsb part */
|
|
);
|
|
|
|
void dopack(
|
|
unsigned char **bitstream, /* (i/o) on entrance pointer to
|
|
place in bitstream to pack
|
|
new data, on exit pointer
|
|
to place in bitstream to
|
|
pack future data */
|
|
int index, /* (i) the value to pack */
|
|
int bitno, /* (i) the number of bits that the
|
|
value will fit within */
|
|
int *pos /* (i/o) write position in the
|
|
current byte */
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
void unpack(
|
|
unsigned char **bitstream, /* (i/o) on entrance pointer to
|
|
place in bitstream to
|
|
unpack new data from, on
|
|
exit pointer to place in
|
|
bitstream to unpack future
|
|
data from */
|
|
int *index, /* (o) resulting value */
|
|
int bitno, /* (i) number of bits used to
|
|
represent the value */
|
|
int *pos /* (i/o) read position in the
|
|
current byte */
|
|
);
|
|
|
|
#endif
|
|
|