diff options
Diffstat (limited to 'libgo/go/image/png/writer.go')
-rw-r--r-- | libgo/go/image/png/writer.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libgo/go/image/png/writer.go b/libgo/go/image/png/writer.go index df23270ee97..dd87d816291 100644 --- a/libgo/go/image/png/writer.go +++ b/libgo/go/image/png/writer.go @@ -420,8 +420,11 @@ func writeImage(w io.Writer, m image.Image, cb int, level int) error { } // Apply the filter. + // Skip filter for NoCompression and paletted images (cbP8) as + // "filters are rarely useful on palette images" and will result + // in larger files (see http://www.libpng.org/pub/png/book/chapter09.html). f := ftNone - if level != zlib.NoCompression { + if level != zlib.NoCompression && cb != cbP8 { f = filter(&cr, pr, bpp) } |