@gmod/cram 3.0.5 → 3.0.7

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.
Files changed (116) hide show
  1. package/dist/cram-bundle.js +1 -1
  2. package/dist/cramFile/file.js +8 -10
  3. package/dist/cramFile/file.js.map +1 -1
  4. package/dist/cramFile/slice/decodeRecord.js +3 -1
  5. package/dist/cramFile/slice/decodeRecord.js.map +1 -1
  6. package/dist/cramFile/util.js.map +1 -1
  7. package/dist/htscodecs/arith_gen.d.ts +26 -0
  8. package/dist/htscodecs/arith_gen.js +558 -0
  9. package/dist/htscodecs/arith_gen.js.map +1 -0
  10. package/dist/htscodecs/arith_sh.d.ts +16 -0
  11. package/dist/htscodecs/arith_sh.js +128 -0
  12. package/dist/htscodecs/arith_sh.js.map +1 -0
  13. package/dist/htscodecs/byte_model.d.ts +11 -0
  14. package/dist/htscodecs/byte_model.js +113 -0
  15. package/dist/htscodecs/byte_model.js.map +1 -0
  16. package/dist/htscodecs/fqzcomp.d.ts +2 -0
  17. package/dist/htscodecs/fqzcomp.js +744 -0
  18. package/dist/htscodecs/fqzcomp.js.map +1 -0
  19. package/dist/htscodecs/index.d.ts +5 -0
  20. package/dist/htscodecs/index.js +70 -0
  21. package/dist/htscodecs/index.js.map +1 -0
  22. package/dist/htscodecs/iostream.d.ts +26 -0
  23. package/dist/htscodecs/iostream.js +242 -0
  24. package/dist/htscodecs/iostream.js.map +1 -0
  25. package/dist/htscodecs/main_arith_gen.d.ts +1 -0
  26. package/dist/htscodecs/main_arith_gen.js +86 -0
  27. package/dist/htscodecs/main_arith_gen.js.map +1 -0
  28. package/dist/htscodecs/main_fqzcomp.d.ts +1 -0
  29. package/dist/htscodecs/main_fqzcomp.js +112 -0
  30. package/dist/htscodecs/main_fqzcomp.js.map +1 -0
  31. package/dist/htscodecs/main_rans.d.ts +1 -0
  32. package/dist/htscodecs/main_rans.js +83 -0
  33. package/dist/htscodecs/main_rans.js.map +1 -0
  34. package/dist/htscodecs/main_rans4x16.d.ts +1 -0
  35. package/dist/htscodecs/main_rans4x16.js +82 -0
  36. package/dist/htscodecs/main_rans4x16.js.map +1 -0
  37. package/dist/htscodecs/main_tok3.d.ts +1 -0
  38. package/dist/htscodecs/main_tok3.js +84 -0
  39. package/dist/htscodecs/main_tok3.js.map +1 -0
  40. package/dist/htscodecs/rans.d.ts +2 -0
  41. package/dist/htscodecs/rans.js +480 -0
  42. package/dist/htscodecs/rans.js.map +1 -0
  43. package/dist/htscodecs/rans4x16.d.ts +2 -0
  44. package/dist/htscodecs/rans4x16.js +896 -0
  45. package/dist/htscodecs/rans4x16.js.map +1 -0
  46. package/dist/htscodecs/tok3.d.ts +2 -0
  47. package/dist/htscodecs/tok3.js +347 -0
  48. package/dist/htscodecs/tok3.js.map +1 -0
  49. package/esm/cramFile/file.js +8 -10
  50. package/esm/cramFile/file.js.map +1 -1
  51. package/esm/cramFile/slice/decodeRecord.js +3 -1
  52. package/esm/cramFile/slice/decodeRecord.js.map +1 -1
  53. package/esm/cramFile/util.js.map +1 -1
  54. package/esm/htscodecs/arith_gen.d.ts +26 -0
  55. package/esm/htscodecs/arith_gen.js +558 -0
  56. package/esm/htscodecs/arith_gen.js.map +1 -0
  57. package/esm/htscodecs/arith_sh.d.ts +16 -0
  58. package/esm/htscodecs/arith_sh.js +128 -0
  59. package/esm/htscodecs/arith_sh.js.map +1 -0
  60. package/esm/htscodecs/byte_model.d.ts +11 -0
  61. package/esm/htscodecs/byte_model.js +113 -0
  62. package/esm/htscodecs/byte_model.js.map +1 -0
  63. package/esm/htscodecs/fqzcomp.d.ts +2 -0
  64. package/esm/htscodecs/fqzcomp.js +744 -0
  65. package/esm/htscodecs/fqzcomp.js.map +1 -0
  66. package/esm/htscodecs/index.d.ts +5 -0
  67. package/esm/htscodecs/index.js +70 -0
  68. package/esm/htscodecs/index.js.map +1 -0
  69. package/esm/htscodecs/iostream.d.ts +26 -0
  70. package/esm/htscodecs/iostream.js +242 -0
  71. package/esm/htscodecs/iostream.js.map +1 -0
  72. package/esm/htscodecs/main_arith_gen.d.ts +1 -0
  73. package/esm/htscodecs/main_arith_gen.js +86 -0
  74. package/esm/htscodecs/main_arith_gen.js.map +1 -0
  75. package/esm/htscodecs/main_fqzcomp.d.ts +1 -0
  76. package/esm/htscodecs/main_fqzcomp.js +112 -0
  77. package/esm/htscodecs/main_fqzcomp.js.map +1 -0
  78. package/esm/htscodecs/main_rans.d.ts +1 -0
  79. package/esm/htscodecs/main_rans.js +83 -0
  80. package/esm/htscodecs/main_rans.js.map +1 -0
  81. package/esm/htscodecs/main_rans4x16.d.ts +1 -0
  82. package/esm/htscodecs/main_rans4x16.js +82 -0
  83. package/esm/htscodecs/main_rans4x16.js.map +1 -0
  84. package/esm/htscodecs/main_tok3.d.ts +1 -0
  85. package/esm/htscodecs/main_tok3.js +84 -0
  86. package/esm/htscodecs/main_tok3.js.map +1 -0
  87. package/esm/htscodecs/rans.d.ts +2 -0
  88. package/esm/htscodecs/rans.js +480 -0
  89. package/esm/htscodecs/rans.js.map +1 -0
  90. package/esm/htscodecs/rans4x16.d.ts +2 -0
  91. package/esm/htscodecs/rans4x16.js +896 -0
  92. package/esm/htscodecs/rans4x16.js.map +1 -0
  93. package/esm/htscodecs/tok3.d.ts +2 -0
  94. package/esm/htscodecs/tok3.js +347 -0
  95. package/esm/htscodecs/tok3.js.map +1 -0
  96. package/package.json +1 -2
  97. package/src/cramFile/file.ts +8 -10
  98. package/src/cramFile/slice/decodeRecord.ts +4 -1
  99. package/src/cramFile/util.ts +0 -1
  100. package/src/htscodecs/Makefile +142 -0
  101. package/src/htscodecs/README.md +64 -0
  102. package/src/htscodecs/arith_gen.js +607 -0
  103. package/src/htscodecs/arith_sh.js +138 -0
  104. package/src/htscodecs/byte_model.js +126 -0
  105. package/src/htscodecs/fqzcomp.js +834 -0
  106. package/src/htscodecs/index.js +79 -0
  107. package/src/htscodecs/iostream.js +256 -0
  108. package/src/htscodecs/main_arith_gen.js +96 -0
  109. package/src/htscodecs/main_fqzcomp.js +113 -0
  110. package/src/htscodecs/main_rans.js +88 -0
  111. package/src/htscodecs/main_rans4x16.js +87 -0
  112. package/src/htscodecs/main_tok3.js +86 -0
  113. package/src/htscodecs/rans.js +545 -0
  114. package/src/htscodecs/rans4x16.js +1003 -0
  115. package/src/htscodecs/tok3.js +396 -0
  116. package/src/typings/htscodecs.d.ts +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/cramFile/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/cramFile/util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export = RangeCoderGen;
