diff options
Diffstat (limited to 'src/images/SkWebpEncoder.cpp')
-rw-r--r-- | src/images/SkWebpEncoder.cpp | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/images/SkWebpEncoder.cpp b/src/images/SkWebpEncoder.cpp index 2cb55d2f04..bda34dcb01 100644 --- a/src/images/SkWebpEncoder.cpp +++ b/src/images/SkWebpEncoder.cpp @@ -41,10 +41,7 @@ extern "C" { #include "webp/mux.h" } -static transform_scanline_proc choose_proc(const SkImageInfo& info, - SkTransferFunctionBehavior unpremulBehavior) { - const bool isSRGBTransferFn = - (SkTransferFunctionBehavior::kRespect == unpremulBehavior) && info.gammaCloseToSRGB(); +static transform_scanline_proc choose_proc(const SkImageInfo& info) { switch (info.colorType()) { case kRGBA_8888_SkColorType: switch (info.alphaType()) { @@ -53,8 +50,7 @@ static transform_scanline_proc choose_proc(const SkImageInfo& info, case kUnpremul_SkAlphaType: return transform_scanline_memcpy; case kPremul_SkAlphaType: - return isSRGBTransferFn ? transform_scanline_srgbA : - transform_scanline_rgbA; + return transform_scanline_rgbA; default: return nullptr; } @@ -65,8 +61,7 @@ static transform_scanline_proc choose_proc(const SkImageInfo& info, case kUnpremul_SkAlphaType: return transform_scanline_BGRA; case kPremul_SkAlphaType: - return isSRGBTransferFn ? transform_scanline_sbgrA : - transform_scanline_bgrA; + return transform_scanline_bgrA; default: return nullptr; } @@ -113,7 +108,7 @@ bool SkWebpEncoder::Encode(SkWStream* stream, const SkPixmap& pixmap, const Opti return false; } - const transform_scanline_proc proc = choose_proc(pixmap.info(), opts.fUnpremulBehavior); + const transform_scanline_proc proc = choose_proc(pixmap.info()); if (!proc) { return false; } |