From 70338866978a76fa026c18d7c3c05257c5ece762 Mon Sep 17 00:00:00 2001 From: Sanders DeNardi Date: Mon, 4 May 2020 04:13:04 -0400 Subject: [PATCH] fix: use bit-appropriate array for palette lookup tables (#1698) Co-authored-by: Sanders DeNardi --- .../fetchPaletteColorLookupTableData.js | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/platform/core/src/utils/metadataProvider/fetchPaletteColorLookupTableData.js b/platform/core/src/utils/metadataProvider/fetchPaletteColorLookupTableData.js index 7ebde41fe..8aba64ec4 100644 --- a/platform/core/src/utils/metadataProvider/fetchPaletteColorLookupTableData.js +++ b/platform/core/src/utils/metadataProvider/fetchPaletteColorLookupTableData.js @@ -115,22 +115,14 @@ function _getPaletteColor(server, paletteColorLookupTableData, lutDescriptor) { const numLutEntries = lutDescriptor[0]; const bits = lutDescriptor[2]; - const readUInt16 = (byteArray, position) => { - return byteArray[position] + byteArray[position + 1] * 256; - }; - const arrayBufferToPaletteColorLUT = arraybuffer => { - const byteArray = new Uint8Array(arraybuffer); + const byteArray = bits === 16 ? + new Uint16Array(arraybuffer) : + new Uint8Array(arraybuffer); const lut = []; - if (bits === 16) { - for (let i = 0; i < numLutEntries; i++) { - lut[i] = readUInt16(byteArray, i * 2); - } - } else { - for (let i = 0; i < numLutEntries; i++) { - lut[i] = byteArray[i]; - } + for (let i = 0; i < numLutEntries; i++) { + lut[i] = byteArray[i]; } return lut;