GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > LDT / V0-3-3
Constituent: encdec     Tag: linux-gcc
#include "LDT/HDD.h"
#include "LDT/HUFF.h"
#include "LDT/BFU.h"
#include "ffs.h"
#include "PBI/Endianness.h"
#include "dprintf.h"
Include dependency graph for HDD.c:
Data Structures | |
struct | _HDD |
union | _DeltaInfo_bf |
Union of the delta information word as (signed) bit fields. More... | |
union | _DeltaInfo |
Union of the delta information word as an interpretted 32-bit integer and its (signed) bit fields. More... | |
Defines | |
#define | _CV_TO_CODETREE(_0, _1, _2) ((_2 << 4) | (_1 << 2) | (_0 << 0)) |
#define | _CODES(_c0, _c1, _c2) ((_c2 << 4) | (_c1 << 2) | (_c0 << 0)) |
Typedefs | |
typedef _HDD | HDD |
typedef _DeltaInfo_bf | DeltaInfo_bf |
Typedef for union _DeltaInfo_bf. | |
typedef _DeltaInfo | DeltaInfo |
Typedef for union _DeltaInfo. | |
Functions | |
static __inline BFU | unpack_code_lens (unsigned char *lens, int nlens, const unsigned int *src, unsigned int max, BFU bfu) |
Dispatch routine to unpack the deltas and form the code length array when the deltas are themselves encoded as a Huffman table. | |
static __inline void | fill_code_lens (unsigned char *lens, int nlens, unsigned int seed, int min) |
Routine to form the code length when all the deltas are the same. | |
static __inline BFU | unpack_code_lens1 (unsigned char *lens, int nlens, unsigned int seed, int min, const unsigned int *src, unsigned int max, BFU bfu) |
Optimized routine to unpack the deltas and form the code length array when the deltas are all 0s or 1s. | |
static __inline BFU | unpack_code_lens2 (unsigned char *lens, int nlens, unsigned int seed, int min, const unsigned int *src, unsigned int max, BFU bfu) |
Optimized routine to unpack the deltas and form the code length array when the deltas ranges is 2 (0,1,2). | |
static __inline BFU | unpack_code_lensN (unsigned char *lens, int nlens, unsigned int seed, int delta_min, int delta_max, const unsigned int *src, unsigned int max, BFU bfu) |
Generic routine to unpack the deltas and form the code length array when the deltas are themselves encoded as a Huffman table The routines unpack_deltas1 and deltas2 are used when the range of the huffman encoding table is only 1 (2 symbols) or 2 (3 symbols) In these cases, a more optimal scheme, tailored to these small tables is used. | |
static __inline BFU | unpack_syms (signed short int *syms, int nsyms, const HUFF_dtable *dtable, int nlens, int min, unsigned int nunderflow, unsigned int noverflow, const unsigned int *src, unsigned int max, BFU bfu) |
Restores the differences between the original PHA value and its pedestal. | |
static __inline BFU | unpack_short (BFU bfu, const unsigned int *src, int *val) |
static __inline BFU | unpack_nshort (BFU bfu, const unsigned int *src, int *val) |
static __inline BFU | unpack_ushort (BFU bfu, const unsigned int *src, unsigned int *val) |
static __inline BFU | unpack_delta_min_max_seed (BFU bfu, const unsigned int *src, int *delta_min, int *delta_max, unsigned int *seed) |
unsigned int | HDD_sizeof (unsigned int nhuff) |
Returns the size, in bytes, for a handle to hold a Huffman distribution of huffman_bins. | |
void * | HDD_construct (HDD *hdd, unsigned int nhuff) |
Constructs (initializes) the specified HDD structure. | |
unsigned int | HDD_decodeS (HDD *hdd, const unsigned int *src, unsigned int pos, unsigned int max_pos, unsigned short int *syms, unsigned int nsyms) |
Unpacks the distribution encoded with HDD_encodeSS. |
CVS $Id: HDD.c,v 1.6 2006/12/08 20:59:44 russell Exp $
|
Typedef for union _DeltaInfo_bf. The advantage of defining these structures is that it allows the compiler to sign-extend the bit fields where needed. |
|
Routine to form the code length when all the deltas are the same.
|
|
Constructs (initializes) the specified HDD structure.
|
|
Unpacks the distribution encoded with HDD_encodeSS.
|
|
Returns the size, in bytes, for a handle to hold a Huffman distribution of huffman_bins.
|
|
Dispatch routine to unpack the deltas and form the code length array when the deltas are themselves encoded as a Huffman table.
|
|
Optimized routine to unpack the deltas and form the code length array when the deltas are all 0s or 1s.
|
|
Optimized routine to unpack the deltas and form the code length array when the deltas ranges is 2 (0,1,2).
|
|
Generic routine to unpack the deltas and form the code length array when the deltas are themselves encoded as a Huffman table The routines unpack_deltas1 and deltas2 are used when the range of the huffman encoding table is only 1 (2 symbols) or 2 (3 symbols) In these cases, a more optimal scheme, tailored to these small tables is used.
|
|
Restores the differences between the original PHA value and its pedestal.
|