-
Nigel Tao authored
defined by the PLTE chunk. Such pixels decode to opaque black, which matches what libpng does. Fixes #4319. On my reading, the PNG spec isn't clear whether palette index values outside of those defined by the PLTE chunk is an error, and if not, what to do. Libpng 1.5.3 falls back to opaque black. png_set_PLTE says: /* Changed in libpng-1.2.1 to allocate PNG_MAX_PALETTE_LENGTH instead * of num_palette entries, in case of an invalid PNG file that has * too-large sample values. */ png_ptr->palette = (png_colorp)png_calloc(png_ptr, PNG_MAX_PALETTE_LENGTH * png_sizeof(png_color)); ImageMagick 6.5.7 returns an error: $ convert -version Version: ImageMagick 6.5.7-8 2012-08-17 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC Features: OpenMP $ convert packetloss.png x.bmp convert: Invalid colormap index `packetloss.png' @ image.c/SyncImage/3849. R=r CC=golang-dev https://golang.org/cl/6822065
de6bf204
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
color | ||
draw | ||
gif | ||
jpeg | ||
png | ||
testdata | ||
decode_example_test.go | ||
decode_test.go | ||
format.go | ||
geom.go | ||
image.go | ||
image_test.go | ||
names.go | ||
ycbcr.go | ||
ycbcr_test.go |