ImageMagick-6.9.10-28差分
ImageMagick-6.9.10-28差分
http://www.imagemagick.org/script/download.php
The latest release of ImageMagick is version 6.9.10-28
7 系同時リリースは ImageMagick-7.0.8-28
まとめ
- WebP で -define webp:use-sharp-yuv=1 指定ができるように
- GIF カラーパレットの挙動を変更
差分
-
- WebP への変換結果。左が今までの。右は -define webp:use-sharp-yuv=1 指定。
-
- WebPの弱点として有名な色のくすみが大分改善される。なお少しだけファイルサイズ増える。(libwebp 的には v6.0.0 からの機能なので実は数年前からあります)
- もう少し詳細 >
ChangeLog にない差分
- PerlMagick/Makefile.PL
< #'CC' => 'gcc', > #'CC' => 'gcc -std=gnu99 -std=gnu99', < 'PERLMAINCC' => ' ', > 'PERLMAINCC' => ' -fopenmp',
- PerlMagick/t/input.fits
大量のバイナリ差分
- coders/cin.c
726a727,728 > if (((MagickSizeType) image->columns*image->rows/8) > GetBlobSize(image)) > ThrowReaderException(CorruptImageError,"InsufficientImageDataInFile"); - > { > image->colors++; 1292a1295 > }
- coders/heic.c
- coder のバージョンを設定。
395a396,398 > #if defined(LIBHEIF_VERSION) > entry->version=ConstantString(LIBHEIF_VERSION); > #endif
- coders/miff.c
- 明示的なキャストを追加
- 画像のパラメータチェックをより厳密に
- LZMAMaxExtent の利用。
228,229c228,230 < *index=ConstrainColormapIndex(image,((size_t) *p << 24) | < ((size_t) *(p+1) << 16) | ((size_t) *(p+2) << 8) | (size_t) *(p+3)); --- > *index=ConstrainColormapIndex(image,(ssize_t) (((size_t) *p << 24) | > ((size_t) *(p+1) << 16) | ((size_t) *(p+2) << 8) | > (size_t) *(p+3))); 235c236 < *index=ConstrainColormapIndex(image,(*p << 8) | *(p+1)); --- > *index=ConstrainColormapIndex(image,(ssize_t) ((*p << 8) | *(p+1))); 241c242 < *index=ConstrainColormapIndex(image,*p); --- > *index=ConstrainColormapIndex(image,(ssize_t) *p); 1116c1117 < if ((LocaleCompare(id,"ImageMagick") != 0) || (image->depth > 128) || --- > if ((LocaleCompare(id,"ImageMagick") != 0) || 1120c1121,1122 < (image->columns == 0) || (image->rows == 0)) --- > (image->columns == 0) || (image->rows == 0) || > (image->depth == 0) || (image->depth > 64)) 1332a1335,1336 > if (compress_extent < (packet_size*image->columns)) > ThrowMIFFException(ResourceLimitError,"MemoryAllocationFailed"); 1598c1602 < extent=x; --- > extent=(size_t) x; 2619c2623 < lzma_info.avail_out=packet_size*image->columns; --- > lzma_info.avail_out=LZMAMaxExtent(packet_size*image->columns);
- coders/mpc.c
- 画像のパラメータチェックをより厳密に
768c768 < if ((LocaleCompare(id,"MagickCache") != 0) || (image->depth > 128) || --- > if ((LocaleCompare(id,"MagickCache") != 0) || 770,771c770,772 < (image->compression == UndefinedCompression) || (image->columns == 0) || < (image->rows == 0)) --- > (image->compression == UndefinedCompression) || > (image->columns == 0) || (image->rows == 0) || > (image->depth == 0) || (image->depth > 64))
- coders/mvg.c
-- mvg:vector-graphics の処理を追加。 -- ExpandBuffer の引数を逆に。掛け算の順序が変わるだけで影響はない? >|c| 244c244 < (void) SetImageArtifact(image,"MVG",draw_info->primitive); --- > (void) SetImageArtifact(image,"mvg:vector-graphics",draw_info->primitive); 356c356 < value=GetImageArtifact(image,"MVG"); --- > value=GetImageArtifact(image,"mvg:vector-graphics");
- coders/pict.c
- const 修飾追加。
329,330c329,330 < static unsigned char *ExpandBuffer(unsigned char *pixels, < MagickSizeType *bytes_per_line,const unsigned int bits_per_pixel) --- > static const unsigned char *ExpandBuffer(const unsigned char *magick_restrict pixels, > const unsigned int bits_per_pixel,MagickSizeType *bytes_per_line) 331a332,334 > register const unsigned char > *p; > 336d338 < *p, 405a408,410 > register const unsigned char > *p; > 410d414 < *p, 482c486 < p=ExpandBuffer(scanline,&number_pixels,bits_per_pixel); --- > p=ExpandBuffer(scanline,bits_per_pixel,&number_pixels); 521c525 < p=ExpandBuffer(scanline+j+1,&number_pixels,bits_per_pixel); --- > p=ExpandBuffer(scanline+j+1,bits_per_pixel,&number_pixels); 531c535 < p=ExpandBuffer(scanline+j+1,&number_pixels,bits_per_pixel); --- > p=ExpandBuffer(scanline+j+1,bits_per_pixel,&number_pixels); (略)
681c681,682 < if (trim != MagickFalse) --- > length=strlen(message); > if ((trim != MagickFalse) && (length != 0)) 686d686 < length=strlen(message); 4139c4139 < value=GetImageArtifact(image,"MVG"); --- > value=GetImageArtifact(image,"mvg:vector-graphics");
- coders/tiff.c
-- >|c| 1923a1924 > (void) SetImageStorageClass(image,DirectClass); 1954c1955,1957 < if (image->matte != MagickFalse) --- > if (image->matte == MagickFalse) > SetPixelOpacity(q,OpaqueOpacity); > else 2057a2061 > SetPixelOpacity(q,OpaqueOpacity); 2095a2100 > (void) SetImageStorageClass(image,DirectClass); 2127c2132,2134 < if (image->matte != MagickFalse) --- > if (image->matte == MagickFalse) > SetPixelOpacity(q,OpaqueOpacity); > else
- coders/webp.c
- バージョンによる機能切り替えの修正。
484,486c484,486 < (WebPGetDecoderVersion() >> 16) & 0xff, < (WebPGetDecoderVersion() >> 8) & 0xff, < (WebPGetDecoderVersion() >> 0) & 0xff,WEBP_DECODER_ABI_VERSION); --- > (WebPGetEncoderVersion() >> 16) & 0xff, > (WebPGetEncoderVersion() >> 8) & 0xff, > (WebPGetEncoderVersion() >> 0) & 0xff,WEBP_ENCODER_ABI_VERSION); 552c552 < #if WEBP_DECODER_ABI_VERSION >= 0x0100 --- > #if WEBP_ENCODER_ABI_VERSION >= 0x0100 640c640 < #if WEBP_DECODER_ABI_VERSION >= 0x0100 --- > #if WEBP_ENCODER_ABI_VERSION >= 0x0100 669c669 < #if WEBP_DECODER_ABI_VERSION >= 0x0200 --- > #if WEBP_ENCODER_ABI_VERSION >= 0x0200 723c723 < #if WEBP_DECODER_ABI_VERSION >= 0x0201 --- > #if WEBP_ENCODER_ABI_VERSION >= 0x0201 736c736 < #if WEBP_DECODER_ABI_VERSION >= 0x020e --- > #if WEBP_ENCODER_ABI_VERSION >= 0x020e 834c834 < #if WEBP_DECODER_ABI_VERSION >= 0x0100 --- > #if WEBP_ENCODER_ABI_VERSION >= 0x0100
- coders/wpg.c
- カラーマップのサイズ変更の処理をエラー対処つきで。
1113a1114 > image->storage_class=DirectClass; 1172c1173 < if (!AcquireImageColormap(image,image->colors)) --- > if (AcquireImageColormap(image,image->colors) == MagickFalse) 1259,1260c1260,1276 < image->colormap=(PixelPacket *) ResizeQuantumMemory( < image->colormap,(size_t) (one << bpp), --- > { > PixelPacket > *colormap; > > size_t > colors; > > colormap=image->colormap; > colors=image->colors; > image->colormap=(PixelPacket *) NULL; > if (AcquireImageColormap(image,one << bpp) == MagickFalse) > { > colormap=(PixelPacket *) > RelinquishMagickMemory(colormap); > goto NoMemory; > } > (void) memcpy(image->colormap,colormap,colors* 1261a1278,1280 > colormap=(PixelPacket *) > RelinquishMagickMemory(colormap); > }
- magick/annotate.c
- リファイン?
1530a1531 > glyph.image=0; 1716c1717,1718 < if (last_glyph.id != 0) --- > if (last_glyph.image != 0) > { 1717a1720,1721 > last_glyph.image=0; > } 1725,1726c1729,1733 < if (last_glyph.id != 0) < FT_Done_Glyph(last_glyph.image); --- > if (glyph.image != 0) > { > FT_Done_Glyph(glyph.image); > glyph.image=0; > }
- magick/draw.c
- dash_pattern のオブジェクトサイズを大きめにとる。あとzero初期化も。
- mvg:vector-graphics へのセット。
- ConstrainCoordinate。値のクランプ
342c342 < clone_info->dash_pattern=(double *) AcquireQuantumMemory((size_t) (x+1), --- > clone_info->dash_pattern=(double *) AcquireQuantumMemory((size_t) (2*x+2), 346a347,348 > (void) memset(clone_info->dash_pattern,0,(size_t) (2*x+2)* > sizeof(*clone_info->dash_pattern)); 1795d1796 < n++; 2474c2475 < (void) SetImageArtifact(image,"MVG",primitive); --- > (void) SetImageArtifact(image,"mvg:vector-graphics",primitive); 4907a4909,4917 > static inline double ConstrainCoordinate(double x) > { > if (x < -SSIZE_MAX) > return(-SSIZE_MAX); > if (x > SSIZE_MAX) > return(SSIZE_MAX); > return(x); > } > 5049,5050c5059,5060 < x=(ssize_t) ceil(primitive_info->point.x-0.5); < y=(ssize_t) ceil(primitive_info->point.y-0.5); --- > x=(ssize_t) ceil(ConstrainCoordinate(primitive_info->point.x-0.5)); > y=(ssize_t) ceil(ConstrainCoordinate(primitive_info->point.y-0.5));
- magick/image.c
- -
1776c1776 < offset+=strlen(pattern)-4; --- > offset+=strlen(pattern)-strlen(value)+3;
- www/assets/magick.css
- Bootstrap バージョン変更
2,4c2,4 < * Bootstrap v4.2.1 (https://getbootstrap.com/) < * Copyright 2011-2018 The Bootstrap Authors < * Copyright 2011-2018 Twitter, Inc. --- > * Bootstrap v4.3.0 (https://getbootstrap.com/) > * Copyright 2011-2019 The Bootstrap Authors > * Copyright 2011-2019 Twitter, Inc. 6c6
- www/assets/magick.js
- Bootstrap バージョン変更
2,3c2,3 < * Bootstrap v4.2.1 (https://getbootstrap.com/) < * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstr ap/graphs/contributors) --- > * Bootstrap v4.3.0 (https://getbootstrap.com/) > * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstr ap/graphs/contributors) 6c6
ChangeLog
2019-02-12 6.9.10-28 Cristy <quetzlzacatenango@image...> * Fixed a number of issues (reference https://github.com/ImageMagick/ImageMagick/issues).