2
+ declare class RangeCoderGen {
3
+ decode(src: any): any;
4
+ stream: IOStream | undefined;
5
+ decodeStream(stream: any, n_out?: number): any;
6
+ encode(src: any, flags: any): any;
7
+ decode0(stream: any, n_out: any): any;
8
+ encode0(src: any, n_in: any, out: any): any;
9
+ decode1(stream: any, n_out: any): any;
10
+ encode1(src: any, n_in: any, out: any): any;
11
+ decodeExt(stream: any, n_out: any): any;
12
+ encodeExt(stream: any, n_out: any): void;
13
+ decodeRLE0(stream: any, n_out: any): any;
14
+ encodeRLE0(src: any, n_in: any, out: any): any;
15
+ decodeRLE1(stream: any, n_out: any): any;
16
+ encodeRLE1(src: any, n_in: any, out: any): any;
17
+ decodePackMeta(stream: any): any[];
18
+ nsym: any;
19
+ decodePack(data: any, M: any, len: any): any;
20
+ packMeta(src: any): (number | any[] | IOStream)[];
21
+ encodePack(data: any): any[];
22
+ encodeStripe(hdr: any, src: any, N: any): any;
23
+ decodeStripe(stream: any, len: any): any;
24
+ decodeCat(stream: any, len: any): any;
25
+ }
26
+ import IOStream = require("./iostream");
@@ -0,0 +1,558 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2019,2020 Genome Research Ltd.
4
+ * Author(s): James Bonfield
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions are met:
8
+ *
9
+ * 1. Redistributions of source code must retain the above copyright notice,
10
+ * this list of conditions and the following disclaimer.
11
+ *
12
+ * 2. Redistributions in binary form must reproduce the above
13
+ * copyright notice, this list of conditions and the following
14
+ * disclaimer in the documentation and/or other materials provided
15
+ * with the distribution.
16
+ *
17
+ * 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger
18
+ * Institute nor the names of its contributors may be used to endorse
19
+ * or promote products derived from this software without specific
20
+ * prior written permission.
21
+ *
22
+ * THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS
23
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
24
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
25
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH
26
+ * LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
+ */
34
+ const RangeCoder = require('./arith_sh');
35
+ const IOStream = require('./iostream');
36
+ const ByteModel = require('./byte_model');
37
+ const bzip2 = require('bzip2');
38
+ const ARITH_ORDER = 1;
39
+ const ARITH_EXT = 4;
40
+ const ARITH_STRIPE = 8;
41
+ const ARITH_NOSIZE = 16;
42
+ const ARITH_CAT = 32;
43
+ const ARITH_RLE = 64;
44
+ const ARITH_PACK = 128;
45
+ module.exports = class RangeCoderGen {
46
+ decode(src) {
47
+ this.stream = new IOStream(src);
48
+ return this.decodeStream(this.stream);
49
+ }
50
+ decodeStream(stream, n_out = 0) {
51
+ var flags = this.stream.ReadByte();
52
+ if (!(flags & ARITH_NOSIZE))
53
+ n_out = this.stream.ReadUint7();
54
+ var e_len = n_out;
55
+ var order = flags & ARITH_ORDER;
56
+ // 4-way recursion
57
+ if (flags & ARITH_STRIPE)
58
+ return this.decodeStripe(this.stream, n_out);
59
+ // Meta data
60
+ if (flags & ARITH_PACK) {
61
+ var P;
62
+ [P, e_len] = this.decodePackMeta(this.stream);
63
+ }
64
+ // NOP, useful for tiny blocks
65
+ if (flags & ARITH_CAT)
66
+ var data = this.decodeCat(this.stream, e_len);
67
+ // Entropy decode
68
+ else if (flags & ARITH_EXT) {
69
+ var data = this.decodeExt(this.stream, e_len);
70
+ }
71
+ else if (flags & ARITH_RLE) {
72
+ var data = order
73
+ ? this.decodeRLE1(this.stream, e_len)
74
+ : this.decodeRLE0(this.stream, e_len);
75
+ }
76
+ else {
77
+ var data = order
78
+ ? this.decode1(this.stream, e_len)
79
+ : this.decode0(this.stream, e_len);
80
+ }
81
+ // Transforms
82
+ if (flags & ARITH_PACK)
83
+ data = this.decodePack(data, P, n_out);
84
+ return data;
85
+ }
86
+ encode(src, flags) {
87
+ this.stream = new IOStream('', 0, src.length * 1.1 + 100); // guestimate worst case!
88
+ this.stream.WriteByte(flags);
89
+ if (!(flags & ARITH_NOSIZE))
90
+ this.stream.WriteUint7(src.length);
91
+ if (flags & ARITH_STRIPE)
92
+ return Buffer.concat([
93
+ this.stream.buf.slice(0, this.stream.pos),
94
+ this.encodeStripe(this.stream, src, flags >> 8),
95
+ ]);
96
+ var order = flags & ARITH_ORDER;
97
+ var e_len = src.length;
98
+ // step 1: Encode meta-data
99
+ var pack_meta;
100
+ if (flags & ARITH_PACK)
101
+ [pack_meta, src, e_len] = this.encodePack(src);
102
+ // step 2: Write any meta data
103
+ if (flags & ARITH_PACK)
104
+ this.stream.WriteStream(pack_meta);
105
+ // step 3: arith encoding below
106
+ if (flags & ARITH_RLE) {
107
+ return order
108
+ ? this.encodeRLE1(src, e_len, this.stream)
109
+ : this.encodeRLE0(src, e_len, this.stream);
110
+ }
111
+ else {
112
+ return order
113
+ ? this.encode1(src, e_len, this.stream)
114
+ : this.encode0(src, e_len, this.stream);
115
+ }
116
+ }
117
+ //----------------------------------------------------------------------
118
+ // Order-0 codec
119
+ decode0(stream, n_out) {
120
+ var output = new Buffer.allocUnsafe(n_out);
121
+ var max_sym = stream.ReadByte();
122
+ if (max_sym == 0)
123
+ max_sym = 256;
124
+ var byte_model = new ByteModel(max_sym);
125
+ var rc = new RangeCoder(stream);
126
+ rc.RangeStartDecode(stream);
127
+ for (var i = 0; i < n_out; i++)
128
+ output[i] = byte_model.ModelDecode(stream, rc);
129
+ return output;
130
+ }
131
+ encode0(src, n_in, out) {
132
+ // Count the maximum symbol present
133
+ var max_sym = 0;
134
+ for (var i = 0; i < n_in; i++)
135
+ if (max_sym < src[i])
136
+ max_sym = src[i];
137
+ max_sym++; // FIXME not what spec states!?
138
+ var byte_model = new ByteModel(max_sym);
139
+ out.WriteByte(max_sym);
140
+ var rc = new RangeCoder(out);
141
+ for (var i = 0; i < n_in; i++)
142
+ byte_model.ModelEncode(out, rc, src[i]);
143
+ rc.RangeFinishEncode(out);
144
+ return out.buf.slice(0, out.pos);
145
+ }
146
+ //----------------------------------------------------------------------
147
+ // Order-1 codec
148
+ decode1(stream, n_out) {
149
+ var output = new Buffer.allocUnsafe(n_out);
150
+ var max_sym = stream.ReadByte();
151
+ if (max_sym == 0)
152
+ max_sym = 256;
153
+ var byte_model = new Array(max_sym);
154
+ for (var i = 0; i < max_sym; i++)
155
+ byte_model[i] = new ByteModel(max_sym);
156
+ var rc = new RangeCoder(stream);
157
+ rc.RangeStartDecode(stream);
158
+ var last = 0;
159
+ for (var i = 0; i < n_out; i++) {
160
+ output[i] = byte_model[last].ModelDecode(stream, rc);
161
+ last = output[i];
162
+ }
163
+ return output;
164
+ }
165
+ encode1(src, n_in, out) {
166
+ // Count the maximum symbol present
167
+ var max_sym = 0;
168
+ for (var i = 0; i < n_in; i++)
169
+ if (max_sym < src[i])
170
+ max_sym = src[i];
171
+ max_sym++; // FIXME not what spec states!
172
+ var byte_model = new Array(max_sym);
173
+ for (var i = 0; i < max_sym; i++)
174
+ byte_model[i] = new ByteModel(max_sym);
175
+ out.WriteByte(max_sym);
176
+ var rc = new RangeCoder(out);
177
+ var last = 0;
178
+ for (var i = 0; i < n_in; i++) {
179
+ byte_model[last].ModelEncode(out, rc, src[i]);
180
+ last = src[i];
181
+ }
182
+ rc.RangeFinishEncode(out);
183
+ return out.buf.slice(0, out.pos);
184
+ }
185
+ //----------------------------------------------------------------------
186
+ // External codec
187
+ decodeExt(stream, n_out) {
188
+ // Bzip2 only for now
189
+ var output = new Buffer.allocUnsafe(n_out);
190
+ var bits = bzip2.array(stream.buf.slice(stream.pos));
191
+ var size = bzip2.header(bits);
192
+ var j = 0;
193
+ do {
194
+ var chunk = bzip2.decompress(bits, size);
195
+ if (chunk != -1) {
196
+ Buffer.from(chunk).copy(output, j);
197
+ j += chunk.length;
198
+ size -= chunk.length;
199
+ }
200
+ } while (chunk != -1);
201
+ return output;
202
+ }
203
+ encodeExt(stream, n_out) {
204
+ // We cannot compress using Bzip2 now as it's
205
+ // absent from bzip2.js, but consider using
206
+ // https://github.com/cscott/compressjs
207
+ }
208
+ //----------------------------------------------------------------------
209
+ // Order-0 RLE codec
210
+ decodeRLE0(stream, n_out) {
211
+ var output = new Buffer.allocUnsafe(n_out);
212
+ var max_sym = stream.ReadByte();
213
+ if (max_sym == 0)
214
+ max_sym = 256;
215
+ var model_lit = new ByteModel(max_sym);
216
+ var model_run = new Array(258);
217
+ for (var i = 0; i <= 257; i++)
218
+ model_run[i] = new ByteModel(4);
219
+ var rc = new RangeCoder(stream);
220
+ rc.RangeStartDecode(stream);
221
+ var i = 0;
222
+ while (i < n_out) {
223
+ output[i] = model_lit.ModelDecode(stream, rc);
224
+ var part = model_run[output[i]].ModelDecode(stream, rc);
225
+ var run = part;
226
+ var rctx = 256;
227
+ while (part == 3) {
228
+ part = model_run[rctx].ModelDecode(stream, rc);
229
+ rctx = 257;
230
+ run += part;
231
+ }
232
+ for (var j = 1; j <= run; j++)
233
+ output[i + j] = output[i];
234
+ i += run + 1;
235
+ }
236
+ return output;
237
+ }
238
+ encodeRLE0(src, n_in, out) {
239
+ // Count the maximum symbol present
240
+ var max_sym = 0;
241
+ for (var i = 0; i < n_in; i++)
242
+ if (max_sym < src[i])
243
+ max_sym = src[i];
244
+ max_sym++; // FIXME not what spec states!
245
+ var model_lit = new ByteModel(max_sym);
246
+ var model_run = new Array(258);
247
+ for (var i = 0; i <= 257; i++)
248
+ model_run[i] = new ByteModel(4);
249
+ out.WriteByte(max_sym);
250
+ var rc = new RangeCoder(out);
251
+ var i = 0;
252
+ while (i < n_in) {
253
+ model_lit.ModelEncode(out, rc, src[i]);
254
+ var run = 1;
255
+ while (i + run < n_in && src[i + run] == src[i])
256
+ run++;
257
+ run--;
258
+ var rctx = src[i];
259
+ var last = src[i];
260
+ i += run + 1;
261
+ var part = run >= 3 ? 3 : run;
262
+ model_run[rctx].ModelEncode(out, rc, part);
263
+ run -= part;
264
+ rctx = 256;
265
+ while (part == 3) {
266
+ part = run >= 3 ? 3 : run;
267
+ model_run[rctx].ModelEncode(out, rc, part);
268
+ rctx = 257;
269
+ run -= part;
270
+ }
271
+ }
272
+ rc.RangeFinishEncode(out);
273
+ return out.buf.slice(0, out.pos);
274
+ }
275
+ //----------------------------------------------------------------------
276
+ // Order-1 RLE codec
277
+ decodeRLE1(stream, n_out) {
278
+ var output = new Buffer.allocUnsafe(n_out);
279
+ var max_sym = stream.ReadByte();
280
+ if (max_sym == 0)
281
+ max_sym = 256;
282
+ var model_lit = new Array(max_sym);
283
+ for (var i = 0; i < max_sym; i++)
284
+ model_lit[i] = new ByteModel(max_sym);
285
+ var model_run = new Array(258);
286
+ for (var i = 0; i <= 257; i++)
287
+ model_run[i] = new ByteModel(4);
288
+ var rc = new RangeCoder(stream);
289
+ rc.RangeStartDecode(stream);
290
+ var last = 0;
291
+ var i = 0;
292
+ while (i < n_out) {
293
+ output[i] = model_lit[last].ModelDecode(stream, rc);
294
+ last = output[i];
295
+ var part = model_run[output[i]].ModelDecode(stream, rc);
296
+ var run = part;
297
+ var rctx = 256;
298
+ while (part == 3) {
299
+ part = model_run[rctx].ModelDecode(stream, rc);
300
+ rctx = 257;
301
+ run += part;
302
+ }
303
+ for (var j = 1; j <= run; j++)
304
+ output[i + j] = output[i];
305
+ i += run + 1;
306
+ }
307
+ return output;
308
+ }
309
+ encodeRLE1(src, n_in, out) {
310
+ // Count the maximum symbol present
311
+ var max_sym = 0;
312
+ for (var i = 0; i < n_in; i++)
313
+ if (max_sym < src[i])
314
+ max_sym = src[i];
315
+ max_sym++; // FIXME not what spec states!
316
+ var model_lit = new Array(max_sym);
317
+ for (var i = 0; i < max_sym; i++)
318
+ model_lit[i] = new ByteModel(max_sym);
319
+ var model_run = new Array(258);
320
+ for (var i = 0; i <= 257; i++)
321
+ model_run[i] = new ByteModel(4);
322
+ out.WriteByte(max_sym);
323
+ var rc = new RangeCoder(out);
324
+ var i = 0;
325
+ var last = 0;
326
+ while (i < n_in) {
327
+ model_lit[last].ModelEncode(out, rc, src[i]);
328
+ var run = 1;
329
+ while (i + run < n_in && src[i + run] == src[i])
330
+ run++;
331
+ run--;
332
+ var rctx = src[i];
333
+ last = src[i];
334
+ i += run + 1;
335
+ var part = run >= 3 ? 3 : run;
336
+ model_run[rctx].ModelEncode(out, rc, part);
337
+ run -= part;
338
+ rctx = 256;
339
+ while (part == 3) {
340
+ part = run >= 3 ? 3 : run;
341
+ model_run[rctx].ModelEncode(out, rc, part);
342
+ rctx = 257;
343
+ run -= part;
344
+ }
345
+ }
346
+ rc.RangeFinishEncode(out);
347
+ return out.buf.slice(0, out.pos);
348
+ }
349
+ //----------------------------------------------------------------------
350
+ // Pack method
351
+ decodePackMeta(stream) {
352
+ this.nsym = stream.ReadByte();
353
+ var M = new Array(this.nsym);
354
+ for (var i = 0; i < this.nsym; i++)
355
+ M[i] = stream.ReadByte();
356
+ var e_len = stream.ReadUint7(); // Could be derived data from nsym and n_out
357
+ return [M, e_len];
358
+ }
359
+ decodePack(data, M, len) {
360
+ var out = new Buffer.allocUnsafe(len);
361
+ if (this.nsym <= 1) {
362
+ // Constant value
363
+ for (var i = 0; i < len; i++)
364
+ out[i] = M[0];
365
+ }
366
+ else if (this.nsym <= 2) {
367
+ // 1 bit per value
368
+ for (var i = 0, j = 0; i < len; i++) {
369
+ if (i % 8 == 0)
370
+ var v = data[j++];
371
+ out[i] = M[v & 1];
372
+ v >>= 1;
373
+ }
374
+ }
375
+ else if (this.nsym <= 4) {
376
+ // 2 bits per value
377
+ for (var i = 0, j = 0; i < len; i++) {
378
+ if (i % 4 == 0)
379
+ var v = data[j++];
380
+ out[i] = M[v & 3];
381
+ v >>= 2;
382
+ }
383
+ }
384
+ else if (this.nsym <= 16) {
385
+ // 4 bits per value
386
+ for (var i = 0, j = 0; i < len; i++) {
387
+ if (i % 2 == 0)
388
+ var v = data[j++];
389
+ out[i] = M[v & 15];
390
+ v >>= 4;
391
+ }
392
+ }
393
+ else {
394
+ // 8 bits per value: NOP
395
+ return data;
396
+ }
397
+ return out;
398
+ }
399
+ // Compute M array and return meta-data stream
400
+ packMeta(src) {
401
+ var stream = new IOStream('', 0, 1024);
402
+ // Count symbols
403
+ var M = new Array(256);
404
+ for (var i = 0; i < src.length; i++)
405
+ M[src[i]] = 1;
406
+ // Write Map
407
+ for (var nsym = 0, i = 0; i < 256; i++)
408
+ if (M[i])
409
+ M[i] = ++nsym; // map to 1..N
410
+ stream.WriteByte(nsym);
411
+ // FIXME: add check for nsym > 16?
412
+ // Or just accept it as an inefficient waste of time.
413
+ for (var i = 0; i < 256; i++) {
414
+ if (M[i]) {
415
+ stream.WriteByte(i); // adjust to 0..N-1
416
+ M[i]--;
417
+ }
418
+ }
419
+ return [stream, M, nsym];
420
+ }
421
+ encodePack(data) {
422
+ var meta, M, nsym;
423
+ [meta, M, nsym] = this.packMeta(data);
424
+ var len = data.length;
425
+ var i = 0;
426
+ if (nsym <= 1) {
427
+ // Constant values
428
+ meta.WriteUint7(0);
429
+ return [meta, new Buffer.allocUnsafe(0), 0];
430
+ }
431
+ if (nsym <= 2) {
432
+ // 1 bit per value
433
+ var out = new Buffer.allocUnsafe(Math.floor((len + 7) / 8));
434
+ for (var i = 0, j = 0; i < (len & ~7); i += 8, j++)
435
+ out[j] =
436
+ (M[data[i + 0]] << 0) +
437
+ (M[data[i + 1]] << 1) +
438
+ (M[data[i + 2]] << 2) +
439
+ (M[data[i + 3]] << 3) +
440
+ (M[data[i + 4]] << 4) +
441
+ (M[data[i + 5]] << 5) +
442
+ (M[data[i + 6]] << 6) +
443
+ (M[data[i + 7]] << 7);
444
+ if (i < len) {
445
+ out[j] = 0;
446
+ var v = 0;
447
+ while (i < len) {
448
+ out[j] |= M[data[i++]] << v;
449
+ v++;
450
+ }
451
+ j++;
452
+ }
453
+ meta.WriteUint7(j);
454
+ return [meta, out, out.length];
455
+ }
456
+ if (nsym <= 4) {
457
+ // 2 bits per value
458
+ var out = new Buffer.allocUnsafe(Math.floor((len + 3) / 4));
459
+ for (var i = 0, j = 0; i < (len & ~3); i += 4, j++)
460
+ out[j] =
461
+ (M[data[i + 0]] << 0) +
462
+ (M[data[i + 1]] << 2) +
463
+ (M[data[i + 2]] << 4) +
464
+ (M[data[i + 3]] << 6);
465
+ if (i < len) {
466
+ out[j] = 0;
467
+ var v = 0;
468
+ while (i < len) {
469
+ out[j] |= M[data[i++]] << v;
470
+ v += 2;
471
+ }
472
+ j++;
473
+ }
474
+ meta.WriteUint7(j);
475
+ return [meta, out, out.length];
476
+ }
477
+ if (nsym <= 16) {
478
+ // 4 bits per value
479
+ var out = new Buffer.allocUnsafe(Math.floor((len + 1) / 2));
480
+ for (var i = 0, j = 0; i < (len & ~1); i += 2, j++)
481
+ out[j] = (M[data[i + 0]] << 0) + (M[data[i + 1]] << 4);
482
+ if (i < len)
483
+ out[j++] = M[data[i++]];
484
+ meta.WriteUint7(j);
485
+ return [meta, out, out.length];
486
+ }
487
+ // Otherwise an expensive NOP
488
+ meta.WriteUint7(data.length);
489
+ return [meta, data, data.length];
490
+ }
491
+ //----------------------------------------------------------------------
492
+ // STRIPE method
493
+ encodeStripe(hdr, src, N) {
494
+ if (N == 0)
495
+ N = 4; // old default
496
+ // Split into multiple streams
497
+ var part = new Array(N);
498
+ var ulen = new Array(N);
499
+ for (var s = 0; s < N; s++) {
500
+ ulen[s] = Math.floor(src.length / N) + (src.length % N > s);
501
+ part[s] = new Array(ulen[s]);
502
+ }
503
+ for (var x = 0, i = 0; i < src.length; i += N, x++) {
504
+ for (var j = 0; j < N; j++)
505
+ if (x < part[j].length)
506
+ part[j][x] = src[i + j];
507
+ }
508
+ // Compress each part
509
+ var comp = new Array(N);
510
+ var total = 0;
511
+ for (var s = 0; s < N; s++) {
512
+ // Example: try O0 and O1 and choose best
513
+ var comp0 = this.encode(part[s], 0);
514
+ var comp1 = this.encode(part[s], 1);
515
+ comp[s] = comp1.length < comp0.length ? comp1 : comp0;
516
+ total += comp[s].length;
517
+ }
518
+ // Serialise
519
+ var out = new IOStream('', 0, total + 5 * N + 1);
520
+ out.WriteByte(N);
521
+ for (var s = 0; s < N; s++)
522
+ out.WriteUint7(comp[s].length);
523
+ for (var s = 0; s < N; s++)
524
+ out.WriteData(comp[s], comp[s].length);
525
+ return out.buf.slice(0, out.buf.pos);
526
+ }
527
+ decodeStripe(stream, len) {
528
+ var N = stream.ReadByte();
529
+ // Retrieve lengths
530
+ var clen = new Array(N);
531
+ var ulen = new Array(N);
532
+ for (var j = 0; j < N; j++)
533
+ clen[j] = stream.ReadUint7();
534
+ // Decode streams
535
+ var T = new Array(N);
536
+ for (var j = 0; j < N; j++) {
537
+ ulen[j] = Math.floor(len / N) + (len % N > j);
538
+ T[j] = this.decodeStream(stream, ulen[j]);
539
+ }
540
+ // Transpose
541
+ var out = new Buffer.allocUnsafe(len);
542
+ for (var j = 0; j < N; j++) {
543
+ for (var i = 0; i < ulen[j]; i++) {
544
+ out[i * N + j] = T[j][i];
545
+ }
546
+ }
547
+ return out;
548
+ }
549
+ //----------------------------------------------------------------------
550
+ // Cat method
551
+ decodeCat(stream, len) {
552
+ var out = new Buffer.allocUnsafe(len);
553
+ for (var i = 0; i < len; i++)
554
+ out[i] = stream.ReadByte();
555
+ return out;
556
+ }
557
+ };
558
+ //# sourceMappingURL=arith_gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arith_gen.js","sourceRoot":"","sources":["../../src/htscodecs/arith_gen.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export = RangeCoder;
2
+ declare class RangeCoder {
3
+ constructor(src: any);
4
+ low: number;
5
+ range: number;
6
+ code: number;
7
+ FFnum: number;
8
+ carry: number;
9
+ cache: number;
10
+ RangeStartDecode(src: any): void;
11
+ RangeGetFrequency(tot_freq: any): number;
12
+ RangeDecode(src: any, sym_low: any, sym_freq: any, tot_freq: any): void;
13
+ RangeShiftLow(dst: any): void;
14
+ RangeEncode(dst: any, sym_low: any, sym_freq: any, tot_freq: any): void;
15
+ RangeFinishEncode(dst: any): void;
16
+ }