From db1db8506e1c33ca32a67c4f8ec748151a256f8c Mon Sep 17 00:00:00 2001 From: Jake Archibald Date: Fri, 7 Dec 2018 14:26:22 +0000 Subject: [PATCH] Move early exit for no-rotation. --- src/codecs/rotate/processor.ts | 4 ---- src/components/compress/index.tsx | 10 ++++++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/codecs/rotate/processor.ts b/src/codecs/rotate/processor.ts index 2e8c167b..daefdd22 100644 --- a/src/codecs/rotate/processor.ts +++ b/src/codecs/rotate/processor.ts @@ -4,10 +4,6 @@ const bpp = 4; export function rotate(data: ImageData, opts: RotateOptions): ImageData { const { rotate } = opts; - - // Early exit if there's no transform. - if (rotate === 0) return data; - const flipDimensions = rotate % 180 !== 0; const { width: inputWidth, height: inputHeight } = data; const outputWidth = flipDimensions ? inputHeight : inputWidth; diff --git a/src/components/compress/index.tsx b/src/components/compress/index.tsx index 4e094163..ea52eb2a 100644 --- a/src/components/compress/index.tsx +++ b/src/components/compress/index.tsx @@ -85,12 +85,18 @@ interface UpdateImageOptions { skipPreprocessing?: boolean; } -function processInput( +async function processInput( data: ImageData, inputProcessData: InputProcessorState, processor: Processor, ) { - return processor.rotate(data, inputProcessData.rotate); + let processedData = data; + + if (inputProcessData.rotate.rotate !== 0) { + processedData = await processor.rotate(processedData, inputProcessData.rotate); + } + + return processedData; } async function preprocessImage(