mirror of
https://github.com/geotiffjs/geotiff.js.git
synced 2026-02-01 16:42:03 +00:00
Implemented LERC_ZSTD decoding with zstddec; Added DOM types to tsconfig for WebAssembly
This commit is contained in:
parent
00a28ca6e5
commit
a3551b90a6
13
package-lock.json
generated
13
package-lock.json
generated
@ -15,7 +15,8 @@
|
||||
"parse-headers": "^2.0.2",
|
||||
"quick-lru": "^6.1.1",
|
||||
"web-worker": "^1.2.0",
|
||||
"xml-utils": "^1.0.2"
|
||||
"xml-utils": "^1.0.2",
|
||||
"zstddec": "^0.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.8.7",
|
||||
@ -7776,6 +7777,11 @@
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/zstddec": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.1.0.tgz",
|
||||
"integrity": "sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg=="
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
@ -13637,6 +13643,11 @@
|
||||
"lodash": "^4.17.15",
|
||||
"yargs": "^13.3.0"
|
||||
}
|
||||
},
|
||||
"zstddec": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.1.0.tgz",
|
||||
"integrity": "sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg=="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -88,7 +88,8 @@
|
||||
"parse-headers": "^2.0.2",
|
||||
"quick-lru": "^6.1.1",
|
||||
"web-worker": "^1.2.0",
|
||||
"xml-utils": "^1.0.2"
|
||||
"xml-utils": "^1.0.2",
|
||||
"zstddec": "^0.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.8.7",
|
||||
|
||||
@ -25,5 +25,11 @@ addDecoder(6, () => {
|
||||
addDecoder(7, () => import('./jpeg.js').then((m) => m.default));
|
||||
addDecoder([8, 32946], () => import('./deflate.js').then((m) => m.default));
|
||||
addDecoder(32773, () => import('./packbits.js').then((m) => m.default));
|
||||
addDecoder(34887, () => import('./lerc.js').then((m) => m.default));
|
||||
addDecoder(34887, () => import('./lerc.js')
|
||||
.then(async (m) => {
|
||||
await m.zstd.init();
|
||||
return m;
|
||||
})
|
||||
.then((m) => m.default),
|
||||
);
|
||||
addDecoder(50001, () => import('./webimage.js').then((m) => m.default));
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
import { inflate } from 'pako';
|
||||
import Lerc from 'lerc';
|
||||
import { ZSTDDecoder } from 'zstddec';
|
||||
import BaseDecoder from './basedecoder.js';
|
||||
import { LercParameters, LercAddCompression } from '../globals.js';
|
||||
|
||||
export const zstd = new ZSTDDecoder();
|
||||
|
||||
export default class LercDecoder extends BaseDecoder {
|
||||
constructor(fileDirectory) {
|
||||
super();
|
||||
@ -20,6 +23,9 @@ export default class LercDecoder extends BaseDecoder {
|
||||
case LercAddCompression.Deflate:
|
||||
buffer = inflate(new Uint8Array(buffer)).buffer; // eslint-disable-line no-param-reassign, prefer-destructuring
|
||||
break;
|
||||
case LercAddCompression.Zstandard:
|
||||
buffer = zstd.decode(new Uint8Array(buffer)).buffer; // eslint-disable-line no-param-reassign, prefer-destructuring
|
||||
break;
|
||||
default:
|
||||
throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`);
|
||||
}
|
||||
|
||||
@ -235,6 +235,7 @@ export const LercParameters = {
|
||||
export const LercAddCompression = {
|
||||
None: 0,
|
||||
Deflate: 1,
|
||||
Zstandard: 2,
|
||||
};
|
||||
|
||||
export const geoKeyNames = {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES5",
|
||||
"lib": ["ES2020"],
|
||||
"lib": ["ES2020", "DOM"],
|
||||
"allowJs": true,
|
||||
"declaration": true,
|
||||
"declarationMap": true,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user