Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba62f46d authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Support decoding gainmaps to alpha8 with BitmapFactory." into udc-dev

parents d516a7ca 818328c4
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -194,7 +194,11 @@ static bool decodeGainmap(std::unique_ptr<SkStream> gainmapStream, const SkGainm
        ALOGE("Can not create a codec for Gainmap.");
        return false;
    }
    SkColorType decodeColorType = codec->computeOutputColorType(kN32_SkColorType);
    SkColorType decodeColorType = kN32_SkColorType;
    if (codec->getInfo().colorType() == kGray_8_SkColorType) {
        decodeColorType = kGray_8_SkColorType;
    }
    decodeColorType = codec->computeOutputColorType(decodeColorType);
    sk_sp<SkColorSpace> decodeColorSpace = codec->computeOutputColorSpace(decodeColorType, nullptr);

    SkISize size = codec->getSampledDimensions(sampleSize);
@@ -217,7 +221,11 @@ static bool decodeGainmap(std::unique_ptr<SkStream> gainmapStream, const SkGainm
    const SkImageInfo decodeInfo = SkImageInfo::Make(size.width(), size.height(), decodeColorType,
                                                     alphaType, decodeColorSpace);

    const SkImageInfo& bitmapInfo = decodeInfo;
    SkImageInfo bitmapInfo = decodeInfo;
    if (decodeColorType == kGray_8_SkColorType) {
        // We treat gray8 as alpha8 in Bitmap's API surface
        bitmapInfo = bitmapInfo.makeColorType(kAlpha_8_SkColorType);
    }
    SkBitmap decodeBitmap;
    sk_sp<Bitmap> nativeBitmap = nullptr;