BPack
Functions
void |
|
void |
|
void |
|
int |
|
int |
|
void |
|
int |
|
void |
Detailed Description
-
class BPack
The BPack class is very similar to BByteStream, but without the restrictions on bits_per_sample. BPack supports anything in the range of 2-31. I haven’t done the benchmarks to determine which is faster for the values of bits_per_sample that both classes support (9,10,12). I suspect that the answer to that question would be platform-dependent, but I have no hard data to back that up.
This class is based on a subset of the functions in BVarStream. Unlike BVarStream, however, this class is meant to encode samples of fixed length.
Public Functions
-
inline BPack()
-
inline ~BPack()
-
inline void InitWrite(int size, void *pointer)
We already have a buffer that we would like to use varstream to fill w/ data. matching this call with a vsfree is unnecessary (but would do no harm). pointer must be 4-byte aligned.
-
inline void InitRead(int size, void const *pointer)
We have a buffer that we would like to use varstream to read from. matching this call with a vsfree is unnecessary (but would do no harm). pointer must be 4-byte aligned.
-
inline void Put(int numbits, int val)
-
inline int Get(int numbits)
-
inline int NumBytes() const
-
inline void SetCanReallocate(int val)
-
inline int GetStatus() const
-
inline void SwapBytes()
Account for big endian systems. Call after the last Put() or before the first Get()
-
inline BPack()