GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> QSEC / V3-3-0 > qsec_wb / sun-gcc
#include "LDT/APD.h"
#include <stdlib.h>
#include <stdio.h>
Typedefs | |
typedef struct QSEC_decompression_ | QSEC_decompression |
Declaration of the opaque decompression structure. | |
Functions | |
void | QSEC_clearDecompression (QSEC_decompression *dcm) |
Clear the decompression structrure of any data from a previous cycle. | |
QSEC_decompression * | QSEC_constructDecompression (void *buffer, unsigned int nbits, const char *name) |
Initialise the buffer as a decompression structure. | |
unsigned int | QSEC_decompress (QSEC_decompression *dcm, APD_dtx *dtx) |
Decode the next APE-encoded symbol. | |
int | QSEC_decompressH (QSEC_decompression *dcm, const unsigned int *buff, unsigned int *posn) |
Decode the next Huffman-encoded symbol. | |
void | QSEC_deleteDecompression (QSEC_decompression *dcm) |
Free the memory associated with the decompression structure. | |
unsigned int | QSEC_getCount (QSEC_decompression *dcm) |
Return the number of non-zero bins in the histogram. | |
QSEC_decompression * | QSEC_newDecompression (unsigned int nbits, const char *name) |
Allocate and initialise a new decompression structure. | |
void | QSEC_reportDecompression (QSEC_decompression *dcm, FILE *fp) |
Describe the contents of the decompression structure in formatted ASCII sent to the file fp. | |
size_t | QSEC_sizeofDecompression (unsigned int nbits) |
Calculate the total size required to accomodate a decompression structure. | |
const unsigned int * | QSEC_unpack (QSEC_decompression *dcm, const unsigned int *buf) |
Unpack a histogram used for APE encoding. | |
const unsigned int * | QSEC_unpackH (QSEC_decompression *dcm, const unsigned int *buf) |
Unpack a table used for Huffman encoding. |
void QSEC_clearDecompression | ( | QSEC_decompression * | dcm | ) |
Clear the decompression structrure of any data from a previous cycle.
dcm | Pointer to an allocated, initialised, decompression structure |
QSEC_decompression* QSEC_constructDecompression | ( | void * | buffer, | |
unsigned int | nbits, | |||
const char * | name | |||
) |
Initialise the buffer as a decompression structure.
buffer | Pointer to the uninitialised memory to use for this decompression structure | |
nbits | Number of bits in the symbols to be handled by this decompression strcuture | |
name | String identifying this structure |
unsigned int QSEC_decompress | ( | QSEC_decompression * | dcm, | |
APD_dtx * | dtx | |||
) |
Decode the next APE-encoded symbol.
dcm | Pointer to an initialsed, populated and processed decompression structure | |
dtx | Pointer to the arithmetic encoder context |
int QSEC_decompressH | ( | QSEC_decompression * | dcm, | |
const unsigned int * | buff, | |||
unsigned int * | posn | |||
) |
Decode the next Huffman-encoded symbol.
dcm | Pointer to an initialsed, populated and processed decompression structure. | |
buff | Pointer to the buffer being decoded. | |
posn | Pointer to the current bit position in the buffer. Is updated by this routine. |
void QSEC_deleteDecompression | ( | QSEC_decompression * | dcm | ) |
Free the memory associated with the decompression structure.
dcm | Pointer to an allocated decompression structure |
unsigned int QSEC_getCount | ( | QSEC_decompression * | dcm | ) |
Return the number of non-zero bins in the histogram.
dcm | Pointer to a decompression structure |
QSEC_decompression* QSEC_newDecompression | ( | unsigned int | nbits, | |
const char * | name | |||
) |
Allocate and initialise a new decompression structure.
name | String used in the reporting of error to identify a decompression structure | |
nbits | Number of symbols in the complete range of possible symbols (including excluded internal sub-ranges), hence the number of bins in the histogram and frequency tables |
void QSEC_reportDecompression | ( | QSEC_decompression * | dcm, | |
FILE * | fp | |||
) |
Describe the contents of the decompression structure in formatted ASCII sent to the file fp.
dcm | Pointer to the decompression structure | |
fp | Pointer to the file used as the destination |
size_t QSEC_sizeofDecompression | ( | unsigned int | nbits | ) |
Calculate the total size required to accomodate a decompression structure.
nbits | Number of symbols in the complete range of possible symbols (including excluded internal sub-ranges), hence the number of bins in the histogram and frequency tables |
const unsigned int* QSEC_unpack | ( | QSEC_decompression * | dcm, | |
const unsigned int * | buffer | |||
) |
Unpack a histogram used for APE encoding.
This routine build the necessary lookup and freqency tables by unpacking data from the consignment.
dcm | Pointer to an initialsed decompression structure | |
buffer | Pointer to the start of the buffer holding the packed structure |
const unsigned int* QSEC_unpackH | ( | QSEC_decompression * | dcm, | |
const unsigned int * | buffer | |||
) |
Unpack a table used for Huffman encoding.
This routine build the necessary tables by unpacking data from the consignment.
dcm | Pointer to an initialsed decompression structure | |
buffer | Pointer to the start of the buffer holding the packed structure |