SphinxBase  0.6
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_thuff_code_build_int (int32 const *values, int32 const *frequencies, int nvals)
 Create a codebook from 32-bit integer data.
 
SPHINXBASE_EXPORT huff_code_thuff_code_build_str (char *const *values, int32 const *frequencies, int nvals)
 Create a codebook from string data.
 
SPHINXBASE_EXPORT huff_code_thuff_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_thuff_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.