initial revision
[swftools.git] / lib / bladeenc / huffman.h
1 /*
2                         (c) Copyright 1998-2000 - Tord Jansson
3                         ======================================
4
5                 This file is part of the BladeEnc MP3 Encoder, based on
6                 ISO's reference code for MPEG Layer 3 compression, and might
7                 contain smaller or larger sections that are directly taken
8                 from ISO's reference code.
9
10                 All changes to the ISO reference code herein are either
11                 copyrighted by Tord Jansson (tord.jansson@swipnet.se)
12                 or sublicensed to Tord Jansson by a third party.
13
14         BladeEnc is free software; you can redistribute this file
15         and/or modify it under the terms of the GNU Lesser General Public
16         License as published by the Free Software Foundation; either
17         version 2.1 of the License, or (at your option) any later version.
18
19
20
21         ------------    Changes    ------------
22
23         2000-12-04  Andre Piotrowski
24
25         -       reformatted, slimmed
26 */
27
28 #ifndef         __HUFFMAN__
29 #define         __HUFFMAN__
30
31
32 struct huffcodetab {
33         unsigned int                    xlen;           /* max. x-index                           */
34         unsigned int                    ylen;           /* max. y-index                           */
35         unsigned int                    linbits;        /* number of linbits                      */
36         unsigned int                    linmax;         /* max number to be stored in linbits     */
37         int                                             ref;            /* a positive value indicates a reference */
38         unsigned int                    *table;         /* pointer to array[xlen][ylen]           */
39         unsigned char                   *hlen;          /* pointer to array[xlen][ylen]           */
40 };
41
42
43 extern struct huffcodetab       ht[34];
44 /* global memory block               */
45 /* array of all huffcodtable headers */
46 /* 0..31 Huffman code table 0..31    */
47 /* 32,33 count1-tables               */
48
49
50 #endif          /* __HUFFMAN__ */