1 /* -----------------------------------------------------------------------------
2 Software License for The Fraunhofer FDK AAC Codec Library for Android
3 
4 © Copyright  1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
5 Forschung e.V. All rights reserved.
6 
7  1.    INTRODUCTION
8 The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software
9 that implements the MPEG Advanced Audio Coding ("AAC") encoding and decoding
10 scheme for digital audio. This FDK AAC Codec software is intended to be used on
11 a wide variety of Android devices.
12 
13 AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient
14 general perceptual audio codecs. AAC-ELD is considered the best-performing
15 full-bandwidth communications codec by independent studies and is widely
16 deployed. AAC has been standardized by ISO and IEC as part of the MPEG
17 specifications.
18 
19 Patent licenses for necessary patent claims for the FDK AAC Codec (including
20 those of Fraunhofer) may be obtained through Via Licensing
21 (www.vialicensing.com) or through the respective patent owners individually for
22 the purpose of encoding or decoding bit streams in products that are compliant
23 with the ISO/IEC MPEG audio standards. Please note that most manufacturers of
24 Android devices already license these patent claims through Via Licensing or
25 directly from the patent owners, and therefore FDK AAC Codec software may
26 already be covered under those patent licenses when it is used for those
27 licensed purposes only.
28 
29 Commercially-licensed AAC software libraries, including floating-point versions
30 with enhanced sound quality, are also available from Fraunhofer. Users are
31 encouraged to check the Fraunhofer website for additional applications
32 information and documentation.
33 
34 2.    COPYRIGHT LICENSE
35 
36 Redistribution and use in source and binary forms, with or without modification,
37 are permitted without payment of copyright license fees provided that you
38 satisfy the following conditions:
39 
40 You must retain the complete text of this software license in redistributions of
41 the FDK AAC Codec or your modifications thereto in source code form.
42 
43 You must retain the complete text of this software license in the documentation
44 and/or other materials provided with redistributions of the FDK AAC Codec or
45 your modifications thereto in binary form. You must make available free of
46 charge copies of the complete source code of the FDK AAC Codec and your
47 modifications thereto to recipients of copies in binary form.
48 
49 The name of Fraunhofer may not be used to endorse or promote products derived
50 from this library without prior written permission.
51 
52 You may not charge copyright license fees for anyone to use, copy or distribute
53 the FDK AAC Codec software or your modifications thereto.
54 
55 Your modified versions of the FDK AAC Codec must carry prominent notices stating
56 that you changed the software and the date of any change. For modified versions
57 of the FDK AAC Codec, the term "Fraunhofer FDK AAC Codec Library for Android"
58 must be replaced by the term "Third-Party Modified Version of the Fraunhofer FDK
59 AAC Codec Library for Android."
60 
61 3.    NO PATENT LICENSE
62 
63 NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without
64 limitation the patents of Fraunhofer, ARE GRANTED BY THIS SOFTWARE LICENSE.
65 Fraunhofer provides no warranty of patent non-infringement with respect to this
66 software.
67 
68 You may use this FDK AAC Codec software or modifications thereto only for
69 purposes that are authorized by appropriate patent licenses.
70 
71 4.    DISCLAIMER
72 
73 This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright
74 holders and contributors "AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
75 including but not limited to the implied warranties of merchantability and
76 fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
77 CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary,
78 or consequential damages, including but not limited to procurement of substitute
79 goods or services; loss of use, data, or profits, or business interruption,
80 however caused and on any theory of liability, whether in contract, strict
81 liability, or tort (including negligence), arising in any way out of the use of
82 this software, even if advised of the possibility of such damage.
83 
84 5.    CONTACT INFORMATION
85 
86 Fraunhofer Institute for Integrated Circuits IIS
87 Attention: Audio and Multimedia Departments - FDK AAC LL
88 Am Wolfsmantel 33
89 91058 Erlangen, Germany
90 
91 www.iis.fraunhofer.de/amm
92 amm-info@iis.fraunhofer.de
93 ----------------------------------------------------------------------------- */
94 
95 /*********************** MPEG surround encoder library *************************
96 
97    Author(s):   Markus Lohwasser
98 
99    Description: SAC-Encoder constant huffman tables
100 
101 *******************************************************************************/
102 
103 /* Includes ******************************************************************/
104 #include "sacenc_huff_tab.h"
105 
106 /* Defines *******************************************************************/
107 
108 /* Data Types ****************************************************************/
109 
110 /* Constants *****************************************************************/
111 const HUFF_CLD_TABLE fdk_sacenc_huffCLDTab = {
112     {/* h1D[2][31] */
113      {HUFF_PACK(0x00000000, 1),  HUFF_PACK(0x00000002, 2),
114       HUFF_PACK(0x00000006, 3),  HUFF_PACK(0x0000000e, 4),
115       HUFF_PACK(0x0000001e, 5),  HUFF_PACK(0x0000003e, 6),
116       HUFF_PACK(0x0000007e, 7),  HUFF_PACK(0x000000fe, 8),
117       HUFF_PACK(0x000001fe, 9),  HUFF_PACK(0x000003fe, 10),
118       HUFF_PACK(0x000007fe, 11), HUFF_PACK(0x00000ffe, 12),
119       HUFF_PACK(0x00001ffe, 13), HUFF_PACK(0x00007ffe, 15),
120       HUFF_PACK(0x00007ffc, 15), HUFF_PACK(0x0000fffe, 16),
121       HUFF_PACK(0x0000fffa, 16), HUFF_PACK(0x0001fffe, 17),
122       HUFF_PACK(0x0001fff6, 17), HUFF_PACK(0x0003fffe, 18),
123       HUFF_PACK(0x0003ffff, 18), HUFF_PACK(0x0007ffde, 19),
124       HUFF_PACK(0x0003ffee, 18), HUFF_PACK(0x000fffbe, 20),
125       HUFF_PACK(0x001fff7e, 21), HUFF_PACK(0x00fffbfc, 24),
126       HUFF_PACK(0x00fffbfd, 24), HUFF_PACK(0x00fffbfe, 24),
127       HUFF_PACK(0x00fffbff, 24), HUFF_PACK(0x007ffdfc, 23),
128       HUFF_PACK(0x007ffdfd, 23)},
129      {HUFF_PACK(0x00000000, 1),  HUFF_PACK(0x00000002, 2),
130       HUFF_PACK(0x00000006, 3),  HUFF_PACK(0x0000000e, 4),
131       HUFF_PACK(0x0000001e, 5),  HUFF_PACK(0x0000003e, 6),
132       HUFF_PACK(0x0000007e, 7),  HUFF_PACK(0x000001fe, 9),
133       HUFF_PACK(0x000001fc, 9),  HUFF_PACK(0x000003fe, 10),
134       HUFF_PACK(0x000003fa, 10), HUFF_PACK(0x000007fe, 11),
135       HUFF_PACK(0x000007f6, 11), HUFF_PACK(0x00000ffe, 12),
136       HUFF_PACK(0x00000fee, 12), HUFF_PACK(0x00001ffe, 13),
137       HUFF_PACK(0x00001fde, 13), HUFF_PACK(0x00003ffe, 14),
138       HUFF_PACK(0x00003fbe, 14), HUFF_PACK(0x00003fbf, 14),
139       HUFF_PACK(0x00007ffe, 15), HUFF_PACK(0x0000fffe, 16),
140       HUFF_PACK(0x0001fffe, 17), HUFF_PACK(0x0007fffe, 19),
141       HUFF_PACK(0x0007fffc, 19), HUFF_PACK(0x000ffffa, 20),
142       HUFF_PACK(0x001ffffc, 21), HUFF_PACK(0x001ffffd, 21),
143       HUFF_PACK(0x001ffffe, 21), HUFF_PACK(0x001fffff, 21),
144       HUFF_PACK(0x000ffffb, 20)}},
145     {  /* HUFF_CLD_TAB_2D */
146      { /* HUFF_CLD_TAB_2D[0][] */
147       {/* HUFF_CLD_TAB_2D[0][0] */
148        {
149            /* LAV3_2D */
150            {{HUFF_PACK(0x00000002, 2), HUFF_PACK(0x00000002, 3),
151              HUFF_PACK(0x00000004, 5), HUFF_PACK(0x0000003e, 8)},
152             {HUFF_PACK(0x00000006, 4), HUFF_PACK(0x00000007, 4),
153              HUFF_PACK(0x0000000e, 6), HUFF_PACK(0x000000fe, 10)},
154             {HUFF_PACK(0x0000007e, 9), HUFF_PACK(0x0000001e, 7),
155              HUFF_PACK(0x0000000c, 6), HUFF_PACK(0x00000005, 5)},
156             {HUFF_PACK(0x000000ff, 10), HUFF_PACK(0x0000000d, 6),
157              HUFF_PACK(0x00000000, 3), HUFF_PACK(0x00000003, 2)}},
158            HUFF_PACK(0x00000000, 0) /* escape */
159        },
160        {
161            /* LAV5_2D */
162            {{HUFF_PACK(0x00000002, 3), HUFF_PACK(0x00000003, 3),
163              HUFF_PACK(0x00000010, 5), HUFF_PACK(0x0000007c, 7),
164              HUFF_PACK(0x000000d6, 8), HUFF_PACK(0x000003ee, 10)},
165             {HUFF_PACK(0x0000000a, 4), HUFF_PACK(0x0000000c, 4),
166              HUFF_PACK(0x00000016, 5), HUFF_PACK(0x00000034, 6),
167              HUFF_PACK(0x000000fe, 8), HUFF_PACK(0x00001f7e, 13)},
168             {HUFF_PACK(0x0000007e, 7), HUFF_PACK(0x00000036, 6),
169              HUFF_PACK(0x00000026, 6), HUFF_PACK(0x00000046, 7),
170              HUFF_PACK(0x0000011e, 9), HUFF_PACK(0x000001f6, 9)},
171             {HUFF_PACK(0x0000011f, 9), HUFF_PACK(0x000000d7, 8),
172              HUFF_PACK(0x0000008e, 8), HUFF_PACK(0x000000ff, 8),
173              HUFF_PACK(0x0000006a, 7), HUFF_PACK(0x0000004e, 7)},
174             {HUFF_PACK(0x00000fbe, 12), HUFF_PACK(0x000007de, 11),
175              HUFF_PACK(0x0000004f, 7), HUFF_PACK(0x00000037, 6),
176              HUFF_PACK(0x00000017, 5), HUFF_PACK(0x0000001e, 5)},
177             {HUFF_PACK(0x00001f7f, 13), HUFF_PACK(0x000000fa, 8),
178              HUFF_PACK(0x00000022, 6), HUFF_PACK(0x00000012, 5),
179              HUFF_PACK(0x0000000e, 4), HUFF_PACK(0x00000000, 2)}},
180            HUFF_PACK(0x00000000, 0) /* escape */
181        },
182        {
183            /* LAV7_2D */
184            {{HUFF_PACK(0x0000000e, 4), HUFF_PACK(0x0000000a, 4),
185              HUFF_PACK(0x0000000a, 5), HUFF_PACK(0x0000007c, 7),
186              HUFF_PACK(0x000000be, 8), HUFF_PACK(0x0000017a, 9),
187              HUFF_PACK(0x000000ee, 9), HUFF_PACK(0x000007b6, 11)},
188             {HUFF_PACK(0x00000006, 4), HUFF_PACK(0x0000000c, 4),
189              HUFF_PACK(0x00000016, 5), HUFF_PACK(0x00000026, 6),
190              HUFF_PACK(0x0000003e, 7), HUFF_PACK(0x0000002e, 7),
191              HUFF_PACK(0x000001ec, 9), HUFF_PACK(0x000047ce, 15)},
192             {HUFF_PACK(0x00000016, 6), HUFF_PACK(0x0000003c, 6),
193              HUFF_PACK(0x00000022, 6), HUFF_PACK(0x0000004e, 7),
194              HUFF_PACK(0x0000003f, 7), HUFF_PACK(0x0000005e, 8),
195              HUFF_PACK(0x000008fa, 12), HUFF_PACK(0x000008fb, 12)},
196             {HUFF_PACK(0x0000005f, 8), HUFF_PACK(0x000000fa, 8),
197              HUFF_PACK(0x000000bf, 8), HUFF_PACK(0x0000003a, 7),
198              HUFF_PACK(0x000001f6, 9), HUFF_PACK(0x000001de, 10),
199              HUFF_PACK(0x000003da, 10), HUFF_PACK(0x000007b7, 11)},
200             {HUFF_PACK(0x000001df, 10), HUFF_PACK(0x000003ee, 10),
201              HUFF_PACK(0x0000017b, 9), HUFF_PACK(0x000003ef, 10),
202              HUFF_PACK(0x000001ee, 9), HUFF_PACK(0x0000008e, 8),
203              HUFF_PACK(0x000001ef, 9), HUFF_PACK(0x000001fe, 9)},
204             {HUFF_PACK(0x000008f8, 12), HUFF_PACK(0x0000047e, 11),
205              HUFF_PACK(0x0000047f, 11), HUFF_PACK(0x00000076, 8),
206              HUFF_PACK(0x0000003c, 7), HUFF_PACK(0x00000046, 7),
207              HUFF_PACK(0x0000007a, 7), HUFF_PACK(0x0000007e, 7)},
208             {HUFF_PACK(0x000023e6, 14), HUFF_PACK(0x000011f2, 13),
209              HUFF_PACK(0x000001ff, 9), HUFF_PACK(0x0000003d, 7),
210              HUFF_PACK(0x0000004f, 7), HUFF_PACK(0x0000002e, 6),
211              HUFF_PACK(0x00000012, 5), HUFF_PACK(0x00000004, 4)},
212             {HUFF_PACK(0x000047cf, 15), HUFF_PACK(0x0000011e, 9),
213              HUFF_PACK(0x000000bc, 8), HUFF_PACK(0x000000fe, 8),
214              HUFF_PACK(0x0000001c, 6), HUFF_PACK(0x00000010, 5),
215              HUFF_PACK(0x0000000d, 4), HUFF_PACK(0x00000000, 2)}},
216            HUFF_PACK(0x00000000, 0) /* escape */
217        },
218        {
219            /* LAV9_2D */
220            {{HUFF_PACK(0x00000006, 4), HUFF_PACK(0x00000007, 4),
221              HUFF_PACK(0x00000006, 5), HUFF_PACK(0x0000007e, 7),
222              HUFF_PACK(0x0000000a, 7), HUFF_PACK(0x0000001e, 8),
223              HUFF_PACK(0x0000008a, 9), HUFF_PACK(0x0000004e, 10),
224              HUFF_PACK(0x00000276, 10), HUFF_PACK(0x000002e2, 11)},
225             {HUFF_PACK(0x00000000, 4), HUFF_PACK(0x0000000a, 4),
226              HUFF_PACK(0x00000016, 5), HUFF_PACK(0x00000026, 6),
227              HUFF_PACK(0x00000076, 7), HUFF_PACK(0x000000f2, 8),
228              HUFF_PACK(0x00000012, 8), HUFF_PACK(0x0000005e, 8),
229              HUFF_PACK(0x0000008b, 9), HUFF_PACK(0x00002e76, 15)},
230             {HUFF_PACK(0x00000012, 6), HUFF_PACK(0x00000007, 5),
231              HUFF_PACK(0x00000038, 6), HUFF_PACK(0x0000007c, 7),
232              HUFF_PACK(0x00000008, 7), HUFF_PACK(0x00000046, 8),
233              HUFF_PACK(0x000000f6, 8), HUFF_PACK(0x000001ca, 9),
234              HUFF_PACK(0x0000173a, 14), HUFF_PACK(0x00001738, 14)},
235             {HUFF_PACK(0x0000009e, 8), HUFF_PACK(0x0000004a, 7),
236              HUFF_PACK(0x00000026, 7), HUFF_PACK(0x0000000c, 7),
237              HUFF_PACK(0x0000004e, 8), HUFF_PACK(0x000000f7, 8),
238              HUFF_PACK(0x0000013a, 9), HUFF_PACK(0x0000009e, 11),
239              HUFF_PACK(0x000009fe, 12), HUFF_PACK(0x0000013e, 12)},
240             {HUFF_PACK(0x00000026, 9), HUFF_PACK(0x0000001a, 8),
241              HUFF_PACK(0x000001e6, 9), HUFF_PACK(0x000001e2, 9),
242              HUFF_PACK(0x000000ee, 8), HUFF_PACK(0x000001ce, 9),
243              HUFF_PACK(0x00000277, 10), HUFF_PACK(0x000003ce, 10),
244              HUFF_PACK(0x000002e6, 11), HUFF_PACK(0x000004fc, 11)},
245             {HUFF_PACK(0x000002e3, 11), HUFF_PACK(0x00000170, 10),
246              HUFF_PACK(0x00000172, 10), HUFF_PACK(0x000000ba, 9),
247              HUFF_PACK(0x0000003e, 9), HUFF_PACK(0x000001e3, 9),
248              HUFF_PACK(0x0000001b, 8), HUFF_PACK(0x0000003f, 9),
249              HUFF_PACK(0x0000009e, 9), HUFF_PACK(0x0000009f, 9)},
250             {HUFF_PACK(0x00000b9e, 13), HUFF_PACK(0x000009ff, 12),
251              HUFF_PACK(0x000004fd, 11), HUFF_PACK(0x000004fe, 11),
252              HUFF_PACK(0x000001cf, 9), HUFF_PACK(0x000000ef, 8),
253              HUFF_PACK(0x00000044, 8), HUFF_PACK(0x0000005f, 8),
254              HUFF_PACK(0x000000e4, 8), HUFF_PACK(0x000000f0, 8)},
255             {HUFF_PACK(0x00002e72, 15), HUFF_PACK(0x0000013f, 12),
256              HUFF_PACK(0x00000b9f, 13), HUFF_PACK(0x0000013e, 9),
257              HUFF_PACK(0x000000fe, 8), HUFF_PACK(0x00000047, 8),
258              HUFF_PACK(0x0000000e, 7), HUFF_PACK(0x0000007d, 7),
259              HUFF_PACK(0x00000010, 6), HUFF_PACK(0x00000024, 6)},
260             {HUFF_PACK(0x00002e77, 15), HUFF_PACK(0x00005ce6, 16),
261              HUFF_PACK(0x000000bb, 9), HUFF_PACK(0x000000e6, 8),
262              HUFF_PACK(0x00000016, 8), HUFF_PACK(0x000000ff, 8),
263              HUFF_PACK(0x0000007a, 7), HUFF_PACK(0x0000003a, 6),
264              HUFF_PACK(0x00000017, 5), HUFF_PACK(0x00000002, 4)},
265             {HUFF_PACK(0x00005ce7, 16), HUFF_PACK(0x000003cf, 10),
266              HUFF_PACK(0x00000017, 8), HUFF_PACK(0x000001cb, 9),
267              HUFF_PACK(0x0000009c, 8), HUFF_PACK(0x0000004b, 7),
268              HUFF_PACK(0x00000016, 6), HUFF_PACK(0x0000000a, 5),
269              HUFF_PACK(0x00000008, 4), HUFF_PACK(0x00000006, 3)}},
270            HUFF_PACK(0x00000000, 0) /* escape */
271        }},
272       {/* HUFF_CLD_TAB_2D[0][1] */
273        {
274            /* LAV3_2D */
275            {{HUFF_PACK(0x00000000, 1), HUFF_PACK(0x0000003e, 6),
276              HUFF_PACK(0x0000076e, 11), HUFF_PACK(0x00000ede, 12)},
277             {HUFF_PACK(0x00000006, 3), HUFF_PACK(0x0000003f, 6),
278              HUFF_PACK(0x000003b6, 10), HUFF_PACK(0x0000003a, 6)},
279             {HUFF_PACK(0x0000001c, 5), HUFF_PACK(0x000000ee, 8),
280              HUFF_PACK(0x000001da, 9), HUFF_PACK(0x0000001e, 5)},
281             {HUFF_PACK(0x000000ef, 8), HUFF_PACK(0x00000edf, 12),
282              HUFF_PACK(0x000000ec, 8), HUFF_PACK(0x00000002, 2)}},
283            HUFF_PACK(0x00000000, 0) /* escape */
284        },
285        {
286            /* LAV5_2D */
287            {{HUFF_PACK(0x00000006, 3), HUFF_PACK(0x0000001c, 5),
288              HUFF_PACK(0x0000007e, 8), HUFF_PACK(0x00000efc, 12),
289              HUFF_PACK(0x0000effe, 16), HUFF_PACK(0x0001dffe, 17)},
290             {HUFF_PACK(0x00000004, 3), HUFF_PACK(0x0000000a, 4),
291              HUFF_PACK(0x0000003e, 7), HUFF_PACK(0x00000efe, 12),
292              HUFF_PACK(0x000077fe, 15), HUFF_PACK(0x00000076, 7)},
293             {HUFF_PACK(0x00000006, 4), HUFF_PACK(0x00000016, 5),
294              HUFF_PACK(0x000000be, 8), HUFF_PACK(0x00000efd, 12),
295              HUFF_PACK(0x000000ee, 8), HUFF_PACK(0x0000000e, 5)},
296             {HUFF_PACK(0x0000003e, 6), HUFF_PACK(0x0000002e, 6),
297              HUFF_PACK(0x000001de, 9), HUFF_PACK(0x000003be, 10),
298              HUFF_PACK(0x0000007e, 7), HUFF_PACK(0x0000001e, 5)},
299             {HUFF_PACK(0x0000007f, 7), HUFF_PACK(0x0000005e, 7),
300              HUFF_PACK(0x00003bfe, 14), HUFF_PACK(0x000000fe, 9),
301              HUFF_PACK(0x0000001e, 6), HUFF_PACK(0x00000002, 3)},
302             {HUFF_PACK(0x000000bf, 8), HUFF_PACK(0x0001dfff, 17),
303              HUFF_PACK(0x00001dfe, 13), HUFF_PACK(0x000000ff, 9),
304              HUFF_PACK(0x0000003a, 6), HUFF_PACK(0x00000000, 2)}},
305            HUFF_PACK(0x00000000, 0) /* escape */
306        },
307        {
308            /* LAV7_2D */
309            {{HUFF_PACK(0x00000002, 3), HUFF_PACK(0x0000001c, 5),
310              HUFF_PACK(0x000000bc, 8), HUFF_PACK(0x000005fc, 11),
311              HUFF_PACK(0x00005ffe, 15), HUFF_PACK(0x0002ffde, 18),
312              HUFF_PACK(0x000bff7e, 20), HUFF_PACK(0x0017feff, 21)},
313             {HUFF_PACK(0x00000004, 3), HUFF_PACK(0x0000000a, 4),
314              HUFF_PACK(0x0000000e, 7), HUFF_PACK(0x000002fa, 10),
315              HUFF_PACK(0x000001fe, 13), HUFF_PACK(0x0000bff2, 16),
316              HUFF_PACK(0x0005ffbe, 19), HUFF_PACK(0x000000ee, 8)},
317             {HUFF_PACK(0x00000002, 4), HUFF_PACK(0x00000016, 5),
318              HUFF_PACK(0x000000f6, 8), HUFF_PACK(0x000005fe, 11),
319              HUFF_PACK(0x000001ff, 13), HUFF_PACK(0x0000bff6, 16),
320              HUFF_PACK(0x000001de, 9), HUFF_PACK(0x0000007e, 7)},
321             {HUFF_PACK(0x00000000, 5), HUFF_PACK(0x0000003c, 6),
322              HUFF_PACK(0x0000000e, 8), HUFF_PACK(0x0000003e, 10),
323              HUFF_PACK(0x00002ffe, 14), HUFF_PACK(0x000002fb, 10),
324              HUFF_PACK(0x000000f7, 8), HUFF_PACK(0x0000002e, 6)},
325             {HUFF_PACK(0x00000006, 6), HUFF_PACK(0x0000007a, 7),
326              HUFF_PACK(0x0000000a, 8), HUFF_PACK(0x0000007e, 11),
327              HUFF_PACK(0x000000fe, 12), HUFF_PACK(0x00000016, 9),
328              HUFF_PACK(0x00000006, 7), HUFF_PACK(0x00000002, 5)},
329             {HUFF_PACK(0x0000000f, 7), HUFF_PACK(0x00000076, 7),
330              HUFF_PACK(0x00000017, 9), HUFF_PACK(0x00005ff8, 15),
331              HUFF_PACK(0x00000bfe, 12), HUFF_PACK(0x0000001e, 9),
332              HUFF_PACK(0x0000007f, 7), HUFF_PACK(0x00000003, 4)},
333             {HUFF_PACK(0x00000004, 7), HUFF_PACK(0x000000bd, 8),
334              HUFF_PACK(0x0000bff3, 16), HUFF_PACK(0x00005fff, 15),
335              HUFF_PACK(0x00000bfa, 12), HUFF_PACK(0x0000017c, 9),
336              HUFF_PACK(0x0000003a, 6), HUFF_PACK(0x00000003, 3)},
337             {HUFF_PACK(0x0000017e, 9), HUFF_PACK(0x0017fefe, 21),
338              HUFF_PACK(0x00017fee, 17), HUFF_PACK(0x00005ffa, 15),
339              HUFF_PACK(0x00000bfb, 12), HUFF_PACK(0x000001df, 9),
340              HUFF_PACK(0x0000003e, 6), HUFF_PACK(0x00000006, 3)}},
341            HUFF_PACK(0x0017feff, 21) /* escape */
342        },
343        {
344            /* LAV9_2D */
345            {{HUFF_PACK(0x0000000e, 4), HUFF_PACK(0x00000014, 5),
346              HUFF_PACK(0x0000008e, 8), HUFF_PACK(0x000004fe, 11),
347              HUFF_PACK(0x000023fe, 14), HUFF_PACK(0x00008ffe, 16),
348              HUFF_PACK(0x0005ffbc, 19), HUFF_PACK(0x0017fef7, 21),
349              HUFF_PACK(0x0017fef7, 21), HUFF_PACK(0x0017fef7, 21)},
350             {HUFF_PACK(0x00000002, 3), HUFF_PACK(0x00000002, 4),
351              HUFF_PACK(0x00000044, 7), HUFF_PACK(0x0000027e, 10),
352              HUFF_PACK(0x000017fc, 13), HUFF_PACK(0x0000bff6, 16),
353              HUFF_PACK(0x0005ffbe, 19), HUFF_PACK(0x00011ff8, 17),
354              HUFF_PACK(0x000bff7a, 20), HUFF_PACK(0x000000bc, 8)},
355             {HUFF_PACK(0x00000006, 4), HUFF_PACK(0x00000016, 5),
356              HUFF_PACK(0x0000001a, 7), HUFF_PACK(0x000000fe, 10),
357              HUFF_PACK(0x000011f6, 13), HUFF_PACK(0x0000bffe, 16),
358              HUFF_PACK(0x00011ff9, 17), HUFF_PACK(0x0017fef6, 21),
359              HUFF_PACK(0x0000011e, 9), HUFF_PACK(0x00000056, 7)},
360             {HUFF_PACK(0x00000010, 5), HUFF_PACK(0x0000003e, 6),
361              HUFF_PACK(0x0000009e, 8), HUFF_PACK(0x000007fe, 11),
362              HUFF_PACK(0x000011f7, 13), HUFF_PACK(0x00005ff8, 15),
363              HUFF_PACK(0x00017fee, 17), HUFF_PACK(0x000007ff, 11),
364              HUFF_PACK(0x000000ae, 8), HUFF_PACK(0x0000001e, 7)},
365             {HUFF_PACK(0x00000026, 6), HUFF_PACK(0x0000000e, 6),
366              HUFF_PACK(0x000001ee, 9), HUFF_PACK(0x0000047e, 11),
367              HUFF_PACK(0x00000bfc, 12), HUFF_PACK(0x0000bfff, 16),
368              HUFF_PACK(0x000008fa, 12), HUFF_PACK(0x0000006e, 9),
369              HUFF_PACK(0x000001ef, 9), HUFF_PACK(0x0000007e, 7)},
370             {HUFF_PACK(0x0000007a, 7), HUFF_PACK(0x0000004e, 7),
371              HUFF_PACK(0x0000007e, 9), HUFF_PACK(0x000000de, 10),
372              HUFF_PACK(0x000011fe, 13), HUFF_PACK(0x00002ffe, 14),
373              HUFF_PACK(0x000004ff, 11), HUFF_PACK(0x000000ff, 10),
374              HUFF_PACK(0x000000bd, 8), HUFF_PACK(0x0000002e, 6)},
375             {HUFF_PACK(0x000000fe, 8), HUFF_PACK(0x000000af, 8),
376              HUFF_PACK(0x000001ec, 9), HUFF_PACK(0x000001be, 11),
377              HUFF_PACK(0x00011ffe, 17), HUFF_PACK(0x00002ffa, 14),
378              HUFF_PACK(0x000008fe, 12), HUFF_PACK(0x000003fe, 10),
379              HUFF_PACK(0x00000046, 7), HUFF_PACK(0x00000012, 5)},
380             {HUFF_PACK(0x0000003e, 8), HUFF_PACK(0x00000045, 7),
381              HUFF_PACK(0x000002fe, 10), HUFF_PACK(0x000bff7e, 20),
382              HUFF_PACK(0x00005ff9, 15), HUFF_PACK(0x00005ffa, 15),
383              HUFF_PACK(0x00000bfd, 12), HUFF_PACK(0x0000013e, 9),
384              HUFF_PACK(0x0000000c, 6), HUFF_PACK(0x00000007, 4)},
385             {HUFF_PACK(0x000000be, 8), HUFF_PACK(0x00000036, 8),
386              HUFF_PACK(0x000bff7f, 20), HUFF_PACK(0x00023ffe, 18),
387              HUFF_PACK(0x00011ffa, 17), HUFF_PACK(0x00005ffe, 15),
388              HUFF_PACK(0x000001bf, 11), HUFF_PACK(0x000001ed, 9),
389              HUFF_PACK(0x0000002a, 6), HUFF_PACK(0x00000000, 3)},
390             {HUFF_PACK(0x0000017e, 9), HUFF_PACK(0x0017fef7, 21),
391              HUFF_PACK(0x00047ffe, 19), HUFF_PACK(0x00047fff, 19),
392              HUFF_PACK(0x00011ffb, 17), HUFF_PACK(0x00002ffb, 14),
393              HUFF_PACK(0x0000047c, 11), HUFF_PACK(0x000001fe, 9),
394              HUFF_PACK(0x0000003c, 6), HUFF_PACK(0x00000006, 3)}},
395            HUFF_PACK(0x0017fef7, 21) /* escape */
396        }}},
397      { /* HUFF_CLD_TAB_2D[1][] */
398       {/* HUFF_CLD_TAB_2D[1][0] */
399        {
400            /* LAV3_2D */
401            {{HUFF_PACK(0x00000000, 1), HUFF_PACK(0x0000001e, 5),
402              HUFF_PACK(0x000003be, 10), HUFF_PACK(0x00000efe, 12)},
403             {HUFF_PACK(0x00000006, 3), HUFF_PACK(0x0000001c, 5),
404              HUFF_PACK(0x000001de, 9), HUFF_PACK(0x000000ea, 8)},
405             {HUFF_PACK(0x00000074, 7), HUFF_PACK(0x000000ee, 8),
406              HUFF_PACK(0x000000eb, 8), HUFF_PACK(0x0000001f, 5)},
407             {HUFF_PACK(0x0000077e, 11), HUFF_PACK(0x00000eff, 12),
408              HUFF_PACK(0x00000076, 7), HUFF_PACK(0x00000002, 2)}},
409            HUFF_PACK(0x00000000, 0) /* escape */
410        },
411        {
412            /* LAV5_2D */
413            {{HUFF_PACK(0x00000000, 2), HUFF_PACK(0x00000006, 4),
414              HUFF_PACK(0x00000024, 7), HUFF_PACK(0x0000025e, 11),
415              HUFF_PACK(0x00003cfe, 14), HUFF_PACK(0x000079fe, 15)},
416             {HUFF_PACK(0x00000006, 3), HUFF_PACK(0x00000007, 4),
417              HUFF_PACK(0x00000078, 7), HUFF_PACK(0x000003ce, 10),
418              HUFF_PACK(0x00001e7e, 13), HUFF_PACK(0x000000be, 9)},
419             {HUFF_PACK(0x00000008, 5), HUFF_PACK(0x0000003e, 6),
420              HUFF_PACK(0x00000026, 7), HUFF_PACK(0x0000012e, 10),
421              HUFF_PACK(0x000000bf, 9), HUFF_PACK(0x0000002e, 7)},
422             {HUFF_PACK(0x00000027, 7), HUFF_PACK(0x0000007a, 7),
423              HUFF_PACK(0x000001e4, 9), HUFF_PACK(0x00000096, 9),
424              HUFF_PACK(0x0000007b, 7), HUFF_PACK(0x0000003f, 6)},
425             {HUFF_PACK(0x000001e6, 9), HUFF_PACK(0x000001e5, 9),
426              HUFF_PACK(0x00000f3e, 12), HUFF_PACK(0x0000005e, 8),
427              HUFF_PACK(0x00000016, 6), HUFF_PACK(0x0000000e, 4)},
428             {HUFF_PACK(0x0000079e, 11), HUFF_PACK(0x000079ff, 15),
429              HUFF_PACK(0x0000025f, 11), HUFF_PACK(0x0000004a, 8),
430              HUFF_PACK(0x0000000a, 5), HUFF_PACK(0x00000002, 2)}},
431            HUFF_PACK(0x00000000, 0) /* escape */
432        },
433        {
434            /* LAV7_2D */
435            {{HUFF_PACK(0x00000000, 2), HUFF_PACK(0x00000006, 4),
436              HUFF_PACK(0x000000de, 8), HUFF_PACK(0x0000069e, 11),
437              HUFF_PACK(0x000034fe, 14), HUFF_PACK(0x0001a7fe, 17),
438              HUFF_PACK(0x00069ff6, 19), HUFF_PACK(0x00069ff7, 19)},
439             {HUFF_PACK(0x00000002, 3), HUFF_PACK(0x0000000c, 4),
440              HUFF_PACK(0x0000006a, 7), HUFF_PACK(0x0000034e, 10),
441              HUFF_PACK(0x00001fde, 13), HUFF_PACK(0x000069fe, 15),
442              HUFF_PACK(0x0001a7fc, 17), HUFF_PACK(0x00000372, 10)},
443             {HUFF_PACK(0x0000003e, 6), HUFF_PACK(0x0000003c, 6),
444              HUFF_PACK(0x000000df, 8), HUFF_PACK(0x000001ee, 10),
445              HUFF_PACK(0x00000dde, 12), HUFF_PACK(0x000069fa, 15),
446              HUFF_PACK(0x00000373, 10), HUFF_PACK(0x0000007a, 8)},
447             {HUFF_PACK(0x0000003e, 7), HUFF_PACK(0x00000068, 7),
448              HUFF_PACK(0x000001ba, 9), HUFF_PACK(0x000003f6, 10),
449              HUFF_PACK(0x00000d3e, 12), HUFF_PACK(0x0000034c, 10),
450              HUFF_PACK(0x000001fa, 9), HUFF_PACK(0x000000d2, 8)},
451             {HUFF_PACK(0x0000007e, 8), HUFF_PACK(0x0000007f, 8),
452              HUFF_PACK(0x000001f8, 9), HUFF_PACK(0x000006ee, 11),
453              HUFF_PACK(0x000003de, 11), HUFF_PACK(0x000001b8, 9),
454              HUFF_PACK(0x000001fc, 9), HUFF_PACK(0x0000006b, 7)},
455             {HUFF_PACK(0x000000f6, 9), HUFF_PACK(0x000001fe, 9),
456              HUFF_PACK(0x0000034d, 10), HUFF_PACK(0x00003fbe, 14),
457              HUFF_PACK(0x000007f6, 11), HUFF_PACK(0x000003fa, 10),
458              HUFF_PACK(0x0000003c, 7), HUFF_PACK(0x0000003d, 6)},
459             {HUFF_PACK(0x000003f7, 10), HUFF_PACK(0x00000376, 10),
460              HUFF_PACK(0x0001a7ff, 17), HUFF_PACK(0x00003fbf, 14),
461              HUFF_PACK(0x00000ddf, 12), HUFF_PACK(0x000001f9, 9),
462              HUFF_PACK(0x00000036, 6), HUFF_PACK(0x0000000e, 4)},
463             {HUFF_PACK(0x000003df, 11), HUFF_PACK(0x00034ffa, 18),
464              HUFF_PACK(0x000069fb, 15), HUFF_PACK(0x000034fc, 14),
465              HUFF_PACK(0x00000fee, 12), HUFF_PACK(0x000001ff, 9),
466              HUFF_PACK(0x0000000e, 5), HUFF_PACK(0x00000002, 2)}},
467            HUFF_PACK(0x00000000, 0) /* escape */
468        },
469        {
470            /* LAV9_2D */
471            {{HUFF_PACK(0x00000006, 3), HUFF_PACK(0x00000004, 4),
472              HUFF_PACK(0x00000012, 7), HUFF_PACK(0x000007fe, 11),
473              HUFF_PACK(0x00001f7e, 13), HUFF_PACK(0x0000fbfe, 16),
474              HUFF_PACK(0x0001f7fe, 17), HUFF_PACK(0x000b7dfe, 21),
475              HUFF_PACK(0x000b7dff, 21), HUFF_PACK(0x000b7dff, 21)},
476             {HUFF_PACK(0x00000000, 3), HUFF_PACK(0x00000006, 4),
477              HUFF_PACK(0x0000007c, 7), HUFF_PACK(0x00000046, 9),
478              HUFF_PACK(0x000007d0, 12), HUFF_PACK(0x00001f4e, 14),
479              HUFF_PACK(0x0000b7fe, 17), HUFF_PACK(0x00005bee, 16),
480              HUFF_PACK(0x00016fbe, 18), HUFF_PACK(0x000003ee, 10)},
481             {HUFF_PACK(0x00000006, 5), HUFF_PACK(0x0000000a, 5),
482              HUFF_PACK(0x0000002e, 7), HUFF_PACK(0x000003fe, 10),
483              HUFF_PACK(0x000007d2, 12), HUFF_PACK(0x00001f4f, 14),
484              HUFF_PACK(0x00002dfe, 15), HUFF_PACK(0x0000b7de, 17),
485              HUFF_PACK(0x000001fe, 10), HUFF_PACK(0x0000002e, 8)},
486             {HUFF_PACK(0x0000007a, 7), HUFF_PACK(0x0000007e, 7),
487              HUFF_PACK(0x0000007a, 8), HUFF_PACK(0x000001fa, 10),
488              HUFF_PACK(0x000007fe, 12), HUFF_PACK(0x00001f7c, 13),
489              HUFF_PACK(0x000016fa, 14), HUFF_PACK(0x0000009e, 10),
490              HUFF_PACK(0x00000020, 8), HUFF_PACK(0x00000021, 8)},
491             {HUFF_PACK(0x000000fe, 8), HUFF_PACK(0x00000016, 7),
492              HUFF_PACK(0x000000fe, 9), HUFF_PACK(0x0000016e, 10),
493              HUFF_PACK(0x0000009f, 10), HUFF_PACK(0x00000b7c, 13),
494              HUFF_PACK(0x000003de, 11), HUFF_PACK(0x000000b6, 9),
495              HUFF_PACK(0x000000be, 9), HUFF_PACK(0x0000007c, 8)},
496             {HUFF_PACK(0x0000005a, 8), HUFF_PACK(0x00000078, 8),
497              HUFF_PACK(0x00000047, 9), HUFF_PACK(0x00000044, 9),
498              HUFF_PACK(0x000007ff, 12), HUFF_PACK(0x000007d1, 12),
499              HUFF_PACK(0x000001f6, 10), HUFF_PACK(0x000001f7, 10),
500              HUFF_PACK(0x0000002f, 8), HUFF_PACK(0x0000002c, 7)},
501             {HUFF_PACK(0x000000fc, 9), HUFF_PACK(0x000001f6, 9),
502              HUFF_PACK(0x000000f6, 9), HUFF_PACK(0x000007ff, 11),
503              HUFF_PACK(0x000016fe, 14), HUFF_PACK(0x000002de, 11),
504              HUFF_PACK(0x000003ea, 11), HUFF_PACK(0x000000bf, 9),
505              HUFF_PACK(0x000000fa, 8), HUFF_PACK(0x0000000a, 6)},
506             {HUFF_PACK(0x0000004e, 9), HUFF_PACK(0x00000026, 8),
507              HUFF_PACK(0x000001ee, 10), HUFF_PACK(0x00005bfe, 16),
508              HUFF_PACK(0x00003efe, 14), HUFF_PACK(0x00000b7e, 13),
509              HUFF_PACK(0x000003eb, 11), HUFF_PACK(0x000001fe, 9),
510              HUFF_PACK(0x0000007b, 7), HUFF_PACK(0x00000007, 5)},
511             {HUFF_PACK(0x000001fb, 10), HUFF_PACK(0x00000045, 9),
512              HUFF_PACK(0x00016ffe, 18), HUFF_PACK(0x0001f7ff, 17),
513              HUFF_PACK(0x00002df6, 15), HUFF_PACK(0x00001f7d, 13),
514              HUFF_PACK(0x000003fe, 11), HUFF_PACK(0x0000005e, 8),
515              HUFF_PACK(0x0000003c, 6), HUFF_PACK(0x0000000e, 4)},
516             {HUFF_PACK(0x000003df, 11), HUFF_PACK(0x0005befe, 20),
517              HUFF_PACK(0x0002df7e, 19), HUFF_PACK(0x00016fff, 18),
518              HUFF_PACK(0x00007dfe, 15), HUFF_PACK(0x00000fa6, 13),
519              HUFF_PACK(0x000007de, 11), HUFF_PACK(0x00000079, 8),
520              HUFF_PACK(0x0000000e, 5), HUFF_PACK(0x00000002, 2)}},
521            HUFF_PACK(0x000b7dff, 21) /* escape */
522        }},
523       {/* HUFF_CLD_TAB_2D[1][1] */
524        {
525            /* LAV3_2D */
526            {{HUFF_PACK(0x00000000, 1), HUFF_PACK(0x0000000e, 4),
527              HUFF_PACK(0x000000fa, 8), HUFF_PACK(0x000007de, 11)},
528             {HUFF_PACK(0x0000000c, 4), HUFF_PACK(0x0000001e, 5),
529              HUFF_PACK(0x000000fe, 8), HUFF_PACK(0x000001f6, 9)},
530             {HUFF_PACK(0x000000ff, 8), HUFF_PACK(0x0000007c, 7),
531              HUFF_PACK(0x0000007e, 7), HUFF_PACK(0x0000001a, 5)},
532             {HUFF_PACK(0x000007df, 11), HUFF_PACK(0x000003ee, 10),
533              HUFF_PACK(0x0000001b, 5), HUFF_PACK(0x00000002, 2)}},
534            HUFF_PACK(0x00000000, 0) /* escape */
535        },
536        {
537            /* LAV5_2D */
538            {{HUFF_PACK(0x00000006, 3), HUFF_PACK(0x0000000e, 4),
539              HUFF_PACK(0x0000007c, 7), HUFF_PACK(0x000003fe, 10),
540              HUFF_PACK(0x00000fbe, 12), HUFF_PACK(0x00003efe, 14)},
541             {HUFF_PACK(0x00000000, 3), HUFF_PACK(0x00000001, 3),
542              HUFF_PACK(0x0000003c, 6), HUFF_PACK(0x0000005e, 8),
543              HUFF_PACK(0x000007de, 11), HUFF_PACK(0x000007be, 11)},
544             {HUFF_PACK(0x0000001e, 6), HUFF_PACK(0x0000000a, 5),
545              HUFF_PACK(0x0000001f, 6), HUFF_PACK(0x0000005f, 8),
546              HUFF_PACK(0x000001ee, 9), HUFF_PACK(0x000001f6, 9)},
547             {HUFF_PACK(0x000001fe, 9), HUFF_PACK(0x000000fe, 8),
548              HUFF_PACK(0x000000f6, 8), HUFF_PACK(0x000000fa, 8),
549              HUFF_PACK(0x0000007e, 7), HUFF_PACK(0x00000016, 6)},
550             {HUFF_PACK(0x000007bf, 11), HUFF_PACK(0x000003de, 10),
551              HUFF_PACK(0x000003ee, 10), HUFF_PACK(0x0000007a, 7),
552              HUFF_PACK(0x0000000e, 5), HUFF_PACK(0x00000006, 4)},
553             {HUFF_PACK(0x00003eff, 14), HUFF_PACK(0x00001f7e, 13),
554              HUFF_PACK(0x000003ff, 10), HUFF_PACK(0x0000002e, 7),
555              HUFF_PACK(0x00000004, 4), HUFF_PACK(0x00000002, 2)}},
556            HUFF_PACK(0x00000000, 0) /* escape */
557        },
558        {
559            /* LAV7_2D */
560            {{HUFF_PACK(0x00000002, 3), HUFF_PACK(0x0000000a, 4),
561              HUFF_PACK(0x0000001a, 6), HUFF_PACK(0x000001be, 9),
562              HUFF_PACK(0x000006e6, 11), HUFF_PACK(0x0000067a, 12),
563              HUFF_PACK(0x00000cf2, 13), HUFF_PACK(0x000033de, 15)},
564             {HUFF_PACK(0x0000000c, 4), HUFF_PACK(0x0000000e, 4),
565              HUFF_PACK(0x0000000e, 5), HUFF_PACK(0x000000de, 8),
566              HUFF_PACK(0x00000372, 10), HUFF_PACK(0x000003d6, 11),
567              HUFF_PACK(0x00000678, 12), HUFF_PACK(0x00000cf6, 13)},
568             {HUFF_PACK(0x00000036, 6), HUFF_PACK(0x00000012, 5),
569              HUFF_PACK(0x0000003e, 6), HUFF_PACK(0x0000003c, 7),
570              HUFF_PACK(0x000001b8, 9), HUFF_PACK(0x000003d4, 11),
571              HUFF_PACK(0x0000033e, 11), HUFF_PACK(0x0000033f, 11)},
572             {HUFF_PACK(0x0000007e, 8), HUFF_PACK(0x0000006a, 7),
573              HUFF_PACK(0x0000004e, 7), HUFF_PACK(0x0000007e, 7),
574              HUFF_PACK(0x000001ba, 9), HUFF_PACK(0x000000ce, 9),
575              HUFF_PACK(0x000000f6, 9), HUFF_PACK(0x000001ee, 10)},
576             {HUFF_PACK(0x000001ef, 10), HUFF_PACK(0x0000013e, 9),
577              HUFF_PACK(0x0000007f, 8), HUFF_PACK(0x00000066, 8),
578              HUFF_PACK(0x000000d6, 8), HUFF_PACK(0x0000003e, 7),
579              HUFF_PACK(0x000000d7, 8), HUFF_PACK(0x0000009e, 8)},
580             {HUFF_PACK(0x000007ae, 12), HUFF_PACK(0x000001e8, 10),
581              HUFF_PACK(0x000001e9, 10), HUFF_PACK(0x0000027e, 10),
582              HUFF_PACK(0x00000032, 7), HUFF_PACK(0x00000018, 6),
583              HUFF_PACK(0x00000026, 6), HUFF_PACK(0x00000034, 6)},
584             {HUFF_PACK(0x00000cf3, 13), HUFF_PACK(0x000007aa, 12),
585              HUFF_PACK(0x000007ab, 12), HUFF_PACK(0x0000027f, 10),
586              HUFF_PACK(0x000001bf, 9), HUFF_PACK(0x0000001b, 6),
587              HUFF_PACK(0x0000001e, 5), HUFF_PACK(0x0000000b, 4)},
588             {HUFF_PACK(0x000033df, 15), HUFF_PACK(0x000019ee, 14),
589              HUFF_PACK(0x000007af, 12), HUFF_PACK(0x000006e7, 11),
590              HUFF_PACK(0x000001bb, 9), HUFF_PACK(0x0000007f, 7),
591              HUFF_PACK(0x00000008, 4), HUFF_PACK(0x00000000, 2)}},
592            HUFF_PACK(0x00000000, 0) /* escape */
593        },
594        {
595            /* LAV9_2D */
596            {{HUFF_PACK(0x0000000e, 4), HUFF_PACK(0x00000008, 4),
597              HUFF_PACK(0x0000007e, 7), HUFF_PACK(0x000001fe, 9),
598              HUFF_PACK(0x000001ba, 10), HUFF_PACK(0x00000dbe, 12),
599              HUFF_PACK(0x00000d7e, 13), HUFF_PACK(0x00001af6, 14),
600              HUFF_PACK(0x00007fec, 15), HUFF_PACK(0x0001ffb6, 17)},
601             {HUFF_PACK(0x0000000a, 4), HUFF_PACK(0x0000000c, 4),
602              HUFF_PACK(0x0000000c, 5), HUFF_PACK(0x00000036, 7),
603              HUFF_PACK(0x000000de, 9), HUFF_PACK(0x000005fe, 11),
604              HUFF_PACK(0x000006be, 12), HUFF_PACK(0x00001b7e, 13),
605              HUFF_PACK(0x00007fee, 15), HUFF_PACK(0x00006dfe, 15)},
606             {HUFF_PACK(0x0000001e, 6), HUFF_PACK(0x0000000e, 5),
607              HUFF_PACK(0x0000000a, 5), HUFF_PACK(0x0000006a, 7),
608              HUFF_PACK(0x000001ae, 9), HUFF_PACK(0x000006fe, 11),
609              HUFF_PACK(0x00000376, 11), HUFF_PACK(0x00000dfe, 13),
610              HUFF_PACK(0x00000dff, 13), HUFF_PACK(0x00000d7f, 13)},
611             {HUFF_PACK(0x000000b6, 8), HUFF_PACK(0x0000005e, 7),
612              HUFF_PACK(0x0000007c, 7), HUFF_PACK(0x0000006e, 7),
613              HUFF_PACK(0x0000006a, 8), HUFF_PACK(0x0000016a, 9),
614              HUFF_PACK(0x00000ffe, 12), HUFF_PACK(0x00000dfe, 12),
615              HUFF_PACK(0x00000ffc, 12), HUFF_PACK(0x00001bfe, 13)},
616             {HUFF_PACK(0x0000035e, 10), HUFF_PACK(0x000001b6, 9),
617              HUFF_PACK(0x0000005e, 8), HUFF_PACK(0x000000b4, 8),
618              HUFF_PACK(0x0000006c, 7), HUFF_PACK(0x0000017e, 9),
619              HUFF_PACK(0x0000036e, 10), HUFF_PACK(0x000003ee, 10),
620              HUFF_PACK(0x0000037e, 11), HUFF_PACK(0x00000377, 11)},
621             {HUFF_PACK(0x00000fff, 12), HUFF_PACK(0x000001ae, 10),
622              HUFF_PACK(0x000001be, 10), HUFF_PACK(0x000001f6, 9),
623              HUFF_PACK(0x000001be, 9), HUFF_PACK(0x000000da, 8),
624              HUFF_PACK(0x000000fe, 8), HUFF_PACK(0x0000016b, 9),
625              HUFF_PACK(0x000000d6, 9), HUFF_PACK(0x0000037e, 10)},
626             {HUFF_PACK(0x000017fe, 13), HUFF_PACK(0x00000bfe, 12),
627              HUFF_PACK(0x000007de, 11), HUFF_PACK(0x000006de, 11),
628              HUFF_PACK(0x000001b8, 10), HUFF_PACK(0x000000d6, 8),
629              HUFF_PACK(0x0000002e, 7), HUFF_PACK(0x00000034, 7),
630              HUFF_PACK(0x000000de, 8), HUFF_PACK(0x000000be, 8)},
631             {HUFF_PACK(0x00007fef, 15), HUFF_PACK(0x000006bc, 12),
632              HUFF_PACK(0x00001bff, 13), HUFF_PACK(0x00001ffa, 13),
633              HUFF_PACK(0x000001b9, 10), HUFF_PACK(0x000003fe, 10),
634              HUFF_PACK(0x000000fa, 8), HUFF_PACK(0x0000002e, 6),
635              HUFF_PACK(0x00000034, 6), HUFF_PACK(0x0000001f, 6)},
636             {HUFF_PACK(0x00006dff, 15), HUFF_PACK(0x00001af7, 14),
637              HUFF_PACK(0x000036fe, 14), HUFF_PACK(0x000006fe, 12),
638              HUFF_PACK(0x00000fbe, 12), HUFF_PACK(0x0000035f, 10),
639              HUFF_PACK(0x000000b7, 8), HUFF_PACK(0x0000002c, 6),
640              HUFF_PACK(0x0000001e, 5), HUFF_PACK(0x00000009, 4)},
641             {HUFF_PACK(0x0001ffb7, 17), HUFF_PACK(0x0000ffda, 16),
642              HUFF_PACK(0x00000d7a, 13), HUFF_PACK(0x000017ff, 13),
643              HUFF_PACK(0x00000fbf, 12), HUFF_PACK(0x000002fe, 10),
644              HUFF_PACK(0x0000005f, 8), HUFF_PACK(0x00000016, 6),
645              HUFF_PACK(0x00000004, 4), HUFF_PACK(0x00000000, 2)}},
646            HUFF_PACK(0x00000000, 0) /* escape */
647        }}}}};
648 
649 const HUFF_ICC_TABLE fdk_sacenc_huffICCTab = {
650     {/* h1D[2][8] */
651      {HUFF_PACK(0x00000000, 1), HUFF_PACK(0x00000002, 2),
652       HUFF_PACK(0x00000006, 3), HUFF_PACK(0x0000000e, 4),
653       HUFF_PACK(0x0000001e, 5), HUFF_PACK(0x0000003e, 6),
654       HUFF_PACK(0x0000007e, 7), HUFF_PACK(0x0000007f, 7)},
655      {HUFF_PACK(0x00000000, 1), HUFF_PACK(0x00000002, 2),
656       HUFF_PACK(0x00000006, 3), HUFF_PACK(0x0000000e, 4),
657       HUFF_PACK(0x0000001e, 5), HUFF_PACK(0x0000003e, 6),
658       HUFF_PACK(0x0000007e, 7), HUFF_PACK(0x0000007f, 7)}},
659     {  /* HUFF_ICC_TAB_2D */
660      { /* HUFF_ICC_TAB_2D[0][] */
661       {/* HUFF_ICC_TAB_2D[0][0] */
662        {
663            /* LAV1_2D */
664            {{HUFF_PACK(0x00000000, 1), HUFF_PACK(0x00000006, 3)},
665             {HUFF_PACK(0x00000007, 3), HUFF_PACK(0x00000002, 2)}},
666            HUFF_PACK(0x00000000, 0) /* escape */
667        },
668        {
669            /* LAV3_2D */
670            {{HUFF_PACK(0x00000002, 2), HUFF_PACK(0x00000000, 2),
671              HUFF_PACK(0x0000000a, 5), HUFF_PACK(0x0000007e, 8)},
672             {HUFF_PACK(0x0000000e, 5), HUFF_PACK(0x00000004, 4),
673              HUFF_PACK(0x00000016, 6), HUFF_PACK(0x000003fe, 11)},
674             {HUFF_PACK(0x000001fe, 10), HUFF_PACK(0x000000fe, 9),
675              HUFF_PACK(0x0000003e, 7), HUFF_PACK(0x0000001e, 6)},
676             {HUFF_PACK(0x000003ff, 11), HUFF_PACK(0x00000017, 6),
677              HUFF_PACK(0x00000006, 4), HUFF_PACK(0x00000003, 2)}},
678            HUFF_PACK(0x00000000, 0) /* escape */
679        },
680        {
681            /* LAV5_2D */
682            {{HUFF_PACK(0x00000000, 2), HUFF_PACK(0x00000002, 3),
683              HUFF_PACK(0x0000000c, 5), HUFF_PACK(0x0000006a, 7),
684              HUFF_PACK(0x000000dc, 8), HUFF_PACK(0x000006ee, 11)},
685             {HUFF_PACK(0x0000001e, 5), HUFF_PACK(0x0000000c, 4),
686              HUFF_PACK(0x0000000d, 5), HUFF_PACK(0x0000001e, 6),
687              HUFF_PACK(0x000001ae, 9), HUFF_PACK(0x0000ddff, 16)},
688             {HUFF_PACK(0x000000de, 8), HUFF_PACK(0x0000007e, 7),
689              HUFF_PACK(0x0000001f, 6), HUFF_PACK(0x000001be, 9),
690              HUFF_PACK(0x00006efe, 15), HUFF_PACK(0x0000ddfe, 16)},
691             {HUFF_PACK(0x0000377e, 14), HUFF_PACK(0x00001bbe, 13),
692              HUFF_PACK(0x00000dde, 12), HUFF_PACK(0x000001bf, 9),
693              HUFF_PACK(0x000000d6, 8), HUFF_PACK(0x00000376, 10)},
694             {HUFF_PACK(0x0000ddff, 16), HUFF_PACK(0x0000ddff, 16),
695              HUFF_PACK(0x000001ba, 9), HUFF_PACK(0x00000034, 6),
696              HUFF_PACK(0x0000003e, 6), HUFF_PACK(0x0000000e, 5)},
697             {HUFF_PACK(0x0000ddff, 16), HUFF_PACK(0x000001af, 9),
698              HUFF_PACK(0x0000007f, 7), HUFF_PACK(0x00000036, 6),
699              HUFF_PACK(0x0000000e, 4), HUFF_PACK(0x00000002, 2)}},
700            HUFF_PACK(0x0000ddff, 16) /* escape */
701        },
702        {
703            /* LAV7_2D */
704            {{HUFF_PACK(0x00000000, 2), HUFF_PACK(0x0000000c, 4),
705              HUFF_PACK(0x0000002e, 6), HUFF_PACK(0x00000044, 7),
706              HUFF_PACK(0x00000086, 8), HUFF_PACK(0x0000069e, 11),
707              HUFF_PACK(0x0000043e, 11), HUFF_PACK(0x0000087a, 12)},
708             {HUFF_PACK(0x0000001e, 5), HUFF_PACK(0x0000000e, 4),
709              HUFF_PACK(0x0000002a, 6), HUFF_PACK(0x00000046, 7),
710              HUFF_PACK(0x0000015e, 9), HUFF_PACK(0x00000047, 7),
711              HUFF_PACK(0x0000034a, 10), HUFF_PACK(0x0000087b, 12)},
712             {HUFF_PACK(0x000000d6, 8), HUFF_PACK(0x00000026, 6),
713              HUFF_PACK(0x0000002f, 6), HUFF_PACK(0x000000d7, 8),
714              HUFF_PACK(0x0000006a, 7), HUFF_PACK(0x0000034e, 10),
715              HUFF_PACK(0x0000087b, 12), HUFF_PACK(0x0000087b, 12)},
716             {HUFF_PACK(0x000002be, 10), HUFF_PACK(0x000001a6, 9),
717              HUFF_PACK(0x000001be, 9), HUFF_PACK(0x00000012, 5),
718              HUFF_PACK(0x000001bf, 9), HUFF_PACK(0x0000087b, 12),
719              HUFF_PACK(0x0000087b, 12), HUFF_PACK(0x0000087b, 12)},
720             {HUFF_PACK(0x0000087b, 12), HUFF_PACK(0x0000087b, 12),
721              HUFF_PACK(0x0000087b, 12), HUFF_PACK(0x0000087b, 12),
722              HUFF_PACK(0x00000036, 6), HUFF_PACK(0x000000d0, 8),
723              HUFF_PACK(0x0000043c, 11), HUFF_PACK(0x0000043f, 11)},
724             {HUFF_PACK(0x0000087b, 12), HUFF_PACK(0x0000087b, 12),
725              HUFF_PACK(0x0000087b, 12), HUFF_PACK(0x0000034b, 10),
726              HUFF_PACK(0x00000027, 6), HUFF_PACK(0x00000020, 6),
727              HUFF_PACK(0x00000042, 7), HUFF_PACK(0x000000d1, 8)},
728             {HUFF_PACK(0x0000087b, 12), HUFF_PACK(0x0000087b, 12),
729              HUFF_PACK(0x000002bf, 10), HUFF_PACK(0x000000de, 8),
730              HUFF_PACK(0x000000ae, 8), HUFF_PACK(0x00000056, 7),
731              HUFF_PACK(0x00000016, 5), HUFF_PACK(0x00000014, 5)},
732             {HUFF_PACK(0x0000087b, 12), HUFF_PACK(0x0000069f, 11),
733              HUFF_PACK(0x000001a4, 9), HUFF_PACK(0x0000010e, 9),
734              HUFF_PACK(0x00000045, 7), HUFF_PACK(0x0000006e, 7),
735              HUFF_PACK(0x0000001f, 5), HUFF_PACK(0x00000001, 2)}},
736            HUFF_PACK(0x0000087b, 12) /* escape */
737        }},
738       {/* HUFF_ICC_TAB_2D[0][1] */
739        {
740            /* LAV1_2D */
741            {{HUFF_PACK(0x00000000, 1), HUFF_PACK(0x00000006, 3)},
742             {HUFF_PACK(0x00000007, 3), HUFF_PACK(0x00000002, 2)}},
743            HUFF_PACK(0x00000000, 0) /* escape */
744        },
745        {
746            /* LAV3_2D */
747            {{HUFF_PACK(0x00000002, 2), HUFF_PACK(0x00000004, 4),
748              HUFF_PACK(0x0000017e, 10), HUFF_PACK(0x000002fe, 11)},
749             {HUFF_PACK(0x00000000, 2), HUFF_PACK(0x0000000e, 5),
750              HUFF_PACK(0x000000be, 9), HUFF_PACK(0x00000016, 6)},
751             {HUFF_PACK(0x0000000f, 5), HUFF_PACK(0x00000014, 6),
752              HUFF_PACK(0x0000005e, 8), HUFF_PACK(0x00000006, 4)},
753             {HUFF_PACK(0x0000002e, 7), HUFF_PACK(0x000002ff, 11),
754              HUFF_PACK(0x00000015, 6), HUFF_PACK(0x00000003, 2)}},
755            HUFF_PACK(0x00000000, 0) /* escape */
756        },
757        {
758            /* LAV5_2D */
759            {{HUFF_PACK(0x00000000, 2), HUFF_PACK(0x0000001e, 5),
760              HUFF_PACK(0x000003fc, 10), HUFF_PACK(0x0000fffa, 16),
761              HUFF_PACK(0x000fff9e, 20), HUFF_PACK(0x000fff9f, 20)},
762             {HUFF_PACK(0x00000006, 3), HUFF_PACK(0x00000004, 4),
763              HUFF_PACK(0x000000be, 9), HUFF_PACK(0x00007ffe, 15),
764              HUFF_PACK(0x0007ffce, 19), HUFF_PACK(0x000000fe, 8)},
765             {HUFF_PACK(0x00000006, 4), HUFF_PACK(0x0000001e, 6),
766              HUFF_PACK(0x000003fd, 10), HUFF_PACK(0x0000fffb, 16),
767              HUFF_PACK(0x00000ffe, 12), HUFF_PACK(0x0000003e, 6)},
768             {HUFF_PACK(0x0000000a, 5), HUFF_PACK(0x0000007e, 7),
769              HUFF_PACK(0x00001ffe, 13), HUFF_PACK(0x00007fff, 15),
770              HUFF_PACK(0x0000005e, 8), HUFF_PACK(0x0000000e, 5)},
771             {HUFF_PACK(0x0000001f, 6), HUFF_PACK(0x000003fe, 10),
772              HUFF_PACK(0x0001fff2, 17), HUFF_PACK(0x00000ffc, 12),
773              HUFF_PACK(0x0000002e, 7), HUFF_PACK(0x0000000e, 4)},
774             {HUFF_PACK(0x000000bf, 9), HUFF_PACK(0x0003ffe6, 18),
775              HUFF_PACK(0x0000fff8, 16), HUFF_PACK(0x00000ffd, 12),
776              HUFF_PACK(0x00000016, 6), HUFF_PACK(0x00000002, 2)}},
777            HUFF_PACK(0x00000000, 0) /* escape */
778        },
779        {
780            /* LAV7_2D */
781            {{HUFF_PACK(0x00000002, 2), HUFF_PACK(0x0000001e, 6),
782              HUFF_PACK(0x00000ffe, 12), HUFF_PACK(0x0000ffff, 16),
783              HUFF_PACK(0x0000fffe, 16), HUFF_PACK(0x0000ffff, 16),
784              HUFF_PACK(0x0000ffff, 16), HUFF_PACK(0x0000ffff, 16)},
785             {HUFF_PACK(0x00000006, 3), HUFF_PACK(0x00000008, 5),
786              HUFF_PACK(0x000007fe, 11), HUFF_PACK(0x0000ffff, 16),
787              HUFF_PACK(0x0000ffff, 16), HUFF_PACK(0x0000ffff, 16),
788              HUFF_PACK(0x0000ffff, 16), HUFF_PACK(0x0000005a, 8)},
789             {HUFF_PACK(0x00000006, 4), HUFF_PACK(0x0000007a, 7),
790              HUFF_PACK(0x00000164, 10), HUFF_PACK(0x00007ffa, 15),
791              HUFF_PACK(0x0000ffff, 16), HUFF_PACK(0x0000ffff, 16),
792              HUFF_PACK(0x00001fee, 13), HUFF_PACK(0x0000003c, 6)},
793             {HUFF_PACK(0x0000000e, 5), HUFF_PACK(0x000000fe, 8),
794              HUFF_PACK(0x000002ce, 11), HUFF_PACK(0x000002cf, 11),
795              HUFF_PACK(0x00007ffb, 15), HUFF_PACK(0x00001fec, 13),
796              HUFF_PACK(0x000000b0, 9), HUFF_PACK(0x0000002e, 7)},
797             {HUFF_PACK(0x0000003e, 6), HUFF_PACK(0x000003fe, 10),
798              HUFF_PACK(0x00000165, 10), HUFF_PACK(0x00007ffc, 15),
799              HUFF_PACK(0x00001fef, 13), HUFF_PACK(0x000007fa, 11),
800              HUFF_PACK(0x000007f8, 11), HUFF_PACK(0x0000001f, 6)},
801             {HUFF_PACK(0x0000002f, 7), HUFF_PACK(0x000000f6, 8),
802              HUFF_PACK(0x00001fed, 13), HUFF_PACK(0x0000ffff, 16),
803              HUFF_PACK(0x00007ffd, 15), HUFF_PACK(0x00000ff2, 12),
804              HUFF_PACK(0x000000b1, 9), HUFF_PACK(0x0000000a, 5)},
805             {HUFF_PACK(0x00000009, 5), HUFF_PACK(0x00000166, 10),
806              HUFF_PACK(0x0000ffff, 16), HUFF_PACK(0x0000ffff, 16),
807              HUFF_PACK(0x00007ffe, 15), HUFF_PACK(0x00003ffc, 14),
808              HUFF_PACK(0x0000005b, 8), HUFF_PACK(0x0000000e, 4)},
809             {HUFF_PACK(0x0000007e, 7), HUFF_PACK(0x0000ffff, 16),
810              HUFF_PACK(0x0000ffff, 16), HUFF_PACK(0x0000ffff, 16),
811              HUFF_PACK(0x0000ffff, 16), HUFF_PACK(0x00000ff3, 12),
812              HUFF_PACK(0x000000f7, 8), HUFF_PACK(0x00000000, 2)}},
813            HUFF_PACK(0x0000ffff, 16) /* escape */
814        }}},
815      { /* HUFF_ICC_TAB_2D[1][] */
816       {/* HUFF_ICC_TAB_2D[1][0] */
817        {
818            /* LAV1_2D */
819            {{HUFF_PACK(0x00000000, 1), HUFF_PACK(0x00000006, 3)},
820             {HUFF_PACK(0x00000007, 3), HUFF_PACK(0x00000002, 2)}},
821            HUFF_PACK(0x00000000, 0) /* escape */
822        },
823        {
824            /* LAV3_2D */
825            {{HUFF_PACK(0x00000002, 2), HUFF_PACK(0x0000000e, 4),
826              HUFF_PACK(0x0000037e, 10), HUFF_PACK(0x00000dfe, 12)},
827             {HUFF_PACK(0x0000000f, 4), HUFF_PACK(0x0000000c, 4),
828              HUFF_PACK(0x000001ba, 9), HUFF_PACK(0x000001bb, 9)},
829             {HUFF_PACK(0x000000de, 8), HUFF_PACK(0x000000dc, 8),
830              HUFF_PACK(0x000001be, 9), HUFF_PACK(0x0000001a, 5)},
831             {HUFF_PACK(0x000006fe, 11), HUFF_PACK(0x00000dff, 12),
832              HUFF_PACK(0x00000036, 6), HUFF_PACK(0x00000000, 1)}},
833            HUFF_PACK(0x00000000, 0) /* escape */
834        },
835        {
836            /* LAV5_2D */
837            {{HUFF_PACK(0x00000000, 1), HUFF_PACK(0x0000000c, 4),
838              HUFF_PACK(0x000001b6, 9), HUFF_PACK(0x00001b7c, 13),
839              HUFF_PACK(0x0000dbfe, 16), HUFF_PACK(0x00036fff, 18)},
840             {HUFF_PACK(0x0000000e, 4), HUFF_PACK(0x0000001e, 5),
841              HUFF_PACK(0x000001be, 9), HUFF_PACK(0x00000dfe, 12),
842              HUFF_PACK(0x00036ffe, 18), HUFF_PACK(0x0000036e, 10)},
843             {HUFF_PACK(0x0000006e, 7), HUFF_PACK(0x000000fe, 8),
844              HUFF_PACK(0x000000d8, 8), HUFF_PACK(0x000036fe, 14),
845              HUFF_PACK(0x000006de, 11), HUFF_PACK(0x000000de, 8)},
846             {HUFF_PACK(0x000001fa, 9), HUFF_PACK(0x000000da, 8),
847              HUFF_PACK(0x00000dff, 12), HUFF_PACK(0x00001b7e, 13),
848              HUFF_PACK(0x000000d9, 8), HUFF_PACK(0x000000ff, 8)},
849             {HUFF_PACK(0x000003f6, 10), HUFF_PACK(0x000006fe, 11),
850              HUFF_PACK(0x00006dfe, 15), HUFF_PACK(0x0000037e, 10),
851              HUFF_PACK(0x000000fc, 8), HUFF_PACK(0x0000001a, 5)},
852             {HUFF_PACK(0x000007ee, 11), HUFF_PACK(0x0001b7fe, 17),
853              HUFF_PACK(0x00001b7d, 13), HUFF_PACK(0x000007ef, 11),
854              HUFF_PACK(0x0000003e, 6), HUFF_PACK(0x00000002, 2)}},
855            HUFF_PACK(0x00036fff, 18) /* escape */
856        },
857        {
858            /* LAV7_2D */
859            {{HUFF_PACK(0x00000000, 1), HUFF_PACK(0x0000000c, 4),
860              HUFF_PACK(0x000007ee, 11), HUFF_PACK(0x00001e7e, 13),
861              HUFF_PACK(0x00003cfe, 14), HUFF_PACK(0x000079ff, 15),
862              HUFF_PACK(0x000079ff, 15), HUFF_PACK(0x000079ff, 15)},
863             {HUFF_PACK(0x0000000e, 4), HUFF_PACK(0x0000001a, 5),
864              HUFF_PACK(0x000001e6, 9), HUFF_PACK(0x00001fbe, 13),
865              HUFF_PACK(0x000079fe, 15), HUFF_PACK(0x000079ff, 15),
866              HUFF_PACK(0x000079ff, 15), HUFF_PACK(0x000006fc, 11)},
867             {HUFF_PACK(0x0000006c, 7), HUFF_PACK(0x000000f6, 8),
868              HUFF_PACK(0x000001ba, 9), HUFF_PACK(0x00000dfc, 12),
869              HUFF_PACK(0x00000dfd, 12), HUFF_PACK(0x000079ff, 15),
870              HUFF_PACK(0x00000f3e, 12), HUFF_PACK(0x000001bb, 9)},
871             {HUFF_PACK(0x000000dc, 8), HUFF_PACK(0x000001fe, 9),
872              HUFF_PACK(0x0000036e, 10), HUFF_PACK(0x000003fe, 10),
873              HUFF_PACK(0x000079ff, 15), HUFF_PACK(0x00000fde, 12),
874              HUFF_PACK(0x000001ee, 9), HUFF_PACK(0x000000f2, 8)},
875             {HUFF_PACK(0x000001fa, 9), HUFF_PACK(0x000003f6, 10),
876              HUFF_PACK(0x000001be, 9), HUFF_PACK(0x000079ff, 15),
877              HUFF_PACK(0x00001fbf, 13), HUFF_PACK(0x000003ce, 10),
878              HUFF_PACK(0x000003ff, 10), HUFF_PACK(0x000000de, 8)},
879             {HUFF_PACK(0x00000078, 7), HUFF_PACK(0x000000da, 8),
880              HUFF_PACK(0x000079ff, 15), HUFF_PACK(0x000079ff, 15),
881              HUFF_PACK(0x000006fd, 11), HUFF_PACK(0x0000036c, 10),
882              HUFF_PACK(0x000001ef, 9), HUFF_PACK(0x000000fe, 8)},
883             {HUFF_PACK(0x0000036f, 10), HUFF_PACK(0x00000dfe, 12),
884              HUFF_PACK(0x000079ff, 15), HUFF_PACK(0x000079ff, 15),
885              HUFF_PACK(0x000079ff, 15), HUFF_PACK(0x0000036d, 10),
886              HUFF_PACK(0x000000fc, 8), HUFF_PACK(0x0000003e, 6)},
887             {HUFF_PACK(0x00000dff, 12), HUFF_PACK(0x000079ff, 15),
888              HUFF_PACK(0x000079ff, 15), HUFF_PACK(0x000079ff, 15),
889              HUFF_PACK(0x000079ff, 15), HUFF_PACK(0x0000079e, 11),
890              HUFF_PACK(0x0000007a, 7), HUFF_PACK(0x00000002, 2)}},
891            HUFF_PACK(0x000079ff, 15) /* escape */
892        }},
893       {/* HUFF_ICC_TAB_2D[1][1] */
894        {
895            /* LAV1_2D */
896            {{HUFF_PACK(0x00000000, 1), HUFF_PACK(0x00000006, 3)},
897             {HUFF_PACK(0x00000007, 3), HUFF_PACK(0x00000002, 2)}},
898            HUFF_PACK(0x00000000, 0) /* escape */
899        },
900        {
901            /* LAV3_2D */
902            {{HUFF_PACK(0x00000002, 2), HUFF_PACK(0x0000000e, 4),
903              HUFF_PACK(0x000000fc, 8), HUFF_PACK(0x00000fde, 12)},
904             {HUFF_PACK(0x0000000c, 4), HUFF_PACK(0x0000000d, 4),
905              HUFF_PACK(0x000001fe, 9), HUFF_PACK(0x000007ee, 11)},
906             {HUFF_PACK(0x000001fa, 9), HUFF_PACK(0x000001ff, 9),
907              HUFF_PACK(0x000000fe, 8), HUFF_PACK(0x0000003e, 6)},
908             {HUFF_PACK(0x00000fdf, 12), HUFF_PACK(0x000003f6, 10),
909              HUFF_PACK(0x0000001e, 5), HUFF_PACK(0x00000000, 1)}},
910            HUFF_PACK(0x00000000, 0) /* escape */
911        },
912        {
913            /* LAV5_2D */
914            {{HUFF_PACK(0x00000000, 2), HUFF_PACK(0x0000000e, 4),
915              HUFF_PACK(0x0000003a, 7), HUFF_PACK(0x00000676, 11),
916              HUFF_PACK(0x000019fe, 13), HUFF_PACK(0x0000cebe, 16)},
917             {HUFF_PACK(0x0000000f, 4), HUFF_PACK(0x00000002, 3),
918              HUFF_PACK(0x0000001e, 6), HUFF_PACK(0x000000fe, 9),
919              HUFF_PACK(0x000019d6, 13), HUFF_PACK(0x0000675e, 15)},
920             {HUFF_PACK(0x0000003e, 7), HUFF_PACK(0x00000032, 6),
921              HUFF_PACK(0x00000018, 5), HUFF_PACK(0x0000033e, 10),
922              HUFF_PACK(0x00000cfe, 12), HUFF_PACK(0x00000677, 11)},
923             {HUFF_PACK(0x00000674, 11), HUFF_PACK(0x0000019c, 9),
924              HUFF_PACK(0x000000ff, 9), HUFF_PACK(0x0000003b, 7),
925              HUFF_PACK(0x0000001c, 6), HUFF_PACK(0x0000007e, 8)},
926             {HUFF_PACK(0x000033fe, 14), HUFF_PACK(0x000033ff, 14),
927              HUFF_PACK(0x00000cea, 12), HUFF_PACK(0x00000066, 7),
928              HUFF_PACK(0x0000001a, 5), HUFF_PACK(0x00000006, 4)},
929             {HUFF_PACK(0x0000cebf, 16), HUFF_PACK(0x000033ae, 14),
930              HUFF_PACK(0x0000067e, 11), HUFF_PACK(0x0000019e, 9),
931              HUFF_PACK(0x0000001b, 5), HUFF_PACK(0x00000002, 2)}},
932            HUFF_PACK(0x00000000, 0) /* escape */
933        },
934        {
935            /* LAV7_2D */
936            {{HUFF_PACK(0x00000002, 2), HUFF_PACK(0x00000002, 4),
937              HUFF_PACK(0x000000fe, 9), HUFF_PACK(0x000007be, 12),
938              HUFF_PACK(0x00000ffc, 13), HUFF_PACK(0x00000ffd, 13),
939              HUFF_PACK(0x00001efe, 15), HUFF_PACK(0x00003dfe, 16)},
940             {HUFF_PACK(0x00000004, 4), HUFF_PACK(0x00000000, 3),
941              HUFF_PACK(0x0000003c, 7), HUFF_PACK(0x000000f6, 10),
942              HUFF_PACK(0x000001da, 11), HUFF_PACK(0x000003fe, 12),
943              HUFF_PACK(0x00003dfe, 15), HUFF_PACK(0x00003dff, 16)},
944             {HUFF_PACK(0x0000003c, 8), HUFF_PACK(0x0000003e, 7),
945              HUFF_PACK(0x0000000a, 5), HUFF_PACK(0x0000003a, 8),
946              HUFF_PACK(0x000003de, 11), HUFF_PACK(0x000007be, 13),
947              HUFF_PACK(0x00000f7e, 14), HUFF_PACK(0x00001efe, 14)},
948             {HUFF_PACK(0x000001de, 11), HUFF_PACK(0x000000ec, 10),
949              HUFF_PACK(0x0000007e, 9), HUFF_PACK(0x0000000c, 5),
950              HUFF_PACK(0x000001ee, 10), HUFF_PACK(0x00000f7e, 13),
951              HUFF_PACK(0x000007fc, 12), HUFF_PACK(0x00003dff, 15)},
952             {HUFF_PACK(0x00007ffe, 16), HUFF_PACK(0x000003be, 12),
953              HUFF_PACK(0x000000fe, 10), HUFF_PACK(0x000001fe, 10),
954              HUFF_PACK(0x0000001a, 6), HUFF_PACK(0x0000001c, 7),
955              HUFF_PACK(0x000007fd, 12), HUFF_PACK(0x00000ffe, 13)},
956             {HUFF_PACK(0x00003dff, 16), HUFF_PACK(0x000003bf, 12),
957              HUFF_PACK(0x00001ffe, 14), HUFF_PACK(0x000003ff, 12),
958              HUFF_PACK(0x0000003e, 8), HUFF_PACK(0x0000001b, 6),
959              HUFF_PACK(0x0000007e, 8), HUFF_PACK(0x000000f6, 9)},
960             {HUFF_PACK(0x00007fff, 16), HUFF_PACK(0x00003dff, 16),
961              HUFF_PACK(0x00003ffe, 15), HUFF_PACK(0x000001db, 11),
962              HUFF_PACK(0x000000ee, 10), HUFF_PACK(0x0000007a, 8),
963              HUFF_PACK(0x0000000e, 5), HUFF_PACK(0x0000000b, 5)},
964             {HUFF_PACK(0x00003dff, 16), HUFF_PACK(0x00003dff, 16),
965              HUFF_PACK(0x000003de, 12), HUFF_PACK(0x000001fe, 11),
966              HUFF_PACK(0x000001ee, 11), HUFF_PACK(0x0000007a, 9),
967              HUFF_PACK(0x00000006, 5), HUFF_PACK(0x00000003, 2)}},
968            HUFF_PACK(0x00003dff, 16) /* escape */
969        }}}}};
970 
971 const HUFF_PT0_TABLE fdk_sacenc_huffPart0Tab = {
972     {/* CLD */
973      HUFF_PACK(0x00000052, 8), HUFF_PACK(0x000000ae, 9),
974      HUFF_PACK(0x000000af, 9), HUFF_PACK(0x00000028, 7),
975      HUFF_PACK(0x0000006e, 7), HUFF_PACK(0x00000036, 6),
976      HUFF_PACK(0x0000001e, 5), HUFF_PACK(0x0000000e, 4),
977      HUFF_PACK(0x0000000c, 4), HUFF_PACK(0x0000000a, 4),
978      HUFF_PACK(0x00000002, 4), HUFF_PACK(0x00000016, 5),
979      HUFF_PACK(0x00000012, 5), HUFF_PACK(0x00000017, 5),
980      HUFF_PACK(0x00000000, 4), HUFF_PACK(0x00000004, 4),
981      HUFF_PACK(0x00000006, 4), HUFF_PACK(0x00000008, 4),
982      HUFF_PACK(0x00000007, 4), HUFF_PACK(0x00000003, 4),
983      HUFF_PACK(0x00000001, 4), HUFF_PACK(0x0000001a, 5),
984      HUFF_PACK(0x00000013, 5), HUFF_PACK(0x0000003e, 6),
985      HUFF_PACK(0x00000016, 6), HUFF_PACK(0x00000017, 6),
986      HUFF_PACK(0x0000006f, 7), HUFF_PACK(0x0000002a, 7),
987      HUFF_PACK(0x00000056, 8), HUFF_PACK(0x00000053, 8),
988      HUFF_PACK(0x0000003f, 6)},
989     {/* ICC */
990      HUFF_PACK(0x0000001e, 5), HUFF_PACK(0x0000000e, 4),
991      HUFF_PACK(0x00000006, 3), HUFF_PACK(0x00000000, 2),
992      HUFF_PACK(0x00000002, 2), HUFF_PACK(0x00000001, 2),
993      HUFF_PACK(0x0000003e, 6), HUFF_PACK(0x0000003f, 6)}};
994 
995 /* Function / Class Declarations *********************************************/
996 
997 /* Function / Class Definition ***********************************************/
998