diff options
Diffstat (limited to 'src/codec/SkAndroidCodec.cpp')
-rw-r--r-- | src/codec/SkAndroidCodec.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/codec/SkAndroidCodec.cpp b/src/codec/SkAndroidCodec.cpp index cd23680932..4c76bdccb4 100644 --- a/src/codec/SkAndroidCodec.cpp +++ b/src/codec/SkAndroidCodec.cpp @@ -64,10 +64,6 @@ SkAndroidCodec::SkAndroidCodec(SkCodec* codec) SkAndroidCodec::~SkAndroidCodec() {} -const SkEncodedInfo& SkAndroidCodec::getEncodedInfo() const { - return fCodec->getEncodedInfo(); -} - std::unique_ptr<SkAndroidCodec> SkAndroidCodec::MakeFromStream(std::unique_ptr<SkStream> stream, SkPngChunkReader* chunkReader) { auto codec = SkCodec::MakeFromStream(std::move(stream), nullptr, chunkReader); if (nullptr == codec) { @@ -112,7 +108,6 @@ std::unique_ptr<SkAndroidCodec> SkAndroidCodec::MakeFromData(sk_sp<SkData> data, } SkColorType SkAndroidCodec::computeOutputColorType(SkColorType requestedColorType) { - bool highPrecision = fCodec->getEncodedInfo().bitsPerComponent() > 8; switch (requestedColorType) { case kARGB_4444_SkColorType: return kN32_SkColorType; @@ -138,8 +133,10 @@ SkColorType SkAndroidCodec::computeOutputColorType(SkColorType requestedColorTyp break; } - // F16 is the Android default for high precision images. - return highPrecision ? kRGBA_F16_SkColorType : kN32_SkColorType; + if (this->getInfo().colorType() == kRGBA_F16_SkColorType) { + return kRGBA_F16_SkColorType; + } + return kN32_SkColorType; } SkAlphaType SkAndroidCodec::computeOutputAlphaType(bool requestedUnpremul) { |