ImageMagick-6.9.9-1差分

ImageMagick-6.9.9-0差分 - yoyaのメモの続き

The latest release of ImageMagick is version 6.9.9-1

まとめ

  • Magick++ に libraw ライブラリをリンクした
  • 閾値の自動判定ルーリンが追加されてる。AutoThresholdImage 。中身はKapurThreshold とか TriangleThreshold。

差分

  • coders/cals.c
566a567
>       write_info=DestroyImageInfo(write_info);
574a576
  • coders/dng.c
254a266,271
>     if (image_info->ping != MagickFalse)
>       {
>         libraw_dcraw_clear_mem(raw_image);
>         libraw_close(raw_info);
>         return(image);
>       }
290c307
  • coders/msl.c
698a699
>               attribute=DestroyString(attribute);
<略>
1447,1448c1453,1456
<           CloneString(&value,InterpretImageProperties(msl_info->image_info[n],
<             msl_info->attributes[n],(const char *) attributes[i]));
---
>             attribute=InterpretImageProperties(msl_info->image_info[n],
>               msl_info->attributes[n],(const char *) attributes[i]);
>             CloneString(&value,attribute);
>             attribute=DestroyString(attribute);
1519a1528
>               attribute=DestroyString(attribute);
1628a1638
<同様なのが大量に>
  • coders/pcx.c
1014a1015,1016
>       {
>         pcx_colormap=(unsigned char *) RelinquishMagickMemory(pcx_colormap);
1015a1018
>       }
  • coders/pdf.c
2007c2007,2011
<               ThrowWriterException(ResourceLimitError,"MemoryAllocationFailed");
---
>               {
>                 xref=(MagickOffsetType *) RelinquishMagickMemory(xref);
>                 ThrowWriterException(ResourceLimitError,
>                   "MemoryAllocationFailed");
>               }
2108a2113,2114
>                 {
>                   xref=(MagickOffsetType *) RelinquishMagickMemory(xref);
2110a2117
>                 }
  • coders/pict.c
1760a1761,1768
>     {
>       if (scanline != (unsigned char *) NULL)
>         scanline=(unsigned char *) RelinquishMagickMemory(scanline);
>       if (packed_scanline != (unsigned char *) NULL)
>         packed_scanline=(unsigned char *) RelinquishMagickMemory(
>           packed_scanline);
>       if (buffer != (unsigned char *) NULL)
>         buffer=(unsigned char *) RelinquishMagickMemory(buffer);
1761a1770
>     }
  • coders/wmf.c
840c840,842
<   RelinquishMagickMemory(WMF_MAGICK_GetFontData(API)->ps_name);
---
>   if (WMF_MAGICK_GetFontData(API)->ps_name)
>     WMF_MAGICK_GetFontData(API)->ps_name=RelinquishMagickMemory(
>       WMF_MAGICK_GetFontData(API)->ps_name);
2704,2708d2705
<       if (ddata->draw_info != (DrawInfo *) NULL)
<         {
<           DestroyDrawInfo(ddata->draw_info);
<           ddata->draw_info=(DrawInfo *)NULL;
<         }
2715a2713
>       ipa_device_close(API);
  • magick/quantize.c
113,114c113,114
< %    and n2  will ultimately characterize the mean color of a set of
< %    pixels represented by this node.
---
> %    and n2 will ultimately characterize the mean color of a set of pixels
> %    represented by this node.
847c847
<         if (IsNaN(distance))
---
>         if (IsNaN(distance) != MagickFalse)
3262a3263,3264
>         {
>           colormap_index=(ssize_t *) RelinquishMagickMemory(colormap_index);
3264a3267
>         }
3328a3332,3333
>     {
>       colormap_index=(ssize_t *) RelinquishMagickMemory(colormap_index);
3330a3336
>     }
  • eXIf チャンクに書き込む時は hex符号化した Exif プロファイルに出力しない。
  • -strip で消す PNGチャンクのリストに caNv, eXIf, pHYs を追加。
ChangeLogにない差分

(調査中)

  • Magick++/lib/Magick++/Include.h
    • libraw のライブラリを追加
4c4
< // Copyright Dirk Lemstra 2013-2015
---
> // Copyright Dirk Lemstra 2013-2017
158a159,161
> #        if defined(MAGICKCORE_RAW_R_DELEGATE)
> #          pragma comment(lib, "CORE_DB_libraw_.lib")
> #        endif
225a229,231
> #        endif
> #        if defined(MAGICKCORE_RAW_R_DELEGATE)
> #          pragma comment(lib, "CORE_RL_libraw_.lib")
  • GIF カラーマップ(global)の初期化
/coders/gif.c
1034a1035,1036
>   (void) ResetMagickMemory(global_colormap,0,3*MagickMax(global_colors,256)*
>     sizeof(*global_colormap));
  • coders/histogram.c
    • ヒストグラム画像に画像を設定し直すのをやめる。(多分無駄な処理だった)
387,388d386
<   histogram_image->blob=(BlobInfo *) DetachBlob(histogram_image->blob);
<   histogram_image->blob=CloneBlobInfo(image->blob);

ChangeLog

2017-07-21  6.9.9-1 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.9-1, GIT revision 11782:75f7e994e:20170721.

2017-07-19  6.9.9-1 Cristy  <quetzlzacatenango@image...>
  * Fixed numerous memory leaks (reference
    https://github.com/ImageMagick/ImageMagick/issues).

2017-07-15  6.9.9-1 Glenn Randers-Pehrson <glennrp@image...>
  * Don't write a hex-encoded Exif profile when writing the eXIf chunk.
  * Added caNv, eXIf, and pHYs to the list of PNG chunks to be removed
    by the "-strip" option.