GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> QSEC / V3-3-2 > qsec / 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 |
References QSEC_decompression_::desc, QSEC_decompression_::freq, QSEC_decompression_::nbits, QSEC_decompression_::rvlu, and QSEC_decompression_::table.
Referenced by QSEC_clearExpansion().
| 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 |
References QSEC_decompression_::desc, QSEC_decompression_::freq, QSEC_decompression_::hdd, QSEC_decompression_::name, QSEC_decompression_::nbits, QSEC_decompression_::rvlu, and QSEC_decompression_::table.
Referenced by addDcm(), and QSEC_newDecompression().
| 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 |
References QSEC_decompression_::rvlu, and QSEC_decompression_::table.
Referenced by decodeCalMeans(), and decodeShorts().
| 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. |
References QSEC_decompression_::hdd.
| 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 |
References QSEC_decompression_::desc.
| 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 |
References QSEC_constructDecompression(), and QSEC_sizeofDecompression().
| 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 |
References calc_nbits(), QSEC_decompression_::desc, QSEC_decompression_::freq, QSEC_decompression_::name, QSEC_decompression_::nbits, QSEC_decompression_::rvlu, and QSEC_decompression_::table.
Referenced by QSEC_reportExpansion().
| 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 |
Referenced by addDcm(), QSEC_newDecompression(), and QSEC_sizeofExpansion().
| 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 |
References QSEC_decompression_::desc, QSEC_decompression_::freq, getwrd(), QSEC_decompression_::nbits, QSEC_decompression_::rvlu, and QSEC_decompression_::table.
Referenced by recoverUserAcd(), recoverUserCal(), recoverUserGem(), and recoverUserTkr().
| 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 |
References QSEC_decompression_::hdd.
Referenced by recoverUserCal().
1.5.8