UNPKG

@abasb75/jpeg-lossless-decoder

Version:
83 lines (82 loc) 3.21 kB
import { ComponentSpec } from './component-spec'; import { DataStream } from './data-stream'; import { FrameHeader } from './frame-header'; import { HuffmanTable } from './huffman-table'; import { QuantizationTable } from './quantization-table'; import { ScanHeader } from './scan-header'; export declare class Decoder { static IDCT_P: number[]; static TABLE: number[]; static MAX_HUFFMAN_SUBTREE: number; static MSB: number; static RESTART_MARKER_BEGIN: number; static RESTART_MARKER_END: number; buffer: ArrayBuffer | null; stream: DataStream | null; frame: FrameHeader; huffTable: HuffmanTable; quantTable: QuantizationTable; scan: ScanHeader; DU: number[][][]; HuffTab: number[][][]; IDCT_Source: number[]; nBlock: number[]; acTab: number[][]; dcTab: number[][]; qTab: number[][]; marker: number; markerIndex: number; numComp: number; restartInterval: number; selection: number; xDim: number; yDim: number; xLoc: number; yLoc: number; outputData: Uint8Array | Uint16Array | null; restarting: boolean; mask: number; numBytes: number; precision: number | undefined; components: Array<typeof ComponentSpec>; getter: null | ((index: number, compOffset: number) => number); setter: null | ((index: number, val: number, compOffset?: number) => void); output: null | ((PRED: number[]) => void); selector: null | ((compOffset?: number) => number); /** * The Decoder constructor. * @property {number} numBytes - number of bytes per component * @type {Function} */ constructor(buffer?: ArrayBuffer | null, numBytes?: number); /** * Returns decompressed data. */ decompress(buffer: ArrayBuffer, offset: number, length: number): ArrayBuffer; decode(buffer?: ArrayBuffer, offset?: number, length?: number, numBytes?: number): Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike>; decodeUnit(prev: number[], temp: number[], index: number[]): number; select1(compOffset?: number): number; select2(compOffset?: number): number; select3(compOffset?: number): number; select4(compOffset?: number): number; select5(compOffset?: number): number; select6(compOffset?: number): number; select7(compOffset?: number): number; decodeRGB(prev: number[], temp: number[], index: number[]): number; decodeSingle(prev: number[], temp: number[], index: number[]): number; getHuffmanValue(table: number[], temp: number[], index: number[]): number; getn(PRED: number[], n: number, temp: number[], index: number[]): number; getPreviousX(compOffset?: number): number; getPreviousXY(compOffset?: number): number; getPreviousY(compOffset?: number): number; isLastPixel(): boolean; outputSingle(PRED: number[]): void; outputRGB(PRED: number[]): void; setValue8(index: number, val: number): void; getValue8(index: number): number; setValueRGB(index: number, val: number, compOffset?: number): void; getValueRGB(index: number, compOffset: number): number; readApp(): number | null; readComment(): string | null; readNumber(): number | null; }