huff_code.h File Reference

Huffman code and bitstream implementation. More...

`#include <stdio.h>`
`#include <sphinxbase/sphinxbase_export.h>`
`#include <sphinxbase/prim_type.h>`
`#include <sphinxbase/cmd_ln.h>`

Go to the source code of this file.

## Typedefs

typedef struct huff_code_s | huff_code_t

## Functions

SPHINXBASE_EXPORT huff_code_t * | huff_code_build_int (int32 const *values, int32 const *frequencies, int nvals)
| Create a codebook from 32-bit integer data.
SPHINXBASE_EXPORT huff_code_t * | huff_code_build_str (char *const *values, int32 const *frequencies, int nvals)
| Create a codebook from string data.
SPHINXBASE_EXPORT huff_code_t * | huff_code_read (FILE *infh)
| Read a codebook from a file.
SPHINXBASE_EXPORT int | huff_code_write (huff_code_t *hc, FILE *outfh)
| Write a codebook to a file.
SPHINXBASE_EXPORT int | huff_code_dump (huff_code_t *hc, FILE *dumpfh)
| Print a codebook to a file as text (for debugging)
SPHINXBASE_EXPORT huff_code_t * | huff_code_retain (huff_code_t *hc)
| Retain a pointer to a Huffman codec object.
SPHINXBASE_EXPORT int | huff_code_free (huff_code_t *hc)
| Release a pointer to a Huffman codec object.
SPHINXBASE_EXPORT FILE * | huff_code_attach (huff_code_t *hc, FILE *fh, char const *mode)
| Attach a Huffman codec to a file handle for input/output.
SPHINXBASE_EXPORT FILE * | huff_code_detach (huff_code_t *hc)
| Detach a Huffman codec from its file handle.
SPHINXBASE_EXPORT int | huff_code_encode_int (huff_code_t *hc, int32 sym, uint32 *outcw)
| Encode an integer, writing it to the file handle, if any.
SPHINXBASE_EXPORT int | huff_code_encode_str (huff_code_t *hc, char const *sym, uint32 *outcw)
| Encode a string, writing it to the file handle, if any.
SPHINXBASE_EXPORT int | huff_code_decode_int (huff_code_t *hc, int *outval, char const **inout_data, size_t *inout_data_len, int *inout_offset)
| Decode an integer, reading it from the file if no data given.
SPHINXBASE_EXPORT char const * | huff_code_decode_str (huff_code_t *hc, char const **inout_data, size_t *inout_data_len, int *inout_offset)
| Decode a string, reading it from the file if no data given.

## Detailed Description

Huffman code and bitstream implementation.

This interface supports building canonical Huffman codes from string and integer values. It also provides support for encoding and decoding from strings and files, and for reading and writing codebooks from files.

Definition in file huff_code.h.