Chromium Code Reviews| Index: src/codec/SkCodec_libpng.cpp |
| diff --git a/src/codec/SkCodec_libpng.cpp b/src/codec/SkCodec_libpng.cpp |
| index 3d8d4b5634f72f14f3e9f90d945f956064d6f483..d9e5db816d10c76f319cbd0dbb893587c0d8c3e9 100644 |
| --- a/src/codec/SkCodec_libpng.cpp |
| +++ b/src/codec/SkCodec_libpng.cpp |
| @@ -445,10 +445,10 @@ SkCodec::Result SkPngCodec::onGetPixels(const SkImageInfo& requestedInfo, void* |
| // made in the factory. |
| png_read_update_info(fPng_ptr, fInfo_ptr); |
| + const int bpp = SkSwizzler::BitsPerPixel(sc) / 8; |
|
scroggo
2015/03/06 18:56:14
This makes me nervous that we've messed up if Bits
|
| if (numberPasses > 1) { |
| const int width = requestedInfo.width(); |
| const int height = requestedInfo.height(); |
| - const int bpp = SkSwizzler::BytesPerPixel(sc); |
| const size_t rowBytes = width * bpp; |
| storage.reset(width * height * bpp); |
| @@ -470,7 +470,7 @@ SkCodec::Result SkPngCodec::onGetPixels(const SkImageInfo& requestedInfo, void* |
| row += rowBytes; |
| } |
| } else { |
| - storage.reset(requestedInfo.width() * SkSwizzler::BytesPerPixel(sc)); |
| + storage.reset(requestedInfo.width() * bpp); |
| uint8_t* srcRow = static_cast<uint8_t*>(storage.get()); |
| for (int y = 0; y < requestedInfo.height(); y++) { |
| png_read_rows(fPng_ptr, &srcRow, png_bytepp_NULL, 1); |