You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
883 B
18 lines
883 B
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const predictor_js_1 = require("../predictor.js");
|
|
class BaseDecoder {
|
|
async decode(fileDirectory, buffer) {
|
|
const decoded = await this.decodeBlock(buffer);
|
|
const predictor = fileDirectory.Predictor || 1;
|
|
if (predictor !== 1) {
|
|
const isTiled = !fileDirectory.StripOffsets;
|
|
const tileWidth = isTiled ? fileDirectory.TileWidth : fileDirectory.ImageWidth;
|
|
const tileHeight = isTiled ? fileDirectory.TileLength : (fileDirectory.RowsPerStrip || fileDirectory.ImageLength);
|
|
return (0, predictor_js_1.applyPredictor)(decoded, predictor, tileWidth, tileHeight, fileDirectory.BitsPerSample, fileDirectory.PlanarConfiguration);
|
|
}
|
|
return decoded;
|
|
}
|
|
}
|
|
exports.default = BaseDecoder;
|
|
//# sourceMappingURL=basedecoder.js.map
|