@modplayjs/stb-vorbis 0.0.0-stage → 0.2.2
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/README.md +30 -2
- package/dist/codebook.d.ts +19 -0
- package/dist/codebook.d.ts.map +1 -0
- package/dist/codebook.js +332 -0
- package/dist/codebook.js.map +1 -0
- package/dist/crc32.d.ts +4 -0
- package/dist/crc32.d.ts.map +1 -0
- package/dist/crc32.js +22 -0
- package/dist/crc32.js.map +1 -0
- package/dist/imdct.d.ts +9 -0
- package/dist/imdct.d.ts.map +1 -0
- package/dist/imdct.js +197 -0
- package/dist/imdct.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/mdct.d.ts +3 -0
- package/dist/mdct.d.ts.map +1 -0
- package/dist/mdct.js +185 -0
- package/dist/mdct.js.map +1 -0
- package/dist/residue.d.ts +3 -0
- package/dist/residue.d.ts.map +1 -0
- package/dist/residue.js +180 -0
- package/dist/residue.js.map +1 -0
- package/dist/stream.d.ts +26 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +233 -0
- package/dist/stream.js.map +1 -0
- package/dist/tables.d.ts +2 -0
- package/dist/tables.d.ts.map +1 -0
- package/dist/tables.js +4 -0
- package/dist/tables.js.map +1 -0
- package/dist/types.d.ts +147 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +25 -0
- package/dist/types.js.map +1 -0
- package/dist/vorbis.d.ts +12 -0
- package/dist/vorbis.d.ts.map +1 -0
- package/dist/vorbis.js +1053 -0
- package/dist/vorbis.js.map +1 -0
- package/package.json +51 -4
package/dist/stream.js
ADDED
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
// Ported from stb_vorbis.c (public domain, Sean Barrett) — stream, Ogg page
|
|
3
|
+
// and packet layers (memory-source, pull API).
|
|
4
|
+
// get8 / get32 / getn / skip (stb_vorbis.c:1346-1404)
|
|
5
|
+
export function get8(z) {
|
|
6
|
+
if (z.streamPos >= z.streamEnd) {
|
|
7
|
+
z.eof = true;
|
|
8
|
+
return 0;
|
|
9
|
+
}
|
|
10
|
+
return z.stream[z.streamPos++];
|
|
11
|
+
}
|
|
12
|
+
export function get32(z) {
|
|
13
|
+
let x = get8(z);
|
|
14
|
+
x += get8(z) << 8;
|
|
15
|
+
x += get8(z) << 16;
|
|
16
|
+
x += get8(z) << 24;
|
|
17
|
+
return x >>> 0;
|
|
18
|
+
}
|
|
19
|
+
export function getn(z, data, n) {
|
|
20
|
+
if (z.streamPos + n > z.streamEnd) {
|
|
21
|
+
z.eof = true;
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
data.set(z.stream.subarray(z.streamPos, z.streamPos + n), 0);
|
|
25
|
+
z.streamPos += n;
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
export function skip(z, n) {
|
|
29
|
+
z.streamPos += n;
|
|
30
|
+
if (z.streamPos >= z.streamEnd)
|
|
31
|
+
z.eof = true;
|
|
32
|
+
}
|
|
33
|
+
export function getFileOffset(z) {
|
|
34
|
+
return z.streamPos;
|
|
35
|
+
}
|
|
36
|
+
export function setFileOffset(z, loc) {
|
|
37
|
+
z.eof = false;
|
|
38
|
+
if (loc >= z.streamLen) {
|
|
39
|
+
z.streamPos = z.streamEnd;
|
|
40
|
+
z.eof = true;
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
z.streamPos = z.streamStart + loc;
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
// Ogg page layer (stb_vorbis.c:1438-1566)
|
|
47
|
+
function capturePattern(z) {
|
|
48
|
+
if (0x4f !== get8(z))
|
|
49
|
+
return false;
|
|
50
|
+
if (0x67 !== get8(z))
|
|
51
|
+
return false;
|
|
52
|
+
if (0x67 !== get8(z))
|
|
53
|
+
return false;
|
|
54
|
+
if (0x53 !== get8(z))
|
|
55
|
+
return false;
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
const PAGEFLAG_continued_packet = 1;
|
|
59
|
+
const PAGEFLAG_first_page = 2;
|
|
60
|
+
const PAGEFLAG_last_page = 4;
|
|
61
|
+
export function startPageNoCapturePattern(z) {
|
|
62
|
+
if (z.firstDecode) {
|
|
63
|
+
z.firstAudioPageOffset = getFileOffset(z) - 4;
|
|
64
|
+
}
|
|
65
|
+
if (0 !== get8(z)) {
|
|
66
|
+
return error(z, 2);
|
|
67
|
+
}
|
|
68
|
+
z.pageFlag = get8(z);
|
|
69
|
+
const loc0 = get32(z);
|
|
70
|
+
const loc1 = get32(z);
|
|
71
|
+
get32(z); // stream serial — discard
|
|
72
|
+
const n = get32(z);
|
|
73
|
+
z.lastPage = n;
|
|
74
|
+
get32(z); // crc32
|
|
75
|
+
z.segmentCount = get8(z);
|
|
76
|
+
if (!getn(z, z.segments, z.segmentCount))
|
|
77
|
+
return error(z, 10);
|
|
78
|
+
z.endSegWithKnownLoc = -2;
|
|
79
|
+
if (loc0 !== 0xffffffff || loc1 !== 0xffffffff) {
|
|
80
|
+
let i = z.segmentCount - 1;
|
|
81
|
+
for (; i >= 0; --i)
|
|
82
|
+
if (z.segments[i] < 255)
|
|
83
|
+
break;
|
|
84
|
+
if (i >= 0) {
|
|
85
|
+
z.endSegWithKnownLoc = i;
|
|
86
|
+
z.knownLocForPacket = loc0;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
z.nextSeg = 0;
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
export function error(z, e) {
|
|
93
|
+
z.error = e;
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
export function startPage(z) {
|
|
97
|
+
if (!capturePattern(z))
|
|
98
|
+
return error(z, 30);
|
|
99
|
+
return startPageNoCapturePattern(z);
|
|
100
|
+
}
|
|
101
|
+
export function startPacket(z) {
|
|
102
|
+
while (z.nextSeg === -1) {
|
|
103
|
+
if (!startPage(z))
|
|
104
|
+
return false;
|
|
105
|
+
if (z.pageFlag & PAGEFLAG_continued_packet)
|
|
106
|
+
return error(z, 9);
|
|
107
|
+
}
|
|
108
|
+
z.lastSeg = false;
|
|
109
|
+
z.validBits = 0;
|
|
110
|
+
z.packetBytes = 0;
|
|
111
|
+
z.bytesInSeg = 0;
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
export function maybeStartPacket(z) {
|
|
115
|
+
if (z.nextSeg === -1) {
|
|
116
|
+
const x = get8(z);
|
|
117
|
+
if (z.eof)
|
|
118
|
+
return false;
|
|
119
|
+
if (0x4f !== x)
|
|
120
|
+
return error(z, 30);
|
|
121
|
+
if (0x67 !== get8(z))
|
|
122
|
+
return error(z, 30);
|
|
123
|
+
if (0x67 !== get8(z))
|
|
124
|
+
return error(z, 30);
|
|
125
|
+
if (0x53 !== get8(z))
|
|
126
|
+
return error(z, 30);
|
|
127
|
+
if (!startPageNoCapturePattern(z))
|
|
128
|
+
return false;
|
|
129
|
+
if (z.pageFlag & PAGEFLAG_continued_packet) {
|
|
130
|
+
z.lastSeg = false;
|
|
131
|
+
z.bytesInSeg = 0;
|
|
132
|
+
return error(z, 9);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return startPacket(z);
|
|
136
|
+
}
|
|
137
|
+
export function nextSegment(z) {
|
|
138
|
+
if (z.lastSeg)
|
|
139
|
+
return 0;
|
|
140
|
+
if (z.nextSeg === -1) {
|
|
141
|
+
z.lastSegWhich = z.segmentCount - 1;
|
|
142
|
+
if (!startPage(z)) {
|
|
143
|
+
z.lastSeg = true;
|
|
144
|
+
return 0;
|
|
145
|
+
}
|
|
146
|
+
if (!(z.pageFlag & PAGEFLAG_continued_packet)) {
|
|
147
|
+
error(z, 9);
|
|
148
|
+
return 0;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const len = z.segments[z.nextSeg++];
|
|
152
|
+
if (len < 255) {
|
|
153
|
+
z.lastSeg = true;
|
|
154
|
+
z.lastSegWhich = z.nextSeg - 1;
|
|
155
|
+
}
|
|
156
|
+
if (z.nextSeg >= z.segmentCount)
|
|
157
|
+
z.nextSeg = -1;
|
|
158
|
+
z.bytesInSeg = len;
|
|
159
|
+
return len;
|
|
160
|
+
}
|
|
161
|
+
export const EOP = -1;
|
|
162
|
+
export const INVALID_BITS = -1;
|
|
163
|
+
export function get8PacketRaw(z) {
|
|
164
|
+
if (z.bytesInSeg === 0) {
|
|
165
|
+
if (z.lastSeg)
|
|
166
|
+
return EOP;
|
|
167
|
+
else if (!nextSegment(z))
|
|
168
|
+
return EOP;
|
|
169
|
+
}
|
|
170
|
+
if (z.bytesInSeg > 0)
|
|
171
|
+
--z.bytesInSeg;
|
|
172
|
+
++z.packetBytes;
|
|
173
|
+
return get8(z);
|
|
174
|
+
}
|
|
175
|
+
export function get8Packet(z) {
|
|
176
|
+
const x = get8PacketRaw(z);
|
|
177
|
+
z.validBits = 0;
|
|
178
|
+
return x;
|
|
179
|
+
}
|
|
180
|
+
export function get32Packet(z) {
|
|
181
|
+
let x = get8Packet(z);
|
|
182
|
+
x += get8Packet(z) << 8;
|
|
183
|
+
x += get8Packet(z) << 16;
|
|
184
|
+
x += get8Packet(z) << 24;
|
|
185
|
+
return x >>> 0;
|
|
186
|
+
}
|
|
187
|
+
export function flushPacket(z) {
|
|
188
|
+
while (get8PacketRaw(z) !== EOP) { /* drain */ }
|
|
189
|
+
}
|
|
190
|
+
// get_bits (stb_vorbis.c:1608-1662)
|
|
191
|
+
export function getBits(z, n) {
|
|
192
|
+
if (z.validBits < 0)
|
|
193
|
+
return 0;
|
|
194
|
+
if (z.validBits < n) {
|
|
195
|
+
if (n > 24) {
|
|
196
|
+
const zz = getBits(z, 24);
|
|
197
|
+
return (zz + (getBits(z, n - 24) << 24)) >>> 0;
|
|
198
|
+
}
|
|
199
|
+
if (z.validBits === 0)
|
|
200
|
+
z.acc = 0;
|
|
201
|
+
while (z.validBits < n) {
|
|
202
|
+
const b = get8PacketRaw(z);
|
|
203
|
+
if (b === EOP) {
|
|
204
|
+
z.validBits = INVALID_BITS;
|
|
205
|
+
return 0;
|
|
206
|
+
}
|
|
207
|
+
z.acc = (z.acc + (b << z.validBits)) >>> 0;
|
|
208
|
+
z.validBits += 8;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
const mask = (1 << n) - 1;
|
|
212
|
+
const zz = (z.acc & mask) >>> 0;
|
|
213
|
+
z.acc = (z.acc >>> n) >>> 0;
|
|
214
|
+
z.validBits -= n;
|
|
215
|
+
return zz;
|
|
216
|
+
}
|
|
217
|
+
export function prepHuffman(z) {
|
|
218
|
+
if (z.validBits <= 24) {
|
|
219
|
+
if (z.validBits === 0)
|
|
220
|
+
z.acc = 0;
|
|
221
|
+
do {
|
|
222
|
+
if (z.lastSeg && z.bytesInSeg === 0)
|
|
223
|
+
return;
|
|
224
|
+
const b = get8PacketRaw(z);
|
|
225
|
+
if (b === EOP)
|
|
226
|
+
return;
|
|
227
|
+
z.acc = (z.acc + (b << z.validBits)) >>> 0;
|
|
228
|
+
z.validBits += 8;
|
|
229
|
+
} while (z.validBits <= 24);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
export { PAGEFLAG_first_page, PAGEFLAG_last_page, PAGEFLAG_continued_packet };
|
|
233
|
+
//# sourceMappingURL=stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/tables.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,UAA6hH,CAAC"}
|
package/dist/tables.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
// Tables auto-generated from reference/openmpt/include/stb_vorbis/stb_vorbis.c.
|
|
3
|
+
export const INVERSE_DB_TABLE = [1.0649863e-07, 1.1341951e-07, 1.2079015e-07, 1.2863978e-07, 1.3699951e-07, 1.4590251e-07, 1.5538408e-07, 1.6548181e-07, 1.7623575e-07, 1.8768855e-07, 1.9988561e-07, 2.1287530e-07, 2.2670913e-07, 2.4144197e-07, 2.5713223e-07, 2.7384213e-07, 2.9163793e-07, 3.1059021e-07, 3.3077411e-07, 3.5226968e-07, 3.7516214e-07, 3.9954229e-07, 4.2550680e-07, 4.5315863e-07, 4.8260743e-07, 5.1396998e-07, 5.4737065e-07, 5.8294187e-07, 6.2082472e-07, 6.6116941e-07, 7.0413592e-07, 7.4989464e-07, 7.9862701e-07, 8.5052630e-07, 9.0579828e-07, 9.6466216e-07, 1.0273513e-06, 1.0941144e-06, 1.1652161e-06, 1.2409384e-06, 1.3215816e-06, 1.4074654e-06, 1.4989305e-06, 1.5963394e-06, 1.7000785e-06, 1.8105592e-06, 1.9282195e-06, 2.0535261e-06, 2.1869758e-06, 2.3290978e-06, 2.4804557e-06, 2.6416497e-06, 2.8133190e-06, 2.9961443e-06, 3.1908506e-06, 3.3982101e-06, 3.6190449e-06, 3.8542308e-06, 4.1047004e-06, 4.3714470e-06, 4.6555282e-06, 4.9580707e-06, 5.2802740e-06, 5.6234160e-06, 5.9888572e-06, 6.3780469e-06, 6.7925283e-06, 7.2339451e-06, 7.7040476e-06, 8.2047000e-06, 8.7378876e-06, 9.3057248e-06, 9.9104632e-06, 1.0554501e-05, 1.1240392e-05, 1.1970856e-05, 1.2748789e-05, 1.3577278e-05, 1.4459606e-05, 1.5399272e-05, 1.6400004e-05, 1.7465768e-05, 1.8600792e-05, 1.9809576e-05, 2.1096914e-05, 2.2467911e-05, 2.3928002e-05, 2.5482978e-05, 2.7139006e-05, 2.8902651e-05, 3.0780908e-05, 3.2781225e-05, 3.4911534e-05, 3.7180282e-05, 3.9596466e-05, 4.2169667e-05, 4.4910090e-05, 4.7828601e-05, 5.0936773e-05, 5.4246931e-05, 5.7772202e-05, 6.1526565e-05, 6.5524908e-05, 6.9783085e-05, 7.4317983e-05, 7.9147585e-05, 8.4291040e-05, 8.9768747e-05, 9.5602426e-05, 0.00010181521, 0.00010843174, 0.00011547824, 0.00012298267, 0.00013097477, 0.00013948625, 0.00014855085, 0.00015820453, 0.00016848555, 0.00017943469, 0.00019109536, 0.00020351382, 0.00021673929, 0.00023082423, 0.00024582449, 0.00026179955, 0.00027881276, 0.00029693158, 0.00031622787, 0.00033677814, 0.00035866388, 0.00038197188, 0.00040679456, 0.00043323036, 0.00046138411, 0.00049136745, 0.00052329927, 0.00055730621, 0.00059352311, 0.00063209358, 0.00067317058, 0.00071691700, 0.00076350630, 0.00081312324, 0.00086596457, 0.00092223983, 0.00098217216, 0.0010459992, 0.0011139742, 0.0011863665, 0.0012634633, 0.0013455702, 0.0014330129, 0.0015261382, 0.0016253153, 0.0017309374, 0.0018434235, 0.0019632195, 0.0020908006, 0.0022266726, 0.0023713743, 0.0025254795, 0.0026895994, 0.0028643847, 0.0030505286, 0.0032487691, 0.0034598925, 0.0036847358, 0.0039241906, 0.0041792066, 0.0044507950, 0.0047400328, 0.0050480668, 0.0053761186, 0.0057254891, 0.0060975636, 0.0064938176, 0.0069158225, 0.0073652516, 0.0078438871, 0.0083536271, 0.0088964928, 0.009474637, 0.010090352, 0.010746080, 0.011444421, 0.012188144, 0.012980198, 0.013823725, 0.014722068, 0.015678791, 0.016697687, 0.017782797, 0.018938423, 0.020169149, 0.021479854, 0.022875735, 0.024362330, 0.025945531, 0.027631618, 0.029427276, 0.031339626, 0.033376252, 0.035545228, 0.037855157, 0.040315199, 0.042935108, 0.045725273, 0.048696758, 0.051861348, 0.055231591, 0.058820850, 0.062643361, 0.066714279, 0.071049749, 0.075666962, 0.080584227, 0.085821044, 0.091398179, 0.097337747, 0.10366330, 0.11039993, 0.11757434, 0.12521498, 0.13335215, 0.14201813, 0.15124727, 0.16107617, 0.17154380, 0.18269168, 0.19456402, 0.20720788, 0.22067342, 0.23501402, 0.25028656, 0.26655159, 0.28387361, 0.30232132, 0.32196786, 0.34289114, 0.36517414, 0.38890521, 0.41417847, 0.44109412, 0.46975890, 0.50028648, 0.53279791, 0.56742212, 0.60429640, 0.64356699, 0.68538959, 0.72993007, 0.77736504, 0.82788260, 0.88168307, 0.9389798, 1.0];
|
|
4
|
+
//# sourceMappingURL=tables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tables.js","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,gFAAgF;AAEhF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
export declare const MAX_BLOCKSIZE_LOG = 13;
|
|
2
|
+
export declare const MAX_BLOCKSIZE: number;
|
|
3
|
+
export declare const FAST_HUFFMAN_TABLE_SIZE: number;
|
|
4
|
+
export declare const FAST_HUFFMAN_TABLE_MASK: number;
|
|
5
|
+
export declare const STB_VORBIS_FAST_HUFFMAN_LENGTH = 10;
|
|
6
|
+
export declare const NO_CODE = 255;
|
|
7
|
+
export declare const VORBIS: {
|
|
8
|
+
no_error: number;
|
|
9
|
+
need_more_data: number;
|
|
10
|
+
invalid_stream_structure_version: number;
|
|
11
|
+
invalid_first_page: number;
|
|
12
|
+
invalid_stream: number;
|
|
13
|
+
missing_capture_pattern: number;
|
|
14
|
+
unexpected_eof: number;
|
|
15
|
+
continued_packet_flag_invalid: number;
|
|
16
|
+
invalid_setup: number;
|
|
17
|
+
outofmem: number;
|
|
18
|
+
feature_not_supported: number;
|
|
19
|
+
too_many_channels: number;
|
|
20
|
+
};
|
|
21
|
+
export interface Codebook {
|
|
22
|
+
dimensions: number;
|
|
23
|
+
entries: number;
|
|
24
|
+
codewordLengths: Uint8Array | null;
|
|
25
|
+
minimumValue: number;
|
|
26
|
+
deltaValue: number;
|
|
27
|
+
valueBits: number;
|
|
28
|
+
lookupType: number;
|
|
29
|
+
sequenceP: number;
|
|
30
|
+
sparse: number;
|
|
31
|
+
lookupValues: number;
|
|
32
|
+
multiplicands: Float32Array | null;
|
|
33
|
+
codewords: Uint32Array | null;
|
|
34
|
+
fastHuffman: Int32Array;
|
|
35
|
+
sortedCodewords: Uint32Array | null;
|
|
36
|
+
sortedValues: Int32Array | null;
|
|
37
|
+
sortedEntries: number;
|
|
38
|
+
}
|
|
39
|
+
export interface Floor0 {
|
|
40
|
+
order: number;
|
|
41
|
+
rate: number;
|
|
42
|
+
barkMapSize: number;
|
|
43
|
+
amplitudeBits: number;
|
|
44
|
+
amplitudeOffset: number;
|
|
45
|
+
numberOfBooks: number;
|
|
46
|
+
bookList: number[];
|
|
47
|
+
}
|
|
48
|
+
export interface Floor1 {
|
|
49
|
+
partitions: number;
|
|
50
|
+
partitionClassList: number[];
|
|
51
|
+
classDimensions: number[];
|
|
52
|
+
classSubclasses: number[];
|
|
53
|
+
classMasterbooks: number[];
|
|
54
|
+
subclassBooks: number[][];
|
|
55
|
+
Xlist: number[];
|
|
56
|
+
sortedOrder: number[];
|
|
57
|
+
neighbors: number[][];
|
|
58
|
+
floor1Multiplier: number;
|
|
59
|
+
rangebits: number;
|
|
60
|
+
values: number;
|
|
61
|
+
}
|
|
62
|
+
export interface Residue {
|
|
63
|
+
begin: number;
|
|
64
|
+
end: number;
|
|
65
|
+
partSize: number;
|
|
66
|
+
classifications: number;
|
|
67
|
+
classbook: number;
|
|
68
|
+
classdata: Uint8Array[] | null;
|
|
69
|
+
residueBooks: Int16Array[] | null;
|
|
70
|
+
}
|
|
71
|
+
export interface MappingChannel {
|
|
72
|
+
magnitude: number;
|
|
73
|
+
angle: number;
|
|
74
|
+
mux: number;
|
|
75
|
+
}
|
|
76
|
+
export interface Mapping {
|
|
77
|
+
couplingSteps: number;
|
|
78
|
+
chan: MappingChannel[];
|
|
79
|
+
submaps: number;
|
|
80
|
+
submapFloor: number[];
|
|
81
|
+
submapResidue: number[];
|
|
82
|
+
}
|
|
83
|
+
export interface Mode {
|
|
84
|
+
blockflag: number;
|
|
85
|
+
mapping: number;
|
|
86
|
+
windowtype: number;
|
|
87
|
+
transformtype: number;
|
|
88
|
+
}
|
|
89
|
+
export interface Vorb {
|
|
90
|
+
stream: Uint8Array;
|
|
91
|
+
streamStart: number;
|
|
92
|
+
streamEnd: number;
|
|
93
|
+
streamPos: number;
|
|
94
|
+
streamLen: number;
|
|
95
|
+
eof: boolean;
|
|
96
|
+
error: number;
|
|
97
|
+
sampleRate: number;
|
|
98
|
+
channels: number;
|
|
99
|
+
blocksize: number[];
|
|
100
|
+
blocksize0: number;
|
|
101
|
+
blocksize1: number;
|
|
102
|
+
codebookCount: number;
|
|
103
|
+
codebooks: Codebook[];
|
|
104
|
+
floorCount: number;
|
|
105
|
+
floorTypes: number[];
|
|
106
|
+
floor0Config: Floor0[];
|
|
107
|
+
floor1Config: Floor1[];
|
|
108
|
+
residueCount: number;
|
|
109
|
+
residueTypes: number[];
|
|
110
|
+
residueConfig: Residue[];
|
|
111
|
+
mappingCount: number;
|
|
112
|
+
mapping: Mapping[];
|
|
113
|
+
modeCount: number;
|
|
114
|
+
modeConfig: Mode[];
|
|
115
|
+
channelBuffers: Float32Array[];
|
|
116
|
+
outputs: Float32Array[];
|
|
117
|
+
previousWindow: Float32Array[];
|
|
118
|
+
previousLength: number;
|
|
119
|
+
finalY: Int16Array[];
|
|
120
|
+
currentLoc: number;
|
|
121
|
+
currentLocValid: boolean;
|
|
122
|
+
A: Float32Array[];
|
|
123
|
+
B: Float32Array[];
|
|
124
|
+
C: Float32Array[];
|
|
125
|
+
window: Float32Array[];
|
|
126
|
+
bitReverse: Uint16Array[];
|
|
127
|
+
firstDecode: boolean;
|
|
128
|
+
nextSeg: number;
|
|
129
|
+
lastSeg: boolean;
|
|
130
|
+
lastSegWhich: number;
|
|
131
|
+
acc: number;
|
|
132
|
+
validBits: number;
|
|
133
|
+
packetBytes: number;
|
|
134
|
+
endSegWithKnownLoc: number;
|
|
135
|
+
knownLocForPacket: number;
|
|
136
|
+
discardSamplesDeferred: number;
|
|
137
|
+
samplesOutput: number;
|
|
138
|
+
lastPage: number;
|
|
139
|
+
segmentCount: number;
|
|
140
|
+
segments: Uint8Array;
|
|
141
|
+
pageFlag: number;
|
|
142
|
+
bytesInSeg: number;
|
|
143
|
+
channelBufferStart: number;
|
|
144
|
+
channelBufferEnd: number;
|
|
145
|
+
firstAudioPageOffset: number;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
// Ported from: OpenMPT's bundled stb_vorbis (reference/openmpt/include/
|
|
3
|
+
// stb_vorbis/stb_vorbis.c, public domain by Sean Barrett et al.).
|
|
4
|
+
// Memory-source pull-API subset: no stdio, no push mode, no seeking.
|
|
5
|
+
export const MAX_BLOCKSIZE_LOG = 13;
|
|
6
|
+
export const MAX_BLOCKSIZE = 1 << MAX_BLOCKSIZE_LOG;
|
|
7
|
+
export const FAST_HUFFMAN_TABLE_SIZE = 1 << 10; // STB_VORBIS_FAST_HUFFMAN_LENGTH = 10
|
|
8
|
+
export const FAST_HUFFMAN_TABLE_MASK = FAST_HUFFMAN_TABLE_SIZE - 1;
|
|
9
|
+
export const STB_VORBIS_FAST_HUFFMAN_LENGTH = 10;
|
|
10
|
+
export const NO_CODE = 255;
|
|
11
|
+
export const VORBIS = {
|
|
12
|
+
no_error: 0,
|
|
13
|
+
need_more_data: 1,
|
|
14
|
+
invalid_stream_structure_version: 2,
|
|
15
|
+
invalid_first_page: 4,
|
|
16
|
+
invalid_stream: 11,
|
|
17
|
+
missing_capture_pattern: 30,
|
|
18
|
+
unexpected_eof: 10,
|
|
19
|
+
continued_packet_flag_invalid: 9,
|
|
20
|
+
invalid_setup: 20,
|
|
21
|
+
outofmem: 14,
|
|
22
|
+
feature_not_supported: 26,
|
|
23
|
+
too_many_channels: 31,
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,wEAAwE;AACxE,kEAAkE;AAClE,qEAAqE;AAErE,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAI,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,sCAAsC;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,GAAG,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AACjD,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC;AAE3B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,QAAQ,EAAE,CAAC;IACX,cAAc,EAAE,CAAC;IACjB,gCAAgC,EAAE,CAAC;IACnC,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,EAAE;IAClB,uBAAuB,EAAE,EAAE;IAC3B,cAAc,EAAE,EAAE;IAClB,6BAA6B,EAAE,CAAC;IAChC,aAAa,EAAE,EAAE;IACjB,QAAQ,EAAE,EAAE;IACZ,qBAAqB,EAAE,EAAE;IACzB,iBAAiB,EAAE,EAAE;CACtB,CAAC"}
|
package/dist/vorbis.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Vorb } from './types.js';
|
|
2
|
+
import { setFileOffset, getFileOffset, EOP, INVALID_BITS } from './stream.js';
|
|
3
|
+
import { ilog, bitReverse } from './codebook.js';
|
|
4
|
+
export declare function vorbisValidate(data: Uint8Array): boolean;
|
|
5
|
+
export declare function stbVorbisOpenMemory(data: Uint8Array, errorOut: {
|
|
6
|
+
v: number;
|
|
7
|
+
}): Vorb | null;
|
|
8
|
+
export declare function stbVorbisGetFrameFloat(f: Vorb, len: {
|
|
9
|
+
v: number;
|
|
10
|
+
}): Float32Array[] | null;
|
|
11
|
+
export { bitReverse, ilog, setFileOffset, getFileOffset, EOP, INVALID_BITS };
|
|
12
|
+
//# sourceMappingURL=vorbis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vorbis.d.ts","sourceRoot":"","sources":["../src/vorbis.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,IAAI,EAEV,MAAM,YAAY,CAAC;AACpB,OAAO,EAGW,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAChE,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,IAAI,EACkB,UAAU,EACjC,MAAM,eAAe,CAAC;AAavB,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAKxD;AAy2BD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,IAAI,CA6D1F;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAgBzF;AAED,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC"}
|