xref: /aosp_15_r20/external/grpc-grpc/test/cpp/microbenchmarks/huffman_geometries/decode_huff_9_10_11.cc (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1 // Copyright 2023 gRPC authors.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 // This file is autogenerated: see
16 // tools/codegen/core/gen_huffman_decompressor.cc
17 
18 #include "test/cpp/microbenchmarks/huffman_geometries/decode_huff_9_10_11.h"
19 
20 #include <grpc/support/port_platform.h>
21 namespace grpc_core {
22 namespace geometry_9_10_11 {
23 const uint8_t HuffDecoderCommon::table2_0_emit_[10] = {
24     0x30, 0x31, 0x32, 0x61, 0x63, 0x65, 0x69, 0x6f, 0x73, 0x74};
25 const uint8_t HuffDecoderCommon::table2_0_ops_[32] = {
26     0x00, 0x04, 0x08, 0x0c, 0x10, 0x14, 0x18, 0x1c, 0x20, 0x24, 0x01,
27     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
28     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02};
29 const uint8_t HuffDecoderCommon::table3_0_emit_[36] = {
30     0x30, 0x31, 0x32, 0x61, 0x63, 0x65, 0x69, 0x6f, 0x73, 0x74, 0x20, 0x25,
31     0x2d, 0x2e, 0x2f, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3d, 0x41,
32     0x5f, 0x62, 0x64, 0x66, 0x67, 0x68, 0x6c, 0x6d, 0x6e, 0x70, 0x72, 0x75};
33 const uint8_t HuffDecoderCommon::table3_0_ops_[64] = {
34     0x00, 0x01, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x00,
35     0x15, 0x00, 0x19, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 0x29, 0x2d,
36     0x31, 0x35, 0x39, 0x3d, 0x41, 0x45, 0x49, 0x4d, 0x51, 0x55, 0x59,
37     0x5d, 0x61, 0x65, 0x69, 0x6d, 0x71, 0x75, 0x79, 0x7d, 0x81, 0x85,
38     0x89, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02};
40 const uint8_t HuffDecoderCommon::table4_0_emit_[22] = {
41     0x30, 0x31, 0x32, 0x61, 0x63, 0x65, 0x69, 0x6f, 0x73, 0x74, 0x20,
42     0x25, 0x2d, 0x2e, 0x2f, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39};
43 const uint8_t HuffDecoderCommon::table4_0_ops_[64] = {
44     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
45     0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00,
46     0x00, 0x15, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1d, 0x00,
47     0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x25, 0x00, 0x29, 0x00, 0x2d,
48     0x00, 0x31, 0x00, 0x35, 0x00, 0x39, 0x00, 0x3d, 0x00, 0x41, 0x00,
49     0x45, 0x00, 0x49, 0x00, 0x4d, 0x00, 0x51, 0x00, 0x55};
50 const uint8_t HuffDecoderCommon::table4_1_emit_[46] = {
51     0x3d, 0x41, 0x5f, 0x62, 0x64, 0x66, 0x67, 0x68, 0x6c, 0x6d, 0x6e, 0x70,
52     0x72, 0x75, 0x3a, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
53     0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
54     0x57, 0x59, 0x6a, 0x6b, 0x71, 0x76, 0x77, 0x78, 0x79, 0x7a};
55 const uint8_t HuffDecoderCommon::table4_1_ops_[64] = {
56     0x00, 0x01, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x00,
57     0x15, 0x00, 0x19, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 0x00, 0x29,
58     0x00, 0x2d, 0x00, 0x31, 0x00, 0x35, 0x39, 0x3d, 0x41, 0x45, 0x49,
59     0x4d, 0x51, 0x55, 0x59, 0x5d, 0x61, 0x65, 0x69, 0x6d, 0x71, 0x75,
60     0x79, 0x7d, 0x81, 0x85, 0x89, 0x8d, 0x91, 0x95, 0x99, 0x9d, 0xa1,
61     0xa5, 0xa9, 0xad, 0xb1, 0xb5, 0x00, 0x00, 0x00, 0x02};
62 const uint8_t* const HuffDecoderCommon::table4_emit_[2] = {
63     table4_0_emit_,
64     table4_1_emit_,
65 };
66 const uint8_t* const HuffDecoderCommon::table4_ops_[2] = {
67     table4_0_ops_,
68     table4_1_ops_,
69 };
70 const uint8_t HuffDecoderCommon::table5_0_ops_[128] = {
71     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
72     0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
73     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00,
74     0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15,
75     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00,
76     0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
77     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x29,
78     0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x35,
79     0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x41,
80     0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x4d,
81     0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x55};
82 const uint8_t HuffDecoderCommon::table5_1_emit_[52] = {
83     0x3d, 0x41, 0x5f, 0x62, 0x64, 0x66, 0x67, 0x68, 0x6c, 0x6d, 0x6e,
84     0x70, 0x72, 0x75, 0x3a, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
85     0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53,
86     0x54, 0x55, 0x56, 0x57, 0x59, 0x6a, 0x6b, 0x71, 0x76, 0x77, 0x78,
87     0x79, 0x7a, 0x26, 0x2a, 0x2c, 0x3b, 0x58, 0x5a};
88 const uint8_t HuffDecoderCommon::table5_1_ops_[128] = {
89     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09,
90     0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x15,
91     0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21,
92     0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2d,
93     0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x35, 0x00, 0x39, 0x00, 0x3d,
94     0x00, 0x41, 0x00, 0x45, 0x00, 0x49, 0x00, 0x4d, 0x00, 0x51, 0x00, 0x55,
95     0x00, 0x59, 0x00, 0x5d, 0x00, 0x61, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6d,
96     0x00, 0x71, 0x00, 0x75, 0x00, 0x79, 0x00, 0x7d, 0x00, 0x81, 0x00, 0x85,
97     0x00, 0x89, 0x00, 0x8d, 0x00, 0x91, 0x00, 0x95, 0x00, 0x99, 0x00, 0x9d,
98     0x00, 0xa1, 0x00, 0xa5, 0x00, 0xa9, 0x00, 0xad, 0x00, 0xb1, 0x00, 0xb5,
99     0xb9, 0xbd, 0xc1, 0xc5, 0xc9, 0xcd, 0x00, 0x02};
100 const uint8_t* const HuffDecoderCommon::table5_emit_[2] = {
101     table4_0_emit_,
102     table5_1_emit_,
103 };
104 const uint8_t* const HuffDecoderCommon::table5_ops_[2] = {
105     table5_0_ops_,
106     table5_1_ops_,
107 };
108 const uint8_t HuffDecoderCommon::table1_0_emit_[2] = {0x30, 0x31};
109 const uint16_t HuffDecoderCommon::table1_0_ops_[32] = {
110     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
111     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
112     0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085,
113     0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085, 0x0085};
114 const uint8_t HuffDecoderCommon::table1_1_emit_[2] = {0x32, 0x61};
115 const uint8_t HuffDecoderCommon::table1_2_emit_[2] = {0x63, 0x65};
116 const uint8_t HuffDecoderCommon::table1_3_emit_[2] = {0x69, 0x6f};
117 const uint8_t HuffDecoderCommon::table1_4_emit_[2] = {0x73, 0x74};
118 const uint8_t HuffDecoderCommon::table1_5_emit_[4] = {0x20, 0x25, 0x2d, 0x2e};
119 const uint16_t HuffDecoderCommon::table1_5_ops_[32] = {
120     0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
121     0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086,
122     0x0106, 0x0106, 0x0106, 0x0106, 0x0106, 0x0106, 0x0106, 0x0106,
123     0x0186, 0x0186, 0x0186, 0x0186, 0x0186, 0x0186, 0x0186, 0x0186};
124 const uint8_t HuffDecoderCommon::table1_6_emit_[4] = {0x2f, 0x33, 0x34, 0x35};
125 const uint8_t HuffDecoderCommon::table1_7_emit_[4] = {0x36, 0x37, 0x38, 0x39};
126 const uint8_t HuffDecoderCommon::table1_8_emit_[4] = {0x3d, 0x41, 0x5f, 0x62};
127 const uint8_t HuffDecoderCommon::table1_9_emit_[4] = {0x64, 0x66, 0x67, 0x68};
128 const uint8_t HuffDecoderCommon::table1_10_emit_[4] = {0x6c, 0x6d, 0x6e, 0x70};
129 const uint8_t HuffDecoderCommon::table1_11_emit_[6] = {0x72, 0x75, 0x3a,
130                                                        0x42, 0x43, 0x44};
131 const uint16_t HuffDecoderCommon::table1_11_ops_[32] = {
132     0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
133     0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086, 0x0086,
134     0x0107, 0x0107, 0x0107, 0x0107, 0x0187, 0x0187, 0x0187, 0x0187,
135     0x0207, 0x0207, 0x0207, 0x0207, 0x0287, 0x0287, 0x0287, 0x0287};
136 const uint8_t HuffDecoderCommon::table1_12_emit_[8] = {0x45, 0x46, 0x47, 0x48,
137                                                        0x49, 0x4a, 0x4b, 0x4c};
138 const uint16_t HuffDecoderCommon::table1_12_ops_[32] = {
139     0x0007, 0x0007, 0x0007, 0x0007, 0x0087, 0x0087, 0x0087, 0x0087,
140     0x0107, 0x0107, 0x0107, 0x0107, 0x0187, 0x0187, 0x0187, 0x0187,
141     0x0207, 0x0207, 0x0207, 0x0207, 0x0287, 0x0287, 0x0287, 0x0287,
142     0x0307, 0x0307, 0x0307, 0x0307, 0x0387, 0x0387, 0x0387, 0x0387};
143 const uint8_t HuffDecoderCommon::table1_13_emit_[8] = {0x4d, 0x4e, 0x4f, 0x50,
144                                                        0x51, 0x52, 0x53, 0x54};
145 const uint8_t HuffDecoderCommon::table1_14_emit_[8] = {0x55, 0x56, 0x57, 0x59,
146                                                        0x6a, 0x6b, 0x71, 0x76};
147 const uint8_t HuffDecoderCommon::table1_15_emit_[10] = {
148     0x77, 0x78, 0x79, 0x7a, 0x26, 0x2a, 0x2c, 0x3b, 0x58, 0x5a};
149 const uint16_t HuffDecoderCommon::table1_15_ops_[32] = {
150     0x0007, 0x0007, 0x0007, 0x0007, 0x0087, 0x0087, 0x0087, 0x0087,
151     0x0107, 0x0107, 0x0107, 0x0107, 0x0187, 0x0187, 0x0187, 0x0187,
152     0x0208, 0x0208, 0x0288, 0x0288, 0x0308, 0x0308, 0x0388, 0x0388,
153     0x0408, 0x0408, 0x0488, 0x0488, 0x0019, 0x0029, 0x0039, 0x0049};
154 const uint8_t* const HuffDecoderCommon::table1_emit_[16] = {
155     table1_0_emit_,  table1_1_emit_,  table1_2_emit_,  table1_3_emit_,
156     table1_4_emit_,  table1_5_emit_,  table1_6_emit_,  table1_7_emit_,
157     table1_8_emit_,  table1_9_emit_,  table1_10_emit_, table1_11_emit_,
158     table1_12_emit_, table1_13_emit_, table1_14_emit_, table1_15_emit_,
159 };
160 const uint16_t* const HuffDecoderCommon::table1_ops_[16] = {
161     table1_0_ops_,  table1_0_ops_,  table1_0_ops_,  table1_0_ops_,
162     table1_0_ops_,  table1_5_ops_,  table1_5_ops_,  table1_5_ops_,
163     table1_5_ops_,  table1_5_ops_,  table1_5_ops_,  table1_11_ops_,
164     table1_12_ops_, table1_12_ops_, table1_12_ops_, table1_15_ops_,
165 };
166 const uint8_t HuffDecoderCommon::table12_0_inner_[5] = {0x00, 0x01, 0x05, 0x09,
167                                                         0x02};
168 const uint8_t HuffDecoderCommon::table12_0_outer_[8] = {0, 1, 2, 3, 0, 0, 0, 4};
169 const uint8_t HuffDecoderCommon::table13_0_emit_[9] = {
170     0x7c, 0x23, 0x3e, 0x00, 0x24, 0x40, 0x5b, 0x5d, 0x7e};
171 const uint8_t HuffDecoderCommon::table13_0_inner_[11] = {
172     0x00, 0x01, 0x05, 0x09, 0x0d, 0x11, 0x15, 0x19, 0x1d, 0x21, 0x02};
173 const uint8_t HuffDecoderCommon::table13_0_outer_[16] = {
174     0, 0, 0, 1, 0, 2, 0, 3, 4, 5, 6, 7, 8, 9, 0, 10};
175 const uint8_t HuffDecoderCommon::table14_0_emit_[11] = {
176     0x7c, 0x23, 0x3e, 0x00, 0x24, 0x40, 0x5b, 0x5d, 0x7e, 0x5e, 0x7d};
177 const uint8_t HuffDecoderCommon::table14_0_ops_[32] = {
178     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
179     0x05, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x00, 0x15,
180     0x00, 0x19, 0x00, 0x1d, 0x00, 0x21, 0x25, 0x29, 0x00, 0x02};
181 const uint8_t HuffDecoderCommon::table15_0_emit_[14] = {
182     0x7c, 0x23, 0x3e, 0x00, 0x24, 0x40, 0x5b,
183     0x5d, 0x7e, 0x5e, 0x7d, 0x3c, 0x60, 0x7b};
184 const uint8_t HuffDecoderCommon::table15_0_ops_[64] = {
185     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
186     0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
187     0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00,
188     0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x15,
189     0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00,
190     0x21, 0x00, 0x25, 0x00, 0x29, 0x2d, 0x31, 0x35, 0x02};
191 const uint8_t HuffDecoderCommon::table16_0_emit_[33] = {
192     0x7c, 0x30, 0x7c, 0x31, 0x7c, 0x32, 0x7c, 0x61, 0x7c, 0x63, 0x7c,
193     0x65, 0x7c, 0x69, 0x7c, 0x6f, 0x7c, 0x73, 0x7c, 0x74, 0x23, 0x3e,
194     0x00, 0x24, 0x40, 0x5b, 0x5d, 0x7e, 0x5e, 0x7d, 0x3c, 0x60, 0x7b};
195 const uint8_t HuffDecoderCommon::table16_0_ops_[128] = {
196     0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38, 0x40, 0x48, 0x01, 0x01,
197     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
198     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01,
199     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x52,
200     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
201     0x01, 0x01, 0x01, 0x56, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x5a,
202     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x5e, 0x01, 0x01, 0x01, 0x01,
203     0x01, 0x01, 0x01, 0x62, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x66,
204     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x6a, 0x01, 0x01, 0x01, 0x01,
205     0x01, 0x01, 0x01, 0x6e, 0x01, 0x01, 0x01, 0x72, 0x01, 0x01, 0x01, 0x76,
206     0x01, 0x7a, 0x01, 0x7e, 0x01, 0x82, 0x01, 0x03};
207 const uint8_t HuffDecoderCommon::table17_0_emit_[44] = {
208     0x7c, 0x30, 0x7c, 0x31, 0x7c, 0x32, 0x7c, 0x61, 0x7c, 0x63, 0x7c,
209     0x65, 0x7c, 0x69, 0x7c, 0x6f, 0x7c, 0x73, 0x7c, 0x74, 0x7c, 0x20,
210     0x7c, 0x25, 0x7c, 0x2d, 0x7c, 0x2e, 0x7c, 0x2f, 0x7c, 0x33, 0x7c,
211     0x34, 0x7c, 0x35, 0x7c, 0x36, 0x7c, 0x37, 0x7c, 0x38, 0x7c, 0x39};
212 const uint8_t HuffDecoderCommon::table17_0_ops_[32] = {
213     0x00, 0x01, 0x00, 0x09, 0x00, 0x11, 0x00, 0x19, 0x00, 0x21, 0x00,
214     0x29, 0x00, 0x31, 0x00, 0x39, 0x00, 0x41, 0x00, 0x49, 0x51, 0x59,
215     0x61, 0x69, 0x71, 0x79, 0x81, 0x89, 0x91, 0x99, 0xa1, 0xa9};
216 const uint8_t HuffDecoderCommon::table17_1_emit_[28] = {
217     0x7c, 0x3d, 0x7c, 0x41, 0x7c, 0x5f, 0x7c, 0x62, 0x7c, 0x64,
218     0x7c, 0x66, 0x7c, 0x67, 0x7c, 0x68, 0x7c, 0x6c, 0x7c, 0x6d,
219     0x7c, 0x6e, 0x7c, 0x70, 0x7c, 0x72, 0x7c, 0x75};
220 const uint8_t HuffDecoderCommon::table17_1_ops_[32] = {
221     0x01, 0x09, 0x11, 0x19, 0x21, 0x29, 0x31, 0x39, 0x41, 0x49, 0x51,
222     0x59, 0x61, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
223     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02};
224 const uint8_t HuffDecoderCommon::table17_2_emit_[20] = {
225     0x23, 0x30, 0x23, 0x31, 0x23, 0x32, 0x23, 0x61, 0x23, 0x63,
226     0x23, 0x65, 0x23, 0x69, 0x23, 0x6f, 0x23, 0x73, 0x23, 0x74};
227 const uint8_t HuffDecoderCommon::table17_2_ops_[32] = {
228     0x01, 0x09, 0x11, 0x19, 0x21, 0x29, 0x31, 0x39, 0x41, 0x49, 0x00,
229     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
230     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02};
231 const uint8_t HuffDecoderCommon::table17_3_emit_[20] = {
232     0x3e, 0x30, 0x3e, 0x31, 0x3e, 0x32, 0x3e, 0x61, 0x3e, 0x63,
233     0x3e, 0x65, 0x3e, 0x69, 0x3e, 0x6f, 0x3e, 0x73, 0x3e, 0x74};
234 const uint8_t HuffDecoderCommon::table17_4_emit_[2] = {0x00, 0x24};
235 const uint8_t HuffDecoderCommon::table17_4_ops_[32] = {
236     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
237     0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
238     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06};
239 const uint8_t HuffDecoderCommon::table17_5_emit_[2] = {0x40, 0x5b};
240 const uint8_t HuffDecoderCommon::table17_6_emit_[2] = {0x5d, 0x7e};
241 const uint8_t HuffDecoderCommon::table17_7_emit_[5] = {0x5e, 0x7d, 0x3c, 0x60,
242                                                        0x7b};
243 const uint8_t HuffDecoderCommon::table17_7_ops_[32] = {
244     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
245     0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00,
246     0x00, 0x0e, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03};
247 const uint8_t* const HuffDecoderCommon::table17_emit_[8] = {
248     table17_0_emit_, table17_1_emit_, table17_2_emit_, table17_3_emit_,
249     table17_4_emit_, table17_5_emit_, table17_6_emit_, table17_7_emit_,
250 };
251 const uint8_t* const HuffDecoderCommon::table17_ops_[8] = {
252     table17_0_ops_, table17_1_ops_, table17_2_ops_, table17_2_ops_,
253     table17_4_ops_, table17_4_ops_, table17_4_ops_, table17_7_ops_,
254 };
255 const uint16_t HuffDecoderCommon::table18_0_ops_[64] = {
256     0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0009,
257     0x0000, 0x0000, 0x0000, 0x0011, 0x0000, 0x0000, 0x0000, 0x0019,
258     0x0000, 0x0000, 0x0000, 0x0021, 0x0000, 0x0000, 0x0000, 0x0029,
259     0x0000, 0x0000, 0x0000, 0x0031, 0x0000, 0x0000, 0x0000, 0x0039,
260     0x0000, 0x0000, 0x0000, 0x0041, 0x0000, 0x0000, 0x0000, 0x0049,
261     0x0000, 0x0051, 0x0000, 0x0059, 0x0000, 0x0061, 0x0000, 0x0069,
262     0x0000, 0x0071, 0x0000, 0x0079, 0x0000, 0x0081, 0x0000, 0x0089,
263     0x0000, 0x0091, 0x0000, 0x0099, 0x0000, 0x00a1, 0x0000, 0x00a9};
264 const uint8_t HuffDecoderCommon::table18_1_emit_[92] = {
265     0x7c, 0x3d, 0x7c, 0x41, 0x7c, 0x5f, 0x7c, 0x62, 0x7c, 0x64, 0x7c, 0x66,
266     0x7c, 0x67, 0x7c, 0x68, 0x7c, 0x6c, 0x7c, 0x6d, 0x7c, 0x6e, 0x7c, 0x70,
267     0x7c, 0x72, 0x7c, 0x75, 0x7c, 0x3a, 0x7c, 0x42, 0x7c, 0x43, 0x7c, 0x44,
268     0x7c, 0x45, 0x7c, 0x46, 0x7c, 0x47, 0x7c, 0x48, 0x7c, 0x49, 0x7c, 0x4a,
269     0x7c, 0x4b, 0x7c, 0x4c, 0x7c, 0x4d, 0x7c, 0x4e, 0x7c, 0x4f, 0x7c, 0x50,
270     0x7c, 0x51, 0x7c, 0x52, 0x7c, 0x53, 0x7c, 0x54, 0x7c, 0x55, 0x7c, 0x56,
271     0x7c, 0x57, 0x7c, 0x59, 0x7c, 0x6a, 0x7c, 0x6b, 0x7c, 0x71, 0x7c, 0x76,
272     0x7c, 0x77, 0x7c, 0x78, 0x7c, 0x79, 0x7c, 0x7a};
273 const uint16_t HuffDecoderCommon::table18_1_ops_[64] = {
274     0x0000, 0x0001, 0x0000, 0x0009, 0x0000, 0x0011, 0x0000, 0x0019,
275     0x0000, 0x0021, 0x0000, 0x0029, 0x0000, 0x0031, 0x0000, 0x0039,
276     0x0000, 0x0041, 0x0000, 0x0049, 0x0000, 0x0051, 0x0000, 0x0059,
277     0x0000, 0x0061, 0x0000, 0x0069, 0x0071, 0x0079, 0x0081, 0x0089,
278     0x0091, 0x0099, 0x00a1, 0x00a9, 0x00b1, 0x00b9, 0x00c1, 0x00c9,
279     0x00d1, 0x00d9, 0x00e1, 0x00e9, 0x00f1, 0x00f9, 0x0101, 0x0109,
280     0x0111, 0x0119, 0x0121, 0x0129, 0x0131, 0x0139, 0x0141, 0x0149,
281     0x0151, 0x0159, 0x0161, 0x0169, 0x0000, 0x0000, 0x0000, 0x0002};
282 const uint8_t HuffDecoderCommon::table18_2_emit_[72] = {
283     0x23, 0x30, 0x23, 0x31, 0x23, 0x32, 0x23, 0x61, 0x23, 0x63, 0x23, 0x65,
284     0x23, 0x69, 0x23, 0x6f, 0x23, 0x73, 0x23, 0x74, 0x23, 0x20, 0x23, 0x25,
285     0x23, 0x2d, 0x23, 0x2e, 0x23, 0x2f, 0x23, 0x33, 0x23, 0x34, 0x23, 0x35,
286     0x23, 0x36, 0x23, 0x37, 0x23, 0x38, 0x23, 0x39, 0x23, 0x3d, 0x23, 0x41,
287     0x23, 0x5f, 0x23, 0x62, 0x23, 0x64, 0x23, 0x66, 0x23, 0x67, 0x23, 0x68,
288     0x23, 0x6c, 0x23, 0x6d, 0x23, 0x6e, 0x23, 0x70, 0x23, 0x72, 0x23, 0x75};
289 const uint16_t HuffDecoderCommon::table18_2_ops_[64] = {
290     0x0000, 0x0001, 0x0000, 0x0009, 0x0000, 0x0011, 0x0000, 0x0019,
291     0x0000, 0x0021, 0x0000, 0x0029, 0x0000, 0x0031, 0x0000, 0x0039,
292     0x0000, 0x0041, 0x0000, 0x0049, 0x0051, 0x0059, 0x0061, 0x0069,
293     0x0071, 0x0079, 0x0081, 0x0089, 0x0091, 0x0099, 0x00a1, 0x00a9,
294     0x00b1, 0x00b9, 0x00c1, 0x00c9, 0x00d1, 0x00d9, 0x00e1, 0x00e9,
295     0x00f1, 0x00f9, 0x0101, 0x0109, 0x0111, 0x0119, 0x0000, 0x0000,
296     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
297     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002};
298 const uint8_t HuffDecoderCommon::table18_3_emit_[72] = {
299     0x3e, 0x30, 0x3e, 0x31, 0x3e, 0x32, 0x3e, 0x61, 0x3e, 0x63, 0x3e, 0x65,
300     0x3e, 0x69, 0x3e, 0x6f, 0x3e, 0x73, 0x3e, 0x74, 0x3e, 0x20, 0x3e, 0x25,
301     0x3e, 0x2d, 0x3e, 0x2e, 0x3e, 0x2f, 0x3e, 0x33, 0x3e, 0x34, 0x3e, 0x35,
302     0x3e, 0x36, 0x3e, 0x37, 0x3e, 0x38, 0x3e, 0x39, 0x3e, 0x3d, 0x3e, 0x41,
303     0x3e, 0x5f, 0x3e, 0x62, 0x3e, 0x64, 0x3e, 0x66, 0x3e, 0x67, 0x3e, 0x68,
304     0x3e, 0x6c, 0x3e, 0x6d, 0x3e, 0x6e, 0x3e, 0x70, 0x3e, 0x72, 0x3e, 0x75};
305 const uint8_t HuffDecoderCommon::table18_4_emit_[40] = {
306     0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x61, 0x00, 0x63,
307     0x00, 0x65, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x74,
308     0x24, 0x30, 0x24, 0x31, 0x24, 0x32, 0x24, 0x61, 0x24, 0x63,
309     0x24, 0x65, 0x24, 0x69, 0x24, 0x6f, 0x24, 0x73, 0x24, 0x74};
310 const uint16_t HuffDecoderCommon::table18_4_ops_[64] = {
311     0x0001, 0x0009, 0x0011, 0x0019, 0x0021, 0x0029, 0x0031, 0x0039,
312     0x0041, 0x0049, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
313     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
314     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
315     0x0051, 0x0059, 0x0061, 0x0069, 0x0071, 0x0079, 0x0081, 0x0089,
316     0x0091, 0x0099, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
317     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
318     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0052};
319 const uint8_t HuffDecoderCommon::table18_5_emit_[40] = {
320     0x40, 0x30, 0x40, 0x31, 0x40, 0x32, 0x40, 0x61, 0x40, 0x63,
321     0x40, 0x65, 0x40, 0x69, 0x40, 0x6f, 0x40, 0x73, 0x40, 0x74,
322     0x5b, 0x30, 0x5b, 0x31, 0x5b, 0x32, 0x5b, 0x61, 0x5b, 0x63,
323     0x5b, 0x65, 0x5b, 0x69, 0x5b, 0x6f, 0x5b, 0x73, 0x5b, 0x74};
324 const uint8_t HuffDecoderCommon::table18_6_emit_[40] = {
325     0x5d, 0x30, 0x5d, 0x31, 0x5d, 0x32, 0x5d, 0x61, 0x5d, 0x63,
326     0x5d, 0x65, 0x5d, 0x69, 0x5d, 0x6f, 0x5d, 0x73, 0x5d, 0x74,
327     0x7e, 0x30, 0x7e, 0x31, 0x7e, 0x32, 0x7e, 0x61, 0x7e, 0x63,
328     0x7e, 0x65, 0x7e, 0x69, 0x7e, 0x6f, 0x7e, 0x73, 0x7e, 0x74};
329 const uint16_t HuffDecoderCommon::table18_7_ops_[64] = {
330     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
331     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
332     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
333     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
334     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a,
335     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000e,
336     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0012,
337     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003};
338 const uint8_t* const HuffDecoderCommon::table18_emit_[8] = {
339     table17_0_emit_, table18_1_emit_, table18_2_emit_, table18_3_emit_,
340     table18_4_emit_, table18_5_emit_, table18_6_emit_, table17_7_emit_,
341 };
342 const uint16_t* const HuffDecoderCommon::table18_ops_[8] = {
343     table18_0_ops_, table18_1_ops_, table18_2_ops_, table18_2_ops_,
344     table18_4_ops_, table18_4_ops_, table18_4_ops_, table18_7_ops_,
345 };
346 const uint8_t HuffDecoderCommon::table10_0_emit_[1] = {0x7c};
347 const uint16_t HuffDecoderCommon::table10_0_ops_[64] = {
348     0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
349     0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
350     0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
351     0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
352     0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
353     0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
354     0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002,
355     0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002, 0x0002};
356 const uint8_t HuffDecoderCommon::table10_4_emit_[1] = {0x23};
357 const uint16_t HuffDecoderCommon::table10_4_ops_[64] = {
358     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
359     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
360     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
361     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
362     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
363     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
364     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
365     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003};
366 const uint8_t HuffDecoderCommon::table10_6_emit_[1] = {0x3e};
367 const uint8_t HuffDecoderCommon::table10_8_emit_[1] = {0x00};
368 const uint16_t HuffDecoderCommon::table10_8_ops_[64] = {
369     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
370     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
371     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
372     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
373     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
374     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
375     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
376     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004};
377 const uint8_t HuffDecoderCommon::table10_9_emit_[1] = {0x24};
378 const uint8_t HuffDecoderCommon::table10_10_emit_[1] = {0x40};
379 const uint8_t HuffDecoderCommon::table10_11_emit_[1] = {0x5b};
380 const uint8_t HuffDecoderCommon::table10_12_emit_[1] = {0x5d};
381 const uint8_t HuffDecoderCommon::table10_13_emit_[1] = {0x7e};
382 const uint8_t HuffDecoderCommon::table10_14_emit_[2] = {0x5e, 0x7d};
383 const uint16_t HuffDecoderCommon::table10_14_ops_[64] = {
384     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
385     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
386     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
387     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
388     0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105,
389     0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105,
390     0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105,
391     0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105};
392 const uint8_t HuffDecoderCommon::table10_15_emit_[6] = {0x3c, 0x60, 0x7b,
393                                                         0x5c, 0xc3, 0xd0};
394 const uint16_t HuffDecoderCommon::table10_15_ops_[64] = {
395     0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
396     0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
397     0x0106, 0x0106, 0x0106, 0x0106, 0x0106, 0x0106, 0x0106, 0x0106,
398     0x0106, 0x0106, 0x0106, 0x0106, 0x0106, 0x0106, 0x0106, 0x0106,
399     0x0206, 0x0206, 0x0206, 0x0206, 0x0206, 0x0206, 0x0206, 0x0206,
400     0x0206, 0x0206, 0x0206, 0x0206, 0x0206, 0x0206, 0x0206, 0x0206,
401     0x030a, 0x040a, 0x050a, 0x001a, 0x002a, 0x003a, 0x004a, 0x005a,
402     0x006a, 0x007a, 0x008a, 0x009a, 0x00aa, 0x00ba, 0x00ca, 0x00da};
403 const uint8_t* const HuffDecoderCommon::table10_emit_[16] = {
404     table10_0_emit_,  table10_0_emit_,  table10_0_emit_,  table10_0_emit_,
405     table10_4_emit_,  table10_4_emit_,  table10_6_emit_,  table10_6_emit_,
406     table10_8_emit_,  table10_9_emit_,  table10_10_emit_, table10_11_emit_,
407     table10_12_emit_, table10_13_emit_, table10_14_emit_, table10_15_emit_,
408 };
409 const uint16_t* const HuffDecoderCommon::table10_ops_[16] = {
410     table10_0_ops_, table10_0_ops_, table10_0_ops_,  table10_0_ops_,
411     table10_4_ops_, table10_4_ops_, table10_4_ops_,  table10_4_ops_,
412     table10_8_ops_, table10_8_ops_, table10_8_ops_,  table10_8_ops_,
413     table10_8_ops_, table10_8_ops_, table10_14_ops_, table10_15_ops_,
414 };
415 const uint8_t HuffDecoderCommon::table26_0_emit_[8] = {0x9a, 0x9c, 0xa0, 0xa3,
416                                                        0xa4, 0xa9, 0xaa, 0xad};
417 const uint8_t HuffDecoderCommon::table26_0_inner_[8] = {0x03, 0x07, 0x0b, 0x0f,
418                                                         0x13, 0x17, 0x1b, 0x1f};
419 const uint8_t HuffDecoderCommon::table27_0_emit_[8] = {0xb2, 0xb5, 0xb9, 0xba,
420                                                        0xbb, 0xbd, 0xbe, 0xc4};
421 const uint8_t HuffDecoderCommon::table28_0_emit_[16] = {
422     0x93, 0x95, 0x96, 0x97, 0x98, 0x9b, 0x9d, 0x9e,
423     0xa5, 0xa6, 0xa8, 0xae, 0xaf, 0xb4, 0xb6, 0xb7};
424 const uint8_t HuffDecoderCommon::table28_0_inner_[16] = {
425     0x04, 0x0c, 0x14, 0x1c, 0x24, 0x2c, 0x34, 0x3c,
426     0x44, 0x4c, 0x54, 0x5c, 0x64, 0x6c, 0x74, 0x7c};
427 const uint8_t HuffDecoderCommon::table29_0_emit_[7] = {0xe6, 0x81, 0x84, 0x85,
428                                                        0x86, 0x88, 0x92};
429 const uint8_t HuffDecoderCommon::table29_0_inner_[7] = {0x02, 0x07, 0x0b, 0x0f,
430                                                         0x13, 0x17, 0x1b};
431 const uint8_t HuffDecoderCommon::table32_0_inner_[5] = {0x00, 0x02, 0x04, 0x06,
432                                                         0x01};
433 const uint8_t HuffDecoderCommon::table31_0_emit_[12] = {
434     0xc6, 0xe4, 0xe8, 0xe9, 0x01, 0x87, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8f};
435 const uint8_t HuffDecoderCommon::table31_0_inner_[12] = {
436     0x03, 0x0b, 0x13, 0x1b, 0x24, 0x2c, 0x34, 0x3c, 0x44, 0x4c, 0x54, 0x5c};
437 const uint8_t HuffDecoderCommon::table34_0_emit_[5] = {0xbc, 0xbf, 0xc5, 0xe7,
438                                                        0xef};
439 const uint8_t HuffDecoderCommon::table34_0_inner_[7] = {0x00, 0x04, 0x08, 0x0c,
440                                                         0x10, 0x01, 0x02};
441 const uint8_t HuffDecoderCommon::table35_0_emit_[17] = {
442     0xbc, 0xbf, 0xc5, 0xe7, 0xef, 0x09, 0x8e, 0x90, 0x91,
443     0x94, 0x9f, 0xab, 0xce, 0xd7, 0xe1, 0xec, 0xed};
444 const uint8_t HuffDecoderCommon::table35_0_ops_[32] = {
445     0x00, 0x01, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x15,
446     0x19, 0x1d, 0x21, 0x25, 0x29, 0x2d, 0x31, 0x35, 0x39, 0x3d, 0x41,
447     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02};
448 const uint8_t HuffDecoderCommon::table36_0_emit_[21] = {
449     0xbc, 0xbf, 0xc5, 0xe7, 0xef, 0x09, 0x8e, 0x90, 0x91, 0x94, 0x9f,
450     0xab, 0xce, 0xd7, 0xe1, 0xec, 0xed, 0xc7, 0xcf, 0xea, 0xeb};
451 const uint8_t HuffDecoderCommon::table36_0_ops_[64] = {
452     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
453     0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x15,
454     0x00, 0x19, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 0x00, 0x29, 0x00,
455     0x2d, 0x00, 0x31, 0x00, 0x35, 0x00, 0x39, 0x00, 0x3d, 0x00, 0x41,
456     0x45, 0x49, 0x4d, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
457     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02};
458 const uint8_t HuffDecoderCommon::table37_0_emit_[36] = {
459     0xbc, 0xbf, 0xc5, 0xe7, 0xef, 0x09, 0x8e, 0x90, 0x91, 0x94, 0x9f, 0xab,
460     0xce, 0xd7, 0xe1, 0xec, 0xed, 0xc7, 0xcf, 0xea, 0xeb, 0xc0, 0xc1, 0xc8,
461     0xc9, 0xca, 0xcd, 0xd2, 0xd5, 0xda, 0xdb, 0xee, 0xf0, 0xf2, 0xf3, 0xff};
462 const uint8_t HuffDecoderCommon::table37_0_ops_[128] = {
463     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
464     0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
465     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00,
466     0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x19,
467     0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x25,
468     0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x31,
469     0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3d,
470     0x00, 0x00, 0x00, 0x41, 0x00, 0x45, 0x00, 0x49, 0x00, 0x4d, 0x00, 0x51,
471     0x55, 0x59, 0x5d, 0x61, 0x65, 0x69, 0x6d, 0x71, 0x75, 0x79, 0x7d, 0x81,
472     0x85, 0x89, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
473     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02};
474 const uint8_t HuffDecoderCommon::table38_0_emit_[55] = {
475     0xbc, 0xbf, 0xc5, 0xe7, 0xef, 0x09, 0x8e, 0x90, 0x91, 0x94, 0x9f,
476     0xab, 0xce, 0xd7, 0xe1, 0xec, 0xed, 0xc7, 0xcf, 0xea, 0xeb, 0xc0,
477     0xc1, 0xc8, 0xc9, 0xca, 0xcd, 0xd2, 0xd5, 0xda, 0xdb, 0xee, 0xf0,
478     0xf2, 0xf3, 0xff, 0xcb, 0xcc, 0xd3, 0xd4, 0xd6, 0xdd, 0xde, 0xdf,
479     0xf1, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe};
480 const uint8_t HuffDecoderCommon::table38_0_ops_[256] = {
481     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
482     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
483     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
484     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
485     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
486     0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
487     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00,
488     0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19,
489     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00,
490     0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25,
491     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00,
492     0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31,
493     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00,
494     0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d,
495     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x45,
496     0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x51,
497     0x00, 0x55, 0x00, 0x59, 0x00, 0x5d, 0x00, 0x61, 0x00, 0x65, 0x00, 0x69,
498     0x00, 0x6d, 0x00, 0x71, 0x00, 0x75, 0x00, 0x79, 0x00, 0x7d, 0x00, 0x81,
499     0x00, 0x85, 0x00, 0x89, 0x00, 0x8d, 0x91, 0x95, 0x99, 0x9d, 0xa1, 0xa5,
500     0xa9, 0xad, 0xb1, 0xb5, 0xb9, 0xbd, 0xc1, 0xc5, 0xc9, 0xcd, 0xd1, 0xd5,
501     0xd9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
502     0x00, 0x00, 0x00, 0x02};
503 const uint8_t HuffDecoderCommon::table39_0_emit_[40] = {
504     0xbc, 0x30, 0xbc, 0x31, 0xbc, 0x32, 0xbc, 0x61, 0xbc, 0x63,
505     0xbc, 0x65, 0xbc, 0x69, 0xbc, 0x6f, 0xbc, 0x73, 0xbc, 0x74,
506     0xbf, 0x30, 0xbf, 0x31, 0xbf, 0x32, 0xbf, 0x61, 0xbf, 0x63,
507     0xbf, 0x65, 0xbf, 0x69, 0xbf, 0x6f, 0xbf, 0x73, 0xbf, 0x74};
508 const uint8_t HuffDecoderCommon::table39_0_ops_[64] = {
509     0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38, 0x40, 0x48, 0x01,
510     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
511     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x50,
512     0x58, 0x60, 0x68, 0x70, 0x78, 0x80, 0x88, 0x90, 0x98, 0x01, 0x01,
513     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
514     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x52};
515 const uint8_t HuffDecoderCommon::table39_1_emit_[40] = {
516     0xc5, 0x30, 0xc5, 0x31, 0xc5, 0x32, 0xc5, 0x61, 0xc5, 0x63,
517     0xc5, 0x65, 0xc5, 0x69, 0xc5, 0x6f, 0xc5, 0x73, 0xc5, 0x74,
518     0xe7, 0x30, 0xe7, 0x31, 0xe7, 0x32, 0xe7, 0x61, 0xe7, 0x63,
519     0xe7, 0x65, 0xe7, 0x69, 0xe7, 0x6f, 0xe7, 0x73, 0xe7, 0x74};
520 const uint8_t HuffDecoderCommon::table39_2_emit_[22] = {
521     0xef, 0x30, 0xef, 0x31, 0xef, 0x32, 0xef, 0x61, 0xef, 0x63, 0xef,
522     0x65, 0xef, 0x69, 0xef, 0x6f, 0xef, 0x73, 0xef, 0x74, 0x09, 0x8e};
523 const uint8_t HuffDecoderCommon::table39_2_ops_[64] = {
524     0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38, 0x40, 0x48, 0x01,
525     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
526     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01,
527     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
528     0x01, 0x01, 0x01, 0x52, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
529     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x56};
530 const uint8_t HuffDecoderCommon::table39_3_emit_[4] = {0x90, 0x91, 0x94, 0x9f};
531 const uint8_t HuffDecoderCommon::table39_3_ops_[64] = {
532     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
533     0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
534     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x01,
535     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
536     0x01, 0x01, 0x01, 0x0a, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
537     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0e};
538 const uint8_t HuffDecoderCommon::table39_4_emit_[4] = {0xab, 0xce, 0xd7, 0xe1};
539 const uint8_t HuffDecoderCommon::table39_5_emit_[6] = {0xec, 0xed, 0xc7,
540                                                        0xcf, 0xea, 0xeb};
541 const uint8_t HuffDecoderCommon::table39_5_ops_[64] = {
542     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
543     0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
544     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x01,
545     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0a, 0x01, 0x01, 0x01, 0x01,
546     0x01, 0x01, 0x01, 0x0e, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
547     0x12, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x16};
548 const uint8_t HuffDecoderCommon::table39_6_emit_[17] = {
549     0xc0, 0xc1, 0xc8, 0xc9, 0xca, 0xcd, 0xd2, 0xd5, 0xda,
550     0xdb, 0xee, 0xf0, 0xf2, 0xf3, 0xff, 0xcb, 0xcc};
551 const uint8_t HuffDecoderCommon::table39_6_ops_[64] = {
552     0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x06, 0x01, 0x01, 0x01,
553     0x0a, 0x01, 0x01, 0x01, 0x0e, 0x01, 0x01, 0x01, 0x12, 0x01, 0x01,
554     0x01, 0x16, 0x01, 0x01, 0x01, 0x1a, 0x01, 0x01, 0x01, 0x1e, 0x01,
555     0x01, 0x01, 0x22, 0x01, 0x01, 0x01, 0x26, 0x01, 0x01, 0x01, 0x2a,
556     0x01, 0x01, 0x01, 0x2e, 0x01, 0x01, 0x01, 0x32, 0x01, 0x01, 0x01,
557     0x36, 0x01, 0x01, 0x01, 0x3a, 0x01, 0x3e, 0x01, 0x42};
558 const uint8_t HuffDecoderCommon::table39_7_emit_[46] = {
559     0xd3, 0xd4, 0xd6, 0xdd, 0xde, 0xdf, 0xf1, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
560     0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
561     0x0b, 0x0c, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x17, 0x18,
562     0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x7f, 0xdc, 0xf9};
563 const uint8_t HuffDecoderCommon::table39_7_ops_[64] = {
564     0x01, 0x02, 0x01, 0x06, 0x01, 0x0a, 0x01, 0x0e, 0x01, 0x12, 0x01,
565     0x16, 0x01, 0x1a, 0x01, 0x1e, 0x01, 0x22, 0x01, 0x26, 0x01, 0x2a,
566     0x01, 0x2e, 0x01, 0x32, 0x01, 0x36, 0x01, 0x3a, 0x01, 0x3e, 0x01,
567     0x42, 0x46, 0x4a, 0x4e, 0x52, 0x56, 0x5a, 0x5e, 0x62, 0x66, 0x6a,
568     0x6e, 0x72, 0x76, 0x7a, 0x7e, 0x82, 0x86, 0x8a, 0x8e, 0x92, 0x96,
569     0x9a, 0x9e, 0xa2, 0xa6, 0xaa, 0xae, 0xb2, 0xb6, 0x03};
570 const uint8_t* const HuffDecoderCommon::table39_emit_[8] = {
571     table39_0_emit_, table39_1_emit_, table39_2_emit_, table39_3_emit_,
572     table39_4_emit_, table39_5_emit_, table39_6_emit_, table39_7_emit_,
573 };
574 const uint8_t* const HuffDecoderCommon::table39_ops_[8] = {
575     table39_0_ops_, table39_0_ops_, table39_2_ops_, table39_3_ops_,
576     table39_3_ops_, table39_5_ops_, table39_6_ops_, table39_7_ops_,
577 };
578 const uint8_t HuffDecoderCommon::table40_0_emit_[72] = {
579     0xbc, 0x30, 0xbc, 0x31, 0xbc, 0x32, 0xbc, 0x61, 0xbc, 0x63, 0xbc, 0x65,
580     0xbc, 0x69, 0xbc, 0x6f, 0xbc, 0x73, 0xbc, 0x74, 0xbc, 0x20, 0xbc, 0x25,
581     0xbc, 0x2d, 0xbc, 0x2e, 0xbc, 0x2f, 0xbc, 0x33, 0xbc, 0x34, 0xbc, 0x35,
582     0xbc, 0x36, 0xbc, 0x37, 0xbc, 0x38, 0xbc, 0x39, 0xbc, 0x3d, 0xbc, 0x41,
583     0xbc, 0x5f, 0xbc, 0x62, 0xbc, 0x64, 0xbc, 0x66, 0xbc, 0x67, 0xbc, 0x68,
584     0xbc, 0x6c, 0xbc, 0x6d, 0xbc, 0x6e, 0xbc, 0x70, 0xbc, 0x72, 0xbc, 0x75};
585 const uint8_t HuffDecoderCommon::table40_1_emit_[72] = {
586     0xbf, 0x30, 0xbf, 0x31, 0xbf, 0x32, 0xbf, 0x61, 0xbf, 0x63, 0xbf, 0x65,
587     0xbf, 0x69, 0xbf, 0x6f, 0xbf, 0x73, 0xbf, 0x74, 0xbf, 0x20, 0xbf, 0x25,
588     0xbf, 0x2d, 0xbf, 0x2e, 0xbf, 0x2f, 0xbf, 0x33, 0xbf, 0x34, 0xbf, 0x35,
589     0xbf, 0x36, 0xbf, 0x37, 0xbf, 0x38, 0xbf, 0x39, 0xbf, 0x3d, 0xbf, 0x41,
590     0xbf, 0x5f, 0xbf, 0x62, 0xbf, 0x64, 0xbf, 0x66, 0xbf, 0x67, 0xbf, 0x68,
591     0xbf, 0x6c, 0xbf, 0x6d, 0xbf, 0x6e, 0xbf, 0x70, 0xbf, 0x72, 0xbf, 0x75};
592 const uint8_t HuffDecoderCommon::table40_2_emit_[72] = {
593     0xc5, 0x30, 0xc5, 0x31, 0xc5, 0x32, 0xc5, 0x61, 0xc5, 0x63, 0xc5, 0x65,
594     0xc5, 0x69, 0xc5, 0x6f, 0xc5, 0x73, 0xc5, 0x74, 0xc5, 0x20, 0xc5, 0x25,
595     0xc5, 0x2d, 0xc5, 0x2e, 0xc5, 0x2f, 0xc5, 0x33, 0xc5, 0x34, 0xc5, 0x35,
596     0xc5, 0x36, 0xc5, 0x37, 0xc5, 0x38, 0xc5, 0x39, 0xc5, 0x3d, 0xc5, 0x41,
597     0xc5, 0x5f, 0xc5, 0x62, 0xc5, 0x64, 0xc5, 0x66, 0xc5, 0x67, 0xc5, 0x68,
598     0xc5, 0x6c, 0xc5, 0x6d, 0xc5, 0x6e, 0xc5, 0x70, 0xc5, 0x72, 0xc5, 0x75};
599 const uint8_t HuffDecoderCommon::table40_3_emit_[72] = {
600     0xe7, 0x30, 0xe7, 0x31, 0xe7, 0x32, 0xe7, 0x61, 0xe7, 0x63, 0xe7, 0x65,
601     0xe7, 0x69, 0xe7, 0x6f, 0xe7, 0x73, 0xe7, 0x74, 0xe7, 0x20, 0xe7, 0x25,
602     0xe7, 0x2d, 0xe7, 0x2e, 0xe7, 0x2f, 0xe7, 0x33, 0xe7, 0x34, 0xe7, 0x35,
603     0xe7, 0x36, 0xe7, 0x37, 0xe7, 0x38, 0xe7, 0x39, 0xe7, 0x3d, 0xe7, 0x41,
604     0xe7, 0x5f, 0xe7, 0x62, 0xe7, 0x64, 0xe7, 0x66, 0xe7, 0x67, 0xe7, 0x68,
605     0xe7, 0x6c, 0xe7, 0x6d, 0xe7, 0x6e, 0xe7, 0x70, 0xe7, 0x72, 0xe7, 0x75};
606 const uint8_t HuffDecoderCommon::table40_4_emit_[72] = {
607     0xef, 0x30, 0xef, 0x31, 0xef, 0x32, 0xef, 0x61, 0xef, 0x63, 0xef, 0x65,
608     0xef, 0x69, 0xef, 0x6f, 0xef, 0x73, 0xef, 0x74, 0xef, 0x20, 0xef, 0x25,
609     0xef, 0x2d, 0xef, 0x2e, 0xef, 0x2f, 0xef, 0x33, 0xef, 0x34, 0xef, 0x35,
610     0xef, 0x36, 0xef, 0x37, 0xef, 0x38, 0xef, 0x39, 0xef, 0x3d, 0xef, 0x41,
611     0xef, 0x5f, 0xef, 0x62, 0xef, 0x64, 0xef, 0x66, 0xef, 0x67, 0xef, 0x68,
612     0xef, 0x6c, 0xef, 0x6d, 0xef, 0x6e, 0xef, 0x70, 0xef, 0x72, 0xef, 0x75};
613 const uint8_t HuffDecoderCommon::table40_5_emit_[40] = {
614     0x09, 0x30, 0x09, 0x31, 0x09, 0x32, 0x09, 0x61, 0x09, 0x63,
615     0x09, 0x65, 0x09, 0x69, 0x09, 0x6f, 0x09, 0x73, 0x09, 0x74,
616     0x8e, 0x30, 0x8e, 0x31, 0x8e, 0x32, 0x8e, 0x61, 0x8e, 0x63,
617     0x8e, 0x65, 0x8e, 0x69, 0x8e, 0x6f, 0x8e, 0x73, 0x8e, 0x74};
618 const uint8_t HuffDecoderCommon::table40_6_emit_[40] = {
619     0x90, 0x30, 0x90, 0x31, 0x90, 0x32, 0x90, 0x61, 0x90, 0x63,
620     0x90, 0x65, 0x90, 0x69, 0x90, 0x6f, 0x90, 0x73, 0x90, 0x74,
621     0x91, 0x30, 0x91, 0x31, 0x91, 0x32, 0x91, 0x61, 0x91, 0x63,
622     0x91, 0x65, 0x91, 0x69, 0x91, 0x6f, 0x91, 0x73, 0x91, 0x74};
623 const uint8_t HuffDecoderCommon::table40_7_emit_[40] = {
624     0x94, 0x30, 0x94, 0x31, 0x94, 0x32, 0x94, 0x61, 0x94, 0x63,
625     0x94, 0x65, 0x94, 0x69, 0x94, 0x6f, 0x94, 0x73, 0x94, 0x74,
626     0x9f, 0x30, 0x9f, 0x31, 0x9f, 0x32, 0x9f, 0x61, 0x9f, 0x63,
627     0x9f, 0x65, 0x9f, 0x69, 0x9f, 0x6f, 0x9f, 0x73, 0x9f, 0x74};
628 const uint8_t HuffDecoderCommon::table40_8_emit_[40] = {
629     0xab, 0x30, 0xab, 0x31, 0xab, 0x32, 0xab, 0x61, 0xab, 0x63,
630     0xab, 0x65, 0xab, 0x69, 0xab, 0x6f, 0xab, 0x73, 0xab, 0x74,
631     0xce, 0x30, 0xce, 0x31, 0xce, 0x32, 0xce, 0x61, 0xce, 0x63,
632     0xce, 0x65, 0xce, 0x69, 0xce, 0x6f, 0xce, 0x73, 0xce, 0x74};
633 const uint8_t HuffDecoderCommon::table40_9_emit_[40] = {
634     0xd7, 0x30, 0xd7, 0x31, 0xd7, 0x32, 0xd7, 0x61, 0xd7, 0x63,
635     0xd7, 0x65, 0xd7, 0x69, 0xd7, 0x6f, 0xd7, 0x73, 0xd7, 0x74,
636     0xe1, 0x30, 0xe1, 0x31, 0xe1, 0x32, 0xe1, 0x61, 0xe1, 0x63,
637     0xe1, 0x65, 0xe1, 0x69, 0xe1, 0x6f, 0xe1, 0x73, 0xe1, 0x74};
638 const uint8_t HuffDecoderCommon::table40_10_emit_[40] = {
639     0xec, 0x30, 0xec, 0x31, 0xec, 0x32, 0xec, 0x61, 0xec, 0x63,
640     0xec, 0x65, 0xec, 0x69, 0xec, 0x6f, 0xec, 0x73, 0xec, 0x74,
641     0xed, 0x30, 0xed, 0x31, 0xed, 0x32, 0xed, 0x61, 0xed, 0x63,
642     0xed, 0x65, 0xed, 0x69, 0xed, 0x6f, 0xed, 0x73, 0xed, 0x74};
643 const uint8_t HuffDecoderCommon::table40_11_emit_[4] = {0xc7, 0xcf, 0xea, 0xeb};
644 const uint16_t HuffDecoderCommon::table40_11_ops_[64] = {
645     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
646     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
647     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
648     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
649     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
650     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a,
651     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
652     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000e};
653 const uint8_t HuffDecoderCommon::table40_12_emit_[8] = {0xc0, 0xc1, 0xc8, 0xc9,
654                                                         0xca, 0xcd, 0xd2, 0xd5};
655 const uint16_t HuffDecoderCommon::table40_12_ops_[64] = {
656     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
657     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
658     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a,
659     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000e,
660     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0012,
661     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0016,
662     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x001a,
663     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x001e};
664 const uint8_t HuffDecoderCommon::table40_13_emit_[9] = {
665     0xda, 0xdb, 0xee, 0xf0, 0xf2, 0xf3, 0xff, 0xcb, 0xcc};
666 const uint16_t HuffDecoderCommon::table40_13_ops_[64] = {
667     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
668     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
669     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a,
670     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000e,
671     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0012,
672     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0016,
673     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x001a,
674     0x0000, 0x0000, 0x0000, 0x001e, 0x0000, 0x0000, 0x0000, 0x0022};
675 const uint8_t HuffDecoderCommon::table40_14_emit_[16] = {
676     0xd3, 0xd4, 0xd6, 0xdd, 0xde, 0xdf, 0xf1, 0xf4,
677     0xf5, 0xf6, 0xf7, 0xf8, 0xfa, 0xfb, 0xfc, 0xfd};
678 const uint16_t HuffDecoderCommon::table40_14_ops_[64] = {
679     0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0006,
680     0x0000, 0x0000, 0x0000, 0x000a, 0x0000, 0x0000, 0x0000, 0x000e,
681     0x0000, 0x0000, 0x0000, 0x0012, 0x0000, 0x0000, 0x0000, 0x0016,
682     0x0000, 0x0000, 0x0000, 0x001a, 0x0000, 0x0000, 0x0000, 0x001e,
683     0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0026,
684     0x0000, 0x0000, 0x0000, 0x002a, 0x0000, 0x0000, 0x0000, 0x002e,
685     0x0000, 0x0000, 0x0000, 0x0032, 0x0000, 0x0000, 0x0000, 0x0036,
686     0x0000, 0x0000, 0x0000, 0x003a, 0x0000, 0x0000, 0x0000, 0x003e};
687 const uint8_t HuffDecoderCommon::table40_15_emit_[30] = {
688     0xfe, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0b, 0x0c,
689     0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x17, 0x18,
690     0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x7f, 0xdc, 0xf9};
691 const uint16_t HuffDecoderCommon::table40_15_ops_[64] = {
692     0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0006, 0x0000, 0x000a,
693     0x0000, 0x000e, 0x0000, 0x0012, 0x0000, 0x0016, 0x0000, 0x001a,
694     0x0000, 0x001e, 0x0000, 0x0022, 0x0000, 0x0026, 0x0000, 0x002a,
695     0x0000, 0x002e, 0x0000, 0x0032, 0x0000, 0x0036, 0x0000, 0x003a,
696     0x0000, 0x003e, 0x0000, 0x0042, 0x0000, 0x0046, 0x0000, 0x004a,
697     0x0000, 0x004e, 0x0000, 0x0052, 0x0000, 0x0056, 0x0000, 0x005a,
698     0x0000, 0x005e, 0x0000, 0x0062, 0x0000, 0x0066, 0x0000, 0x006a,
699     0x0000, 0x006e, 0x0000, 0x0072, 0x0000, 0x0076, 0x0000, 0x0003};
700 const uint8_t* const HuffDecoderCommon::table40_emit_[16] = {
701     table40_0_emit_,  table40_1_emit_,  table40_2_emit_,  table40_3_emit_,
702     table40_4_emit_,  table40_5_emit_,  table40_6_emit_,  table40_7_emit_,
703     table40_8_emit_,  table40_9_emit_,  table40_10_emit_, table40_11_emit_,
704     table40_12_emit_, table40_13_emit_, table40_14_emit_, table40_15_emit_,
705 };
706 const uint16_t* const HuffDecoderCommon::table40_ops_[16] = {
707     table18_2_ops_,  table18_2_ops_,  table18_2_ops_,  table18_2_ops_,
708     table18_2_ops_,  table18_4_ops_,  table18_4_ops_,  table18_4_ops_,
709     table18_4_ops_,  table18_4_ops_,  table18_4_ops_,  table40_11_ops_,
710     table40_12_ops_, table40_13_ops_, table40_14_ops_, table40_15_ops_,
711 };
712 const uint8_t HuffDecoderCommon::table33_0_emit_[1] = {0xbc};
713 const uint8_t HuffDecoderCommon::table33_2_emit_[1] = {0xbf};
714 const uint8_t HuffDecoderCommon::table33_4_emit_[1] = {0xc5};
715 const uint8_t HuffDecoderCommon::table33_6_emit_[1] = {0xe7};
716 const uint8_t HuffDecoderCommon::table33_8_emit_[1] = {0xef};
717 const uint8_t HuffDecoderCommon::table33_10_emit_[1] = {0x09};
718 const uint16_t HuffDecoderCommon::table33_10_ops_[64] = {
719     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
720     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
721     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
722     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
723     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
724     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
725     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
726     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005};
727 const uint8_t HuffDecoderCommon::table33_11_emit_[1] = {0x8e};
728 const uint8_t HuffDecoderCommon::table33_12_emit_[1] = {0x90};
729 const uint8_t HuffDecoderCommon::table33_13_emit_[1] = {0x91};
730 const uint8_t HuffDecoderCommon::table33_14_emit_[1] = {0x94};
731 const uint8_t HuffDecoderCommon::table33_15_emit_[1] = {0x9f};
732 const uint8_t HuffDecoderCommon::table33_16_emit_[1] = {0xab};
733 const uint8_t HuffDecoderCommon::table33_17_emit_[1] = {0xce};
734 const uint8_t HuffDecoderCommon::table33_18_emit_[1] = {0xd7};
735 const uint8_t HuffDecoderCommon::table33_19_emit_[1] = {0xe1};
736 const uint8_t HuffDecoderCommon::table33_20_emit_[1] = {0xec};
737 const uint8_t HuffDecoderCommon::table33_21_emit_[1] = {0xed};
738 const uint8_t HuffDecoderCommon::table33_22_emit_[2] = {0xc7, 0xcf};
739 const uint16_t HuffDecoderCommon::table33_22_ops_[64] = {
740     0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
741     0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
742     0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
743     0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
744     0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
745     0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
746     0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
747     0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026};
748 const uint8_t HuffDecoderCommon::table33_23_emit_[2] = {0xea, 0xeb};
749 const uint8_t HuffDecoderCommon::table33_24_emit_[4] = {0xc0, 0xc1, 0xc8, 0xc9};
750 const uint16_t HuffDecoderCommon::table33_24_ops_[64] = {
751     0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
752     0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
753     0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
754     0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
755     0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
756     0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
757     0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067,
758     0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067};
759 const uint8_t HuffDecoderCommon::table33_25_emit_[4] = {0xca, 0xcd, 0xd2, 0xd5};
760 const uint8_t HuffDecoderCommon::table33_26_emit_[4] = {0xda, 0xdb, 0xee, 0xf0};
761 const uint8_t HuffDecoderCommon::table33_27_emit_[5] = {0xf2, 0xf3, 0xff, 0xcb,
762                                                         0xcc};
763 const uint16_t HuffDecoderCommon::table33_27_ops_[64] = {
764     0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
765     0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
766     0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
767     0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
768     0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
769     0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
770     0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068,
771     0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088};
772 const uint8_t HuffDecoderCommon::table33_28_emit_[8] = {0xd3, 0xd4, 0xd6, 0xdd,
773                                                         0xde, 0xdf, 0xf1, 0xf4};
774 const uint16_t HuffDecoderCommon::table33_28_ops_[64] = {
775     0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
776     0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028,
777     0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
778     0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068,
779     0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088,
780     0x00a8, 0x00a8, 0x00a8, 0x00a8, 0x00a8, 0x00a8, 0x00a8, 0x00a8,
781     0x00c8, 0x00c8, 0x00c8, 0x00c8, 0x00c8, 0x00c8, 0x00c8, 0x00c8,
782     0x00e8, 0x00e8, 0x00e8, 0x00e8, 0x00e8, 0x00e8, 0x00e8, 0x00e8};
783 const uint8_t HuffDecoderCommon::table33_29_emit_[8] = {0xf5, 0xf6, 0xf7, 0xf8,
784                                                         0xfa, 0xfb, 0xfc, 0xfd};
785 const uint8_t HuffDecoderCommon::table33_30_emit_[15] = {
786     0xfe, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
787     0x0b, 0x0c, 0x0e, 0x0f, 0x10, 0x11, 0x12};
788 const uint16_t HuffDecoderCommon::table33_30_ops_[64] = {
789     0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
790     0x0029, 0x0029, 0x0029, 0x0029, 0x0049, 0x0049, 0x0049, 0x0049,
791     0x0069, 0x0069, 0x0069, 0x0069, 0x0089, 0x0089, 0x0089, 0x0089,
792     0x00a9, 0x00a9, 0x00a9, 0x00a9, 0x00c9, 0x00c9, 0x00c9, 0x00c9,
793     0x00e9, 0x00e9, 0x00e9, 0x00e9, 0x0109, 0x0109, 0x0109, 0x0109,
794     0x0129, 0x0129, 0x0129, 0x0129, 0x0149, 0x0149, 0x0149, 0x0149,
795     0x0169, 0x0169, 0x0169, 0x0169, 0x0189, 0x0189, 0x0189, 0x0189,
796     0x01a9, 0x01a9, 0x01a9, 0x01a9, 0x01c9, 0x01c9, 0x01c9, 0x01c9};
797 const uint8_t HuffDecoderCommon::table33_31_emit_[18] = {
798     0x13, 0x14, 0x15, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c,
799     0x1d, 0x1e, 0x1f, 0x7f, 0xdc, 0xf9, 0x0a, 0x0d, 0x16};
800 const uint16_t HuffDecoderCommon::table33_31_ops_[64] = {
801     0x0009, 0x0009, 0x0009, 0x0009, 0x0029, 0x0029, 0x0029, 0x0029,
802     0x0049, 0x0049, 0x0049, 0x0049, 0x0069, 0x0069, 0x0069, 0x0069,
803     0x0089, 0x0089, 0x0089, 0x0089, 0x00a9, 0x00a9, 0x00a9, 0x00a9,
804     0x00c9, 0x00c9, 0x00c9, 0x00c9, 0x00e9, 0x00e9, 0x00e9, 0x00e9,
805     0x0109, 0x0109, 0x0109, 0x0109, 0x0129, 0x0129, 0x0129, 0x0129,
806     0x0149, 0x0149, 0x0149, 0x0149, 0x0169, 0x0169, 0x0169, 0x0169,
807     0x0189, 0x0189, 0x0189, 0x0189, 0x01a9, 0x01a9, 0x01a9, 0x01a9,
808     0x01c9, 0x01c9, 0x01c9, 0x01c9, 0x01eb, 0x020b, 0x022b, 0x001b};
809 const uint8_t* const HuffDecoderCommon::table33_emit_[32] = {
810     table33_0_emit_,  table33_0_emit_,  table33_2_emit_,  table33_2_emit_,
811     table33_4_emit_,  table33_4_emit_,  table33_6_emit_,  table33_6_emit_,
812     table33_8_emit_,  table33_8_emit_,  table33_10_emit_, table33_11_emit_,
813     table33_12_emit_, table33_13_emit_, table33_14_emit_, table33_15_emit_,
814     table33_16_emit_, table33_17_emit_, table33_18_emit_, table33_19_emit_,
815     table33_20_emit_, table33_21_emit_, table33_22_emit_, table33_23_emit_,
816     table33_24_emit_, table33_25_emit_, table33_26_emit_, table33_27_emit_,
817     table33_28_emit_, table33_29_emit_, table33_30_emit_, table33_31_emit_,
818 };
819 const uint16_t* const HuffDecoderCommon::table33_ops_[32] = {
820     table10_8_ops_,  table10_8_ops_,  table10_8_ops_,  table10_8_ops_,
821     table10_8_ops_,  table10_8_ops_,  table10_8_ops_,  table10_8_ops_,
822     table10_8_ops_,  table10_8_ops_,  table33_10_ops_, table33_10_ops_,
823     table33_10_ops_, table33_10_ops_, table33_10_ops_, table33_10_ops_,
824     table33_10_ops_, table33_10_ops_, table33_10_ops_, table33_10_ops_,
825     table33_10_ops_, table33_10_ops_, table33_22_ops_, table33_22_ops_,
826     table33_24_ops_, table33_24_ops_, table33_24_ops_, table33_27_ops_,
827     table33_28_ops_, table33_28_ops_, table33_30_ops_, table33_31_ops_,
828 };
829 }  // namespace geometry_9_10_11
830 }  // namespace grpc_core
831