@core-workspace/infoflow-openclaw-plugin 2026.3.9 → 2026.3.27-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +91 -0
- package/CLAUDE.md +135 -0
- package/COLLABORATION_REPORT.md +209 -0
- package/PROJECT_GUIDE.md +355 -0
- package/README.md +158 -66
- package/docs/dev-guide.md +63 -50
- package/docs/qa-feature-list.md +452 -0
- package/docs/webhook-guide.md +178 -0
- package/index.ts +28 -2
- package/openclaw.plugin.json +131 -21
- package/package.json +16 -3
- package/scripts/deploy.sh +66 -7
- package/scripts/postinstall.cjs +80 -0
- package/skills/infoflow-dev/SKILL.md +2 -2
- package/skills/infoflow-dev/references/api.md +1 -1
- package/src/adapter/inbound/webhook-parser.ts +27 -5
- package/src/adapter/inbound/ws-receiver.ts +304 -43
- package/src/adapter/outbound/markdown-local-images.ts +80 -0
- package/src/adapter/outbound/reply-dispatcher.ts +146 -65
- package/src/adapter/outbound/target-resolver.ts +4 -3
- package/src/channel/accounts.ts +97 -22
- package/src/channel/channel.ts +456 -12
- package/src/channel/media.ts +20 -6
- package/src/channel/monitor.ts +8 -3
- package/src/channel/outbound.ts +358 -21
- package/src/channel/streaming.ts +740 -0
- package/src/commands/changelog.ts +80 -0
- package/src/commands/doctor.ts +545 -0
- package/src/commands/logs.ts +449 -0
- package/src/commands/version.ts +20 -0
- package/src/compat/openclaw-sdk.ts +218 -0
- package/src/handler/message-handler.ts +673 -166
- package/src/logging.ts +1 -1
- package/src/runtime.ts +1 -1
- package/src/security/dm-policy.ts +1 -4
- package/src/security/group-policy.ts +174 -51
- package/src/tools/actions/index.ts +15 -13
- package/src/tools/cron/relay.ts +1154 -0
- package/src/tools/hooks/index.ts +13 -1
- package/src/tools/index.ts +714 -32
- package/src/types.ts +144 -25
- package/src/utils/audio/g722/dct_tables.ts +381 -0
- package/src/utils/audio/g722/decoder.ts +919 -0
- package/src/utils/audio/g722/defs.ts +105 -0
- package/src/utils/audio/g722/hd-parser.ts +247 -0
- package/src/utils/audio/g722/huff_tables.ts +240 -0
- package/src/utils/audio/g722/index.ts +78 -0
- package/src/utils/audio/g722/output_decoded.pcm +0 -0
- package/src/utils/audio/g722/output_decoded.wav +0 -0
- package/src/utils/audio/g722/tables.ts +173 -0
- package/src/utils/audio/g722/test_api.ts +31 -0
- package/src/utils/audio/g722/test_voice.hd +0 -0
- package/src/utils/bos/im-bos-client.ts +219 -0
- package/src/utils/group-agent-cache.ts +142 -0
- package/src/utils/token-adapter.ts +120 -51
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* G.722.1 / G.722.1 Annex C Decoder - TypeScript Implementation
|
|
3
|
+
* 基于 ITU-T G.722.1 Annex C 浮点源码移植
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// 常量定义
|
|
7
|
+
export const PI = 3.141592653589793238462;
|
|
8
|
+
|
|
9
|
+
export const MAX_FRAME_SIZE = 640;
|
|
10
|
+
export const FRAME_SIZE = 320;
|
|
11
|
+
export const MAX_DCT_SIZE = 640;
|
|
12
|
+
|
|
13
|
+
export const MAX_NUM_REGIONS = 28;
|
|
14
|
+
export const NUM_REGIONS = 14;
|
|
15
|
+
|
|
16
|
+
export const REGION_POWER_TABLE_SIZE = 64;
|
|
17
|
+
export const REGION_POWER_TABLE_NUM_NEGATIVES = 24;
|
|
18
|
+
|
|
19
|
+
export const NUM_RATE_CONTROL_BITS = 4;
|
|
20
|
+
export const NUM_RATE_CONTROL_POSSIBILITIES = 16;
|
|
21
|
+
|
|
22
|
+
export const MAX_NUM_RATE_CONTROL_BITS = 5;
|
|
23
|
+
export const MAX_NUM_RATE_CONTROL_POSSIBILITIES = 32;
|
|
24
|
+
|
|
25
|
+
export const ENCODER_SCALE_FACTOR = 18318.0;
|
|
26
|
+
export const ESF_ADJUSTMENT_TO_RMS_INDEX = 7;
|
|
27
|
+
|
|
28
|
+
export const MAX_BITS_PER_FRAME = 960;
|
|
29
|
+
|
|
30
|
+
export const INTEROP_RMLT_SCALE_FACTOR_7 = 22.0;
|
|
31
|
+
export const INTEROP_RMLT_SCALE_FACTOR_14 = 33.0;
|
|
32
|
+
|
|
33
|
+
// 霍夫曼编码常量
|
|
34
|
+
export const REGION_POWER_STEPSIZE_DB = 3.010299957;
|
|
35
|
+
export const ABS_REGION_POWER_LEVELS = 32;
|
|
36
|
+
export const DIFF_REGION_POWER_LEVELS = 24;
|
|
37
|
+
|
|
38
|
+
export const DRP_DIFF_MIN = -12;
|
|
39
|
+
export const DRP_DIFF_MAX = 11;
|
|
40
|
+
|
|
41
|
+
export const NUM_CATEGORIES = 8;
|
|
42
|
+
export const MAX_NUM_BINS = 16;
|
|
43
|
+
export const MAX_VECTOR_INDICES = 625;
|
|
44
|
+
export const MAX_VECTOR_DIMENSION = 5;
|
|
45
|
+
|
|
46
|
+
// 解码器信息结构
|
|
47
|
+
export interface DecInfo {
|
|
48
|
+
numberOfBitsLeft: number;
|
|
49
|
+
nextBit: number;
|
|
50
|
+
codeWord: number;
|
|
51
|
+
codeBitCount: number;
|
|
52
|
+
codeWordIndex: number;
|
|
53
|
+
codeWords: Int16Array;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// 随机数生成器结构
|
|
57
|
+
export interface RandomState {
|
|
58
|
+
b0: number;
|
|
59
|
+
b1: number;
|
|
60
|
+
b2: number;
|
|
61
|
+
b3: number;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// G722 编解码器类型
|
|
65
|
+
export enum G722Type {
|
|
66
|
+
G722_1C_24 = 0, // G.722.1 Annex C, 24kbps, 14kHz带宽, 32kHz采样率
|
|
67
|
+
G722_1C_32 = 1, // G.722.1 Annex C, 32kbps, 14kHz带宽, 32kHz采样率
|
|
68
|
+
G722_1C_48 = 2, // G.722.1 Annex C, 48kbps, 14kHz带宽, 32kHz采样率
|
|
69
|
+
G722_1_16 = 3, // G.722.1, 16kbps, 7kHz带宽, 16kHz采样率
|
|
70
|
+
G722_1_24 = 4, // G.722.1, 24kbps, 7kHz带宽, 16kHz采样率
|
|
71
|
+
G722_1_32 = 5 // G.722.1, 32kbps, 7kHz带宽, 16kHz采样率
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// 解码器状态结构
|
|
75
|
+
export interface G722Decoder {
|
|
76
|
+
frameCnt: number;
|
|
77
|
+
bitRate: number;
|
|
78
|
+
frameSize: number;
|
|
79
|
+
bandwidth: number;
|
|
80
|
+
|
|
81
|
+
numberOfRegions: number;
|
|
82
|
+
numberOfBitsPerFrame: number;
|
|
83
|
+
numberOfWords16PerFrame: number;
|
|
84
|
+
|
|
85
|
+
rmltScaleFactor: number;
|
|
86
|
+
window: Float32Array;
|
|
87
|
+
oldSamples: Float32Array;
|
|
88
|
+
|
|
89
|
+
oldDecoderMltCoefs: Float32Array;
|
|
90
|
+
decoderMltCoefs: Float32Array;
|
|
91
|
+
floatOutSamples: Float32Array;
|
|
92
|
+
|
|
93
|
+
numRateControlBits: number;
|
|
94
|
+
numRateControlPossibilities: number;
|
|
95
|
+
|
|
96
|
+
decInfo: DecInfo;
|
|
97
|
+
random: RandomState;
|
|
98
|
+
|
|
99
|
+
bufferA: Float32Array;
|
|
100
|
+
bufferB: Float32Array;
|
|
101
|
+
|
|
102
|
+
maxRateCategories: Int32Array;
|
|
103
|
+
minRateCategories: Int32Array;
|
|
104
|
+
tempCategoryBalances: Int32Array;
|
|
105
|
+
}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 非标准G722文件解析器
|
|
3
|
+
* 处理 .hd 文件格式 - 包含自定义帧头的G722编码数据
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { G722Type, G722Decoder } from './defs.js';
|
|
7
|
+
import { g722DecOpen, g722DecDecode, g722DecClose } from './decoder.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* .hd文件帧头结构
|
|
11
|
+
* 每帧包含:
|
|
12
|
+
* - 4字节: 未知字段 (可能是类型标识)
|
|
13
|
+
* - 4字节: 帧长度
|
|
14
|
+
* - 4字节: 时间戳 (little-endian)
|
|
15
|
+
* - 2字节: 非标准G722帧头 (flag + length)
|
|
16
|
+
* - N字节: G722编码数据
|
|
17
|
+
*/
|
|
18
|
+
export interface HdFrameHeader {
|
|
19
|
+
type: number; // 4字节
|
|
20
|
+
frameLength: number; // 4字节
|
|
21
|
+
timestamp: number; // 4字节
|
|
22
|
+
flag: number; // 1字节 (非标准G722头)
|
|
23
|
+
encLength: number; // 1字节 (非标准G722头,编码数据+2的长度)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* 解析.hd文件帧头
|
|
28
|
+
*/
|
|
29
|
+
export function parseHdFrameHeader(data: Uint8Array, offset: number): HdFrameHeader | null {
|
|
30
|
+
if (offset + 14 > data.length) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const view = new DataView(data.buffer, data.byteOffset + offset);
|
|
35
|
+
|
|
36
|
+
return {
|
|
37
|
+
type: view.getUint32(0, true),
|
|
38
|
+
frameLength: view.getUint32(4, true),
|
|
39
|
+
timestamp: view.getUint32(8, true),
|
|
40
|
+
flag: data[offset + 12],
|
|
41
|
+
encLength: data[offset + 13]
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* 解析整个.hd文件,提取所有帧
|
|
47
|
+
*/
|
|
48
|
+
export interface HdFrame {
|
|
49
|
+
header: HdFrameHeader;
|
|
50
|
+
encodedData: Uint8Array;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function parseHdFile(data: Uint8Array): HdFrame[] {
|
|
54
|
+
const frames: HdFrame[] = [];
|
|
55
|
+
let offset = 0;
|
|
56
|
+
|
|
57
|
+
while (offset < data.length) {
|
|
58
|
+
const header = parseHdFrameHeader(data, offset);
|
|
59
|
+
if (!header) break;
|
|
60
|
+
|
|
61
|
+
// 验证帧头的有效性
|
|
62
|
+
if (header.type !== 3 || header.frameLength < 2 || header.frameLength > 100) {
|
|
63
|
+
// 可能遇到文件尾部填充或无效数据
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// 非标准头中的encLength包含flag+length+encodedData的总长度
|
|
68
|
+
// 但实际编码数据从offset+14开始,长度 = encLength - 2
|
|
69
|
+
const encodedDataLength = header.encLength - 2;
|
|
70
|
+
const encodedDataOffset = offset + 14;
|
|
71
|
+
|
|
72
|
+
if (encodedDataOffset + encodedDataLength > data.length) {
|
|
73
|
+
console.warn(`Frame at offset ${offset} exceeds file boundary`);
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
frames.push({
|
|
78
|
+
header,
|
|
79
|
+
encodedData: data.slice(encodedDataOffset, encodedDataOffset + encodedDataLength)
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
// 移动到下一帧
|
|
83
|
+
// 帧结构: 4字节type + 4字节frameLength + 4字节timestamp + 2字节G722头 + (encLength-2)字节编码数据 + 3字节padding
|
|
84
|
+
// frameLength (42) = 2字节G722头 + 40字节编码数据 = encLength
|
|
85
|
+
// 总帧大小 = 8 + 4 (timestamp) + frameLength + 3 (padding) = 8 + 4 + 42 + 3 = 57
|
|
86
|
+
// 简化: 总帧大小 = 12 + frameLength + 3 = 15 + frameLength
|
|
87
|
+
offset += 15 + header.frameLength;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return frames;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* G722文件解码器 - 高层API
|
|
95
|
+
*/
|
|
96
|
+
export class G722FileDecoder {
|
|
97
|
+
private decoder: G722Decoder | null = null;
|
|
98
|
+
private codecType: G722Type;
|
|
99
|
+
|
|
100
|
+
constructor(codecType: G722Type = G722Type.G722_1_24) {
|
|
101
|
+
this.codecType = codecType;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* 初始化解码器
|
|
106
|
+
*/
|
|
107
|
+
open(): boolean {
|
|
108
|
+
this.decoder = g722DecOpen(this.codecType);
|
|
109
|
+
return this.decoder !== null;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* 关闭解码器
|
|
114
|
+
*/
|
|
115
|
+
close(): void {
|
|
116
|
+
if (this.decoder) {
|
|
117
|
+
g722DecClose(this.decoder);
|
|
118
|
+
this.decoder = null;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* 解码单帧
|
|
124
|
+
*/
|
|
125
|
+
decodeFrame(encodedData: Uint8Array, isGoodPacket: boolean = true): Int16Array | null {
|
|
126
|
+
if (!this.decoder) {
|
|
127
|
+
console.error('Decoder not initialized');
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
const outputSamples = new Int16Array(this.decoder.frameSize);
|
|
132
|
+
const numInBytes = { value: 0 };
|
|
133
|
+
const numOut = { value: 0 };
|
|
134
|
+
|
|
135
|
+
g722DecDecode(this.decoder, encodedData, outputSamples, numInBytes, numOut, isGoodPacket ? 1 : 0);
|
|
136
|
+
|
|
137
|
+
return outputSamples.subarray(0, numOut.value);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* 获取采样率
|
|
142
|
+
*/
|
|
143
|
+
getSampleRate(): number {
|
|
144
|
+
return this.decoder?.bandwidth === 7000 ? 16000 : 32000;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* 获取帧大小
|
|
149
|
+
*/
|
|
150
|
+
getFrameSize(): number {
|
|
151
|
+
return this.decoder?.frameSize ?? 0;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* 解码.hd文件到PCM数据
|
|
157
|
+
*/
|
|
158
|
+
export function decodeHdFile(hdData: Uint8Array, codecType: G722Type = G722Type.G722_1_24): {
|
|
159
|
+
pcmData: Int16Array;
|
|
160
|
+
sampleRate: number;
|
|
161
|
+
frames: number;
|
|
162
|
+
} | null {
|
|
163
|
+
// 解析文件
|
|
164
|
+
const frames = parseHdFile(hdData);
|
|
165
|
+
if (frames.length === 0) {
|
|
166
|
+
console.error('No valid frames found in file');
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
console.log(`Found ${frames.length} frames in HD file`);
|
|
171
|
+
|
|
172
|
+
// 创建解码器
|
|
173
|
+
const decoder = new G722FileDecoder(codecType);
|
|
174
|
+
if (!decoder.open()) {
|
|
175
|
+
console.error('Failed to open decoder');
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
try {
|
|
180
|
+
const allSamples: Int16Array[] = [];
|
|
181
|
+
let totalSamples = 0;
|
|
182
|
+
|
|
183
|
+
for (let i = 0; i < frames.length; i++) {
|
|
184
|
+
const frame = frames[i];
|
|
185
|
+
const samples = decoder.decodeFrame(frame.encodedData, true);
|
|
186
|
+
|
|
187
|
+
if (samples && samples.length > 0) {
|
|
188
|
+
allSamples.push(samples.slice()); // 复制一份
|
|
189
|
+
totalSamples += samples.length;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
// 合并所有采样(不做预滚动延迟处理,与voipsdk保持一致)
|
|
194
|
+
const pcmData = new Int16Array(totalSamples);
|
|
195
|
+
let offset = 0;
|
|
196
|
+
for (const samples of allSamples) {
|
|
197
|
+
pcmData.set(samples, offset);
|
|
198
|
+
offset += samples.length;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
return {
|
|
202
|
+
pcmData,
|
|
203
|
+
sampleRate: decoder.getSampleRate(),
|
|
204
|
+
frames: frames.length
|
|
205
|
+
};
|
|
206
|
+
} finally {
|
|
207
|
+
decoder.close();
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* 将PCM数据写入WAV文件格式
|
|
213
|
+
*/
|
|
214
|
+
export function pcmToWav(
|
|
215
|
+
pcmData: Int16Array,
|
|
216
|
+
sampleRate: number,
|
|
217
|
+
channels: number = 1
|
|
218
|
+
): Buffer {
|
|
219
|
+
|
|
220
|
+
const bytesPerSample = 2
|
|
221
|
+
const blockAlign = channels * bytesPerSample
|
|
222
|
+
const byteRate = sampleRate * blockAlign
|
|
223
|
+
const dataSize = pcmData.length * bytesPerSample
|
|
224
|
+
|
|
225
|
+
const buffer = Buffer.alloc(44 + dataSize)
|
|
226
|
+
|
|
227
|
+
buffer.write('RIFF', 0)
|
|
228
|
+
buffer.writeUInt32LE(36 + dataSize, 4)
|
|
229
|
+
buffer.write('WAVE', 8)
|
|
230
|
+
|
|
231
|
+
buffer.write('fmt ', 12)
|
|
232
|
+
buffer.writeUInt32LE(16, 16)
|
|
233
|
+
buffer.writeUInt16LE(1, 20)
|
|
234
|
+
buffer.writeUInt16LE(channels, 22)
|
|
235
|
+
buffer.writeUInt32LE(sampleRate, 24)
|
|
236
|
+
buffer.writeUInt32LE(byteRate, 28)
|
|
237
|
+
buffer.writeUInt16LE(blockAlign, 32)
|
|
238
|
+
buffer.writeUInt16LE(16, 34)
|
|
239
|
+
|
|
240
|
+
buffer.write('data', 36)
|
|
241
|
+
buffer.writeUInt32LE(dataSize, 40)
|
|
242
|
+
|
|
243
|
+
// 正确方式:从Int16Array的底层ArrayBuffer复制原始字节
|
|
244
|
+
Buffer.from(pcmData.buffer, pcmData.byteOffset, pcmData.byteLength).copy(buffer, 44)
|
|
245
|
+
|
|
246
|
+
return buffer
|
|
247
|
+
}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* G.722.1 Huffman Decoder Tables
|
|
3
|
+
*/
|
|
4
|
+
import { MAX_NUM_REGIONS, DIFF_REGION_POWER_LEVELS, NUM_CATEGORIES } from './defs.js';
|
|
5
|
+
|
|
6
|
+
// 差分区域功率解码树
|
|
7
|
+
export const differentialRegionPowerDecoderTree: Int32Array[][] = [
|
|
8
|
+
// Region 0 (dummy)
|
|
9
|
+
Array.from({length: DIFF_REGION_POWER_LEVELS - 1}, () => new Int32Array([0, 0])),
|
|
10
|
+
// Region 1
|
|
11
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, 6]), new Int32Array([7, 8]), new Int32Array([9, 10]), new Int32Array([11, -12]), new Int32Array([-11, -10]), new Int32Array([-8, -9]), new Int32Array([-7, -6]), new Int32Array([-13, 12]), new Int32Array([-5, -4]), new Int32Array([0, 13]), new Int32Array([-3, -14]), new Int32Array([-2, 14]), new Int32Array([-1, 15]), new Int32Array([-15, 16]), new Int32Array([-16, 17]), new Int32Array([-17, 18]), new Int32Array([19, 20]), new Int32Array([21, 22]), new Int32Array([-18, -19]), new Int32Array([-20, -21]), new Int32Array([-22, -23])],
|
|
12
|
+
// Region 2
|
|
13
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, 6]), new Int32Array([7, 8]), new Int32Array([-10, -9]), new Int32Array([-8, -11]), new Int32Array([-7, -6]), new Int32Array([9, -5]), new Int32Array([10, -12]), new Int32Array([-4, 11]), new Int32Array([-13, -3]), new Int32Array([12, -2]), new Int32Array([13, -14]), new Int32Array([-1, 14]), new Int32Array([15, -15]), new Int32Array([0, 16]), new Int32Array([-16, 17]), new Int32Array([-17, 18]), new Int32Array([-18, 19]), new Int32Array([20, 21]), new Int32Array([22, -19]), new Int32Array([-20, -21]), new Int32Array([-22, -23])],
|
|
14
|
+
// Region 3
|
|
15
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, 6]), new Int32Array([7, 8]), new Int32Array([9, 10]), new Int32Array([-12, 11]), new Int32Array([-11, -13]), new Int32Array([-10, -9]), new Int32Array([12, -14]), new Int32Array([-8, -7]), new Int32Array([-15, -6]), new Int32Array([13, -5]), new Int32Array([-16, -4]), new Int32Array([14, -17]), new Int32Array([15, -3]), new Int32Array([16, -18]), new Int32Array([-2, 17]), new Int32Array([18, -19]), new Int32Array([-1, 19]), new Int32Array([-20, 20]), new Int32Array([0, 21]), new Int32Array([22, -21]), new Int32Array([-22, -23])],
|
|
16
|
+
// Region 4
|
|
17
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, 6]), new Int32Array([-11, -10]), new Int32Array([7, -12]), new Int32Array([8, -9]), new Int32Array([9, -13]), new Int32Array([-14, 10]), new Int32Array([-8, -15]), new Int32Array([-16, 11]), new Int32Array([-7, 12]), new Int32Array([-17, -6]), new Int32Array([13, 14]), new Int32Array([-18, 15]), new Int32Array([-5, -4]), new Int32Array([16, 17]), new Int32Array([-3, -2]), new Int32Array([-19, 18]), new Int32Array([-1, 19]), new Int32Array([-20, 20]), new Int32Array([21, 22]), new Int32Array([0, -21]), new Int32Array([-22, -23])],
|
|
18
|
+
// Region 5
|
|
19
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, 6]), new Int32Array([-12, -11]), new Int32Array([-13, 7]), new Int32Array([8, -14]), new Int32Array([-10, 9]), new Int32Array([10, -15]), new Int32Array([-9, 11]), new Int32Array([-8, 12]), new Int32Array([-16, 13]), new Int32Array([-7, -6]), new Int32Array([-17, 14]), new Int32Array([-5, -18]), new Int32Array([15, -4]), new Int32Array([16, -19]), new Int32Array([17, -3]), new Int32Array([-20, 18]), new Int32Array([-2, 19]), new Int32Array([-21, 20]), new Int32Array([0, 21]), new Int32Array([22, -1]), new Int32Array([-22, -23])],
|
|
20
|
+
// Region 6
|
|
21
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, 6]), new Int32Array([-11, 7]), new Int32Array([-12, -10]), new Int32Array([-13, -9]), new Int32Array([8, 9]), new Int32Array([-14, -8]), new Int32Array([10, -15]), new Int32Array([-7, 11]), new Int32Array([-16, 12]), new Int32Array([-6, -17]), new Int32Array([13, 14]), new Int32Array([-5, 15]), new Int32Array([-18, 16]), new Int32Array([-4, 17]), new Int32Array([-3, -19]), new Int32Array([18, -2]), new Int32Array([-20, 19]), new Int32Array([-1, 20]), new Int32Array([0, 21]), new Int32Array([22, -21]), new Int32Array([-22, -23])],
|
|
22
|
+
// Region 7
|
|
23
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, -12]), new Int32Array([6, -11]), new Int32Array([-10, -13]), new Int32Array([-9, 7]), new Int32Array([8, -14]), new Int32Array([9, -8]), new Int32Array([-15, 10]), new Int32Array([-7, -16]), new Int32Array([11, -6]), new Int32Array([12, -17]), new Int32Array([13, -5]), new Int32Array([-18, 14]), new Int32Array([15, -4]), new Int32Array([-19, 16]), new Int32Array([17, -3]), new Int32Array([-20, 18]), new Int32Array([19, 20]), new Int32Array([21, 22]), new Int32Array([0, -2]), new Int32Array([-1, -21]), new Int32Array([-22, -23])],
|
|
24
|
+
// Region 8
|
|
25
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, -12]), new Int32Array([6, -13]), new Int32Array([-11, -10]), new Int32Array([7, -14]), new Int32Array([8, -9]), new Int32Array([9, -15]), new Int32Array([-8, 10]), new Int32Array([-7, -16]), new Int32Array([11, 12]), new Int32Array([-6, -17]), new Int32Array([-5, 13]), new Int32Array([14, 15]), new Int32Array([-18, -4]), new Int32Array([-19, 16]), new Int32Array([-3, 17]), new Int32Array([18, -2]), new Int32Array([-20, 19]), new Int32Array([20, 21]), new Int32Array([22, 0]), new Int32Array([-1, -21]), new Int32Array([-22, -23])],
|
|
26
|
+
// Region 9
|
|
27
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, 6]), new Int32Array([-11, -10]), new Int32Array([-12, -9]), new Int32Array([7, 8]), new Int32Array([-13, -8]), new Int32Array([9, -14]), new Int32Array([-7, 10]), new Int32Array([-6, -15]), new Int32Array([11, 12]), new Int32Array([-5, -16]), new Int32Array([13, 14]), new Int32Array([-17, 15]), new Int32Array([-4, 16]), new Int32Array([17, -18]), new Int32Array([18, -3]), new Int32Array([-2, 19]), new Int32Array([-1, 0]), new Int32Array([-19, 20]), new Int32Array([-20, 21]), new Int32Array([22, -21]), new Int32Array([-22, -23])],
|
|
28
|
+
// Region 10
|
|
29
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, 6]), new Int32Array([-11, 7]), new Int32Array([-10, -12]), new Int32Array([-9, 8]), new Int32Array([-8, -13]), new Int32Array([9, -7]), new Int32Array([10, -14]), new Int32Array([-6, 11]), new Int32Array([-15, 12]), new Int32Array([-5, 13]), new Int32Array([-16, -4]), new Int32Array([14, 15]), new Int32Array([-17, -3]), new Int32Array([-18, 16]), new Int32Array([17, -19]), new Int32Array([-2, 18]), new Int32Array([-20, 19]), new Int32Array([-1, 20]), new Int32Array([21, 22]), new Int32Array([0, -21]), new Int32Array([-22, -23])],
|
|
30
|
+
// Region 11
|
|
31
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, -12]), new Int32Array([6, -11]), new Int32Array([7, 8]), new Int32Array([-10, -13]), new Int32Array([-9, 9]), new Int32Array([-8, -14]), new Int32Array([10, -7]), new Int32Array([11, -15]), new Int32Array([-6, 12]), new Int32Array([-5, 13]), new Int32Array([-4, -16]), new Int32Array([14, 15]), new Int32Array([-3, -17]), new Int32Array([16, 17]), new Int32Array([-18, -2]), new Int32Array([18, -19]), new Int32Array([-1, 19]), new Int32Array([-20, 20]), new Int32Array([-21, 21]), new Int32Array([22, 0]), new Int32Array([-22, -23])],
|
|
32
|
+
// Region 12
|
|
33
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, -12]), new Int32Array([-13, 6]), new Int32Array([-11, 7]), new Int32Array([-14, 8]), new Int32Array([-10, 9]), new Int32Array([-15, -9]), new Int32Array([-8, 10]), new Int32Array([-7, -16]), new Int32Array([11, -6]), new Int32Array([12, -5]), new Int32Array([-17, 13]), new Int32Array([14, -18]), new Int32Array([15, -4]), new Int32Array([16, -19]), new Int32Array([17, -3]), new Int32Array([18, -2]), new Int32Array([19, -1]), new Int32Array([-20, 20]), new Int32Array([21, 22]), new Int32Array([0, -21]), new Int32Array([-22, -23])],
|
|
34
|
+
// Region 13 and above use the same table
|
|
35
|
+
[new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([-12, 5]), new Int32Array([-11, -13]), new Int32Array([6, -14]), new Int32Array([-10, 7]), new Int32Array([8, -15]), new Int32Array([-9, 9]), new Int32Array([-16, 10]), new Int32Array([-8, -17]), new Int32Array([11, 12]), new Int32Array([-7, -18]), new Int32Array([-6, 13]), new Int32Array([14, -5]), new Int32Array([15, -19]), new Int32Array([-4, 16]), new Int32Array([-20, 17]), new Int32Array([18, 19]), new Int32Array([20, 21]), new Int32Array([22, 0]), new Int32Array([-1, -3]), new Int32Array([-2, -21]), new Int32Array([-22, -23])]
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
// 为Region 14-27复制Region 13的表
|
|
39
|
+
for (let i = 14; i < MAX_NUM_REGIONS; i++) {
|
|
40
|
+
differentialRegionPowerDecoderTree.push(differentialRegionPowerDecoderTree[13]);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// MLT解码树 - Category 0
|
|
44
|
+
export const mltDecoderTreeCategory0: Int32Array[] = [
|
|
45
|
+
new Int32Array([1, 0]), new Int32Array([2, 3]), new Int32Array([4, 5]), new Int32Array([6, 7]), new Int32Array([8, 9]), new Int32Array([-1, -14]), new Int32Array([10, 11]), new Int32Array([12, 13]),
|
|
46
|
+
new Int32Array([14, 15]), new Int32Array([16, 17]), new Int32Array([18, 19]), new Int32Array([-15, 20]), new Int32Array([21, 22]), new Int32Array([23, -28]), new Int32Array([24, -2]), new Int32Array([25, 26]),
|
|
47
|
+
new Int32Array([27, 28]), new Int32Array([29, 30]), new Int32Array([31, 32]), new Int32Array([-29, 33]), new Int32Array([-16, 34]), new Int32Array([-3, 35]), new Int32Array([36, 37]), new Int32Array([-42, 38]),
|
|
48
|
+
new Int32Array([39, 40]), new Int32Array([41, 42]), new Int32Array([43, 44]), new Int32Array([-17, 45]), new Int32Array([-43, 46]), new Int32Array([47, 48]), new Int32Array([-4, 49]), new Int32Array([-56, 50]),
|
|
49
|
+
new Int32Array([51, 52]), new Int32Array([53, 54]), new Int32Array([55, 56]), new Int32Array([-57, -5]), new Int32Array([-30, 57]), new Int32Array([58, 59]), new Int32Array([-18, 60]), new Int32Array([61, -70]),
|
|
50
|
+
new Int32Array([62, 63]), new Int32Array([64, -6]), new Int32Array([65, 66]), new Int32Array([-44, 67]), new Int32Array([-71, 68]), new Int32Array([69, 70]), new Int32Array([-19, -31]), new Int32Array([-84, 71]),
|
|
51
|
+
new Int32Array([72, 73]), new Int32Array([74, 75]), new Int32Array([76, 77]), new Int32Array([-7, 78]), new Int32Array([79, -20]), new Int32Array([80, 81]), new Int32Array([-85, 82]), new Int32Array([-98, 83]),
|
|
52
|
+
new Int32Array([-58, 84]), new Int32Array([85, -32]), new Int32Array([-99, 86]), new Int32Array([-8, 87]), new Int32Array([88, 89]), new Int32Array([-72, -45]), new Int32Array([90, -33]), new Int32Array([91, -112]),
|
|
53
|
+
new Int32Array([-21, 92]), new Int32Array([-59, -113]), new Int32Array([-46, 93]), new Int32Array([-9, 94]), new Int32Array([-22, 95]), new Int32Array([96, 97]), new Int32Array([98, 99]), new Int32Array([-23, -86]),
|
|
54
|
+
new Int32Array([100, 101]), new Int32Array([-34, -73]), new Int32Array([102, -126]), new Int32Array([-127, -35]), new Int32Array([103, -47]), new Int32Array([104, 105]), new Int32Array([106, 107]), new Int32Array([-140, -100]),
|
|
55
|
+
new Int32Array([-114, -87]), new Int32Array([108, 109]), new Int32Array([110, 111]), new Int32Array([-141, -60]), new Int32Array([112, -48]), new Int32Array([113, -24]), new Int32Array([-10, -61]), new Int32Array([114, -101]),
|
|
56
|
+
new Int32Array([115, 116]), new Int32Array([-74, -36]), new Int32Array([117, -128]), new Int32Array([118, -62]), new Int32Array([119, 120]), new Int32Array([-37, 121]), new Int32Array([-11, -49]), new Int32Array([-88, 122]),
|
|
57
|
+
new Int32Array([123, -115]), new Int32Array([-154, -25]), new Int32Array([-142, 124]), new Int32Array([-155, -129]), new Int32Array([125, -50]), new Int32Array([126, 127]), new Int32Array([-76, -75]), new Int32Array([128, 129]),
|
|
58
|
+
new Int32Array([-63, -77]), new Int32Array([-102, -39]), new Int32Array([-38, 130]), new Int32Array([-51, 131]), new Int32Array([-89, -116]), new Int32Array([-117, -156]), new Int32Array([132, -52]), new Int32Array([-78, 133]),
|
|
59
|
+
new Int32Array([134, -103]), new Int32Array([135, 136]), new Int32Array([-143, -65]), new Int32Array([137, -64]), new Int32Array([-130, -131]), new Int32Array([-90, 138]), new Int32Array([-104, -91]), new Int32Array([-92, 139]),
|
|
60
|
+
new Int32Array([-169, -183]), new Int32Array([-26, -118]), new Int32Array([140, 141]), new Int32Array([-144, -66]), new Int32Array([-12, 142]), new Int32Array([-168, 143]), new Int32Array([-105, -157]), new Int32Array([144, -182]),
|
|
61
|
+
new Int32Array([145, 146]), new Int32Array([-79, 147]), new Int32Array([-53, -170]), new Int32Array([148, 149]), new Int32Array([-27, -145]), new Int32Array([150, -80]), new Int32Array([-106, -13]), new Int32Array([-132, -67]),
|
|
62
|
+
new Int32Array([-158, -40]), new Int32Array([-119, 151]), new Int32Array([152, -107]), new Int32Array([153, 154]), new Int32Array([-41, -184]), new Int32Array([155, 156]), new Int32Array([-54, 157]), new Int32Array([-171, 158]),
|
|
63
|
+
new Int32Array([-94, 159]), new Int32Array([-134, -146]), new Int32Array([-93, -133]), new Int32Array([-159, -108]), new Int32Array([160, -81]), new Int32Array([161, -160]), new Int32Array([162, -68]), new Int32Array([-120, -122]),
|
|
64
|
+
new Int32Array([-172, 163]), new Int32Array([-55, -95]), new Int32Array([164, -109]), new Int32Array([-161, -82]), new Int32Array([-173, -185]), new Int32Array([165, -69]), new Int32Array([-147, -186]), new Int32Array([166, 167]),
|
|
65
|
+
new Int32Array([-121, -96]), new Int32Array([168, -148]), new Int32Array([-174, 169]), new Int32Array([170, -136]), new Int32Array([-83, 171]), new Int32Array([172, 173]), new Int32Array([-135, -110]), new Int32Array([-187, 174]),
|
|
66
|
+
new Int32Array([-149, -150]), new Int32Array([175, -123]), new Int32Array([-162, -163]), new Int32Array([-97, -175]), new Int32Array([-188, 176]), new Int32Array([177, 178]), new Int32Array([179, -111]), new Int32Array([-151, -124]),
|
|
67
|
+
new Int32Array([-137, -177]), new Int32Array([-176, -125]), new Int32Array([-164, -138]), new Int32Array([-189, -190])
|
|
68
|
+
];
|
|
69
|
+
|
|
70
|
+
// MLT解码树 - Category 1
|
|
71
|
+
export const mltDecoderTreeCategory1: Int32Array[] = [
|
|
72
|
+
new Int32Array([1, 0]), new Int32Array([2, 3]), new Int32Array([4, 5]), new Int32Array([6, 7]), new Int32Array([8, -10]), new Int32Array([-1, 9]), new Int32Array([10, 11]), new Int32Array([12, 13]),
|
|
73
|
+
new Int32Array([-11, 14]), new Int32Array([15, 16]), new Int32Array([17, 18]), new Int32Array([-20, -2]), new Int32Array([19, 20]), new Int32Array([-21, 21]), new Int32Array([22, 23]), new Int32Array([-12, 24]),
|
|
74
|
+
new Int32Array([25, 26]), new Int32Array([27, 28]), new Int32Array([29, 30]), new Int32Array([-30, 31]), new Int32Array([-31, -3]), new Int32Array([32, -22]), new Int32Array([33, -13]), new Int32Array([34, 35]),
|
|
75
|
+
new Int32Array([36, 37]), new Int32Array([38, 39]), new Int32Array([40, -4]), new Int32Array([-41, -14]), new Int32Array([41, -40]), new Int32Array([-32, 42]), new Int32Array([43, -23]), new Int32Array([44, 45]),
|
|
76
|
+
new Int32Array([46, 47]), new Int32Array([48, -5]), new Int32Array([-51, -50]), new Int32Array([-42, 49]), new Int32Array([-33, 50]), new Int32Array([-15, 51]), new Int32Array([52, 53]), new Int32Array([54, -24]),
|
|
77
|
+
new Int32Array([55, -43]), new Int32Array([56, -52]), new Int32Array([57, -61]), new Int32Array([-60, 58]), new Int32Array([-25, 59]), new Int32Array([-16, -34]), new Int32Array([-6, 60]), new Int32Array([-62, 61]),
|
|
78
|
+
new Int32Array([-71, 62]), new Int32Array([-35, -7]), new Int32Array([63, -72]), new Int32Array([-53, -17]), new Int32Array([64, -44]), new Int32Array([-26, -70]), new Int32Array([65, -45]), new Int32Array([-36, 66]),
|
|
79
|
+
new Int32Array([-63, 67]), new Int32Array([-80, -54]), new Int32Array([-81, 68]), new Int32Array([-27, 69]), new Int32Array([70, -82]), new Int32Array([-18, 71]), new Int32Array([72, -55]), new Int32Array([73, -64]),
|
|
80
|
+
new Int32Array([74, -73]), new Int32Array([75, -46]), new Int32Array([-37, 76]), new Int32Array([-91, -8]), new Int32Array([-9, 77]), new Int32Array([-90, -83]), new Int32Array([78, -28]), new Int32Array([79, -56]),
|
|
81
|
+
new Int32Array([-65, -38]), new Int32Array([-74, 80]), new Int32Array([-19, -57]), new Int32Array([-92, 81]), new Int32Array([-47, -48]), new Int32Array([82, -66]), new Int32Array([83, -29]), new Int32Array([-84, 84]),
|
|
82
|
+
new Int32Array([-75, -85]), new Int32Array([-67, -93]), new Int32Array([-39, 85]), new Int32Array([-76, 86]), new Int32Array([-58, 87]), new Int32Array([88, -49]), new Int32Array([-94, 89]), new Int32Array([90, -68]),
|
|
83
|
+
new Int32Array([91, -78]), new Int32Array([-86, -59]), new Int32Array([-77, -95]), new Int32Array([92, -69]), new Int32Array([-87, -96])
|
|
84
|
+
];
|
|
85
|
+
|
|
86
|
+
// MLT解码树 - Category 2
|
|
87
|
+
export const mltDecoderTreeCategory2: Int32Array[] = [
|
|
88
|
+
new Int32Array([1, 0]), new Int32Array([2, 3]), new Int32Array([4, 5]), new Int32Array([6, -7]), new Int32Array([-1, 7]), new Int32Array([-8, 8]), new Int32Array([9, 10]), new Int32Array([11, 12]),
|
|
89
|
+
new Int32Array([13, -14]), new Int32Array([-15, -9]), new Int32Array([-2, 14]), new Int32Array([15, 16]), new Int32Array([17, 18]), new Int32Array([19, -16]), new Int32Array([20, -22]), new Int32Array([-10, 21]),
|
|
90
|
+
new Int32Array([-21, -3]), new Int32Array([22, 23]), new Int32Array([24, 25]), new Int32Array([-23, -17]), new Int32Array([26, 27]), new Int32Array([28, -29]), new Int32Array([-11, -28]), new Int32Array([29, 30]),
|
|
91
|
+
new Int32Array([-4, -24]), new Int32Array([-30, 31]), new Int32Array([32, -18]), new Int32Array([33, -35]), new Int32Array([-36, 34]), new Int32Array([-31, -12]), new Int32Array([35, -25]), new Int32Array([-5, -37]),
|
|
92
|
+
new Int32Array([36, 37]), new Int32Array([-42, 38]), new Int32Array([-19, -43]), new Int32Array([-32, 39]), new Int32Array([-13, -38]), new Int32Array([-26, -20]), new Int32Array([40, -6]), new Int32Array([-44, 41]),
|
|
93
|
+
new Int32Array([42, -39]), new Int32Array([-33, -45]), new Int32Array([43, -27]), new Int32Array([44, -46]), new Int32Array([45, -34]), new Int32Array([-40, 46]), new Int32Array([-41, -47])
|
|
94
|
+
];
|
|
95
|
+
|
|
96
|
+
// MLT解码树 - Category 3
|
|
97
|
+
export const mltDecoderTreeCategory3: Int32Array[] = [
|
|
98
|
+
new Int32Array([1, 2]), new Int32Array([3, 4]), new Int32Array([5, 0]), new Int32Array([6, 7]), new Int32Array([8, 9]), new Int32Array([10, 11]), new Int32Array([12, 13]), new Int32Array([14, 15]),
|
|
99
|
+
new Int32Array([16, 17]), new Int32Array([-125, 18]), new Int32Array([-1, 19]), new Int32Array([20, 21]), new Int32Array([22, 23]), new Int32Array([24, 25]), new Int32Array([-5, -25]), new Int32Array([26, 27]),
|
|
100
|
+
new Int32Array([-6, -150]), new Int32Array([28, 29]), new Int32Array([30, 31]), new Int32Array([32, 33]), new Int32Array([34, -30]), new Int32Array([35, 36]), new Int32Array([37, 38]), new Int32Array([39, -31]),
|
|
101
|
+
new Int32Array([-126, -155]), new Int32Array([40, 41]), new Int32Array([-156, 42]), new Int32Array([43, -130]), new Int32Array([44, -131]), new Int32Array([-151, -26]), new Int32Array([45, 46]), new Int32Array([-250, 47]),
|
|
102
|
+
new Int32Array([48, 49]), new Int32Array([50, 51]), new Int32Array([52, -275]), new Int32Array([53, 54]), new Int32Array([-2, -7]), new Int32Array([55, 56]), new Int32Array([57, 58]), new Int32Array([59, 60]),
|
|
103
|
+
new Int32Array([61, 62]), new Int32Array([63, 64]), new Int32Array([65, 66]), new Int32Array([67, 68]), new Int32Array([69, 70]), new Int32Array([71, -50]), new Int32Array([72, -180]), new Int32Array([73, 74]),
|
|
104
|
+
new Int32Array([75, 76]), new Int32Array([77, -55]), new Int32Array([78, -175]), new Int32Array([79, -36]), new Int32Array([80, 81]), new Int32Array([-35, -10]), new Int32Array([82, 83]), new Int32Array([-280, 84]),
|
|
105
|
+
new Int32Array([-11, 85]), new Int32Array([86, -32]), new Int32Array([87, 88]), new Int32Array([89, -161]), new Int32Array([90, -276]), new Int32Array([91, 92]), new Int32Array([-281, 93]), new Int32Array([-8, 94]),
|
|
106
|
+
new Int32Array([95, 96]), new Int32Array([97, -157]), new Int32Array([-181, -400]), new Int32Array([-132, 98]), new Int32Array([-375, 99]), new Int32Array([-160, 100]), new Int32Array([-127, 101]), new Int32Array([-27, 102]),
|
|
107
|
+
new Int32Array([103, -251]), new Int32Array([-56, 104]), new Int32Array([105, -256]), new Int32Array([-300, -3]), new Int32Array([-152, -255]), new Int32Array([106, 107]), new Int32Array([-37, 108]), new Int32Array([-305, 109]),
|
|
108
|
+
new Int32Array([-176, 110]), new Int32Array([-136, 111]), new Int32Array([-12, 112]), new Int32Array([113, 114]), new Int32Array([115, -135]), new Int32Array([116, 117]), new Int32Array([-162, 118]), new Int32Array([-16, -51]),
|
|
109
|
+
new Int32Array([-186, 119]), new Int32Array([120, 121]), new Int32Array([122, 123]), new Int32Array([-41, 124]), new Int32Array([-61, 125]), new Int32Array([126, 127]), new Int32Array([128, 129]), new Int32Array([130, -60]),
|
|
110
|
+
new Int32Array([131, 132]), new Int32Array([-306, 133]), new Int32Array([134, -205]), new Int32Array([-405, 135]), new Int32Array([136, 137]), new Int32Array([138, 139]), new Int32Array([-185, 140]), new Int32Array([141, -500]),
|
|
111
|
+
new Int32Array([-15, 142]), new Int32Array([143, -80]), new Int32Array([-75, -40]), new Int32Array([-301, 144]), new Int32Array([145, 146]), new Int32Array([-200, 147]), new Int32Array([148, 149]), new Int32Array([150, 151]),
|
|
112
|
+
new Int32Array([152, -525]), new Int32Array([153, -177]), new Int32Array([-425, 154]), new Int32Array([155, -13]), new Int32Array([-430, 156]), new Int32Array([157, -406]), new Int32Array([158, 159]), new Int32Array([-206, -380]),
|
|
113
|
+
new Int32Array([160, 161]), new Int32Array([162, 163]), new Int32Array([164, -182]), new Int32Array([-137, 165]), new Int32Array([-286, 166]), new Int32Array([167, -401]), new Int32Array([168, 169]), new Int32Array([-42, -33]),
|
|
114
|
+
new Int32Array([170, -166]), new Int32Array([-57, -325]), new Int32Array([171, -187]), new Int32Array([-38, 172]), new Int32Array([173, 174]), new Int32Array([-165, -330]), new Int32Array([-4, -282]), new Int32Array([175, -257]),
|
|
115
|
+
new Int32Array([-261, -311]), new Int32Array([-376, 176]), new Int32Array([177, 178]), new Int32Array([-28, 179]), new Int32Array([180, -9]), new Int32Array([-285, 181]), new Int32Array([182, 183]), new Int32Array([184, -277]),
|
|
116
|
+
new Int32Array([185, -133]), new Int32Array([-310, -81]), new Int32Array([-85, 186]), new Int32Array([-158, -210]), new Int32Array([-17, 187]), new Int32Array([188, 189]), new Int32Array([190, -52]), new Int32Array([-141, 191]),
|
|
117
|
+
new Int32Array([192, -128]), new Int32Array([-191, -20]), new Int32Array([193, -140]), new Int32Array([194, 195]), new Int32Array([-211, -260]), new Int32Array([196, 197]), new Int32Array([198, 199]), new Int32Array([200, -66]),
|
|
118
|
+
new Int32Array([-201, -225]), new Int32Array([-381, 201]), new Int32Array([202, 203]), new Int32Array([204, 205]), new Int32Array([206, 207]), new Int32Array([-163, -287]), new Int32Array([208, -100]), new Int32Array([209, 210]),
|
|
119
|
+
new Int32Array([211, 212]), new Int32Array([213, -252]), new Int32Array([-105, -76]), new Int32Array([214, 215]), new Int32Array([216, -21]), new Int32Array([-86, -62]), new Int32Array([-307, 217]), new Int32Array([-65, -455]),
|
|
120
|
+
new Int32Array([-550, 218]), new Int32Array([219, 220]), new Int32Array([221, 222]), new Int32Array([223, 224]), new Int32Array([225, -230]), new Int32Array([-142, 226]), new Int32Array([-302, -426]), new Int32Array([-431, 227]),
|
|
121
|
+
new Int32Array([228, 229]), new Int32Array([230, -190]), new Int32Array([-402, -46]), new Int32Array([-153, -450]), new Int32Array([-505, 231]), new Int32Array([232, 233]), new Int32Array([234, 235]), new Int32Array([236, 237]),
|
|
122
|
+
new Int32Array([238, 239]), new Int32Array([-262, -29]), new Int32Array([240, 241]), new Int32Array([242, 243]), new Int32Array([-167, -67]), new Int32Array([-331, -530]), new Int32Array([244, 245]), new Int32Array([246, 247]),
|
|
123
|
+
new Int32Array([248, 249]), new Int32Array([250, 251]), new Int32Array([252, 253]), new Int32Array([254, 255]), new Int32Array([256, 257]), new Int32Array([258, 259]), new Int32Array([260, 261]), new Int32Array([262, -336]),
|
|
124
|
+
new Int32Array([263, -171]), new Int32Array([-192, -207]), new Int32Array([-258, -138]), new Int32Array([264, 265]), new Int32Array([266, 267]), new Int32Array([268, 269]), new Int32Array([270, 271]), new Int32Array([272, 273]),
|
|
125
|
+
new Int32Array([274, -45]), new Int32Array([-335, -411]), new Int32Array([-43, -18]), new Int32Array([-265, -71]), new Int32Array([-316, -326]), new Int32Array([-350, -407]), new Int32Array([-146, -14]), new Int32Array([275, 276]),
|
|
126
|
+
new Int32Array([277, 278]), new Int32Array([279, 280]), new Int32Array([281, -216]), new Int32Array([-34, -283]), new Int32Array([-291, -312]), new Int32Array([-410, -168]), new Int32Array([-555, 282]), new Int32Array([-70, -53]),
|
|
127
|
+
new Int32Array([-235, -87]), new Int32Array([-77, -183]), new Int32Array([-315, -332]), new Int32Array([-178, -58]), new Int32Array([283, 284]), new Int32Array([285, 286]), new Int32Array([287, 288]), new Int32Array([289, 290]),
|
|
128
|
+
new Int32Array([291, 292]), new Int32Array([293, 294]), new Int32Array([295, 296]), new Int32Array([297, 298]), new Int32Array([-202, -226]), new Int32Array([-170, -267]), new Int32Array([-134, -290]), new Int32Array([-355, -385]),
|
|
129
|
+
new Int32Array([-386, -47]), new Int32Array([-526, -196]), new Int32Array([299, 300]), new Int32Array([301, 302]), new Int32Array([303, 304]), new Int32Array([305, 306]), new Int32Array([307, 308]), new Int32Array([309, 310]),
|
|
130
|
+
new Int32Array([311, 312]), new Int32Array([313, 314]), new Int32Array([315, 316]), new Int32Array([317, 318]), new Int32Array([319, 320]), new Int32Array([321, 322]), new Int32Array([323, 324]), new Int32Array([325, -111]),
|
|
131
|
+
new Int32Array([-231, -253]), new Int32Array([-91, -82]), new Int32Array([-172, -145]), new Int32Array([-22, -317]), new Int32Array([-90, -356]), new Int32Array([-382, -159]), new Int32Array([326, 327]), new Int32Array([328, 329]),
|
|
132
|
+
new Int32Array([330, 331]), new Int32Array([332, 333]), new Int32Array([334, 335]), new Int32Array([-106, -263]), new Int32Array([-278, -215]), new Int32Array([-110, -39]), new Int32Array([-101, -377]), new Int32Array([-129, -63]),
|
|
133
|
+
new Int32Array([-436, -195]), new Int32Array([-506, -531]), new Int32Array([336, -212]), new Int32Array([-154, -266]), new Int32Array([-59, -288]), new Int32Array([-292, -303]), new Int32Array([-337, -432]), new Int32Array([-188, -451]),
|
|
134
|
+
new Int32Array([-456, -460]), new Int32Array([-501, -236]), new Int32Array([-551, 337]), new Int32Array([338, 339]), new Int32Array([340, 341]), new Int32Array([342, 343]), new Int32Array([344, 345]), new Int32Array([346, 347]),
|
|
135
|
+
new Int32Array([348, 349]), new Int32Array([350, 351]), new Int32Array([352, 353]), new Int32Array([354, 355]), new Int32Array([356, 357]), new Int32Array([358, 359]), new Int32Array([360, 361]), new Int32Array([362, 363]),
|
|
136
|
+
new Int32Array([364, 365]), new Int32Array([366, 367]), new Int32Array([368, 369]), new Int32Array([370, 371]), new Int32Array([372, 373]), new Int32Array([374, 375]), new Int32Array([376, 377]), new Int32Array([378, 379]),
|
|
137
|
+
new Int32Array([380, 381]), new Int32Array([382, 383]), new Int32Array([384, 385]), new Int32Array([386, 387]), new Int32Array([388, 389]), new Int32Array([390, 391]), new Int32Array([392, 393]), new Int32Array([394, 395]),
|
|
138
|
+
new Int32Array([396, 397]), new Int32Array([398, 399]), new Int32Array([400, 401]), new Int32Array([402, 403]), new Int32Array([404, 405]), new Int32Array([406, 407]), new Int32Array([-72, -272]), new Int32Array([-309, -333]),
|
|
139
|
+
new Int32Array([-340, -360]), new Int32Array([-68, -387]), new Int32Array([-184, -416]), new Int32Array([-427, -147]), new Int32Array([-435, -437]), new Int32Array([-115, -480]), new Int32Array([-510, -532]), new Int32Array([-164, -556]),
|
|
140
|
+
new Int32Array([408, -295]), new Int32Array([-296, -297]), new Int32Array([-107, -313]), new Int32Array([-193, -173]), new Int32Array([-320, -327]), new Int32Array([-341, -351]), new Int32Array([-352, -143]), new Int32Array([-378, -19]),
|
|
141
|
+
new Int32Array([-403, -412]), new Int32Array([-268, -54]), new Int32Array([-83, -441]), new Int32Array([-442, -457]), new Int32Array([-475, -44]), new Int32Array([-97, -511]), new Int32Array([-515, -208]), new Int32Array([-527, -528]),
|
|
142
|
+
new Int32Array([-237, -536]), new Int32Array([-552, 409]), new Int32Array([410, 411]), new Int32Array([412, 413]), new Int32Array([414, 415]), new Int32Array([416, 417]), new Int32Array([418, 419]), new Int32Array([420, 421]),
|
|
143
|
+
new Int32Array([422, 423]), new Int32Array([424, 425]), new Int32Array([426, 427]), new Int32Array([428, 429]), new Int32Array([430, 431]), new Int32Array([432, 433]), new Int32Array([434, 435]), new Int32Array([436, 437]),
|
|
144
|
+
new Int32Array([438, 439]), new Int32Array([440, 441]), new Int32Array([442, 443]), new Int32Array([444, 445]), new Int32Array([446, 447]), new Int32Array([448, 449]), new Int32Array([450, 451]), new Int32Array([452, 453]),
|
|
145
|
+
new Int32Array([454, 455]), new Int32Array([456, 457]), new Int32Array([458, 459]), new Int32Array([460, 461]), new Int32Array([462, 463]), new Int32Array([464, 465]), new Int32Array([466, 467]), new Int32Array([468, 469]),
|
|
146
|
+
new Int32Array([470, 471]), new Int32Array([472, 473]), new Int32Array([474, 475]), new Int32Array([476, 477]), new Int32Array([478, 479]), new Int32Array([480, 481]), new Int32Array([482, 483]), new Int32Array([484, 485]),
|
|
147
|
+
new Int32Array([486, 487]), new Int32Array([488, 489]), new Int32Array([490, 491]), new Int32Array([492, 493]), new Int32Array([494, 495]), new Int32Array([496, 497]), new Int32Array([498, 499]), new Int32Array([500, 501]),
|
|
148
|
+
new Int32Array([502, 503]), new Int32Array([504, 505]), new Int32Array([506, 507]), new Int32Array([508, 509]), new Int32Array([510, 511]), new Int32Array([512, 513]), new Int32Array([514, 515]), new Int32Array([516, 517]),
|
|
149
|
+
new Int32Array([518, -104]), new Int32Array([-84, -218]), new Int32Array([-318, -319]), new Int32Array([-117, -321]), new Int32Array([-322, -323]), new Int32Array([-219, -174]), new Int32Array([-243, -328]), new Int32Array([-329, -94]),
|
|
150
|
+
new Int32Array([-228, -194]), new Int32Array([-240, -334]), new Int32Array([-102, -229]), new Int32Array([-169, -338]), new Int32Array([-339, -116]), new Int32Array([-289, -342]), new Int32Array([-343, -345]), new Int32Array([-346, -347]),
|
|
151
|
+
new Int32Array([-23, -203]), new Int32Array([-214, -353]), new Int32Array([-204, -220]), new Int32Array([-357, -358]), new Int32Array([-264, -361]), new Int32Array([-362, -363]), new Int32Array([-365, -366]), new Int32Array([-367, -92]),
|
|
152
|
+
new Int32Array([-245, -121]), new Int32Array([-293, -379]), new Int32Array([-108, -232]), new Int32Array([-221, -383]), new Int32Array([-384, -233]), new Int32Array([-294, -241]), new Int32Array([-388, -389]), new Int32Array([-390, -391]),
|
|
153
|
+
new Int32Array([-392, -393]), new Int32Array([-394, -395]), new Int32Array([-396, -397]), new Int32Array([-398, -24]), new Int32Array([-109, -149]), new Int32Array([-242, -404]), new Int32Array([-64, -79]), new Int32Array([-89, -408]),
|
|
154
|
+
new Int32Array([-409, -213]), new Int32Array([-120, -113]), new Int32Array([-413, -414]), new Int32Array([-415, -96]), new Int32Array([-417, -418]), new Int32Array([-419, -420]), new Int32Array([-421, -422]), new Int32Array([-423, -298]),
|
|
155
|
+
new Int32Array([-69, -269]), new Int32Array([-428, -429]), new Int32Array([-78, -270]), new Int32Array([-88, -433]), new Int32Array([-434, -271]), new Int32Array([-234, -259]), new Int32Array([-438, -439]), new Int32Array([-440, -227]),
|
|
156
|
+
new Int32Array([-179, -443]), new Int32Array([-445, -446]), new Int32Array([-447, -223]), new Int32Array([-238, -452]), new Int32Array([-453, -454]), new Int32Array([-273, -254]), new Int32Array([-246, -458]), new Int32Array([-459, -48]),
|
|
157
|
+
new Int32Array([-461, -462]), new Int32Array([-463, -465]), new Int32Array([-466, -467]), new Int32Array([-468, -470]), new Int32Array([-471, -304]), new Int32Array([-476, -477]), new Int32Array([-478, -112]), new Int32Array([-481, -482]),
|
|
158
|
+
new Int32Array([-483, -485]), new Int32Array([-486, -487]), new Int32Array([-490, -491]), new Int32Array([-103, -118]), new Int32Array([-502, -503]), new Int32Array([-504, -189]), new Int32Array([-93, -507]), new Int32Array([-508, -509]),
|
|
159
|
+
new Int32Array([-148, -139]), new Int32Array([-512, -513]), new Int32Array([-308, -516]), new Int32Array([-517, -518]), new Int32Array([-520, -521]), new Int32Array([-73, -98]), new Int32Array([-95, -49]), new Int32Array([-529, -222]),
|
|
160
|
+
new Int32Array([-217, -197]), new Int32Array([-533, -534]), new Int32Array([-535, -284]), new Int32Array([-537, -538]), new Int32Array([-540, -541]), new Int32Array([-542, -543]), new Int32Array([-545, -546]), new Int32Array([-144, -198]),
|
|
161
|
+
new Int32Array([-314, -553]), new Int32Array([-209, -279]), new Int32Array([-557, -558]), new Int32Array([-560, -561]), new Int32Array([-562, -563]), new Int32Array([-565, -566]), new Int32Array([-567, -575]), new Int32Array([-576, -577]),
|
|
162
|
+
new Int32Array([-578, -580]), new Int32Array([-581, -582]), new Int32Array([-583, -585]), new Int32Array([-586, -587]), new Int32Array([-590, -591]), new Int32Array([-600, -601]), new Int32Array([-605, -606])
|
|
163
|
+
];
|
|
164
|
+
|
|
165
|
+
// MLT解码树 - Category 4
|
|
166
|
+
export const mltDecoderTreeCategory4: Int32Array[] = [
|
|
167
|
+
new Int32Array([1, 2]), new Int32Array([3, 0]), new Int32Array([4, 5]), new Int32Array([6, 7]), new Int32Array([8, 9]), new Int32Array([10, 11]), new Int32Array([12, -64]), new Int32Array([-1, 13]),
|
|
168
|
+
new Int32Array([14, -16]), new Int32Array([-4, 15]), new Int32Array([16, 17]), new Int32Array([18, -80]), new Int32Array([-5, 19]), new Int32Array([20, 21]), new Int32Array([-20, 22]), new Int32Array([23, -65]),
|
|
169
|
+
new Int32Array([-84, -21]), new Int32Array([-68, 24]), new Int32Array([-17, 25]), new Int32Array([26, 27]), new Int32Array([28, -81]), new Int32Array([-69, -85]), new Int32Array([29, 30]), new Int32Array([31, 32]),
|
|
170
|
+
new Int32Array([-128, 33]), new Int32Array([34, 35]), new Int32Array([-2, 36]), new Int32Array([37, 38]), new Int32Array([-144, 39]), new Int32Array([40, -6]), new Int32Array([41, 42]), new Int32Array([-32, 43]),
|
|
171
|
+
new Int32Array([44, -8]), new Int32Array([45, -25]), new Int32Array([-96, 46]), new Int32Array([47, -100]), new Int32Array([-9, 48]), new Int32Array([49, -36]), new Int32Array([50, -24]), new Int32Array([51, 52]),
|
|
172
|
+
new Int32Array([53, -148]), new Int32Array([54, 55]), new Int32Array([-22, 56]), new Int32Array([57, 58]), new Int32Array([-132, -89]), new Int32Array([59, 60]), new Int32Array([-101, 61]), new Int32Array([-37, 62]),
|
|
173
|
+
new Int32Array([-18, 63]), new Int32Array([-88, -129]), new Int32Array([-66, -70]), new Int32Array([-97, 64]), new Int32Array([-72, -73]), new Int32Array([65, -145]), new Int32Array([-149, -86]), new Int32Array([66, -33]),
|
|
174
|
+
new Int32Array([67, -133]), new Int32Array([68, 69]), new Int32Array([70, 71]), new Int32Array([-192, 72]), new Int32Array([73, -160]), new Int32Array([-82, 74]), new Int32Array([-164, 75]), new Int32Array([-10, 76]),
|
|
175
|
+
new Int32Array([77, -208]), new Int32Array([78, -40]), new Int32Array([79, 80]), new Int32Array([-3, 81]), new Int32Array([-7, 82]), new Int32Array([83, 84]), new Int32Array([-104, 85]), new Int32Array([86, -26]),
|
|
176
|
+
new Int32Array([87, -105]), new Int32Array([88, -112]), new Int32Array([89, 90]), new Int32Array([91, -41]), new Int32Array([92, 93]), new Int32Array([94, 95]), new Int32Array([-48, 96]), new Int32Array([-90, 97]),
|
|
177
|
+
new Int32Array([98, -28]), new Int32Array([-52, 99]), new Int32Array([-12, 100]), new Int32Array([101, -74]), new Int32Array([-13, -116]), new Int32Array([-161, 102]), new Int32Array([103, -29]), new Int32Array([-102, 104]),
|
|
178
|
+
new Int32Array([-152, -165]), new Int32Array([105, 106]), new Int32Array([107, 108]), new Int32Array([109, 110]), new Int32Array([111, -212]), new Int32Array([112, 113]), new Int32Array([-136, 114]), new Int32Array([115, -137]),
|
|
179
|
+
new Int32Array([116, -23]), new Int32Array([-19, -153]), new Int32Array([-98, -134]), new Int32Array([-196, 117]), new Int32Array([118, 119]), new Int32Array([-38, -193]), new Int32Array([-113, -150]), new Int32Array([-209, 120]),
|
|
180
|
+
new Int32Array([121, -93]), new Int32Array([-83, 122]), new Int32Array([123, 124]), new Int32Array([125, 126]), new Int32Array([127, 128]), new Int32Array([129, 130]), new Int32Array([131, -34]), new Int32Array([-146, -53]),
|
|
181
|
+
new Int32Array([132, 133]), new Int32Array([134, 135]), new Int32Array([136, 137]), new Int32Array([138, -130]), new Int32Array([-49, 139]), new Int32Array([140, 141]), new Int32Array([-117, -42]), new Int32Array([-67, -92]),
|
|
182
|
+
new Int32Array([142, -87]), new Int32Array([-77, -197]), new Int32Array([-71, 143]), new Int32Array([144, 145]), new Int32Array([146, 147]), new Int32Array([148, 149]), new Int32Array([150, 151]), new Int32Array([152, 153]),
|
|
183
|
+
new Int32Array([154, 155]), new Int32Array([156, 157]), new Int32Array([158, 159]), new Int32Array([160, 161]), new Int32Array([162, 163]), new Int32Array([164, 165]), new Int32Array([166, 167]), new Int32Array([168, 169]),
|
|
184
|
+
new Int32Array([-108, -76]), new Int32Array([-168, -169]), new Int32Array([-176, -44]), new Int32Array([-224, -56]), new Int32Array([-45, -180]), new Int32Array([-11, -106]), new Int32Array([-213, 170]), new Int32Array([171, 172]),
|
|
185
|
+
new Int32Array([173, 174]), new Int32Array([175, 176]), new Int32Array([177, 178]), new Int32Array([179, 180]), new Int32Array([181, 182]), new Int32Array([183, 184]), new Int32Array([185, 186]), new Int32Array([187, 188]),
|
|
186
|
+
new Int32Array([189, 190]), new Int32Array([191, 192]), new Int32Array([193, 194]), new Int32Array([195, 196]), new Int32Array([197, 198]), new Int32Array([199, 200]), new Int32Array([201, 202]), new Int32Array([203, 204]),
|
|
187
|
+
new Int32Array([205, 206]), new Int32Array([207, -131]), new Int32Array([-30, -27]), new Int32Array([-43, -151]), new Int32Array([-75, -154]), new Int32Array([-156, -162]), new Int32Array([-109, -194]), new Int32Array([-198, -201]),
|
|
188
|
+
new Int32Array([-114, -225]), new Int32Array([-228, -229]), new Int32Array([-141, -142]), new Int32Array([-94, -124]), new Int32Array([-95, -147]), new Int32Array([-115, -125]), new Int32Array([-54, -55]), new Int32Array([-107, -58]),
|
|
189
|
+
new Int32Array([-39, -155]), new Int32Array([-121, -157]), new Int32Array([-158, -103]), new Int32Array([-14, -122]), new Int32Array([-163, -51]), new Int32Array([-57, -166]), new Int32Array([-167, -46]), new Int32Array([-110, -170]),
|
|
190
|
+
new Int32Array([-172, -173]), new Int32Array([-61, -177]), new Int32Array([-178, -99]), new Int32Array([-181, -182]), new Int32Array([-184, -185]), new Int32Array([-118, -35]), new Int32Array([-15, -195]), new Int32Array([-31, -60]),
|
|
191
|
+
new Int32Array([-135, -199]), new Int32Array([-200, -79]), new Int32Array([-202, -204]), new Int32Array([-205, -119]), new Int32Array([-91, -210]), new Int32Array([-211, -78]), new Int32Array([-120, -214]), new Int32Array([-215, -216]),
|
|
192
|
+
new Int32Array([-217, -218]), new Int32Array([-220, -221]), new Int32Array([-50, -138]), new Int32Array([-226, -139]), new Int32Array([-140, -230]), new Int32Array([-232, -233]), new Int32Array([-240, -241]), new Int32Array([-244, -245])
|
|
193
|
+
];
|
|
194
|
+
|
|
195
|
+
// MLT解码树 - Category 5
|
|
196
|
+
export const mltDecoderTreeCategory5: Int32Array[] = [
|
|
197
|
+
new Int32Array([1, 2]), new Int32Array([0, 3]), new Int32Array([4, 5]), new Int32Array([6, 7]), new Int32Array([8, 9]), new Int32Array([10, 11]), new Int32Array([-81, -1]), new Int32Array([12, 13]),
|
|
198
|
+
new Int32Array([14, -27]), new Int32Array([-3, -9]), new Int32Array([15, 16]), new Int32Array([17, 18]), new Int32Array([19, 20]), new Int32Array([-108, 21]), new Int32Array([-4, 22]), new Int32Array([23, -36]),
|
|
199
|
+
new Int32Array([-12, 24]), new Int32Array([-82, 25]), new Int32Array([26, -84]), new Int32Array([27, -90]), new Int32Array([-10, -30]), new Int32Array([28, 29]), new Int32Array([30, -28]), new Int32Array([31, -117]),
|
|
200
|
+
new Int32Array([-13, 32]), new Int32Array([-39, 33]), new Int32Array([34, -109]), new Int32Array([35, -93]), new Int32Array([-85, -111]), new Int32Array([-37, 36]), new Int32Array([-31, 37]), new Int32Array([-91, 38]),
|
|
201
|
+
new Int32Array([39, 40]), new Int32Array([-40, -120]), new Int32Array([41, 42]), new Int32Array([-118, 43]), new Int32Array([-94, 44]), new Int32Array([-112, -162]), new Int32Array([45, 46]), new Int32Array([-2, 47]),
|
|
202
|
+
new Int32Array([48, 49]), new Int32Array([-121, -189]), new Int32Array([50, -54]), new Int32Array([51, 52]), new Int32Array([53, -18]), new Int32Array([54, 55]), new Int32Array([-6, 56]), new Int32Array([57, -5]),
|
|
203
|
+
new Int32Array([-135, 58]), new Int32Array([59, 60]), new Int32Array([61, 62]), new Int32Array([-63, 63]), new Int32Array([64, -7]), new Int32Array([-15, 65]), new Int32Array([66, 67]), new Int32Array([-45, 68]),
|
|
204
|
+
new Int32Array([69, 70]), new Int32Array([71, -21]), new Int32Array([72, 73]), new Int32Array([74, 75]), new Int32Array([76, 77]), new Int32Array([-163, 78]), new Int32Array([79, -171]), new Int32Array([-144, 80]),
|
|
205
|
+
new Int32Array([-48, 81]), new Int32Array([-57, 82]), new Int32Array([83, 84]), new Int32Array([-165, 85]), new Int32Array([-16, -198]), new Int32Array([86, 87]), new Int32Array([-11, 88]), new Int32Array([89, -99]),
|
|
206
|
+
new Int32Array([90, -83]), new Int32Array([-19, 91]), new Int32Array([92, 93]), new Int32Array([94, 95]), new Int32Array([96, 97]), new Int32Array([98, 99]), new Int32Array([-87, 100]), new Int32Array([101, 102]),
|
|
207
|
+
new Int32Array([-190, -66]), new Int32Array([-33, -192]), new Int32Array([103, 104]), new Int32Array([105, 106]), new Int32Array([-102, -42]), new Int32Array([107, -126]), new Int32Array([108, -29]), new Int32Array([-129, -46]),
|
|
208
|
+
new Int32Array([-86, -14]), new Int32Array([-114, -32]), new Int32Array([-172, 109]), new Int32Array([110, -58]), new Int32Array([-34, -138]), new Int32Array([111, 112]), new Int32Array([113, 114]), new Int32Array([115, 116]),
|
|
209
|
+
new Int32Array([117, 118]), new Int32Array([119, 120]), new Int32Array([-127, -166]), new Int32Array([-174, 121]), new Int32Array([122, 123]), new Int32Array([124, 125]), new Int32Array([-88, -96]), new Int32Array([126, -100]),
|
|
210
|
+
new Int32Array([-38, -110]), new Int32Array([-22, -136]), new Int32Array([-55, -139]), new Int32Array([-201, 127]), new Int32Array([-64, -193]), new Int32Array([128, -49]), new Int32Array([-175, -199]), new Int32Array([129, 130]),
|
|
211
|
+
new Int32Array([131, 132]), new Int32Array([133, 134]), new Int32Array([135, 136]), new Int32Array([137, 138]), new Int32Array([139, 140]), new Int32Array([141, 142]), new Int32Array([143, 144]), new Int32Array([145, 146]),
|
|
212
|
+
new Int32Array([147, 148]), new Int32Array([149, 150]), new Int32Array([-103, -92]), new Int32Array([-43, -130]), new Int32Array([-145, -147]), new Int32Array([-148, -41]), new Int32Array([-216, -115]), new Int32Array([-119, -123]),
|
|
213
|
+
new Int32Array([-95, 151]), new Int32Array([152, 153]), new Int32Array([154, 155]), new Int32Array([156, 157]), new Int32Array([158, 159]), new Int32Array([160, 161]), new Int32Array([162, 163]), new Int32Array([164, 165]),
|
|
214
|
+
new Int32Array([166, 167]), new Int32Array([168, 169]), new Int32Array([170, 171]), new Int32Array([172, 173]), new Int32Array([174, 175]), new Int32Array([176, 177]), new Int32Array([178, 179]), new Int32Array([180, 181]),
|
|
215
|
+
new Int32Array([182, 183]), new Int32Array([184, 185]), new Int32Array([186, 187]), new Int32Array([188, 189]), new Int32Array([190, -153]), new Int32Array([-180, -8]), new Int32Array([-97, -24]), new Int32Array([-122, -113]),
|
|
216
|
+
new Int32Array([-124, -125]), new Int32Array([-67, -44]), new Int32Array([-128, -69]), new Int32Array([-106, -131]), new Int32Array([-132, -133]), new Int32Array([-61, -73]), new Int32Array([-137, -116]), new Int32Array([-89, -140]),
|
|
217
|
+
new Int32Array([-141, -142]), new Int32Array([-23, -25]), new Int32Array([-146, -17]), new Int32Array([-104, -149]), new Int32Array([-150, -151]), new Int32Array([-52, -154]), new Int32Array([-156, -157]), new Int32Array([-76, -70]),
|
|
218
|
+
new Int32Array([-164, -51]), new Int32Array([-72, -167]), new Int32Array([-168, -169]), new Int32Array([-47, -20]), new Int32Array([-173, -59]), new Int32Array([-101, -176]), new Int32Array([-177, -178]), new Int32Array([-68, -181]),
|
|
219
|
+
new Int32Array([-183, -184]), new Int32Array([-35, -60]), new Int32Array([-191, -98]), new Int32Array([-56, -194]), new Int32Array([-195, -196]), new Int32Array([-75, -65]), new Int32Array([-200, -105]), new Int32Array([-202, -203]),
|
|
220
|
+
new Int32Array([-204, -205]), new Int32Array([-207, -208]), new Int32Array([-210, -211]), new Int32Array([-50, -217]), new Int32Array([-219, -220]), new Int32Array([-225, -226]), new Int32Array([-228, -229])
|
|
221
|
+
];
|
|
222
|
+
|
|
223
|
+
// MLT解码树 - Category 6
|
|
224
|
+
export const mltDecoderTreeCategory6: Int32Array[] = [
|
|
225
|
+
new Int32Array([1, 0]), new Int32Array([2, 3]), new Int32Array([4, 5]), new Int32Array([6, 7]), new Int32Array([8, -16]), new Int32Array([-1, -8]), new Int32Array([-2, -4]), new Int32Array([9, 10]),
|
|
226
|
+
new Int32Array([11, 12]), new Int32Array([13, 14]), new Int32Array([15, 16]), new Int32Array([17, -24]), new Int32Array([-3, -12]), new Int32Array([-6, 18]), new Int32Array([19, -20]), new Int32Array([-10, -5]),
|
|
227
|
+
new Int32Array([-17, -9]), new Int32Array([-18, 20]), new Int32Array([21, 22]), new Int32Array([23, 24]), new Int32Array([25, -28]), new Int32Array([26, -7]), new Int32Array([-14, -22]), new Int32Array([-26, -11]),
|
|
228
|
+
new Int32Array([27, -19]), new Int32Array([-25, -13]), new Int32Array([-21, 28]), new Int32Array([29, -30]), new Int32Array([-27, 30]), new Int32Array([-15, -29]), new Int32Array([-23, -31])
|
|
229
|
+
];
|
|
230
|
+
|
|
231
|
+
// 所有解码树表的集合
|
|
232
|
+
export const tableOfDecoderTables: Int32Array[][] = [
|
|
233
|
+
mltDecoderTreeCategory0,
|
|
234
|
+
mltDecoderTreeCategory1,
|
|
235
|
+
mltDecoderTreeCategory2,
|
|
236
|
+
mltDecoderTreeCategory3,
|
|
237
|
+
mltDecoderTreeCategory4,
|
|
238
|
+
mltDecoderTreeCategory5,
|
|
239
|
+
mltDecoderTreeCategory6
|
|
240
|
+
];
|