@camera.ui/camera-ui-wasm-motion 0.0.10 → 0.0.12
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/dist/defaults.d.ts +2 -2
- package/dist/defaults.js +2 -2
- package/dist/detector.d.ts +4 -14
- package/dist/detector.js +65 -139
- package/dist/detector.js.map +1 -1
- package/dist/wasm/build/detector.d.ts +12 -57
- package/dist/wasm/build/detector.js +43 -7
- package/dist/wasm/build/detector.wasm +0 -0
- package/package.json +11 -11
package/dist/defaults.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const DEFAULT_MOTION_AREA = 500;
|
|
2
|
-
export declare const DEFAULT_THRESHOLD =
|
|
2
|
+
export declare const DEFAULT_THRESHOLD = 50;
|
|
3
3
|
export declare const DEFAULT_BLUR_RADIUS = 3;
|
|
4
|
-
export declare const DEFAULT_DILATION_SIZE =
|
|
4
|
+
export declare const DEFAULT_DILATION_SIZE = 31;
|
package/dist/defaults.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export const DEFAULT_MOTION_AREA = 500;
|
|
2
|
-
export const DEFAULT_THRESHOLD =
|
|
2
|
+
export const DEFAULT_THRESHOLD = 50;
|
|
3
3
|
export const DEFAULT_BLUR_RADIUS = 3;
|
|
4
|
-
export const DEFAULT_DILATION_SIZE =
|
|
4
|
+
export const DEFAULT_DILATION_SIZE = 31;
|
|
5
5
|
//# sourceMappingURL=defaults.js.map
|
package/dist/detector.d.ts
CHANGED
|
@@ -8,24 +8,14 @@ export declare class CameraDetector {
|
|
|
8
8
|
private started;
|
|
9
9
|
private closed;
|
|
10
10
|
private restarting;
|
|
11
|
-
private
|
|
12
|
-
private
|
|
13
|
-
private framePtr;
|
|
14
|
-
private boxesPtr;
|
|
15
|
-
private tempPtr;
|
|
16
|
-
private visitedPtr;
|
|
17
|
-
private queuePtr;
|
|
18
|
-
private memoryBuffer;
|
|
11
|
+
private initiated;
|
|
12
|
+
private wasmExports?;
|
|
19
13
|
constructor(cameraDevice: CameraDevice, api: PluginAPI, logger: LoggerService);
|
|
20
14
|
start(): Promise<void>;
|
|
15
|
+
private initiateWASM;
|
|
21
16
|
private setupMemory;
|
|
17
|
+
private startDetection;
|
|
22
18
|
close(): void;
|
|
23
19
|
restart(): Promise<void>;
|
|
24
|
-
private reset;
|
|
25
|
-
private startDetection;
|
|
26
|
-
private setupPreviousFrame;
|
|
27
|
-
private getMotionData;
|
|
28
20
|
private createCameraStorage;
|
|
29
|
-
private unpinSafe;
|
|
30
|
-
private collectSafe;
|
|
31
21
|
}
|
package/dist/detector.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { instantiate } from '@assemblyscript/loader';
|
|
2
|
-
import
|
|
2
|
+
import { readFileSync } from 'node:fs';
|
|
3
3
|
import { dirname, resolve } from 'node:path';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { DEFAULT_BLUR_RADIUS, DEFAULT_DILATION_SIZE, DEFAULT_MOTION_AREA, DEFAULT_THRESHOLD } from './defaults.js';
|
|
@@ -13,14 +13,8 @@ export class CameraDetector {
|
|
|
13
13
|
started = false;
|
|
14
14
|
closed = false;
|
|
15
15
|
restarting = false;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
framePtr = 0;
|
|
19
|
-
boxesPtr = 0;
|
|
20
|
-
tempPtr = 0;
|
|
21
|
-
visitedPtr = 0;
|
|
22
|
-
queuePtr = 0;
|
|
23
|
-
memoryBuffer;
|
|
16
|
+
initiated = false;
|
|
17
|
+
wasmExports;
|
|
24
18
|
constructor(cameraDevice, api, logger) {
|
|
25
19
|
this.api = api;
|
|
26
20
|
this.cameraDevice = cameraDevice;
|
|
@@ -40,83 +34,47 @@ export class CameraDetector {
|
|
|
40
34
|
this.started = true;
|
|
41
35
|
this.closed = false;
|
|
42
36
|
this.logger.log(`Starting motion detection for camera ${this.cameraDevice.name}`);
|
|
43
|
-
|
|
44
|
-
const wasmPath = resolve(__dirname, './wasm/build/detector.wasm');
|
|
45
|
-
this.wasmModule = await instantiate(fs.readFileSync(wasmPath), {
|
|
46
|
-
console: {
|
|
47
|
-
log: (messagePtr) => {
|
|
48
|
-
this.logger.log(this.wasmModule.exports.__getString(messagePtr));
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
env: {
|
|
52
|
-
abort: (msg, file, line, column) => {
|
|
53
|
-
this.logger.warn(`WASM abort message: ${this.wasmModule.exports.__getString(msg)} at ${this.wasmModule.exports.__getString(file)}:${line}:${column}`);
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
this.setupMemory();
|
|
58
|
-
}
|
|
37
|
+
await this.initiateWASM();
|
|
59
38
|
this.startDetection().catch((error) => {
|
|
60
39
|
this.logger.error(this.cameraDevice.name, 'Error generating frames', error);
|
|
61
40
|
this.restart();
|
|
62
41
|
});
|
|
63
42
|
}
|
|
64
43
|
}
|
|
65
|
-
|
|
66
|
-
if (
|
|
67
|
-
throw new Error('Wasm not initiated');
|
|
68
|
-
}
|
|
69
|
-
this.memoryBuffer = new Uint8Array(this.wasmModule.exports.memory.buffer);
|
|
70
|
-
const width = this.cameraDevice.frameWorkerSettings.resolution;
|
|
71
|
-
const maxFrameLength = width * width;
|
|
72
|
-
this.tempPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(maxFrameLength, this.wasmModule.exports.Uint8Array_ID.value));
|
|
73
|
-
this.visitedPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(maxFrameLength, this.wasmModule.exports.Uint8Array_ID.value));
|
|
74
|
-
this.queuePtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(maxFrameLength * 4, this.wasmModule.exports.Uint8Array_ID.value));
|
|
75
|
-
// this.boxesPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(maxFrameLength * 4, this.wasmModule.exports.Uint8Array_ID.value));
|
|
76
|
-
}
|
|
77
|
-
close() {
|
|
78
|
-
if (this.started && !this.closed) {
|
|
79
|
-
this.started = false;
|
|
80
|
-
this.closed = true;
|
|
81
|
-
this.logger.log(`Stopping motion detection for camera ${this.cameraDevice.name}`);
|
|
82
|
-
this.cameraDevice.updateState('motion', { state: false, detections: [] });
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
async restart() {
|
|
86
|
-
if (this.restarting) {
|
|
44
|
+
async initiateWASM() {
|
|
45
|
+
if (this.initiated) {
|
|
87
46
|
return;
|
|
88
47
|
}
|
|
89
|
-
this.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
48
|
+
this.initiated = true;
|
|
49
|
+
const wasmModule = await instantiate(readFileSync(resolve(__dirname, './wasm/build/detector.wasm')), {
|
|
50
|
+
console: {
|
|
51
|
+
log: (messagePtr) => {
|
|
52
|
+
console.log(this.wasmExports.__getString(messagePtr));
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
env: {
|
|
56
|
+
abort: (msgPtr, filePtr, line, column) => {
|
|
57
|
+
const msg = this.wasmExports.__getString(msgPtr);
|
|
58
|
+
const file = this.wasmExports.__getString(filePtr);
|
|
59
|
+
console.error(`Abort called at ${file}:${line}:${column}`, msg);
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
this.wasmExports = wasmModule.exports;
|
|
64
|
+
this.setupMemory();
|
|
99
65
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
this.
|
|
105
|
-
this.
|
|
106
|
-
this.unpinSafe(this.boxesPtr);
|
|
107
|
-
this.unpinSafe(this.framePtr);
|
|
108
|
-
// Setzen Sie alle Pointer auf null zurück
|
|
109
|
-
this.previousFramePtr = null;
|
|
110
|
-
this.framePtr = 0;
|
|
111
|
-
this.boxesPtr = 0;
|
|
112
|
-
this.tempPtr = 0;
|
|
113
|
-
this.visitedPtr = 0;
|
|
114
|
-
this.queuePtr = 0;
|
|
115
|
-
this.collectSafe();
|
|
116
|
-
// Setzen Sie den memoryBuffer zurück
|
|
117
|
-
this.memoryBuffer = new Uint8Array();
|
|
66
|
+
setupMemory() {
|
|
67
|
+
if (!this.wasmExports) {
|
|
68
|
+
throw new Error('Wasm not initiated');
|
|
69
|
+
}
|
|
70
|
+
const [width, height] = this.cameraDevice.frameWorkerSettings.resolution.split('x').map((v) => parseInt(v, 10));
|
|
71
|
+
this.wasmExports.initialize(width, height);
|
|
118
72
|
}
|
|
119
73
|
async startDetection() {
|
|
74
|
+
if (!this.wasmExports) {
|
|
75
|
+
throw new Error('Wasm not initiated');
|
|
76
|
+
}
|
|
77
|
+
const { detectMotion, getNumBoxes, __newArray, __getInt32Array, __pin, __unpin, __collect, Uint8Array_ID } = this.wasmExports;
|
|
120
78
|
for await (const frame of this.cameraDevice.getFrames()) {
|
|
121
79
|
if (this.closed || this.restarting) {
|
|
122
80
|
break;
|
|
@@ -133,69 +91,55 @@ export class CameraDetector {
|
|
|
133
91
|
if (this.closed || this.restarting) {
|
|
134
92
|
break;
|
|
135
93
|
}
|
|
94
|
+
const inputPtr = __pin(__newArray(Uint8Array_ID.value, frameImage.image));
|
|
95
|
+
const resultPtr = detectMotion(inputPtr, threshold, blurRadius, dilationSize, motionArea);
|
|
96
|
+
const numBoxes = getNumBoxes();
|
|
97
|
+
const boxesArray = __getInt32Array(resultPtr);
|
|
136
98
|
const detections = [];
|
|
137
|
-
|
|
138
|
-
|
|
99
|
+
for (let i = 0; i < numBoxes; i++) {
|
|
100
|
+
const x = boxesArray[i * 4];
|
|
101
|
+
const y = boxesArray[i * 4 + 1];
|
|
102
|
+
const w = boxesArray[i * 4 + 2];
|
|
103
|
+
const h = boxesArray[i * 4 + 3];
|
|
139
104
|
detections.push({
|
|
140
105
|
label: 'motion',
|
|
141
106
|
confidence: 1,
|
|
142
|
-
boundingBox: [
|
|
107
|
+
boundingBox: [x, y, x + w, y + h],
|
|
143
108
|
inputWidth: frameImage.info.width,
|
|
144
109
|
inputHeight: frameImage.info.height,
|
|
145
110
|
origWidth: frame.metadata.origWidth,
|
|
146
111
|
origHeight: frame.metadata.origHeight,
|
|
147
112
|
});
|
|
148
113
|
}
|
|
114
|
+
__unpin(inputPtr);
|
|
115
|
+
__collect();
|
|
149
116
|
await this.cameraDevice.updateState('motion', { detections: detections }, frame);
|
|
150
117
|
}
|
|
151
118
|
}
|
|
152
|
-
|
|
153
|
-
if (this.
|
|
154
|
-
this.
|
|
155
|
-
this.
|
|
156
|
-
this.
|
|
119
|
+
close() {
|
|
120
|
+
if (this.started && !this.closed) {
|
|
121
|
+
this.started = false;
|
|
122
|
+
this.closed = true;
|
|
123
|
+
this.logger.log(`Stopping motion detection for camera ${this.cameraDevice.name}`);
|
|
124
|
+
this.cameraDevice.updateState('motion', {
|
|
125
|
+
state: false,
|
|
126
|
+
detections: [],
|
|
127
|
+
});
|
|
157
128
|
}
|
|
158
|
-
const frameLength = width * height;
|
|
159
|
-
const framePtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__newArrayBuffer(frame));
|
|
160
|
-
this.wasmModule.exports.stackBlur(framePtr, this.tempPtr, width, height, blurRadius);
|
|
161
|
-
this.previousFramePtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__newArrayBuffer(new Uint8Array(this.memoryBuffer.buffer, framePtr, frameLength)));
|
|
162
|
-
this.unpinSafe(framePtr);
|
|
163
129
|
}
|
|
164
|
-
|
|
165
|
-
if (
|
|
166
|
-
|
|
167
|
-
}
|
|
168
|
-
try {
|
|
169
|
-
if (this.previousFramePtr === null) {
|
|
170
|
-
this.setupPreviousFrame(frame, width, height, blurRadius);
|
|
171
|
-
return [];
|
|
172
|
-
}
|
|
173
|
-
const frameLength = width * height;
|
|
174
|
-
this.framePtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__newArrayBuffer(frame));
|
|
175
|
-
this.boxesPtr = this.wasmModule.exports.__pin(this.wasmModule.exports.__new(frameLength, this.wasmModule.exports.Uint8Array_ID.value));
|
|
176
|
-
this.wasmModule.exports.stackBlur(this.framePtr, this.tempPtr, width, height, blurRadius);
|
|
177
|
-
this.wasmModule.exports.createMotionMask(this.previousFramePtr, this.framePtr, width, height, threshold);
|
|
178
|
-
this.wasmModule.exports.dilate(this.framePtr, this.tempPtr, width, height, dilationSize);
|
|
179
|
-
const numBoxes = this.wasmModule.exports.findBoundingBoxes(this.framePtr, this.visitedPtr, this.queuePtr, this.boxesPtr, width, height, motionArea);
|
|
180
|
-
const boxes = [];
|
|
181
|
-
const boxesArray = new Int32Array(this.wasmModule.exports.memory.buffer, this.boxesPtr, numBoxes * 4);
|
|
182
|
-
for (let i = 0; i < numBoxes; i++) {
|
|
183
|
-
const x = boxesArray[i * 4];
|
|
184
|
-
const y = boxesArray[i * 4 + 1];
|
|
185
|
-
const w = boxesArray[i * 4 + 2];
|
|
186
|
-
const h = boxesArray[i * 4 + 3];
|
|
187
|
-
boxes.push([x, y, x + w, y + h]);
|
|
188
|
-
}
|
|
189
|
-
this.unpinSafe(this.framePtr);
|
|
190
|
-
this.unpinSafe(this.boxesPtr);
|
|
191
|
-
this.collectSafe();
|
|
192
|
-
this.setupPreviousFrame(frame, width, height, blurRadius);
|
|
193
|
-
return boxes;
|
|
130
|
+
async restart() {
|
|
131
|
+
if (this.restarting) {
|
|
132
|
+
return;
|
|
194
133
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
134
|
+
this.restarting = true;
|
|
135
|
+
this.logger.log(`Restarting motion detection for camera ${this.cameraDevice.name}`);
|
|
136
|
+
this.close();
|
|
137
|
+
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
138
|
+
this.initiated = false;
|
|
139
|
+
if (this.cameraDevice.connected) {
|
|
140
|
+
await this.start();
|
|
198
141
|
}
|
|
142
|
+
this.restarting = false;
|
|
199
143
|
}
|
|
200
144
|
createCameraStorage() {
|
|
201
145
|
const cameraStorage = this.api.storageController.createCameraStorage(this, this.cameraDevice.id, {
|
|
@@ -266,23 +210,5 @@ export class CameraDetector {
|
|
|
266
210
|
});
|
|
267
211
|
return cameraStorage;
|
|
268
212
|
}
|
|
269
|
-
unpinSafe(ptr) {
|
|
270
|
-
if (ptr !== null) {
|
|
271
|
-
try {
|
|
272
|
-
this.wasmModule.exports.__unpin(ptr);
|
|
273
|
-
}
|
|
274
|
-
catch {
|
|
275
|
-
//
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
collectSafe() {
|
|
280
|
-
try {
|
|
281
|
-
this.wasmModule.exports.__collect();
|
|
282
|
-
}
|
|
283
|
-
catch {
|
|
284
|
-
//
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
213
|
}
|
|
288
214
|
//# sourceMappingURL=detector.js.map
|
package/dist/detector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../src/detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOnH,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,OAAO,cAAc;IAClB,aAAa,CAAqC;IAEjD,GAAG,CAAY;IACf,YAAY,CAAe;IAC3B,MAAM,CAAgB;IAEtB,OAAO,GAAG,KAAK,CAAC;IAChB,MAAM,GAAG,KAAK,CAAC;IACf,UAAU,GAAG,KAAK,CAAC;IAEnB,UAAU,CAEhB;IAEM,gBAAgB,GAAkB,IAAI,CAAC;IACvC,QAAQ,GAAG,CAAC,CAAC;IACb,QAAQ,GAAG,CAAC,CAAC;IACb,OAAO,GAAG,CAAC,CAAC;IACZ,UAAU,GAAG,CAAC,CAAC;IACf,QAAQ,GAAG,CAAC,CAAC;IAEb,YAAY,CAAc;IAElC,YAAY,YAA0B,EAAE,GAAc,EAAE,MAAqB;QAC3E,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEhD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE;YACpD,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YAEpB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YAElF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;gBAClE,IAAI,CAAC,UAAU,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;oBAC7D,OAAO,EAAE;wBACP,GAAG,EAAE,CAAC,UAAkB,EAAE,EAAE;4BAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;wBACpE,CAAC;qBACF;oBACD,GAAG,EAAE;wBACH,KAAK,EAAE,CAAC,GAAW,EAAE,IAAY,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE;4BACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;wBAC1J,CAAC;qBACF;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;YAED,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;gBAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,UAAU,CAAC;QAC/D,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,CAAC;QAErC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACzI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5I,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9I,iJAAiJ;IACnJ,CAAC;IAEM,KAAK;QACV,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAA0C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpF,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAEO,KAAK;QACX,2DAA2D;QAC3D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9B,0CAA0C;QAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAElB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,qCAAqC;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,UAAU,EAAE,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC;YACxD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnC,MAAM;YACR,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC;YACtD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC;YAE5D,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC;gBACtC,MAAM,EAAE;oBACN,EAAE,EAAE,MAAM;iBACX;aACF,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnC,MAAM;YACR,CAAC;YAED,MAAM,UAAU,GAAgB,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;YAElJ,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,UAAU,CAAC,IAAI,CAAC;oBACd,KAAK,EAAE,QAAQ;oBACf,UAAU,EAAE,CAAC;oBACb,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC7C,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK;oBACjC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM;oBACnC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;oBACnC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU;iBACtC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,KAAiB,EAAE,KAAa,EAAE,MAAc,EAAE,UAAkB;QAC7F,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACtC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAElG,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACtF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,YAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QAEpK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAEO,aAAa,CACnB,KAA0B,EAC1B,KAAa,EACb,MAAc,EACd,UAAkB,EAClB,SAAiB,EACjB,UAAkB,EAClB,YAAoB;QAEpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC1D,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;YAEnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/F,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YAEvI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAC1F,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YACzG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAEpJ,MAAM,KAAK,GAAe,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;YAEtG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5B,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAE1D,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAC5E,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAsB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE;YACpH,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,MAAM;gBACX,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,qCAAqC;gBAClD,KAAK,EAAE,IAAI;gBACX,YAAY,EAAE,mBAAmB;gBACjC,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,KAAK,EAAE,QAAgB,EAAE,QAAgB,EAAE,EAAE;oBAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,4BAA4B,QAAQ,OAAO,QAAQ,EAAE,CAAC,CAAC;oBAC/F,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC;aACF;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,WAAW;gBAChB,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,gCAAgC;gBAC7C,KAAK,EAAE,IAAI;gBACX,YAAY,EAAE,iBAAiB;gBAC/B,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,KAAK,EAAE,QAAgB,EAAE,QAAgB,EAAE,EAAE;oBAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,iCAAiC,QAAQ,OAAO,QAAQ,EAAE,CAAC,CAAC;oBACpG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC;aACF;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,YAAY;gBACjB,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,kCAAkC;gBAC/C,KAAK,EAAE,IAAI;gBACX,YAAY,EAAE,mBAAmB;gBACjC,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,KAAK,EAAE,QAAgB,EAAE,QAAgB,EAAE,EAAE;oBAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,mCAAmC,QAAQ,OAAO,QAAQ,EAAE,CAAC,CAAC;oBACtG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC;aACF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,cAAc;gBACnB,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,oCAAoC;gBACjD,KAAK,EAAE,IAAI;gBACX,YAAY,EAAE,qBAAqB;gBACnC,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,CAAC;gBACP,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,KAAK,EAAE,QAAgB,EAAE,QAAgB,EAAE,EAAE;oBAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,qCAAqC,QAAQ,OAAO,QAAQ,EAAE,CAAC,CAAC;oBACxG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,CAAC;aACF;SACF,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,SAAS,CAAC,GAAkB;QAClC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,EAAE;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC;YACH,IAAI,CAAC,UAAW,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,EAAE;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../src/detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,76 +13,31 @@ declare namespace __AdaptedExports {
|
|
|
13
13
|
*/
|
|
14
14
|
export function log(s: string): void;
|
|
15
15
|
/**
|
|
16
|
-
* assembly/index/
|
|
17
|
-
* @param
|
|
16
|
+
* assembly/index/initialize
|
|
17
|
+
* @param w `i32`
|
|
18
|
+
* @param h `i32`
|
|
18
19
|
*/
|
|
19
|
-
export function
|
|
20
|
+
export function initialize(w: number, h: number): void;
|
|
20
21
|
/**
|
|
21
|
-
* assembly/index/
|
|
22
|
-
* @param
|
|
23
|
-
* @param tempPtr `usize`
|
|
24
|
-
* @param width `i32`
|
|
25
|
-
* @param height `i32`
|
|
26
|
-
* @param radius `i32`
|
|
27
|
-
*/
|
|
28
|
-
export function stackBlur(framePtr: number, tempPtr: number, width: number, height: number, radius: number): void;
|
|
29
|
-
/**
|
|
30
|
-
* assembly/index/createMotionMask
|
|
31
|
-
* @param frame1Ptr `usize`
|
|
32
|
-
* @param frame2Ptr `usize`
|
|
33
|
-
* @param width `i32`
|
|
34
|
-
* @param height `i32`
|
|
22
|
+
* assembly/index/detectMotion
|
|
23
|
+
* @param inputFrame `~lib/typedarray/Uint8Array`
|
|
35
24
|
* @param threshold `i32`
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* assembly/index/dilate
|
|
40
|
-
* @param framePtr `usize`
|
|
41
|
-
* @param tempPtr `usize`
|
|
42
|
-
* @param width `i32`
|
|
43
|
-
* @param height `i32`
|
|
44
|
-
* @param size `i32`
|
|
45
|
-
*/
|
|
46
|
-
export function dilate(framePtr: number, tempPtr: number, width: number, height: number, size: number): void;
|
|
47
|
-
/**
|
|
48
|
-
* assembly/index/findBoundingBoxes
|
|
49
|
-
* @param framePtr `usize`
|
|
50
|
-
* @param visitedPtr `usize`
|
|
51
|
-
* @param queuePtr `usize`
|
|
52
|
-
* @param boxesPtr `usize`
|
|
53
|
-
* @param width `i32`
|
|
54
|
-
* @param height `i32`
|
|
25
|
+
* @param radius `i32`
|
|
26
|
+
* @param dilationSize `i32`
|
|
55
27
|
* @param minArea `i32`
|
|
56
|
-
* @returns `
|
|
28
|
+
* @returns `~lib/typedarray/Int32Array`
|
|
57
29
|
*/
|
|
58
|
-
export function
|
|
30
|
+
export function detectMotion(inputFrame: Uint8Array, threshold: number, radius: number, dilationSize: number, minArea: number): Int32Array;
|
|
59
31
|
/**
|
|
60
|
-
* assembly/index/
|
|
61
|
-
* @param frame1Ptr `usize`
|
|
62
|
-
* @param frame2Ptr `usize`
|
|
63
|
-
* @param tempPtr `usize`
|
|
64
|
-
* @param visitedPtr `usize`
|
|
65
|
-
* @param queuePtr `usize`
|
|
66
|
-
* @param boxesPtr `usize`
|
|
67
|
-
* @param width `i32`
|
|
68
|
-
* @param height `i32`
|
|
69
|
-
* @param blurRadius `i32`
|
|
70
|
-
* @param dilationSize `i32`
|
|
71
|
-
* @param motionThreshold `i32`
|
|
72
|
-
* @param motionArea `i32`
|
|
32
|
+
* assembly/index/getNumBoxes
|
|
73
33
|
* @returns `i32`
|
|
74
34
|
*/
|
|
75
|
-
export function
|
|
35
|
+
export function getNumBoxes(): number;
|
|
76
36
|
/** assembly/index/Uint8Array_ID */
|
|
77
37
|
export const Uint8Array_ID: {
|
|
78
38
|
/** @type `u32` */
|
|
79
39
|
get value(): number
|
|
80
40
|
};
|
|
81
|
-
/** assembly/index/Int32Array_ID */
|
|
82
|
-
export const Int32Array_ID: {
|
|
83
|
-
/** @type `u32` */
|
|
84
|
-
get value(): number
|
|
85
|
-
};
|
|
86
41
|
/**
|
|
87
42
|
* assembly/test/blurFrameSIMD
|
|
88
43
|
* @param framePtr `usize`
|
|
@@ -30,6 +30,11 @@ export async function instantiate(module, imports = {}) {
|
|
|
30
30
|
s = __lowerString(s) || __notnull();
|
|
31
31
|
exports.log(s);
|
|
32
32
|
},
|
|
33
|
+
detectMotion(inputFrame, threshold, radius, dilationSize, minArea) {
|
|
34
|
+
// assembly/index/detectMotion(~lib/typedarray/Uint8Array, i32, i32, i32, i32) => ~lib/typedarray/Int32Array
|
|
35
|
+
inputFrame = __lowerTypedArray(Uint8Array, 4, 0, inputFrame) || __notnull();
|
|
36
|
+
return __liftTypedArray(Int32Array, exports.detectMotion(inputFrame, threshold, radius, dilationSize, minArea) >>> 0);
|
|
37
|
+
},
|
|
33
38
|
Uint8Array_ID: {
|
|
34
39
|
// assembly/index/Uint8Array_ID: u32
|
|
35
40
|
valueOf() { return this.value; },
|
|
@@ -37,13 +42,6 @@ export async function instantiate(module, imports = {}) {
|
|
|
37
42
|
return exports.Uint8Array_ID.value >>> 0;
|
|
38
43
|
}
|
|
39
44
|
},
|
|
40
|
-
Int32Array_ID: {
|
|
41
|
-
// assembly/index/Int32Array_ID: u32
|
|
42
|
-
valueOf() { return this.value; },
|
|
43
|
-
get value() {
|
|
44
|
-
return exports.Int32Array_ID.value >>> 0;
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
45
|
}, exports);
|
|
48
46
|
function __liftString(pointer) {
|
|
49
47
|
if (!pointer) return null;
|
|
@@ -65,8 +63,46 @@ export async function instantiate(module, imports = {}) {
|
|
|
65
63
|
for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i);
|
|
66
64
|
return pointer;
|
|
67
65
|
}
|
|
66
|
+
function __liftTypedArray(constructor, pointer) {
|
|
67
|
+
if (!pointer) return null;
|
|
68
|
+
return new constructor(
|
|
69
|
+
memory.buffer,
|
|
70
|
+
__getU32(pointer + 4),
|
|
71
|
+
__dataview.getUint32(pointer + 8, true) / constructor.BYTES_PER_ELEMENT
|
|
72
|
+
).slice();
|
|
73
|
+
}
|
|
74
|
+
function __lowerTypedArray(constructor, id, align, values) {
|
|
75
|
+
if (values == null) return 0;
|
|
76
|
+
const
|
|
77
|
+
length = values.length,
|
|
78
|
+
buffer = exports.__pin(exports.__new(length << align, 1)) >>> 0,
|
|
79
|
+
header = exports.__new(12, id) >>> 0;
|
|
80
|
+
__setU32(header + 0, buffer);
|
|
81
|
+
__dataview.setUint32(header + 4, buffer, true);
|
|
82
|
+
__dataview.setUint32(header + 8, length << align, true);
|
|
83
|
+
new constructor(memory.buffer, buffer, length).set(values);
|
|
84
|
+
exports.__unpin(buffer);
|
|
85
|
+
return header;
|
|
86
|
+
}
|
|
68
87
|
function __notnull() {
|
|
69
88
|
throw TypeError("value must not be null");
|
|
70
89
|
}
|
|
90
|
+
let __dataview = new DataView(memory.buffer);
|
|
91
|
+
function __setU32(pointer, value) {
|
|
92
|
+
try {
|
|
93
|
+
__dataview.setUint32(pointer, value, true);
|
|
94
|
+
} catch {
|
|
95
|
+
__dataview = new DataView(memory.buffer);
|
|
96
|
+
__dataview.setUint32(pointer, value, true);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function __getU32(pointer) {
|
|
100
|
+
try {
|
|
101
|
+
return __dataview.getUint32(pointer, true);
|
|
102
|
+
} catch {
|
|
103
|
+
__dataview = new DataView(memory.buffer);
|
|
104
|
+
return __dataview.getUint32(pointer, true);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
71
107
|
return adaptedExports;
|
|
72
108
|
}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"displayName": "WASM Motion",
|
|
3
3
|
"name": "@camera.ui/camera-ui-wasm-motion",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.12",
|
|
5
5
|
"description": "camera.ui wasm motion detection plugin",
|
|
6
6
|
"author": "seydx (https://github.com/seydx/camera.ui)",
|
|
7
7
|
"main": "./dist/index.js",
|
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
"prepublishOnly": "npm i --package-lock-only && npm run lint && npm run format && npm run build"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@camera.ui/types": "^0.0.
|
|
19
|
+
"@camera.ui/types": "^0.0.76",
|
|
20
20
|
"@rushstack/eslint-patch": "^1.10.4",
|
|
21
21
|
"@types/fs-extra": "^11.0.4",
|
|
22
|
-
"@types/node": "^22.5
|
|
22
|
+
"@types/node": "^22.7.5",
|
|
23
23
|
"@types/ws": "^8.5.12",
|
|
24
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
25
|
-
"@typescript-eslint/parser": "^8.
|
|
26
|
-
"assemblyscript": "^0.27.
|
|
24
|
+
"@typescript-eslint/eslint-plugin": "^8.8.1",
|
|
25
|
+
"@typescript-eslint/parser": "^8.8.1",
|
|
26
|
+
"assemblyscript": "^0.27.30",
|
|
27
27
|
"assemblyscript-prettier": "^3.0.1",
|
|
28
|
-
"concurrently": "^9.0.
|
|
28
|
+
"concurrently": "^9.0.1",
|
|
29
29
|
"copyfiles": "^2.4.1",
|
|
30
30
|
"eslint": "8.57.0",
|
|
31
31
|
"eslint-config-prettier": "^9.1.0",
|
|
@@ -35,15 +35,15 @@
|
|
|
35
35
|
"rimraf": "^6.0.1",
|
|
36
36
|
"set-interval-async": "^3.0.3",
|
|
37
37
|
"sharp": "^0.33.5",
|
|
38
|
-
"typescript": "^5.6.
|
|
38
|
+
"typescript": "^5.6.3",
|
|
39
39
|
"updates": "^16.4.0"
|
|
40
40
|
},
|
|
41
41
|
"bugs": {
|
|
42
42
|
"url": "https://github.com/seydx/camera.ui/issues"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
45
|
-
"camera.ui": ">=0.0.
|
|
46
|
-
"node": ">=
|
|
45
|
+
"camera.ui": ">=0.0.34-alpha.1",
|
|
46
|
+
"node": ">=20.17.0"
|
|
47
47
|
},
|
|
48
48
|
"homepage": "https://github.com/seydx/camera.ui#readme",
|
|
49
49
|
"keywords": [
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"dependencies": []
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@assemblyscript/loader": "^0.27.
|
|
65
|
+
"@assemblyscript/loader": "^0.27.30",
|
|
66
66
|
"as-wasi": "^0.6.0"
|
|
67
67
|
}
|
|
68
68
|
}
|