forked from samthor/fastgif
-
Notifications
You must be signed in to change notification settings - Fork 0
/
fastgif.js
124 lines (109 loc) · 43 KB
/
fastgif.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/*
* Copyright 2018 Google LLC. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
let debug = false;
export function setDebug() {
debug = true;
}
export class Decoder {
constructor() {
const memory = new WebAssembly.Memory({initial: 256, maximum: 256});
const view = this._view = new Uint8Array(memory.buffer);
this._u32view = new Uint32Array(memory.buffer);
this._u32view[7824 >> 2] = 5250720;
const env = {
ABORT: 0,
DYNAMICTOP_PTR: 7824, // this is the pointer to where the top of heap is
STACKTOP: 7840,
STACK_MAX: 5250720,
abort() { throw new Error('abort'); },
abortOnCannotGrowMemory() { throw new Error('abortOnCannotGrowMemory'); },
enlargeMemory() { throw new Error('enlargeMemory'); },
getTotalMemory() { return view.length; },
___setErrNo(v) { throw new Error('errno'); },
_emscripten_memcpy_big(dst, src, num) {
view.set(view.subarray(src, src + num), dst);
return dst;
},
memory: memory,
memoryBase: 1024,
table: new WebAssembly.Table({initial: 2, maximum: 2, element: 'anyfunc'}),
tableBase: 0,
_oninit: this._oninit.bind(this),
_onframe: this._onframe.bind(this),
};
debug && console.time('fastgif-decodeSource');
const source = Uint8Array.from(atob(b64Source), (c) => c.charCodeAt(0));
debug && console.timeEnd('fastgif-decodeSource');
debug && console.time('fastgif-instantiate');
this._exports = WebAssembly.instantiate(source, {env}).then((wa) => {
debug && console.timeEnd('fastgif-instantiate');
return wa.instance.exports;
});
}
_oninit(ptr, width, height) {
const len = width * height;
this._task = {ptr: ptr/4, width, height, len, f: []};
}
_onframe(ms) {
const t = this._task;
const buf = new Uint32Array(t.len);
buf.set(this._u32view.subarray(t.ptr, t.ptr + t.len));
t.f.push({buf, ms})
}
readString(at) {
const v = this._view.slice(at);
let i;
for (i = 0; i < v.length; ++i) {
if (v[i] === 0) {
break;
}
}
const decoder = new TextDecoder();
return decoder.decode(v.slice(0, i));
}
/**
* @param {!ArrayBuffer} buffer
* @return {!Promise<!Array<{frame: !ImageData, ms: number}>>}
*/
decode(buffer) {
let cleanup;
const p = this._exports.then((exports) => {
const buf = new Uint8Array(buffer);
const at = exports._malloc(buf.length);
cleanup = () => exports._free(at);
this._view.set(buf, at);
exports._read_buffer(at, buf.length);
debug && console.time('fastgif-decode');
const ret = exports._play();
debug && console.timeEnd('fastgif-decode');
if (ret) {
throw new Error('unhandled decode error: ' + this.readString(ret));
}
const task = this._task;
delete this._task;
return task.f.map((frame) => {
const arr = new Uint8ClampedArray(frame.buf.buffer);
return {
imageData: new ImageData(arr, task.width, task.height),
delay: frame.ms,
};
});
});
p.then(cleanup, cleanup);
return p;
}
}
const b64Source = `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aW9uIG5vdCBjYWxsZWQAYmFkIGFyZ3VtZW50IChsZW5ndGggdG9vIHNob3J0KQBiYWQgcmVjZWl2ZXIAYmFkIHNpemVvZiByZWNlaXZlcgBiYWQgd3VmZnMgdmVyc2lvbgB1bmtub3duIHN0YXR1cwAAZ2lmOiBpbnRlcm5hbCBlcnJvcjogaW5jb25zaXN0ZW50IHJpL3dpAGdpZjogdG9vIG11Y2ggcGl4ZWwgZGF0YQBnaWY6IG5vdCBlbm91Z2ggcGl4ZWwgZGF0YQBnaWY6IGJhZCBsaXRlcmFsIHdpZHRoAGdpZjogYmFkIGhlYWRlcgBnaWY6IGJhZCBncmFwaGljIGNvbnRyb2wAZ2lmOiBiYWQgZXh0ZW5zaW9uIGxhYmVsAGdpZjogYmFkIGJsb2NrAABsenc6IGN5Y2xpY2FsIHByZWZpeCBjaGFpbgBsenc6IGJhZCBjb2RlAGNvdWxkIG5vdCBhbGxvY2F0ZSBkc3QgYnVmZmVyAGNvdWxkIG5vdCBhbGxvY2F0ZSBwcmV2LWRzdCBidWZmZXIAY291bGQgbm90IGFsbG9jYXRlIGltYWdlIGJ1ZmZlcgBpbnZhbGlkIGltYWdlIGNvbmZpZ3VyYXRpb24AaW1hZ2UgZGltZW5zaW9ucyBhcmUgdG9vIGxhcmdlAEFOSU1FWFRTMS4wTkVUU0NBUEUyLjABAgQICA==`;