| Index: src/codec/SkPngCodec.cpp
|
| diff --git a/src/codec/SkPngCodec.cpp b/src/codec/SkPngCodec.cpp
|
| index 60f7b9b866518dc5ee6679f0a8a1028524417f61..c110fde605ec811882891aca41c17c5e1e977c0f 100644
|
| --- a/src/codec/SkPngCodec.cpp
|
| +++ b/src/codec/SkPngCodec.cpp
|
| @@ -706,6 +706,16 @@ static bool read_header(SkStream* stream, SkPngChunkReader* chunkReader, SkCodec
|
| alpha = SkEncodedInfo::kUnpremul_Alpha;
|
| }
|
|
|
| + // Add a special check for 565.
|
| + if (SkEncodedInfo::kOpaque_Alpha == alpha) {
|
| + png_color_8p sigBits;
|
| + if (png_get_sBIT(png_ptr, info_ptr, &sigBits)) {
|
| + if (5 == sigBits->red && 6 == sigBits->green && 5 == sigBits->blue) {
|
| + color = SkEncodedInfo::k565_Color;
|
| + }
|
| + }
|
| + }
|
| +
|
| int numberPasses = png_set_interlace_handling(png_ptr);
|
|
|
| autoClean.release();
|
|
|