Intel Extensible Firmware Interface User Manual
Page 999

Decompression Source Code
Version 1.10
12/01/02
I-7
STATIC
UINT16
MakeTable (
IN SCRATCH_DATA *Sd,
IN UINT16 NumOfChar,
IN UINT8 *BitLen,
IN UINT16 TableBits,
OUT UINT16 *Table
)
/*++
Routine Description:
Creates Huffman Code mapping table according to code length array.
Arguments:
Sd - The global scratch data
NumOfChar - Number of symbols in the symbol set
BitLen - Code length array
TableBits - The width of the mapping table
Table - The table
Returns:
0 - OK.
BAD_TABLE - The table is corrupted.
--*/
{
UINT16 Count[17];
UINT16 Weight[17];
UINT16 Start[18];
UINT16 *p;
UINT16 k;
UINT16 i;
UINT16 Len;
UINT16 Char;
UINT16 JuBits;
UINT16 Avail;
UINT16 NextCode;
UINT16 Mask;
for (i = 1; i <= 16; i ++) {
Count[i] = 0;
}
for (i = 0; i < NumOfChar; i++) {
Count[BitLen[i]]++;
}
Start[1] = 0;
for (i = 1; i <= 16; i ++) {
Start[i + 1] = (UINT16)(Start[i] + (Count[i] << (16 - i)));
}
- 41210 (64 pages)
- 8xC251TQ (20 pages)
- ENTERPRISE PRINTING SYSTEM (EPS) 4127 (84 pages)
- U3-1L (20 pages)
- 80960HA (104 pages)
- X58 (54 pages)
- ESM-2850 2047285001R (91 pages)
- ATOM US15W (54 pages)
- D915GVWB (4 pages)
- XP-P5CM-GL (28 pages)
- AX965Q (81 pages)
- CORETM 2 DUO MOBILE 320028-001 (42 pages)
- CV700A (63 pages)
- 80C188EA (50 pages)
- X25-M (28 pages)
- XP-P5IM800GV (26 pages)
- IB868 (60 pages)
- D865GVHZ (88 pages)
- IB865 (64 pages)
- Altera P0424-ND (1 page)
- 8086-2 (30 pages)
- IXDP465 (22 pages)
- IWILL P4D (104 pages)
- GA-8I955X PRO (88 pages)
- FSB400 (PC2100) (96 pages)
- D845GLAD (4 pages)
- NAR-3041 (1 page)
- 87C196CA (136 pages)
- G52-M6734XD (74 pages)
- A96134-002 (10 pages)
- Express Routers 9000 (8 pages)
- 82540EP (45 pages)
- D865GLC (94 pages)
- IB850 (69 pages)
- MB898RF (62 pages)
- Arima LH500 (78 pages)
- V09 (33 pages)
- I/O Processor (22 pages)
- M600 (110 pages)
- SE7520JR2 (63 pages)
- SERVER BOARD S5520HCT (30 pages)
- GA-8IPXDR-E (70 pages)
- D845EBG2 (4 pages)
- AW8D (80 pages)