1 |
- {"ast":null,"code":"import { ApplyLut, HufUncompress, ReverseLutFromBitmap, Wav2Decode } from \"./exrLoader.compression.huf.js\";\nimport { DecodeRunLength } from \"./exrLoader.compression.rle.js\";\nimport { InterleaveScalar, ParseUint16, ParseUint32, ParseUint8, Predictor } from \"./exrLoader.core.js\";\nimport { BITMAP_SIZE, INT16_SIZE, USHORT_RANGE } from \"./exrLoader.interfaces.js\";\n/**\n * No compression\n * @param decoder defines the decoder to use\n * @returns a decompressed data view\n */\nexport function UncompressRAW(decoder) {\n return new DataView(decoder.array.buffer, decoder.offset.value, decoder.size);\n}\n/**\n * RLE compression\n * @param decoder defines the decoder to use\n * @returns a decompressed data view\n */\nexport function UncompressRLE(decoder) {\n const compressed = decoder.viewer.buffer.slice(decoder.offset.value, decoder.offset.value + decoder.size);\n const rawBuffer = new Uint8Array(DecodeRunLength(compressed));\n const tmpBuffer = new Uint8Array(rawBuffer.length);\n Predictor(rawBuffer);\n InterleaveScalar(rawBuffer, tmpBuffer);\n return new DataView(tmpBuffer.buffer);\n}\n/**\n * Zip compression\n * @param decoder defines the decoder to use\n * @returns a decompressed data view\n */\nexport function UncompressZIP(decoder) {\n const compressed = decoder.array.slice(decoder.offset.value, decoder.offset.value + decoder.size);\n const rawBuffer = fflate.unzlibSync(compressed);\n const tmpBuffer = new Uint8Array(rawBuffer.length);\n Predictor(rawBuffer);\n InterleaveScalar(rawBuffer, tmpBuffer);\n return new DataView(tmpBuffer.buffer);\n}\n/**\n * PXR compression\n * @param decoder defines the decoder to use\n * @returns a decompressed data view\n */\nexport function UncompressPXR(decoder) {\n const compressed = decoder.array.slice(decoder.offset.value, decoder.offset.value + decoder.size);\n const rawBuffer = fflate.unzlibSync(compressed);\n const sz = decoder.lines * decoder.channels * decoder.width;\n const tmpBuffer = decoder.type == 1 ? new Uint16Array(sz) : new Uint32Array(sz);\n let tmpBufferEnd = 0;\n let writePtr = 0;\n const ptr = new Array(4);\n for (let y = 0; y < decoder.lines; y++) {\n for (let c = 0; c < decoder.channels; c++) {\n let pixel = 0;\n switch (decoder.type) {\n case 1:\n ptr[0] = tmpBufferEnd;\n ptr[1] = ptr[0] + decoder.width;\n tmpBufferEnd = ptr[1] + decoder.width;\n for (let j = 0; j < decoder.width; ++j) {\n const diff = rawBuffer[ptr[0]++] << 8 | rawBuffer[ptr[1]++];\n pixel += diff;\n tmpBuffer[writePtr] = pixel;\n writePtr++;\n }\n break;\n case 2:\n ptr[0] = tmpBufferEnd;\n ptr[1] = ptr[0] + decoder.width;\n ptr[2] = ptr[1] + decoder.width;\n tmpBufferEnd = ptr[2] + decoder.width;\n for (let j = 0; j < decoder.width; ++j) {\n const diff = rawBuffer[ptr[0]++] << 24 | rawBuffer[ptr[1]++] << 16 | rawBuffer[ptr[2]++] << 8;\n pixel += diff;\n tmpBuffer[writePtr] = pixel;\n writePtr++;\n }\n break;\n }\n }\n }\n return new DataView(tmpBuffer.buffer);\n}\n/**\n * PIZ compression\n * @param decoder defines the decoder to use\n * @returns a decompressed data view\n */\nexport function UncompressPIZ(decoder) {\n const inDataView = decoder.viewer;\n const inOffset = {\n value: decoder.offset.value\n };\n const outBuffer = new Uint16Array(decoder.width * decoder.scanlineBlockSize * (decoder.channels * decoder.type));\n const bitmap = new Uint8Array(BITMAP_SIZE);\n // Setup channel info\n let outBufferEnd = 0;\n const pizChannelData = new Array(decoder.channels);\n for (let i = 0; i < decoder.channels; i++) {\n pizChannelData[i] = {};\n pizChannelData[i][\"start\"] = outBufferEnd;\n pizChannelData[i][\"end\"] = pizChannelData[i][\"start\"];\n pizChannelData[i][\"nx\"] = decoder.width;\n pizChannelData[i][\"ny\"] = decoder.lines;\n pizChannelData[i][\"size\"] = decoder.type;\n outBufferEnd += pizChannelData[i].nx * pizChannelData[i].ny * pizChannelData[i].size;\n }\n // Read range compression data\n const minNonZero = ParseUint16(inDataView, inOffset);\n const maxNonZero = ParseUint16(inDataView, inOffset);\n if (maxNonZero >= BITMAP_SIZE) {\n throw new Error(\"Wrong PIZ_COMPRESSION BITMAP_SIZE\");\n }\n if (minNonZero <= maxNonZero) {\n for (let i = 0; i < maxNonZero - minNonZero + 1; i++) {\n bitmap[i + minNonZero] = ParseUint8(inDataView, inOffset);\n }\n }\n // Reverse LUT\n const lut = new Uint16Array(USHORT_RANGE);\n const maxValue = ReverseLutFromBitmap(bitmap, lut);\n const length = ParseUint32(inDataView, inOffset);\n // Huffman decoding\n HufUncompress(decoder.array, inDataView, inOffset, length, outBuffer, outBufferEnd);\n // Wavelet decoding\n for (let i = 0; i < decoder.channels; ++i) {\n const cd = pizChannelData[i];\n for (let j = 0; j < pizChannelData[i].size; ++j) {\n Wav2Decode(outBuffer, cd.start + j, cd.nx, cd.size, cd.ny, cd.nx * cd.size, maxValue);\n }\n }\n // Expand the pixel data to their original range\n ApplyLut(lut, outBuffer, outBufferEnd);\n // Rearrange the pixel data into the format expected by the caller.\n let tmpOffset = 0;\n const tmpBuffer = new Uint8Array(outBuffer.buffer.byteLength);\n for (let y = 0; y < decoder.lines; y++) {\n for (let c = 0; c < decoder.channels; c++) {\n const cd = pizChannelData[c];\n const n = cd.nx * cd.size;\n const cp = new Uint8Array(outBuffer.buffer, cd.end * INT16_SIZE, n * INT16_SIZE);\n tmpBuffer.set(cp, tmpOffset);\n tmpOffset += n * INT16_SIZE;\n cd.end += n;\n }\n }\n return new DataView(tmpBuffer.buffer);\n}","map":{"version":3,"names":["ApplyLut","HufUncompress","ReverseLutFromBitmap","Wav2Decode","DecodeRunLength","InterleaveScalar","ParseUint16","ParseUint32","ParseUint8","Predictor","BITMAP_SIZE","INT16_SIZE","USHORT_RANGE","UncompressRAW","decoder","DataView","array","buffer","offset","value","size","UncompressRLE","compressed","viewer","slice","rawBuffer","Uint8Array","tmpBuffer","length","UncompressZIP","fflate","unzlibSync","UncompressPXR","sz","lines","channels","width","type","Uint16Array","Uint32Array","tmpBufferEnd","writePtr","ptr","Array","y","c","pixel","j","diff","UncompressPIZ","inDataView","inOffset","outBuffer","scanlineBlockSize","bitmap","outBufferEnd","pizChannelData","i","nx","ny","minNonZero","maxNonZero","Error","lut","maxValue","cd","start","tmpOffset","byteLength","n","cp","end","set"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Materials/Textures/Loaders/EXR/exrLoader.compression.js"],"sourcesContent":["import { ApplyLut, HufUncompress, ReverseLutFromBitmap, Wav2Decode } from \"./exrLoader.compression.huf.js\";\nimport { DecodeRunLength } from \"./exrLoader.compression.rle.js\";\nimport { InterleaveScalar, ParseUint16, ParseUint32, ParseUint8, Predictor } from \"./exrLoader.core.js\";\nimport { BITMAP_SIZE, INT16_SIZE, USHORT_RANGE } from \"./exrLoader.interfaces.js\";\n/**\n * No compression\n * @param decoder defines the decoder to use\n * @returns a decompressed data view\n */\nexport function UncompressRAW(decoder) {\n return new DataView(decoder.array.buffer, decoder.offset.value, decoder.size);\n}\n/**\n * RLE compression\n * @param decoder defines the decoder to use\n * @returns a decompressed data view\n */\nexport function UncompressRLE(decoder) {\n const compressed = decoder.viewer.buffer.slice(decoder.offset.value, decoder.offset.value + decoder.size);\n const rawBuffer = new Uint8Array(DecodeRunLength(compressed));\n const tmpBuffer = new Uint8Array(rawBuffer.length);\n Predictor(rawBuffer);\n InterleaveScalar(rawBuffer, tmpBuffer);\n return new DataView(tmpBuffer.buffer);\n}\n/**\n * Zip compression\n * @param decoder defines the decoder to use\n * @returns a decompressed data view\n */\nexport function UncompressZIP(decoder) {\n const compressed = decoder.array.slice(decoder.offset.value, decoder.offset.value + decoder.size);\n const rawBuffer = fflate.unzlibSync(compressed);\n const tmpBuffer = new Uint8Array(rawBuffer.length);\n Predictor(rawBuffer);\n InterleaveScalar(rawBuffer, tmpBuffer);\n return new DataView(tmpBuffer.buffer);\n}\n/**\n * PXR compression\n * @param decoder defines the decoder to use\n * @returns a decompressed data view\n */\nexport function UncompressPXR(decoder) {\n const compressed = decoder.array.slice(decoder.offset.value, decoder.offset.value + decoder.size);\n const rawBuffer = fflate.unzlibSync(compressed);\n const sz = decoder.lines * decoder.channels * decoder.width;\n const tmpBuffer = decoder.type == 1 ? new Uint16Array(sz) : new Uint32Array(sz);\n let tmpBufferEnd = 0;\n let writePtr = 0;\n const ptr = new Array(4);\n for (let y = 0; y < decoder.lines; y++) {\n for (let c = 0; c < decoder.channels; c++) {\n let pixel = 0;\n switch (decoder.type) {\n case 1:\n ptr[0] = tmpBufferEnd;\n ptr[1] = ptr[0] + decoder.width;\n tmpBufferEnd = ptr[1] + decoder.width;\n for (let j = 0; j < decoder.width; ++j) {\n const diff = (rawBuffer[ptr[0]++] << 8) | rawBuffer[ptr[1]++];\n pixel += diff;\n tmpBuffer[writePtr] = pixel;\n writePtr++;\n }\n break;\n case 2:\n ptr[0] = tmpBufferEnd;\n ptr[1] = ptr[0] + decoder.width;\n ptr[2] = ptr[1] + decoder.width;\n tmpBufferEnd = ptr[2] + decoder.width;\n for (let j = 0; j < decoder.width; ++j) {\n const diff = (rawBuffer[ptr[0]++] << 24) | (rawBuffer[ptr[1]++] << 16) | (rawBuffer[ptr[2]++] << 8);\n pixel += diff;\n tmpBuffer[writePtr] = pixel;\n writePtr++;\n }\n break;\n }\n }\n }\n return new DataView(tmpBuffer.buffer);\n}\n/**\n * PIZ compression\n * @param decoder defines the decoder to use\n * @returns a decompressed data view\n */\nexport function UncompressPIZ(decoder) {\n const inDataView = decoder.viewer;\n const inOffset = { value: decoder.offset.value };\n const outBuffer = new Uint16Array(decoder.width * decoder.scanlineBlockSize * (decoder.channels * decoder.type));\n const bitmap = new Uint8Array(BITMAP_SIZE);\n // Setup channel info\n let outBufferEnd = 0;\n const pizChannelData = new Array(decoder.channels);\n for (let i = 0; i < decoder.channels; i++) {\n pizChannelData[i] = {};\n pizChannelData[i][\"start\"] = outBufferEnd;\n pizChannelData[i][\"end\"] = pizChannelData[i][\"start\"];\n pizChannelData[i][\"nx\"] = decoder.width;\n pizChannelData[i][\"ny\"] = decoder.lines;\n pizChannelData[i][\"size\"] = decoder.type;\n outBufferEnd += pizChannelData[i].nx * pizChannelData[i].ny * pizChannelData[i].size;\n }\n // Read range compression data\n const minNonZero = ParseUint16(inDataView, inOffset);\n const maxNonZero = ParseUint16(inDataView, inOffset);\n if (maxNonZero >= BITMAP_SIZE) {\n throw new Error(\"Wrong PIZ_COMPRESSION BITMAP_SIZE\");\n }\n if (minNonZero <= maxNonZero) {\n for (let i = 0; i < maxNonZero - minNonZero + 1; i++) {\n bitmap[i + minNonZero] = ParseUint8(inDataView, inOffset);\n }\n }\n // Reverse LUT\n const lut = new Uint16Array(USHORT_RANGE);\n const maxValue = ReverseLutFromBitmap(bitmap, lut);\n const length = ParseUint32(inDataView, inOffset);\n // Huffman decoding\n HufUncompress(decoder.array, inDataView, inOffset, length, outBuffer, outBufferEnd);\n // Wavelet decoding\n for (let i = 0; i < decoder.channels; ++i) {\n const cd = pizChannelData[i];\n for (let j = 0; j < pizChannelData[i].size; ++j) {\n Wav2Decode(outBuffer, cd.start + j, cd.nx, cd.size, cd.ny, cd.nx * cd.size, maxValue);\n }\n }\n // Expand the pixel data to their original range\n ApplyLut(lut, outBuffer, outBufferEnd);\n // Rearrange the pixel data into the format expected by the caller.\n let tmpOffset = 0;\n const tmpBuffer = new Uint8Array(outBuffer.buffer.byteLength);\n for (let y = 0; y < decoder.lines; y++) {\n for (let c = 0; c < decoder.channels; c++) {\n const cd = pizChannelData[c];\n const n = cd.nx * cd.size;\n const cp = new Uint8Array(outBuffer.buffer, cd.end * INT16_SIZE, n * INT16_SIZE);\n tmpBuffer.set(cp, tmpOffset);\n tmpOffset += n * INT16_SIZE;\n cd.end += n;\n }\n }\n return new DataView(tmpBuffer.buffer);\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|