Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Unified Diff: src/codec/SkPngCodec.cpp

Issue 2212563003: Modify SkPngCodec to recognize 565 images from the sBIT chunk (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Clean up test Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698