| 1234567891011121314151617181920 |
- 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;
- }
- }
|