Files
coopgo/node_modules/geotiff/dist-module/compression/basedecoder.js
sgauthier 6e64e138e2
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
planning
2024-10-14 09:15:30 +02:00

21 lines
724 B
JavaScript

import { applyPredictor } from '../predictor.js';
export default 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 applyPredictor(
decoded, predictor, tileWidth, tileHeight, fileDirectory.BitsPerSample,
fileDirectory.PlanarConfiguration,
);
}
return decoded;
}
}