#include "cdflib.h"
#include "cdflib64.h"
Classes | |
struct | tree_node |
struct | code |
struct | bit_file |
struct | tree |
struct | tree::node |
Defines | |
#define | END_OF_STREAM 256 |
#define | END_OF_STREAM 256 |
#define | ESCAPE 257 |
#define | SYMBOL_COUNT 258 |
#define | NODE_TABLE_COUNT ((SYMBOL_COUNT*2)-1) |
#define | ROOT_NODE 0 |
#define | MAX_WEIGHT 0x8000 |
Typedefs | |
typedef uByte | BYTE |
typedef uInt16 | WORD |
typedef uInt32 | DWORD |
typedef uInt | INT |
typedef struct tree_node | NODE |
typedef struct code | CODE |
typedef struct bit_file | BIT_FILE |
typedef struct tree | TREE |
Functions | |
static BIT_FILE *StartBitFile | PROTOARGs ((vFILE *fp)) |
static Logical EndOutputBitFile | PROTOARGs ((BIT_FILE *bit_file)) |
static Logical OutputBits | PROTOARGs ((BIT_FILE *bit_file, DWORD code, int count)) |
static Logical output_counts | PROTOARGs ((BIT_FILE *output, NODE *nodes)) |
static Logical count_bytes | PROTOARGs ((vFILE *input, DWORD *counts, OFF_T iSize)) |
static void scale_counts | PROTOARGs ((DWORD *counts, NODE *nodes)) |
static int build_tree | PROTOARGs ((NODE *nodes)) |
static void convert_tree_to_code | PROTOARGs ((NODE *nodes, CODE *codes, INT code_so_far, int bits, int node)) |
static CDFstatus compress_data | PROTOARGs ((vFILE *input, BIT_FILE *output, CODE *codes, OFF_T iSize, CDFstatus iError, CDFstatus oError)) |
static Logical input_counts | PROTOARGs ((BIT_FILE *input, NODE *nodes)) |
static CDFstatus expand_data | PROTOARGs ((BIT_FILE *input, vFILE *output, NODE *nodes, int root_node, CDFstatus iError, CDFstatus oError)) |
static void InitializeTree | PROTOARGs ((TREE *tree)) |
static Logical EncodeSymbol | PROTOARGs ((TREE *tree, INT c, BIT_FILE *output)) |
static int DecodeSymbol | PROTOARGs ((TREE *tree, BIT_FILE *input)) |
static void UpdateModel | PROTOARGs ((TREE *tree, int c)) |
static void swap_nodes | PROTOARGs ((TREE *tree, int i, int j)) |
static DWORD InputBits | PROTOARGs ((BIT_FILE *bit_file, int bit_count)) |
STATICforIDL CDFstatus | CompressHUFF0_64 (vFILE *input, OFF_T iOffset, OFF_T iSize, CDFstatus iError, vFILE *oFp, OFF_T oOffset, OFF_T *oSize, CDFstatus oError) |
STATICforIDL CDFstatus | DecompressHUFF0_64 (vFILE *iFp, OFF_T iOffset, CDFstatus iError, vFILE *output, OFF_T oOffset, CDFstatus oError) |
STATICforIDL CDFstatus | CompressAHUFF0_64 (vFILE *input, OFF_T iOffset, OFF_T iSize, CDFstatus iError, vFILE *oFp, OFF_T oOffset, OFF_T *oSize, CDFstatus oError) |
STATICforIDL CDFstatus | DecompressAHUFF0_64 (vFILE *iFp, OFF_T iOffset, CDFstatus iError, vFILE *output, OFF_T oOffset, CDFstatus oError) |
static Logical | output_counts (BIT_FILE *output, NODE *nodes) |
static Logical | count_bytes (vFILE *input, DWORD *counts, OFF_T iSize) |
static void | scale_counts (DWORD *counts, NODE *nodes) |
static int | build_tree (NODE *nodes) |
static void | convert_tree_to_code (NODE *nodes, CODE *codes, INT code_so_far, int bits, int node) |
static CDFstatus | compress_data (vFILE *input, BIT_FILE *output, CODE *codes, OFF_T iSize, CDFstatus iError, CDFstatus oError) |
static BIT_FILE * | StartBitFile (vFILE *fp) |
static Logical | EndOutputBitFile (BIT_FILE *bit_file) |
static Logical | EndInputBitFile (BIT_FILE *bit_file) |
static Logical | OutputBits (BIT_FILE *bit_file, DWORD code, int count) |
static int | InputBit (BIT_FILE *bit_file) |
static DWORD | InputBits (BIT_FILE *bit_file, int bit_count) |
static Logical | input_counts (BIT_FILE *input, NODE *nodes) |
static CDFstatus | expand_data (BIT_FILE *input, vFILE *output, NODE *nodes, int root_node, CDFstatus iError, CDFstatus oError) |
static void | InitializeTree (TREE *tree) |
static Logical | EncodeSymbol (TREE *tree, INT c, BIT_FILE *output) |
static int | DecodeSymbol (TREE *tree, BIT_FILE *input) |
static void | UpdateModel (TREE *tree, int c) |
static void | RebuildTree (TREE *tree) |
static void | swap_nodes (TREE *tree, int i, int j) |
static void | add_new_node (TREE *tree, int c) |
#define END_OF_STREAM 256 |
#define END_OF_STREAM 256 |
#define ESCAPE 257 |
#define MAX_WEIGHT 0x8000 |
#define NODE_TABLE_COUNT ((SYMBOL_COUNT*2)-1) |
#define ROOT_NODE 0 |
#define SYMBOL_COUNT 258 |
static void add_new_node | ( | TREE * | tree, | |
int | c | |||
) | [static] |
static int build_tree | ( | NODE * | nodes | ) | [static] |
static CDFstatus compress_data | ( | vFILE * | input, | |
BIT_FILE * | output, | |||
CODE * | codes, | |||
OFF_T | iSize, | |||
CDFstatus | iError, | |||
CDFstatus | oError | |||
) | [static] |
STATICforIDL CDFstatus CompressAHUFF0_64 | ( | vFILE * | input, | |
OFF_T | iOffset, | |||
OFF_T | iSize, | |||
CDFstatus | iError, | |||
vFILE * | oFp, | |||
OFF_T | oOffset, | |||
OFF_T * | oSize, | |||
CDFstatus | oError | |||
) |
STATICforIDL CDFstatus CompressHUFF0_64 | ( | vFILE * | input, | |
OFF_T | iOffset, | |||
OFF_T | iSize, | |||
CDFstatus | iError, | |||
vFILE * | oFp, | |||
OFF_T | oOffset, | |||
OFF_T * | oSize, | |||
CDFstatus | oError | |||
) |
static void convert_tree_to_code | ( | NODE * | nodes, | |
CODE * | codes, | |||
INT | code_so_far, | |||
int | bits, | |||
int | node | |||
) | [static] |
STATICforIDL CDFstatus DecompressAHUFF0_64 | ( | vFILE * | iFp, | |
OFF_T | iOffset, | |||
CDFstatus | iError, | |||
vFILE * | output, | |||
OFF_T | oOffset, | |||
CDFstatus | oError | |||
) |
STATICforIDL CDFstatus DecompressHUFF0_64 | ( | vFILE * | iFp, | |
OFF_T | iOffset, | |||
CDFstatus | iError, | |||
vFILE * | output, | |||
OFF_T | oOffset, | |||
CDFstatus | oError | |||
) |
static CDFstatus expand_data | ( | BIT_FILE * | input, | |
vFILE * | output, | |||
NODE * | nodes, | |||
int | root_node, | |||
CDFstatus | iError, | |||
CDFstatus | oError | |||
) | [static] |
static void InitializeTree | ( | TREE * | tree | ) | [static] |
static int InputBit | ( | BIT_FILE * | bit_file | ) | [static] |
static CDFstatus expand_data PROTOARGs | ( | (BIT_FILE *input, vFILE *output, NODE *nodes, int root_node, CDFstatus iError, CDFstatus oError) | ) | [static] |
static CDFstatus compress_data PROTOARGs | ( | (vFILE *input, BIT_FILE *output, CODE *codes, OFF_T iSize, CDFstatus iError, CDFstatus oError) | ) | [static] |
static void convert_tree_to_code PROTOARGs | ( | (NODE *nodes, CODE *codes, INT code_so_far, int bits, int node) | ) | [static] |
static int build_tree PROTOARGs | ( | (NODE *nodes) | ) | [static] |
static void RebuildTree | ( | TREE * | tree | ) | [static] |
static void swap_nodes | ( | TREE * | tree, | |
int | i, | |||
int | j | |||
) | [static] |
static void UpdateModel | ( | TREE * | tree, | |
int | c | |||
) | [static] |