From 296c7dc4ac54becebec0b8f32b072becf0b94c33 Mon Sep 17 00:00:00 2001 From: James Zern Date: Wed, 29 Nov 2017 16:54:23 -0800 Subject: [PATCH] fix lossless decoding w/WEBP_REDUCE_SIZE alpha processing is still required when requesting premultiplied output since: 1b27bf8b WEBP_REDUCE_SIZE: disable all rescaler code Change-Id: Id1b03256c4c04b8db31527e60cd31dd20ce6f3ad --- src/dec/vp8l_dec.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/dec/vp8l_dec.c b/src/dec/vp8l_dec.c index 42ea3b5e..0570f53a 100644 --- a/src/dec/vp8l_dec.c +++ b/src/dec/vp8l_dec.c @@ -1643,17 +1643,17 @@ int VP8LDecodeImage(VP8LDecoder* const dec) { #if !defined(WEBP_REDUCE_SIZE) if (io->use_scaling && !AllocateAndInitRescaler(dec, io)) goto Err; - - if (io->use_scaling || WebPIsPremultipliedMode(dec->output_->colorspace)) { - // need the alpha-multiply functions for premultiplied output or rescaling - WebPInitAlphaProcessing(); - } #else if (io->use_scaling) { dec->status_ = VP8_STATUS_INVALID_PARAM; goto Err; } #endif + if (io->use_scaling || WebPIsPremultipliedMode(dec->output_->colorspace)) { + // need the alpha-multiply functions for premultiplied output or rescaling + WebPInitAlphaProcessing(); + } + if (!WebPIsRGBMode(dec->output_->colorspace)) { WebPInitConvertARGBToYUV(); if (dec->output_->u.YUVA.a != NULL) WebPInitAlphaProcessing();